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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
این مقاله نکات ساده و مهمی رو برای طراحی distributed systemها میگه
نکاتی که گفته کوتاه و جمع و جوره اما واقعا درسته و کمک میکنه برای طراحی سیستم درست با رعایت کردن یه سری اصول ساده و مهم.

One cache cluster to rule them all
مواظب باشید که سرورهای کش سرویس های مختلف یکی نباشن!

Queues are non-negotiable
وجود queue غیرقابل مذاکره ست، برامون زمان میخره که لود رو مدیریت کنیم!

Measuring end-to-end latency
یادمون نره latency پیام های async رو هم تو سیستم مانیتور کنیم، انباشت شدن شون و اختلاف زمان لحظه درخواست با پردازش شون مهمه.

Design for failure
این یکی که دیگه اصل قضیه ست، انواع و اقسام خطاها تو سیستم ممکنه رخ بده و باید براشون آماده باشیم، استفاده از retry pattern و circuit breaker و dead-letter queue الگوهای کمک کننده هستند.

Design for idempotency
اگه میخوای fault-tolerant باشی لازمه که حتما در ادامه ش idempotent هم باشی چون duplicate callها تقریبا اجتناب ناپذیر هستند در شرایط خطا

https://www.16elt.com/2025/04/19/lessons-from-distributed-systems/

@DevTwitter | <Hossein Nazari/>
Forwarded from Md Daily (Mahan)
قسمت اول

قسمت دوم: ساختن نرم‌افزار که فقط کد نوشتن نیست!

اصل داستان، یکپارچه‌سازی و تحویل دادنِ کده. اصلاً شما می‌دونستید که یه زمانی مایکروسافت هر سه سال یکبار نسخه جدید ویندوز رو منتشر می‌کرد و «به طور متوسط، آماده شدن هر نسخه از ایده اولیه تا تکمیل نهایی حدود سه سال طول می‌کشید، اما فقط حدود شش تا نه ماه از این زمان صرف توسعه کدهای «جدید» می‌شد؟ بقیه زمان صرف یکپارچه‌سازی، تست، و دوره‌های آلفا و بتا (نسخه‌های آزمایشی اولیه) می‌شد» منبع

نوشتن کد فقط یه بخش خیلی مهمه، ولی تنها بخش ماجرا نیست. اصلاً خبر داشتید که (طبق یه تحقیق جدید خود مایکروسافت) توسعه‌دهنده‌ها فقط ۲۰ درصد از وقتشون رو صرف کدنویسی یا بازنویسی و مرتب‌سازی کد (که بهش میگن رفکتورینگ) می‌کنن؟ (همونجایی که اون آمار XYZ درصدی تولید کد توسط هوش مصنوعی مطرح میشه و به این بخش مربوطه).

وقتی با تیم‌ها و مشتری‌ها سر و کار داریم و نرم‌افزار می‌سازیم، خیلی جاها می‌بینم که هوش مصنوعی به زور می‌تونه کمکی بکنه.

فکرشو بکنید، اگه ذی‌نفعان پروژه (همون‌هایی که پروژه براشون مهمه و توش نقش دارن) دیگه جواب تلفن و ایمیل شما رو ندن، درگیر بازی‌های سیاسی داخلی شرکت خودشون بشن، و نتونن تکلیفشون رو با نیازمندی‌های پروژه روشن کنن چی؟ آیا ChatGPT (یا هر «ایجنت» خفن دیگه‌ای که فکرشو بکنید) می‌تونه بیفته دنبال مشتری، تمام تناقضات توی نیازمندی‌ها رو پیدا کنه و به رخشون بکشه، با کل تیم ارتباط برقرار کنه و ریسک‌های اصلی پروژه رو کم کنه؟


حتی اگه نیازمندی‌هایی داشته باشید که به نظر خیلی دقیق و پالایش شده میان... چقدر طول می‌کشه تا هر کدوم از اعضای تیم واقعاً متوجه بشن اون «چیزی» که دارن برای رسیدن بهش تلاش می‌کنن، دقیقاً چیه؟ چقدر طول می‌کشه تا تیم به یه توافق داخلی برسه که چطور باید دور اون هدف اصلی سازماندهی بشن، محدوده کار رو چطور خُرد کنن، و چطور نیازمندی‌های بیزینسی رو به جزئیات فنی و پیاده‌سازی ربط بدن؟ آیا ابزارهای هوش مصنوعی مولد (Gen-AI) می‌تونن اونقدر به دینامیک تیم سرعت بدن که تیم به جای چند هفته، فقط تو چند روز از مراحل اولیه شکل‌گیری و بحث و جدل (forming and storming) عبور کنه و سریع به هماهنگی و عملکرد بالا (norming and performing) برسه؟

