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 Meitix
تو دنیای وب و نرم‌افزار، وقتی دیتا بین سرویس‌ها جابه‌جا می‌شه، دو راه داری:

1️⃣ Pass by Reference:
همه سرویس‌ها مستقیم به همون رکورد دیتابیس نگاه می‌کنن. مثل اینکه OrderService و InventoryService هر دو با هم تو یه جدول مستقیم کار کنن.

هر تغییری که یکی بده، بقیه هم همون لحظه قاعدتا می‌بینن.

مزیتش؟ سریع و ساده.

مشکل؟ اگر یکی خراب کنه یا کند باشه، همه گیر می‌کنن. Coupling شدیده و سیستم شکننده‌ست.


2️⃣ Pass by Message:
هر سرویس خودش یک کپی از دیتا می‌گیره، از طریق پیام یا event. مثلا OrderService وقتی سفارش جدید ثبت کرد، یه event مثل OrderCreated می‌فرسته.
و InventoryService وقتی دریافتش کرد، خودش دیتا رو ذخیره می‌کنه یا پردازش می‌کنه.

مزیتش؟ سرویس‌ها مستقلن، خطای یکی روی دیگری اثر نمی‌ذاره.

مقیاس‌پذیرتر و امن‌تره، مخصوص microservices و سیستم‌های توزیع‌شده
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۱۲۹

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

#مولانا | گنجور
📍@iipoem
بر اساس #گزارش کاربران و با درنظر گرفتن آخرین پژوهش شبکه، #وارپ کلودفلر مجددا اتصال‌های کلاینت WireGuard را به مقاصدی غیر از مقصد پیش‌فرض باز کرده است.
#کلودفلر در چندماه گذشته تمام اتصال‌های مبتنی بر وایرگارد به سرورهایش را مسدود کرده بود و تنها گزینه، استفاده از مقصد پیش‌فرض (که به‌راحتی می‌شد با مسدود کردن یک IP یا دامنه از کار انداخت)، یا استفاده از اپلیکیشن رسمی ۱.۱.۱.۱ و پروتکل مسک بود.
اما حالا به نظر می‌رسد که آن‌ها این اتصال‌ها را باز کرده‌اند و قصد دارند به مردم کمک کنند تا از طریق هسته‌های مبتنی بر WireGuard شخص‌ثالث مثل وارپ‌پلاس به اپ‌ها متصل شوند!

© Atomic_anon

🔍 ircf.space
@ircfspace
Forwarded from Gopher Academy
🔵 عنوان مقاله
some odd discrepancies when profiling their Go code on macOS.

🟢 خلاصه مقاله:
این مطلب در Golang Weekly به این می‌پردازد که چرا هنگام پروفایل کردن برنامه‌های Go روی macOS گاهی نتایج ناسازگار و غافلگیرکننده دیده می‌شود؛ پروفایل‌ها بین اجراها تغییر می‌کنند و معمولاً با اعداد به‌دست‌آمده روی Linux یا در CI هم‌خوان نیستند. ریشه مسئله بیشتر به تفاوت ابزارها، رفتار سیستم‌عامل و ویژگی‌های بار کاری برمی‌گردد: نمونه‌برداری pprof ممکن است نقاط داغ کوتاه‌عمر را نبیند، مدیریت توان و زمان‌بندی macOS بر نرخ نمونه‌گیری و زمان اجرای رشته‌ها اثر می‌گذارد، و حضور cgo یا کتابخانه‌های بومی می‌تواند ردگیری پشته و نمادگذاری را دشوار کند. توصیه‌ها شامل ترکیب pprof با Instruments، اجرای طولانی‌تر برای پایداری نمونه‌گیری، کنترل نویز محیطی (مثل ثابت نگه‌داشتن GOMAXPROCS و اجرای سیستم در شرایط کم‌بار)، تکرار چندباره اندازه‌گیری و نهایتاً مقایسه با مقادیری است که روی Linux (در صورت استقرار نهایی) به‌دست می‌آیند. جمع‌بندی این است که پروفایل‌های macOS را راهنمایی جهت‌دار بدانید و تصمیم‌های نهایی کارایی را بر اساس پلتفرم مقصد اتخاذ کنید.

#Go #Golang #macOS #Profiling #Performance #pprof #Instruments #AppleSilicon

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


👑 @gopher_academy
الان که آمار کاربران در پیام‌رسان‌های بومیِ رانتی به چند میلیارد رسیده، دکتر قصدش اینه بخشی از ریزش ۶۰ درصدی ⁧#تلگرام⁩ رو جبران کنه!

🔍 ircf.space
@ircfspace
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
یه روز عادی لینوکس کارا :


