Dev Perfects – Telegram
Dev Perfects
41 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from یک برنامه نویس تنبل (  MΞ)
🔶 دانلود کتاب های پولی

یکی از سایتایی که کتابهای پولی رو میتونید رایگان دریافت کنید zlib هستش ولی سایتای فیک زیادی براش زدن ربات زیر رو استارت بزنید میتونید هر دفعه که دامینشون فیلتر میشه پیدا کنید:
@la3tknightarchive_bot

بعدی سایت Library Genesis:
https://libgen.is

از کانالای ایرانی هم این کانال زحمت میکشن و تا الان چیزی حدود ۱میلیون pdf رو قرار دادن:
@BOOKzMA

@TheRaymondDev
اینطور که معلومه یوتوب الآن به بعضی کاربرها تبلیغ های یک ساعته رو نشون میده :)))


این همه گوگل با کروم و غیره اومد ادبلاکر هارو مسدود کرد که تهشم شد این.

https://www.makeuseof.com/hour-long-unskippable-youtube-ads/


جدای از این‌ها، وقتشه جایگزین های یوتوب رو مثل #پیرتوب و #آدسی رو یک نگاهی بهشون بندازید، با اینکه پیرتوب مدل‌ درآمدزایی نداره ولی به علت وجود فدیورس یکی از بهترین پلتفرم‌های اشتراک گذاری رایگان ویدئو بدون تبلیغات و چرت و پرت‌های اضافه است.



@SohrabContents
Forwarded from Linuxor ?
یه جایگزین خوب برای دستور cat

ابزار bat یه میتونه یه جایگزین خوب برای cat باشه البته فقط توی کامپیوتر شما نه توی لینوکس !!! چون لینوکس یکی از اهدافش اینه ساده باشه.

ابزار bat میتونه syntax اکثر فایل ها رو بفهمه و اونارو رنگی کنه و باعث خوانایی بیشتر اونا بشه

ابزار bat به راحتی میتونه با دستور tail ترکیب بشه برای مثال

tail -f /var/log/pacman.log | bat --paging=never -l log

میتونید لاگ های pacman رو به صورت سینتکس هایلایت ببینید.


به نقل از توسعه دهنده هاش میتونید باهاش man پیج هارو هم سینتکس هایلایت کنید :

برای این کار باید متغیر محیطی MANPAGER رو تعریف کنید :

export MANPAGER="sh -c 'col -bx | bat -l man -p'" man 2 select

(اگه دبیان بیس هستید بجای bat بنویسید batcat)

🐧 @Linuxor
در آپدیت جدید #oblivionDesktop تغییراتی اعمال شد تا قبل از اینکه اعلان فالس پازیتیو آنتی‌ویروس‌ها برطرف بشه، فایل Warp-Plus رو به‌طور خودکار (درصورتی که بهش مجوز بدین) در لیست استثناهای ویندوز دیفندر یا بیت‌دیفندر قرار بده.

👉 github.com/bepass-org/oblivion-desktop/releases

🔍 ircf.space/software
@ircfspace
1
الان نمونه پیرتوب هم دارن

https://video.kompektiva.org


@SohrabContents
Forwarded from RandRng
حدود ۲ سال پیش این موقع یک پروژه بکند رو کار کردیم که همون زمان ۲ قسمت داشت (من مدیر تیم توسعه دهنده این پروژه بودم).

بخشی از پروژه که با Fastapi زده شده بود و بخش دیگری که قرار بود با Django شروع بشه.

توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم این‌ها بود :

۱- تمامی تست‌ها؛ با پکیج requests باشه.
۲- همه‌ی endpointهای مربوط به create, update بجای بررسی مستقیم با دیتابیس از طریق درخواست دیتا با Get detail بررسی بشه که درست توی دیتابیس هست یا نه.

اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.

امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.

چرا ؟
چون پروژه از FastApi, Django رفته بود روی Golang و بجای Postgres‌ایی که سمت خودشون باشه از Self-Hosted database های شرکت کارفرما استفاده شده بود.

تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به Golang و فشار شرکت کارفرما مبنی بر سرعت بخشیدن به قضیه.
نیازی به تغییر تست‌ها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).

و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.

توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار می‌بینید توی Integration Test ها تا جایی که می‌شه تست‌هارو از ابزارها و فریمورک جدا کنید.
Forwarded from Linuxor ?
تورینگ توی مقاله جنجالیش توی سال 1950 که اولین مقاله درباره هوش داشتن ماشین ها بود باید تفکر خشک عمومی رو عوض می‌کرد ؛