من اینو همیشه به چشم می‌بینم: آدما ذاتاً تو فکر کردن کُند هستن، مغز ما تو اینکه چقدر اطلاعات می‌تونه پردازش کنه، یا اینکه چقدر ارتباطات اجتماعی می‌تونیم بسازیم و حفظ کنیم، محدودیت‌های طبیعی داره. اینکه یه عالمه متن تولید کنیم که کمتر کسی حوصله خوندنش رو داره (و تعداد خیلی کمتری هم سعی می‌کنن واقعاً بفهمنش) هیچ مشکلی رو حل نمی‌کنه.

با توجه به وضعیت فعلی و مسیری که ابزارهای هوش مصنوعی تو توسعه نرم‌افزار دارن پیش میرن، من اونا رو بیشتر شبیه ابزارهای افزایش بهره‌وریِ جدا افتاده می‌بینم که تهش، این آدمیزاده که گلوگاه کاره. پیشرفت خیلی کمی تو این زمینه شده که ایجنت‌های هوش مصنوعی بتونن تمام اون کارهای ریز و درشتی رو که یه کارمند آدم تو کارای روزمره‌اش انجام میده، پوشش بدن. حتی اگه هوش مصنوعی خیلی خیلی مستقل‌تر هم بشه (autonomy بالاتری پیدا کنه)، آدما هنوزم نیاز به زمان دارن تا تصمیم بگیرن، دیدگاه‌هاشون رو کامل‌تر کنن و تغییر بدن، با هم حرف بزنن، و به توافق برسن.


بهره‌وری

آخرش، کسب‌وکارها دنبال اینن که کار بیشتری با تلاش و هزینه کمتری انجام بشه. اینکه هوش مصنوعی رو بیاریم تو تیم‌های توسعه و بعد هزینه‌ها یا تعداد نیروها رو با یه عدد جادویی (که نمی‌دونم چرا همیشه بین ۲۰ تا ۳۰ درصده!) کم کنیم – به نظر نمیاد این روش خیلی جواب بده. هنوز تا یه جهش و تغییر خفن بزرگ تو بهره‌وری توسعه‌دهنده‌ها تو کل این صنعت فاصله داریم.


—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
یه ریپو هم هست به اسم Vuls که کارش اسکن آسیب‌پذیری توی سرورهای لینوکسیه، روی تک سرور هم کار می‌کنه ولی ایده‌ش اینه که وقتی کلی سرور داری، نخوای بری دونه‌دونه چک کنی چی آسیب‌پذیره. Vuls این کارو اتومات می‌کنه و گزارش نسبتا قابل فهمی هم می‌ده. اگه دنبال یه راه آسون و سبک برای کنترل وضعیت امنیت سرورات هستی، یه نگاه بهش بنداز یه لیست عظیمی از آسیب پذیری هارو چک ‌می‌کنه.

github.com/future-architect/vuls

@Linuxor
Forwarded from Linuxor ?
بر خلاف طراحی لایه‌محور که ساختار سیستمو بر اساس لایه‌های فنی مثل دیتابیس، سرویس و رابط کاربری سازمان‌دهی می‌کنه، طراحی دامنه‌محور Domain-Driven-Design ساختار سیستمو بر اساس مفاهیم و منطق واقعی کسب‌وکار مدل می‌کنه، تا نرم‌افزار بهتر با دنیای واقعی منطبق بشه.

اگه داری با DDD کار می‌کنی و بین منابع پراکنده گم شدی، این ریپو یه مجموعه مرتب از ابزارها، کتاب‌ها، مقاله‌ها و پروژه‌های مرتبط با DDD هست که کارت رو آسون‌تر می‌کنه. نه فقط برای شروع، بلکه وقتی وسط یه پروژه‌ای و دنبال الگو یا راهکار مشخصی می‌گردی، می‌تونه به دادت برسه. منابعش هم هم فنی‌ان، هم کد داره و هم طراحی. برای کساییه که یه پایه‌ای از طراحی نرم‌افزار دارن و می‌خوان DDD رو درست‌تر و کاربردی‌تر جلو ببرن.