@Linuxor
یه افزونه مشتی برای TypeScript پیدا کردم که واقعاً کار رو راحت‌تر می‌کنه:
اگه مثل من اهل ساختار تمیز و feature-based تو پروژه‌هات هستی، احتمالاً همیشه درگیر ساخت یا آپدیت دستی فایل‌های index.ts برای export کردن ماژول‌ها بودی
این افزونه دقیقاً همون چیزیه که دنبالش بودم!
با یه کلیک همه‌ی exportها رو به صورت خودکار جمع می‌کنه، و دیگه لازم نیست خودت بری فایل‌های مختلف رو دستی اضافه کنی.
پشتیبانی از alias
به‌روزرسانی خودکار وقتی فایل جدید اضافه می‌کنی
تنظیمات قابل شخصی‌سازی برای مسیرها
من چند روزه دارم استفاده می‌کنم، و به جرأت می‌تونم بگم barrel management توی TypeScript هیچ‌وقت به این راحتی نبوده (مخصوصا برای پروژه های اسکیل بالا)
اگه زیاد با ساختارهای feature-base یا monorepo کار می‌کنی، این اکستنشن قطعاً باید جزو ابزارهای ثابتت باشه

لینک افزونه [vscode]
https://github.com/estruyf/vscode-typenoscript-exportallmodules

@DevTwitter | <Soheil Ghanbary/>
تعریف سطوح کاهش سرویس (Degradation Levels)

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

این کار کمک می‌کنه که عملکرد بخش‌های اصلی پایدارتر بمونه چون هم محاسبات کمتری صورت می‌گیره، و هم منابعی آزاد میشه که برای scale up کردن بخش‌های مهم‌تر میشه استفاده کرد.

یه نمونهٔ فرضی برای مثال دیجیکالا می‌تونه این‌طوری باشه 👇

🟢 Level 0 — Normal
همه‌چیز فعال و در حالت عادی کار می‌کنه:
- Recommendation engine
- Reviews
- Wishlist
- Search suggestions

🟡 Level 1 — Light Pressure
فیچرهای غیرحیاتی موقتاً غیرفعال می‌شن:
- Recommendation engine
- Reviews
- Wishlist
- Search (بدون suggestion)

🟠 Level 2 — Heavy Pressure
فقط مسیر خرید و پرداخت فعال می‌مونه:
- مشاهدهٔ محصول + سبد خرید + پرداخت
- سایر قابلیت‌ها غیرفعال

🔴 Level 3 — Critical
حالت Read-only:
- فقط مشاهدهٔ محصولات
- امکان خرید جدید


با این رویکرد، می‌تونیم برنامهٔ مشخصی برای کاهش فشار روی سیستم داشته باشیم.

از طرف دیگه یه زبان مشترک بین همهٔ stakeholderها شکل می‌گیره؛ طوری که در زمان بحران هماهنگی راحت‌تر انجام می‌شه، زمان کمتری صرف ارتباط و توضیح می‌شه، و تیم می‌تونه خیلی سریع‌تر واکنش نشون بده.

@aminrbg
واتساپ نسخه بومی ویندوز را کنار گذاشته و نسخه جدیدش در واقع یک مرورگر را بصورت داخلی اجرا و نسخه وبی واتساپ را در آن اجرا میکند و این یعنی مصرف منابع بسیار بیشتر.
مثلا نسخه بومی برای صفحه لاگین ۱۰ مگابابت مصرف اما جدیده نزدیک ۳۰۰ مگ.
موقع استفاده جدی تا ۲ گیگ رم میخوره!
عملا استفاده از نسخه وب واتساپ روی مرورگرهای دیگر مانند کروم یا فایرفاکس یا اج بصرفه‌تر بوده و منابع کمتری از سیستم شما را اشغال میکند

@DevTwitter | <Alireza Shirazi/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go v1.25.4 and 1.24.10

🟢 خلاصه مقاله:
نسخه‌های Go v1.25.4 و 1.24.10 منتشر شد؛ این‌ها به‌روزرسانی‌های نقطه‌ای با تمرکز بر رفع باگ‌ها و بهبود پایداری هستند و قابلیت جدید یا تغییر ناسازگار اضافه نمی‌کنند. ارتقا در همان شاخه نسخه باید کم‌خطر و ساده باشد. پیشنهاد می‌شود پس از مرور release notes و آزمایش در CI، در شاخه فعلی خود به آخرین Patch ارتقا دهید. بسته‌های آماده برای Linux، macOS و Windows از صفحه رسمی دانلود یا مدیر بسته‌ها در دسترس است.

#Go #Golang #Release #PatchRelease #BugFixes #Stability #SoftwareUpdate

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