خیلی قشنگ می‌دونست خیلیا بخاطر اعتقادشون حاضر نیستن قبول کنن که ماشین می‌تونه هوش داشته باشه بخاطر همین اولین اعتراضی که مطرح کرد و جوابشو داد The Theological Objection یا اعتراض الهیاتی بود که در جواب افرادی بود که می‌گفتن خدا فقط به انسان قدرت تفکر داده و ماشین روح نداره، پس نمی‌تونه فکر کنه؛

اما تورینگ اینطوری به این اعتراض جواب داده بود :
اگه خدا همه‌چیزو ممکن ساخته، چرا نتونه به یه ماشین توانایی فکر کردن بده؟ پس این اعتراض شما داره خدا رو محدود می‌کنه.


@Linuxor
اگر تحت تاثیر ویژگی developer-specific ویندوز سرور 2025 به اسم Dev Drive که از فناوری ReFS (که در سرور 2012 معرفی و از ویندوز ۸ به دسکتاپ اضافه شده) قرار گرفته اید

در مورد ZFS و BTRFS بیشتر مطالعه کنید😏
🤬و سر لایسنس ZFS هم به Oracle فحش بدید

اگر علاقه داشتید یک زمانی در موردش مینویسم
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۷۴

نور فلکست این تن خاکی ما
رشک ملک آمدست چالاکی ما
گه رشک برد فرشته از پاکی ما
گه بگریزد دیو ز بی باکی ما

#مولانا | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
httptap: View HTTP/HTTPS Requests Made by Any Linux Program

🟢 خلاصه مقاله:
این متن درباره یک ردیاب HTTP محدود به فرایند و مبتنی بر زبان برنامه‌نویسی Go است که بدون نیاز به دسترسی‌های ریشه (root) قابل اجرا است. این ابزار فقط از فضاهای نام شبکه‌ای در لینوکس پشتیبانی می‌کند و قابلیت رمزگشایی ترافیک TLS را دارد به این ترتیب که یک مرکز احراز هویت (CA) را بلافاصله و به‌صورت خودکار تولید می‌کند. این ویژگی‌ها ردیاب را ابزاری مفید برای عیب‌یابی یا بررسی ارتباطات خارجی نرم‌افزارها و وابستگی‌های آن‌ها فراهم می‌آورد، که ممکن است بدون اطلاع کاربر، اطلاعاتی را به خارج منتقل کنند.

🟣لینک مقاله:
https://golangweekly.com/link/165337/web


👑 @gopher_academy
بسته به نوعِ کاری که می‌خواهید انجام دهید (حذفِ نویز، رفعِ تاری، رنگی‌کردن، بازسازیِ چهره ...) و نوعِ تصویر، بهترین مدل می‌تونه متفاوت باشه. هیچ مدلِ واحدِ ایده‌آلی برایِ همهٔ کاربردها وجود نداره. این سایت بیش از ۸۰۰ مدل رو با هم مقایسه کرده.
phhofm.github.io/upscale/

@DevTwitter | <Ayub Kokabi/>
Forwarded from DevOps Labdon
پادکست نیمچه برنامه نویس:
این پادکست به شکل روان و داستانی موضوعاتی را در حوزه‌ی دواپس و برنامه نویسی روایت می‌کند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر می‌شوند.


می‌توانید کانال این پادکست را در کست‌باکس دنبال کنید:
https://castbox.fm/vh/6294201

👑 @DevOps_Labdon
Forwarded from Go Casts 🚀
بهتره برنامه گولنگی که مینویسید بتونه از panicهای احتمالای recover کنه خودش رو، چون اگه recover نشه برنامه crash میکنه و باعث میشه کل functionalityهای سرویس (برنامه) بره رو هوا. البته اگه مثلا روی kuber باشید یا با docker-compose باشه یا حتی daemon باشه میتونید restart کنید بصورت خودکار برنامه رو، اما خب اگه اون تیکه از برنامه که داره panic میکنه در hot path باشه خیلی زود مجدد مشکل بوجود میاد.

یه نکته مهمی که در مورد goroutineها وجود داره اینه که اگه شما روی goroutine اصلی (parent) مکانیزم recover در نظر بگیرید تاثیری روی goroutine ساخته شده child نداره و اگه child به هر دلیلی panic کنه ریکاور نمیشه.