github.com/heynickc/awesome-ddd


@Linuxor
اجرای کانتینر بدون داکر! | تبدیل Docker Image به فایل اجرایی با dockerc .

‏dockerc

یه ابزار متن بازه که تصاویر داکر رو به فایل اجرایی مستقل تبدیل میکنه ؛ بدون نیاز به نصب داکر یا دسترسی root . این ابزار اجرای کانتینرها رو بسیار ساده‌تر و قابل‌حمل‌تر میکنه .

آپشن هایی که بهتون میده :
تبدیل Docker Image به فایل اجرایی (standalone)
اجرا بدون نیاز به داکر یا دسترسی root
پشتیبانی از معماری‌های x86_64 و ARM64
قابل اجرا روی لینوکس، مک و ویندوز
امکان تعریف متغیر محیطی و Mount کردن ولو

یه مثال اولیه :
dockerc --image docker://oven/bun --output bun


نحوه نصب با استفاده از zig :
git clone --recurse-submodules https://github.com/NilsIrl/dockerc.git
cd dockerc
zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-linux-musl


ریپو پروژه :
https://github.com/NilsIrl/dockerc


#tools
#dockerc
#byteforge
@byteforge_chan 🛸
Forwarded from Linuxor ?
لایسنس کوپایلوتم تموم شد گفتم سزو دیگه وقتشه اقتصادی فکر کنی (پول مگه علف خرسه بدی به مایکروسافت پول باید برسه دست نیازمند)

رفتم مدل Qwen-Coder-2.5 یکو نیم میلیاردی رو لوکال با Ollama و اکستنشن Continue آوردم بالا کلا 4.7 گیگ مدله؛ پیشنهاد هاش خیلی سریعه و خیلی هم نسبت به سایزش خوب چت می‌کنه

فقط یه مشکلی که داره اینه GPU من 3050ti هست که تقریبا میچسبونتش به سقف موقع Autocomplete یا Chat و صدای فن لپ تاپ اذیت کننده می‌شه ولی روون کار می‌کنه، اگه گرافیک قوی تر دارین شاید حتی بی صدا تر کار کنه واستون.

@Linuxor
Forwarded from Linuxor ?
باند های فرکانسی رو سازمان مقررات می‌فروشه حالا باند مربوط به 5G که بین 3600 تا 3800 مگاهرتز هست رو با قیمت پایه 5000 میلیارد تومن گذاشته مزایده، (طبق خبر غیر رسمی) این اپراتور های خوب ما هم باهم رقابت کردن و رایتل و همراه اول اینو 14000 و 8000 میلیارد خریدن و این اضافه پول سروکله زدن اپراتورا توی مزایده رو می‌خوان از گرون کردن بسته ها از ما بگیرن

خب یزیدا پول ندارین تو مزایده کمتر بگین، یاد علی صادقی تو فیلم نون-خ سر مزایده اون هواپیما افتادم


@Linuxor
Forwarded from یه شعر (Poem Bot)
سعدی | دیوان اشعار | قطعات | قطعه شمارهٔ ۲

گر مرا بی تو در بهشت برند
دیده از دیدنش بخواهم دوخت
کاین چنینم خدای وعده نکرد
که مرا در بهشت باید سوخت

#سعدی | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
Building a More Accessible GitHub CLI

🟢 خلاصه مقاله:

ابزار CLI گیت‌هاب که با زبان برنامه‌نویسی گو توسعه یافته است، توسط تیم گیت‌هاب به‌منظور دسترسی بهتر افراد با نیازهای بصری خاص و همچنین استفاده‌کنندگان از خواننده‌های صفحه تقویت شده است. این تیم با چالش‌هایی مواجه شد که شامل بهینه‌سازی خروجی CLI برای خواننده‌های صفحه و بهبود امکان دسترسی از طریق صفحه‌کلید بود. برای بهبود این ابزار، همکاری‌هایی با خالقان کتابخانه محبوب گو، چارم، صورت گرفت. تیم گیت‌هاب همچنین روند پیشرفت‌ها را از طریق ویدئوهای قبل و بعد به اشتراک گذاشت که نشان‌دهنده پیشرفت‌های صورت‌گرفته و منبع آموزشی برای دیگر توسعه‌دهندگان است.

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