👑 @gopher_academy
Forwarded from Linuxor ?
این کورس 5 روزه گوگل برای Ai Agent هارو از دست ندید

توش کلی چیز قراره صحبت بشه از معماری و ابزارهای هوش مصنوعی گرفته تا حافظه، ارزیابی و استقرار (فعلا سه روزش تکمیل شده، روز چهارم امروز می‌آد و روز پنجمش احتمالا فردا)

youtube.com/playlist?list=PLqFaTIg4myu9r7uRoNfbJhHUbLp-1t1YE

@Linuxor
Forwarded from Armon technical logs (armon Taheri)
یکی از دوستانم جشن دبیان رو ثبت نام کرده ولی نمیتونه شرکت کنه
اگر کسی بلیط نتونسته تهیه کنه می‌تونه بهم پیام بده به ایشون انتقال بدیم
آپدیت (بلیط انتقال داده شد)
با cursor کل وب سایت پورتفولیومو تو کمتر از نیم ساعت از اول با GoLang زدم،
نتیجه: سرعت بیلد شدن و اومدن بالا (از ۲۰ دقیقه - NextJS + PNPM)
اومد رسید به ۱ دقیقه و ۳۰ ثانیه از تایمی که پوش میکنم تا وقتی رو کلاستره کوبر دیپلوی میشه کامل
یکی دیگه از نتایج این بود که همه اینا شد ۱۰۰٪
و یکی دیگه از نتایج هم اینه که کل چیزی که میرسه دست کاربر بدون GZIP به ۱ مگ هم نمیرسه :))

@DevTwitter | <Mamad/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین برنامه اندروید Simple IPTV با فریم ورک NativePHP لاراول ساخته شده است در گوگل پلی منتشر شد.

#لاراول

@TheRaymondDev
کسایی که کار امنیت و یا باگ بانتی انجام میدن شاید این ابزار براشون جالب باشه
میاد کل روند ری سرچ و انواع تست هارو خودش انجام میده
نیاز باشه ریکان نیاز باشه هر مدل تستی
فقط کافیه ادرس سایت بهش بدی و یه api key از openai !

https://github.com/usestrix/strix

@DevTwitter | <Navid/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
What is sync.Pool and How to Use It Properly

🟢 خلاصه مقاله:
این مطلب دو بخش کلیدی از دنیای Go را پوشش می‌دهد: نخست، sync.Pool به‌عنوان سازوکاری برای استفاده مجدد از اشیای موقت با هدف کاهش allocation و فشار بر GC. استفاده درست از آن یعنی: فقط برای اشیای کوتاه‌عمر و بدون مالکیت منابع خارجی، تعریف New برای ساخت در صورت خالی بودن، مقداردهی/Reset قبل از Put، و عدم اتکا به ماندگاری یا اندازه Pool. نتیجه‌گیری مهم: sync.Pool جایگزین cache پایدار نیست و باید با بنچمارک‌گیری مزیتش را سنجید. دوم، مقاله Jesús Espino در Devtrovert درباره Scanner در کامپایلر Go توضیح می‌دهد که چگونه متن کد را به token تبدیل می‌کند، شناسه‌ها، لیترال‌ها و عملگرها را می‌شناسد، با فاصله‌ها و کامنت‌ها و خطاها برخورد می‌کند و خروجی را به parser می‌سپارد. ترکیب این دو دیدگاه، هم به بهینه‌سازی عملکرد برنامه‌ها کمک می‌کند و هم درک عمیق‌تری از فرایند پردازش کد در Go می‌دهد.

#Go #Golang #syncPool #Compiler #Scanner #Performance #Concurrency #MemoryManagement

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


👑 @gopher_academy
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۱۰

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

#حافظ | گنجور
📍@iipoem
Forwarded from Gopher Academy
🎙️ عنوان پادکست:
🚫 Go team says no, what is HTTP error 407, and do you need DI frameworks
خلاصه پادکست:
این جمع‌بندی به چند خبر مهم از دنیای Go می‌پردازد: انتشار نسخه‌های نگه‌داری Go 1.24.4 و 1.23.10، تغییر مهمی در net/http (commit 4d1c255) برای حذف هدرهای حساس پروکسی هنگام Redirect، و توضیح کاربردی درباره HTTP 407 (Proxy Authentication Required) که معمولاً در شبکه‌های دارای پروکسی رخ می‌دهد. در بحث خطا، با اشاره به گفت‌وگوی Robert Griesemer، تیم Go بار دیگر با افزودن نحو جدید برای Error Handling مخالفت می‌کند و بر بازگشت‌های صریح خطا تأکید دارد....