خب حالا سوال پیش میاد که ما باید روی هر goroutineی که در برنامه میسازیم یا همون اصطلاحا spawn میشه مکانیزم recover در نظر بگیریم؟
جواب واضحی براش ندارم ولی چند تا نکته دارم که فکر میکنم کمک کنه.
یکی اینکه روی پروسه های long-runningتون حتما panic recover بذارید، مثلا اگه http server دارید معمولا خودشون یه recover middleware دارن فریمورک ها که میشه فعالش کرد.
اگه مثلا یه goroutine دارید که broker consumer هست خوبه که panic recover داشته باشه.
اگه جایی استفاده پیچیده از channelها دارید که confidence ندارید روی فهم communicationشون، چون روی close شدن panic میکنه بهتره recover داشته باشید.

در مورد goroutineهایی که lifetime کوتاهی دارن مثلا قراره یه sms ارسال کنه یا یه http request بزنه لازم نیست تنظیم بشه احتمالا. ولی بهتره یه سری اصول رو کلا رعایت کنید که از panic پرهیز بشه، مثلا تا جایی که میشه و لازم نیست از pointer استفاده نکنید…

این مقاله کوتاه یه تیکه کد آماده کرده که panic رو راحت تر ریکاور کنید در توابع مختلف
Recover panics in all Goroutines you start
https://dev.ribic.ba/recover-panics-goroutines/

نکته آخری هم که دارم اینه که استفاده از panic recover نباید به عنوان یه practice عمومی همه جا استفاده بشه، وجود panic احتمالی نشانه ای برای وجود باگ در پیاده سازی ست که بهتره ریشه موضوع و مشکل پیدا بشه و حل بشه، داشتن ریکاور صرفا برای اینه که تا زمان پیدا کردن مشکل سیستم بصورت reliable کارش رو ادامه بده.

تو تابع panic recover بهتره به اندازه کافی لاگ و متریک خوب بذارید که زودتر مشکل رو پیدا کنید.

@gocasts
#Java

‏امروز گفتم برم ببینم یک جاوا دولوپر چیا باید بلد باشه که رسیدم به این عکس که خیلی خوب و کامل بود

@DevTwitter | <Mori/>
این پکیج رو ساختم و روی npm پابلیش کردم
پکیج cli دم دستی و باحالیه

میتونید استراکچر کل فایل و ها و فولدر ها رو در یک ساختار درختی داشته باشید برای درک ساختار پروژه/دایکتوری

نیازی به نصب هم نیست و میتونید مستقیما با npx استفاده کنید
https://github.com/mohammadkhakshoor/tree-lens

@DevTwitter | <Mohammad, The DevOne/>
Forwarded from Python Hints
۹ تا ازون اسکلا رو اینجا هم داریم 🤣😂🤣

تعداد اسکلا داره میره بالا ۴۴ تا شد 🤣😂🤣
Forwarded from Future Pulse Persian
📚 معرفی دو کتاب عالی در زمینه ساختمان داده و الگوریتم‌ها

اگر به دنبال منابع قوی برای یادگیری ساختمان داده‌ها (Data Structures) و الگوریتم‌ها (Algorithms) هستید، این دو کتاب را از دست ندهید:👇

🔵https://skybooks.ir/products/Grokking-Algorithms

Table of Contents

1. Introduction to algorithms
2. Selection sort
3. Recursion
4. Quicksort
5. Hash tables
6. Beadth-first search
7. Trees
8. Balanced trees
9. Dijkstra’s algorithm
10. Greedy algorithms
11. Dynamic programming
12. k-nearest neighbors
13. where to go next

🔵https://skybooks.ir/products/Grokking-Data-Structures

Table of Contents

1. Introducing data structures: Why you should learn about data structures
2. Static arrays: Building your first data structure
3. Sorted arrays: Searching faster, at a price
4. Big-O notation: A framework for measuring algorithm efficiency
5. Dynamic arrays: Handling dynamically sized datasets
6. Linked lists: A flexible dynamic collection
7. Abstract data types: Designing the simplest container—the bag
8. Stacks: Piling up data before processing it
9. Queues: Keeping information in the same order as it arrives
10. Priority queues and heaps: Handling data according to its priority
11. Binary search trees: A balanced container
12. Dictionaries and hash tables: How to build and use associative arrays
13. Graphs: Learning how to model complex relationships in data
Forwarded from Sudoer (Morteza Bashsiz)
سناریو شماره ۱۱ - کوشته شدن پراسس بخاطر کمبود مموری

توی این سناریو متوجه میشیم که سرویس انجینکسمون بخاطر کمبود مموری کوشته میشه

https://youtu.be/koSXviSHvCY