👑 @gopher_academy
🔰 اگر تازه‌کار هستی و دنبال یادگیری لینوکس از پایه‌ای‌ترین مفاهیم تا سطح بالا هستی، این سایت رو از دست نده:
🌐 https://linuxjourney.com
چرا عالیه؟
رایگانه
نیاز به ثبت‌نام نداره
مرحله‌به‌مرحله آموزش می‌ده
طراحی کاربرپسند داره
بخش زبان ها دکوری است و کار نمیکنه حداقل فارسی

@MehrdadLinuxchannel
#linux #لینوکس #reference
کل سیستم پرامپت Claude لیک شده که 24 هزار توکنه! از لینک زیر میتونید مطالعه کنید.

میتونه راهنمای خیلی خوبی در توسعه llmها براتون باشه.

https://raw.githubusercontent.com/asgeirtj/system_prompts_leaks/refs/heads/main/claude.txt

@DevTwitter | <Reza Jafari/>
Forwarded from Linuxor ?
یادمه اوایل که ChatGPT ترند شد اصلا سمتش نرفتم چون فکر نمی‌کردم اونقدری قدرت پردازشی زیاد شده باشه که بشه چیزی سنگین تر از Google Assistant رو برای استفاده عمومی ترین کرد !

ترند شدن اینستاگرامم همینطور بود اصلا فکرشو نمی‌کردم اینترنت به قدری سریع شده باشه که یه سوشیال مدیا فقط توش عکس و فیلم باشه !

حس می‌کنم یه مدیر عامل Nokia درون دارم.


@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
تازه می‌خوای لینوکس یاد بگیری؟
دوره‌ها گرونن؟
فقط کافیه بری:
https://linuxjourney.com/
بدون ثبت‌نام، رایگان و مرحله‌به‌مرحله از صفر تا پیشرفته!
📚 مباحث دسته بندی خوبی داره، ساده است مثال ها خیلی خوب

@TheRaymondDev
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، Redis ولی برای چه کاری؟🗃
خب خیلی وقتا اسم ردیس رو شنیدید ولی دقیقا ندونید که کاربردش چیه و کجا استفاده میشه.

اصلا Redis چی هست؟🤔

خیلی ساده بخوام بگم، ردیس یه دیتابیس in-memory هست که با ساختار کلید و مقدار(key-value) کار میکنه. یعنی داده ها به صورت یک کلید و یک مقدار توش ذخیره میشن. حالا همون in-memory بودنش باعث شده تا سرعت فوقالعاده بالای داشته باشه.

ویژگی های Redis🔍
1️⃣ ‏in-memory بودن که باعث سرعت بالاش شده.
2️⃣ پشتیبانی از TTL یا همون انقضای خودکار داده ها.
3️⃣ ‏Atomic بودن عملیات ها.
4️⃣ پشتیبانی از Pub/Sub برای ارسال پیام بین سرویس ها.
5️⃣ قابلیت Cluster و Scale افقی

خب کجا کاربرد داره؟
🛠
کش(Cache):
وقتی یه داده ی پرتکرار داریم که نمیخوایم هربار از منبع دریافتش کنیم(مثلا دیتابیس اصلی پروژه) میتونیم یه بار دریافتش کنیم، توی redis ذخیرش کنیم و درنهایت توی درخواست های بعدی اون داده رو از redis دریافت کنیم. فقط باید حواسمون باشه که داده هایی که توی redis هستن بسته به داده ای که داریم توی یه بازه زمانی مشخص آپدیت بشن تا داده های قدیمی برنگردونیم.

صف پیام(Message Queue):
خب redis میتونه به عنوان یه صف سبک کار کنه. مثلا برای صف بندی ایمیل هایی که میخوایم ارسال کنیم، تسک های پس زمینه و خیلی چیزای دیگه.

مدیریت نشست ها(Session Management):
برای ذخیره سازی session های کاربرا با زمان انقضا. خیلی از سیستم های احراز هویت و مدیریت سبد خرید توی سایت های فروشگاهی از redis استفاده میکنن.

جمع بندی
✍️
‏Redis یه ابزار سبک و سریعه که با سرعت فوقلعادش برای کارهای موقتی و سریع عالیه. این دیتابیس داده هارو به شکل key-value ذخیره میکنه. اگه تسکایی دارین که نیاز به دسترسی سریع، ذخیره ی موقت یا مدیریت ساده ی تسک ها نیاز دارن، Redis میتونه انتخاب خوبی باشه.

#️⃣ #programming #db


🥷🏻 CHANNEL | GROUP
Forwarded from Gopher Academy
🔵 عنوان مقاله
nativewebp: Native WebP Image Library

🟢 خلاصه مقاله:

فرمت تصویری WebP که برای فشرده‌سازی تصاویر با کیفیت بالا و پایین کاربرد دارد، در وب بسیار محبوب است. کتابخانه‌ای برای زبان برنامه‌نویسی Go وجود دارد که بدون نیاز به وابستگی‌های خارجی، امکان کار با فرمت WebP را فراهم می‌کند. نسخه ۱.۲ این کتابخانه، که به تازگی منتشر شده، پشتیبانی کامل از انیمیشن‌های WebP را اضافه کرده است، بدین ترتیب امکان استفاده و دستکاری فایل‌های WebP ثابت و متحرک در برنامه‌های Go فراهم شده است.

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


👑 @gopher_academy
الان که دیگه llama.cpp پشتیبانی از مدلهای VLM را هم روی سرور و Web UI اضافه کرده میتونید مدلهای بخصوص کوچک VLM را به صورت لوکال ران کنید. مثلا این دمو مدل SmolVLM 500M را load کرده و به صورت realtime داره اجرا میکنه. کدش ۲۰۰ خط هم نیست. این لینکش:
https://github.com/ngxson/smolvlm-realtime-webcam

@DevTwitter | <Mehdi Allahyari/>
Forwarded from Syntax | سینتکس (alireza-fa)
پلتفرم کارزار: پلتفرم مستقل برای مطالبه‌گری مردمی

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

متن این کارزار نه تنها حاوی هیچگونه توهین، تهدید یا حتی انتقادی نبود، بلکه با زبانی کاملاً محترمانه و مطابق با اصول قانونی و اخلاقی نوشته شده بود. درخواست آن‌ها ساده و انسانی بود: لغو حکم اعدام و دادن فرصتی دوباره نه به خاطر تایید اشتباهات او بلکه برای نشان دادن رأفت اسلامی و تکیه بر آموزه‌های دینی که همواره بر بخشش و پذیرش توبه تاکید داشتند

اما داستان این کارزار، علی‌رغم استقبال گسترده با پایانی تلخ مواجه شد. مسدود شدن این کارزار به دستور نهادهای قضایی، نه تنها به این مطالبه مردمی پایان داد، بلکه پیام ناامیدکننده‌ای به جامعه ارسال کرد: حتی در فضایی شفاف و قانونی نیز صداهای مسالمت‌آمیز خاموش می شوند
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
تکیسم، جمع خوره های سخت افزار

اینجا میتونید کلی درباره سخت افزار با دیگران گفتگو کنید، به آموخته هاتون اضافه کنید یا حتی به بقیه یاد بدید.
کانال ما فعالیت روزانه داره که میتونید از اخبار روز فناوری و سخت افزار مطلع شید.

🤝 خوشحال میشیم که به جمع ما بپیوندید

🌐 گروه: @TechismGaP

🌐 کانال: @TheTechism

@TheRaymondDev
Forwarded from Yasha
فقط کتاب "سرگذشت کندوها" و "مدیر مدرسه" از جلال آل‌احمد رو خریدم. امروز اونی که‌کوتاه‌تر بود رو خوندم نثر این آدم انقدری کوچه‌بازاری و اجتماعیه که قشنگ صحنه چیزی که تعریف می‌کنه رو با تمام ایرانی بودنش میتونی تصور کنی.

--ویرایش
بند خودم (بالایی) رو دادم ChatGPT با ادبیات آل‌احمد بنویسه، دقیقا مثل خودش نوشت:

فقط “کندوها” و “مدیر مدرسه”شو خریدم. امروز نشستم سراغ اون یکی که کوتاه‌تره، خوندمش. نثر این بابا عین حرف‌زدن تو کوچه‌پس‌کوچه‌ست، انگار نشستی سر یه چای قندپهلو، خودش داره برات تعریف می‌کنه. اون‌قد صحنه رو ایرانی و خودمونی می‌سازه که حس می‌کنی همون‌جایی که می‌گه وایسادی، داری باهاش زندگی می‌کنی.
#کوته_نیوز

سخنگوی دولت گفته انشالله شاهد رفع محدودیت‌‌های اینترنتی خواهیم بود.

@DevTwitter