🔵 عنوان مقاله
Solving Flaky Tests with Go 1.24's synctest
🟢 خلاصه مقاله:
زمانبندی Goroutine در برنامهنویسی Go میتواند پیچیدگیهایی را به ارمغان آورد که دیباگ کردن آنها دشوار است، اما بسته synctest در Go 1.24 با معرفی ‘حبابهای’ ایزوله که فرآیندها را هماهنگ و قابل پیشبینیتر میکند، تست کد همزمان را آسانتر میسازد. این بسته تستی با فراهم کردن محیطهای کنترل شده برای اجرای goroutines، به دستیابی به نتایج آزمایشی ثابتتر کمک میکند، و در نتیجه فرآیند تست و رفع اشکال را در سیستمهای موازی سادهتر میسازد.
🟣لینک مقاله:
https://golangweekly.com/link/169699/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Solving Flaky Tests with Go 1.24's synctest
🟢 خلاصه مقاله:
زمانبندی Goroutine در برنامهنویسی Go میتواند پیچیدگیهایی را به ارمغان آورد که دیباگ کردن آنها دشوار است، اما بسته synctest در Go 1.24 با معرفی ‘حبابهای’ ایزوله که فرآیندها را هماهنگ و قابل پیشبینیتر میکند، تست کد همزمان را آسانتر میسازد. این بسته تستی با فراهم کردن محیطهای کنترل شده برای اجرای goroutines، به دستیابی به نتایج آزمایشی ثابتتر کمک میکند، و در نتیجه فرآیند تست و رفع اشکال را در سیستمهای موازی سادهتر میسازد.
🟣لینک مقاله:
https://golangweekly.com/link/169699/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
VictoriaMetrics
Go synctest: Solving Flaky Tests
Traditional concurrent Go tests can be flaky due to non-deterministic scheduler behavior and timing. Go 1.24’s experimental synctest feature provides deterministic testing by running goroutines in isolated ‘bubbles’ where a synthetic clock only advances when…
🔵 عنوان مقاله
FSBroker: Broker, Group, Dedup, and Filter FSNotify Events
🟢 خلاصه مقاله:
مقاله به بررسی کتابخانهای میپردازد که بر روی ابزار fsnotify، که قابلیت استفاده در سیستمهای عامل مختلف را دارد، ساخته شده است. این کتابخانه لایه ای جدیدی به fsnotify اضافه میکند که رویدادهای خام سیستم فایل را به فرمی قابل استفادهتر تبدیل میکند و استفاده از آنها را برای توسعهدهندگانی که میخواهند ویژگیهای نظارت بر سیستم فایل را به برنامههای کاربردی خود اضافه کنند، سادهتر مینماید.
🟣لینک مقاله:
https://golangweekly.com/link/169713/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
FSBroker: Broker, Group, Dedup, and Filter FSNotify Events
🟢 خلاصه مقاله:
مقاله به بررسی کتابخانهای میپردازد که بر روی ابزار fsnotify، که قابلیت استفاده در سیستمهای عامل مختلف را دارد، ساخته شده است. این کتابخانه لایه ای جدیدی به fsnotify اضافه میکند که رویدادهای خام سیستم فایل را به فرمی قابل استفادهتر تبدیل میکند و استفاده از آنها را برای توسعهدهندگانی که میخواهند ویژگیهای نظارت بر سیستم فایل را به برنامههای کاربردی خود اضافه کنند، سادهتر مینماید.
🟣لینک مقاله:
https://golangweekly.com/link/169713/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - helshabini/fsbroker: FSBroker is a Go library which aims to broker, group, dedup, and filter FSNotify events.
FSBroker is a Go library which aims to broker, group, dedup, and filter FSNotify events. - helshabini/fsbroker
👍2
🔵 عنوان مقاله
2x-40x Faster Docker Builds with Blacksmith
🟢 خلاصه مقاله:
بلکاسمیث با تغییر یک خط کد، امکان ایجاد بیلدهای تدریجی داکر را فراهم میکند تا با اتصال کش لایه داکر به اجراکننده اکشنهای گیتهاب، فرآیندها را تسریع بخشد. این روش باعث صرفهجویی زمانی شده و بیش از ۶۰۰ شرکت مانند اشبی، کلرک و مینتلیفای از این فناوری استفاده میکنند.
🟣لینک مقاله:
https://golangweekly.com/link/169693/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
2x-40x Faster Docker Builds with Blacksmith
🟢 خلاصه مقاله:
بلکاسمیث با تغییر یک خط کد، امکان ایجاد بیلدهای تدریجی داکر را فراهم میکند تا با اتصال کش لایه داکر به اجراکننده اکشنهای گیتهاب، فرآیندها را تسریع بخشد. این روش باعث صرفهجویی زمانی شده و بیش از ۶۰۰ شرکت مانند اشبی، کلرک و مینتلیفای از این فناوری استفاده میکنند.
🟣لینک مقاله:
https://golangweekly.com/link/169693/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍2
🔵 عنوان مقاله
chafa-go: Render Images in the Terminal with Chafa
🟢 خلاصه مقاله:
این مقاله به بررسی بایندینگهای زبان برنامهنویسی Go برای کتابخانهی Chafa میپردازد که از ترکیبات هوشمندانهی نمادهای یونیکد برای نمایش گرافیک در محیطهای ترمینال استفاده میکند. این کتابخانه توانایی نمایش تصاویر در محیطهایی که تنها خروجی متنی دارند را فراهم میآورد و برای استفاده در برنامههای سمت سرور یا سناریوهای اسکریپتنویسی خودکار مفید است. بایندینگهای Go با استفاده از purego ساخته شدهاند که نیاز به CGO را از بین میبرد اما نیازمند نسخهی ۱.۲۴ زبان Go میباشد. این ابزار جدید امکان ترکیب قابلیتهای مبتنی بر متن و گرافیکی را به توسعهدهندگان Go میدهد و دامنهی کاربردهای ممکن در رابطهای ترمینال را گسترش میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/169710/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
chafa-go: Render Images in the Terminal with Chafa
🟢 خلاصه مقاله:
این مقاله به بررسی بایندینگهای زبان برنامهنویسی Go برای کتابخانهی Chafa میپردازد که از ترکیبات هوشمندانهی نمادهای یونیکد برای نمایش گرافیک در محیطهای ترمینال استفاده میکند. این کتابخانه توانایی نمایش تصاویر در محیطهایی که تنها خروجی متنی دارند را فراهم میآورد و برای استفاده در برنامههای سمت سرور یا سناریوهای اسکریپتنویسی خودکار مفید است. بایندینگهای Go با استفاده از purego ساخته شدهاند که نیاز به CGO را از بین میبرد اما نیازمند نسخهی ۱.۲۴ زبان Go میباشد. این ابزار جدید امکان ترکیب قابلیتهای مبتنی بر متن و گرافیکی را به توسعهدهندگان Go میدهد و دامنهی کاربردهای ممکن در رابطهای ترمینال را گسترش میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/169710/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ploMP4/chafa-go: Go bindings for the Chafa terminal graphics library. Render high quality images on the terminal without…
Go bindings for the Chafa terminal graphics library. Render high quality images on the terminal without CGO or external dependencies. - ploMP4/chafa-go
👍1
🔵 عنوان مقاله
Night Knight: A 60 FPS Go Remake of an 80's Videogame
🟢 خلاصه مقاله:
یک خواننده به همراه همکارش، بازی قدیمی از دهه ۸۰ میلادی که بر روی کامپیوتر خانگی MSX بود را با استفاده از موتور Ebitengine، برای سیستمهای ویندوز بازسازی کردهاند. این بازی که ویژگیها و زیباییهای دوران رترو را حفظ کرده، اکنون فقط برای دانلود روی ویندوز در دسترس است. این پروژه نه تنها یک بازی سرگرمکننده است، بلکه به عنوان یک میراث دیجیتالی، پلی بین گذشته و حال میزند که هم نسلهای قدیم و هم نسلهای جدید میتوانند از آن لذت ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/169726/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Night Knight: A 60 FPS Go Remake of an 80's Videogame
🟢 خلاصه مقاله:
یک خواننده به همراه همکارش، بازی قدیمی از دهه ۸۰ میلادی که بر روی کامپیوتر خانگی MSX بود را با استفاده از موتور Ebitengine، برای سیستمهای ویندوز بازسازی کردهاند. این بازی که ویژگیها و زیباییهای دوران رترو را حفظ کرده، اکنون فقط برای دانلود روی ویندوز در دسترس است. این پروژه نه تنها یک بازی سرگرمکننده است، بلکه به عنوان یک میراث دیجیتالی، پلی بین گذشته و حال میزند که هم نسلهای قدیم و هم نسلهای جدید میتوانند از آن لذت ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/169726/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
itch.io
Night Knight by ancad
Remake of the original MSX Night Knight. Available for Windows
❤2
🔵 عنوان مقاله
CodeRabbit’s Free AI Code Reviews in IDE - VS Code, Cursor, Windsurf
🟢 خلاصه مقاله:
مقالهای پیرامون ابزار جدید و هوشمند برای بررسی کدها در محیط VS Code با نام Cursor & Windsurf بحث میکند که با استفاده از هوش مصنوعی به بررسی خط به خط کد میپردازد، اشکالات احتمالی را شناسایی و برطرف میکند. این ابزار به شکل یکپارچه در محیط توسعه نصب میشود و امکان اصلاح خودکار با یک کلیک فراهم میسازد، که منجر به افزایش بهرهوری توسعهدهندگان میگردد. این ابزار به صورت رایگان در دسترس است و تنها با نصب افزونهای مستقیماً در VS Code قابل استفاده میشود.
🟣لینک مقاله:
https://golangweekly.com/link/169702/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
CodeRabbit’s Free AI Code Reviews in IDE - VS Code, Cursor, Windsurf
🟢 خلاصه مقاله:
مقالهای پیرامون ابزار جدید و هوشمند برای بررسی کدها در محیط VS Code با نام Cursor & Windsurf بحث میکند که با استفاده از هوش مصنوعی به بررسی خط به خط کد میپردازد، اشکالات احتمالی را شناسایی و برطرف میکند. این ابزار به شکل یکپارچه در محیط توسعه نصب میشود و امکان اصلاح خودکار با یک کلیک فراهم میسازد، که منجر به افزایش بهرهوری توسعهدهندگان میگردد. این ابزار به صورت رایگان در دسترس است و تنها با نصب افزونهای مستقیماً در VS Code قابل استفاده میشود.
🟣لینک مقاله:
https://golangweekly.com/link/169702/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Visualstudio
CodeRabbit - Visual Studio Marketplace
Extension for Visual Studio Code - Free AI code reviews that run directly in VS Code. Review each commit immediately without waiting for PR to be raised. Catch more bugs and ship code faster.
👍1
Forwarded from Database Labdon
🔵 عنوان مقاله
📊 PG Exporter 1.0: Advanced Postgres + Pgbouncer Metrics Exporter for Prometheus
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به معرفی یک اکسپورتر جدید برای پایگاه دادهی PostgreSQL میپردازد که بیش از 600 معیار از اجزای اصلی و افزونههای محبوب را افشا میکند. این ابزار در نسخهی 1.0 خود، پشتیبانیهای اولیهای از PostgreSQL 18 را ارائه میدهد. از خصوصیات برجستهی این اکسپورتر قابلیت شخصیسازی کامل آن میباشد، که به کاربران امکان میدهد تا دادههای مورد نیاز خود را به طور دقیق ترکیب و نمایش دهند. به طور خلاصه، این ابزار جدید فرصتهای وسیعی را برای مدیریت دقیقتر و کارآمدتر پایگاههای داده فراهم میآورد، و با پشتیبانی از نسخه جدید PostgreSQL، قابلیتهای گستردهتری را در اختیار مدیران سیستم قرار میدهد.
🟣لینک مقاله:
https://postgresweekly.com/link/169840/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
📊 PG Exporter 1.0: Advanced Postgres + Pgbouncer Metrics Exporter for Prometheus
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، به معرفی یک اکسپورتر جدید برای پایگاه دادهی PostgreSQL میپردازد که بیش از 600 معیار از اجزای اصلی و افزونههای محبوب را افشا میکند. این ابزار در نسخهی 1.0 خود، پشتیبانیهای اولیهای از PostgreSQL 18 را ارائه میدهد. از خصوصیات برجستهی این اکسپورتر قابلیت شخصیسازی کامل آن میباشد، که به کاربران امکان میدهد تا دادههای مورد نیاز خود را به طور دقیق ترکیب و نمایش دهند. به طور خلاصه، این ابزار جدید فرصتهای وسیعی را برای مدیریت دقیقتر و کارآمدتر پایگاههای داده فراهم میآورد، و با پشتیبانی از نسخه جدید PostgreSQL، قابلیتهای گستردهتری را در اختیار مدیران سیستم قرار میدهد.
🟣لینک مقاله:
https://postgresweekly.com/link/169840/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - pgsty/pg_exporter: Advanced PostgreSQL & Pgbouncer Metrics Exporter for Prometheus
Advanced PostgreSQL & Pgbouncer Metrics Exporter for Prometheus - pgsty/pg_exporter
❤1
🔵 عنوان مقاله
godump: A Pretty-Printer and Debug Dumper for Structs
🟢 خلاصه مقاله:
مقالهای که بررسی شد به معرفی کتابخانهای پرداخته که از قابلیتی در Laravel الهام گرفتهاست. این کتابخانه به توسعهدهندگان امکان میدهد تا ساختارهای داده مانند ارایهها، نقشهها و ساختارهای دیگر را به شکلی منظم و خوانا در ترمینال نمایش دهند. این امکان به تسریع فرآیند اشکالزدایی و بهبود بهرهوری در حین توسعه نرمافزار کمک شایانی میکند و برای انواع مختلف پروژههای برنامهنویسی مناسب است.
🟣لینک مقاله:
https://golangweekly.com/link/169715/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
godump: A Pretty-Printer and Debug Dumper for Structs
🟢 خلاصه مقاله:
مقالهای که بررسی شد به معرفی کتابخانهای پرداخته که از قابلیتی در Laravel الهام گرفتهاست. این کتابخانه به توسعهدهندگان امکان میدهد تا ساختارهای داده مانند ارایهها، نقشهها و ساختارهای دیگر را به شکلی منظم و خوانا در ترمینال نمایش دهند. این امکان به تسریع فرآیند اشکالزدایی و بهبود بهرهوری در حین توسعه نرمافزار کمک شایانی میکند و برای انواع مختلف پروژههای برنامهنویسی مناسب است.
🟣لینک مقاله:
https://golangweekly.com/link/169715/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - goforj/godump: A minimal, developer-friendly pretty-printer and debug dumper for Go structs, inspired by Laravel’s dump()…
A minimal, developer-friendly pretty-printer and debug dumper for Go structs, inspired by Laravel’s dump() and Symfony’s VarDumper. - goforj/godump
❤2
[ On | No ] syntactic support for error handling
این مقاله درباره تصمیم تیم زبان برنامهنویسی Go در مورد عدم افزودن سینتکس جدید برای مدیریت خطاها (error handling) در این زبان صحبت میکنه. در ادامه خلاصهای از محتوای مقاله رو برات توضیح میدم:
💐 موضوع اصلی مقاله:
این مقاله به بررسی بحثهای طولانیمدت در جامعه Go درباره مدیریت خطاها و پیشنهادات مختلف برای بهبود سینتکس آن میپردازه. تیم Go اعلام کرده که برای آینده قابل پیشبینی، هیچ تغییر سینتکسی جدیدی برای مدیریت خطاها در زبان Go اعمال نخواهد شد و تمام پیشنهادات مرتبط با تغییر سینتکس مدیریت خطاها بدون بررسی بیشتر بسته میشن.
💐 نکات کلیدی:
1. سابقه بحث مدیریت خطاها:
- مدیریت خطاها در Go به دلیل استفاده مکرر از الگوی
- در طول سالها، پیشنهادات زیادی از جامعه Go برای بهبود سینتکس مدیریت خطاها ارائه شده، از جمله ایدههایی مثل استفاده از عملگر
2. چالشهای موجود:
- مقاله توضیح میده که هنوز درک مشترکی در مورد اینکه آیا مشکل اصلی در سینتکس مدیریت خطاها (syntactic verbosity) هست یا در پیچیدگیهای مدیریت صحیح خطاها (مثل ساخت خطاهای معنادار برای APIها و کاربران) وجود نداره.
- افزودن سینتکس جدید ممکنه باعث بشه کدهای Go از حالت استاندارد و یکپارچه (idiomatic) خارج بشن و توسعهدهندگان رو به استفاده از روشهای جدید مجبور کنه، که با فلسفه طراحی Go (سادگی و اجتناب از روشهای متعدد برای یک کار) سازگار نیست.
3. تصمیم تیم Go:
- تیم Go به این نتیجه رسیده که به جای تمرکز روی تغییرات سینتکسی، بهتره انرژی جامعه و تیم روی بهبودهای دیگه در زبان متمرکز بشه.
- این تصمیم به معنای توقف بررسی پیشنهادات سینتکسی جدید برای مدیریت خطاها و بسته شدن تمام پیشنهادات باز در این زمینهست.
4. تأثیرات و آینده:
- این مقاله تأکید میکنه که تلاشهای جامعه برای بحث در مورد مدیریت خطاها، حتی اگر به تغییر سینتکس منجر نشده، باعث بهبودهای دیگهای در زبان Go و فرآیندهای توسعه اون شده.
- تیم Go امیدواره که در آینده، با درک بهتر از نیازها، راهحلهای مناسبتری برای مدیریت خطاها پیدا بشه، اما فعلاً تمرکز روی این موضوع متوقف شده.
💐 نتیجهگیری:
این مقاله بیشتر یک بیانیه رسمی از تیم Go درباره پایان دادن به بحثهای طولانی در مورد تغییر سینتکس مدیریت خطاها در زبان Go هست. اونا معتقدند که در حال حاضر، سیستم فعلی مدیریت خطاها (بر اساس مقادیر error و بررسی صریح) به اندازه کافی کارآمد هست و نیازی به پیچیدهتر کردن زبان با سینتکسهای جدید نیست.
https://go.dev/blog/error-syntax
➖➖➖➖➖➖➖➖
👑 @gopher_academy
این مقاله درباره تصمیم تیم زبان برنامهنویسی Go در مورد عدم افزودن سینتکس جدید برای مدیریت خطاها (error handling) در این زبان صحبت میکنه. در ادامه خلاصهای از محتوای مقاله رو برات توضیح میدم:
💐 موضوع اصلی مقاله:
این مقاله به بررسی بحثهای طولانیمدت در جامعه Go درباره مدیریت خطاها و پیشنهادات مختلف برای بهبود سینتکس آن میپردازه. تیم Go اعلام کرده که برای آینده قابل پیشبینی، هیچ تغییر سینتکسی جدیدی برای مدیریت خطاها در زبان Go اعمال نخواهد شد و تمام پیشنهادات مرتبط با تغییر سینتکس مدیریت خطاها بدون بررسی بیشتر بسته میشن.
💐 نکات کلیدی:
1. سابقه بحث مدیریت خطاها:
- مدیریت خطاها در Go به دلیل استفاده مکرر از الگوی
if err != nil
گاهی اوقات بهعنوان یک فرآیند پرزحمت و تکراری (verbose) مورد انتقاد قرار گرفته. این موضوع در نظرسنجی توسعهدهندگان Go در سال ۲۰۲۴ (Go Developer Survey 2024 H1) هم مطرح شده بود.- در طول سالها، پیشنهادات زیادی از جامعه Go برای بهبود سینتکس مدیریت خطاها ارائه شده، از جمله ایدههایی مثل استفاده از عملگر
?
برای کاهش کدهای تکراری. اما هیچکدام از این پیشنهادات به اندازه کافی حمایت یا اجماع لازم رو به دست نیاوردن.2. چالشهای موجود:
- مقاله توضیح میده که هنوز درک مشترکی در مورد اینکه آیا مشکل اصلی در سینتکس مدیریت خطاها (syntactic verbosity) هست یا در پیچیدگیهای مدیریت صحیح خطاها (مثل ساخت خطاهای معنادار برای APIها و کاربران) وجود نداره.
- افزودن سینتکس جدید ممکنه باعث بشه کدهای Go از حالت استاندارد و یکپارچه (idiomatic) خارج بشن و توسعهدهندگان رو به استفاده از روشهای جدید مجبور کنه، که با فلسفه طراحی Go (سادگی و اجتناب از روشهای متعدد برای یک کار) سازگار نیست.
3. تصمیم تیم Go:
- تیم Go به این نتیجه رسیده که به جای تمرکز روی تغییرات سینتکسی، بهتره انرژی جامعه و تیم روی بهبودهای دیگه در زبان متمرکز بشه.
- این تصمیم به معنای توقف بررسی پیشنهادات سینتکسی جدید برای مدیریت خطاها و بسته شدن تمام پیشنهادات باز در این زمینهست.
4. تأثیرات و آینده:
- این مقاله تأکید میکنه که تلاشهای جامعه برای بحث در مورد مدیریت خطاها، حتی اگر به تغییر سینتکس منجر نشده، باعث بهبودهای دیگهای در زبان Go و فرآیندهای توسعه اون شده.
- تیم Go امیدواره که در آینده، با درک بهتر از نیازها، راهحلهای مناسبتری برای مدیریت خطاها پیدا بشه، اما فعلاً تمرکز روی این موضوع متوقف شده.
💐 نتیجهگیری:
این مقاله بیشتر یک بیانیه رسمی از تیم Go درباره پایان دادن به بحثهای طولانی در مورد تغییر سینتکس مدیریت خطاها در زبان Go هست. اونا معتقدند که در حال حاضر، سیستم فعلی مدیریت خطاها (بر اساس مقادیر error و بررسی صریح) به اندازه کافی کارآمد هست و نیازی به پیچیدهتر کردن زبان با سینتکسهای جدید نیست.
https://go.dev/blog/error-syntax
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
[ On | No ] syntactic support for error handling - The Go Programming Language
Go team plans around error handling support
❤7👍1🍾1
🔵 عنوان مقاله
go-binsize-treemap: Render a Visualization of Go Executable Space Usage
🟢 خلاصه مقاله:
این ابزار، نموداری رنگی و سازمان یافته به صورت SVG تریمپ از نحوه استفاده از فضا در اجراییهای ساخته شده توسط زبان برنامه نویسی Go تولید میکند که دیدن آن لذتبخش و فهم آن آسانتر از توضیح دادن آن به صورت نوشتاری است. این ابزار نه تنها برای بهینه سازی و عیبیابی کاربرد دارد بلکه به عنوان یک منبع آموزشی نیز میتواند مورد استفاده قرار گیرد و فهم ساختار داخلی اجراییها را برای برنامهنویسان تازهکار و حرفهای تسهیل میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/170042/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-binsize-treemap: Render a Visualization of Go Executable Space Usage
🟢 خلاصه مقاله:
این ابزار، نموداری رنگی و سازمان یافته به صورت SVG تریمپ از نحوه استفاده از فضا در اجراییهای ساخته شده توسط زبان برنامه نویسی Go تولید میکند که دیدن آن لذتبخش و فهم آن آسانتر از توضیح دادن آن به صورت نوشتاری است. این ابزار نه تنها برای بهینه سازی و عیبیابی کاربرد دارد بلکه به عنوان یک منبع آموزشی نیز میتواند مورد استفاده قرار گیرد و فهم ساختار داخلی اجراییها را برای برنامهنویسان تازهکار و حرفهای تسهیل میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/170042/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - nikolaydubina/go-binsize-treemap: 🔍 Go binary size SVG treemap
🔍 Go binary size SVG treemap. Contribute to nikolaydubina/go-binsize-treemap development by creating an account on GitHub.
👍2
🔵 عنوان مقاله
Three Cool slog.Logger Tricks
🟢 خلاصه مقاله:
مقاله بر آن است که نشان دهد چگونه با استفاده از الگوهای هوشمند و قابل ترکیب، میتوان کارایی slog.Logger را در توسعه نرمافزار بهبود بخشید. این فریمورک امکان ساخت لاگهای ساختارمند و ماژولار را فراهم میکند و با اتخاذ الگوهای لاگنویسی مانند لاگنویسی شرطی، متناسب با زمینه و دینامیک، نگهداری و عیبیابی برنامهها را سادهتر میکند. استفاده از این الگوها عملکرد برنامهها را بهبود بخشیده و امکان پیگیری دقیقتر و راحتتر اطلاعات را فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/170022/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Three Cool slog.Logger Tricks
🟢 خلاصه مقاله:
مقاله بر آن است که نشان دهد چگونه با استفاده از الگوهای هوشمند و قابل ترکیب، میتوان کارایی slog.Logger را در توسعه نرمافزار بهبود بخشید. این فریمورک امکان ساخت لاگهای ساختارمند و ماژولار را فراهم میکند و با اتخاذ الگوهای لاگنویسی مانند لاگنویسی شرطی، متناسب با زمینه و دینامیک، نگهداری و عیبیابی برنامهها را سادهتر میکند. استفاده از این الگوها عملکرد برنامهها را بهبود بخشیده و امکان پیگیری دقیقتر و راحتتر اطلاعات را فراهم میکند.
🟣لینک مقاله:
https://golangweekly.com/link/170022/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
djwong.net
Cool Golang slog.Logger tricks
IntroFor years in Go, I’ve used many different logging libraries, from logrus to zap.After the release of slog into Go standard library, I immediately embrac...
❤2
🔵 عنوان مقاله
[ On | No ] Syntactic Support for Error Handling
🟢 خلاصه مقاله:
موضوع مدیریت خطاها در زبان برنامه نویسی Go و امکان بهبود نحو استفاده شده برای این منظور، بارها مطرح شده است. رابرت توضیح میدهد که چرا گاهی اوقات بهتر است به جای تغییر، بر روی جنبههای دیگر تمرکز کرد. وی به بررسی برخی از پیشنهادات داده شده در طول سالها و فواید حفظ وضع موجود میپردازد، و تاکید میکند که استقرار فعلی، ثبات و درک مشترکی را در میان توسعهدهندگان و افزایش همکاری و راهنمایی ایجاد میکند.
🟣لینک مقاله:
https://golangweekly.com/link/170018/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
[ On | No ] Syntactic Support for Error Handling
🟢 خلاصه مقاله:
موضوع مدیریت خطاها در زبان برنامه نویسی Go و امکان بهبود نحو استفاده شده برای این منظور، بارها مطرح شده است. رابرت توضیح میدهد که چرا گاهی اوقات بهتر است به جای تغییر، بر روی جنبههای دیگر تمرکز کرد. وی به بررسی برخی از پیشنهادات داده شده در طول سالها و فواید حفظ وضع موجود میپردازد، و تاکید میکند که استقرار فعلی، ثبات و درک مشترکی را در میان توسعهدهندگان و افزایش همکاری و راهنمایی ایجاد میکند.
🟣لینک مقاله:
https://golangweekly.com/link/170018/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
[ On | No ] syntactic support for error handling - The Go Programming Language
Go team plans around error handling support
❤2
🔵 عنوان مقاله
httpgrace: A net/http Wrapper with Graceful Shutdown
🟢 خلاصه مقاله:
به جای استفاده از تابع `http.ListenAndServe` در برنامهنویسی وب با زبان گو، پیشنهاد میشود که از تابع `httpgrace.ListenAndServe` استفاده شود که قابلیت توقف عملیات سرور به صورت آرام و بدون قطع ارتباط درخواستهای در حال انجام را دارا است. این روش میتواند به بهبود تجربه کاربری کمک کرده و از از دست رفتن درخواستها در هنگام توقف یا راهاندازی مجدد سرور جلوگیری کند.
🟣لینک مقاله:
https://golangweekly.com/link/170035/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
httpgrace: A net/http Wrapper with Graceful Shutdown
🟢 خلاصه مقاله:
به جای استفاده از تابع `http.ListenAndServe` در برنامهنویسی وب با زبان گو، پیشنهاد میشود که از تابع `httpgrace.ListenAndServe` استفاده شود که قابلیت توقف عملیات سرور به صورت آرام و بدون قطع ارتباط درخواستهای در حال انجام را دارا است. این روش میتواند به بهبود تجربه کاربری کمک کرده و از از دست رفتن درخواستها در هنگام توقف یا راهاندازی مجدد سرور جلوگیری کند.
🟣لینک مقاله:
https://golangweekly.com/link/170035/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - enrichman/httpgrace: Go `net/http` wrapper with graceful shutdown baked in.
Go `net/http` wrapper with graceful shutdown baked in. - enrichman/httpgrace
🍾1
🔵 عنوان مقاله
Bob 0.35: SQL Query Builder and ORM/Factory Generator
🟢 خلاصه مقاله:
**
— با وجود اینکه نسخههای v0.36 و v0.37 به تازگی منتشر شدهاند، نباید اهمیت نسخه v0.35 را نادیده گرفت که یک نقطه عطف بزرگ برای باب بود. این نسخه قابلیتهای جدیدی برای ایجاد کد برای پرسوجوهای SELECT، INSERT، UPDATE و DELETE در پایگاه دادههای Postgres، MySQL و SQLite را فراهم آورده است. علاوه بر این، بهبودهای متعدد دیگری نیز در این نسخه اعمال شده که باعث شده تا ارزش دوباره نگاه کردن به آن بیشتر شود.
🟣لینک مقاله:
https://golangweekly.com/link/170028/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Bob 0.35: SQL Query Builder and ORM/Factory Generator
🟢 خلاصه مقاله:
**
— با وجود اینکه نسخههای v0.36 و v0.37 به تازگی منتشر شدهاند، نباید اهمیت نسخه v0.35 را نادیده گرفت که یک نقطه عطف بزرگ برای باب بود. این نسخه قابلیتهای جدیدی برای ایجاد کد برای پرسوجوهای SELECT، INSERT، UPDATE و DELETE در پایگاه دادههای Postgres، MySQL و SQLite را فراهم آورده است. علاوه بر این، بهبودهای متعدد دیگری نیز در این نسخه اعمال شده که باعث شده تا ارزش دوباره نگاه کردن به آن بیشتر شود.
🟣لینک مقاله:
https://golangweekly.com/link/170028/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
Release v0.35.0 · stephenafamo/bob
Added
Added support to generate code for SELECT, INSERT, UPDATE and DELETE queries in bobgen-mysql.
Added support to generate code for INSERT, UPDATE and DELETE queries in bobgen-sqlite.
Added LIM...
Added support to generate code for SELECT, INSERT, UPDATE and DELETE queries in bobgen-mysql.
Added support to generate code for INSERT, UPDATE and DELETE queries in bobgen-sqlite.
Added LIM...
👍1
🔵 عنوان مقاله
The Guide to In-House Vs Managed Kubernetes-As-A-Service
🟢 خلاصه مقاله:
مقاله به بررسی تصمیمگیری سازمانها برای انتخاب بین ساخت یا خرید مدیریت زیرساخت کوبرنتیز میپردازد. راهنمای ارائهشده در مقاله، مزایا و معایب هر گزینه را به همراه هزینهها، ریسکها و بازگشت سرمایه بررسی میکند تا سازمانها بتوانند تصمیمگیری آگاهانهای داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/170017/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Guide to In-House Vs Managed Kubernetes-As-A-Service
🟢 خلاصه مقاله:
مقاله به بررسی تصمیمگیری سازمانها برای انتخاب بین ساخت یا خرید مدیریت زیرساخت کوبرنتیز میپردازد. راهنمای ارائهشده در مقاله، مزایا و معایب هر گزینه را به همراه هزینهها، ریسکها و بازگشت سرمایه بررسی میکند تا سازمانها بتوانند تصمیمگیری آگاهانهای داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/170017/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fairwinds
In-House Kubernetes vs. Managed Kubernetes-as-a-Service
Get the full guide to determine whether managing Kubernetes in-house or Managed Kubernetes-as-a-Service is the right approach for your organization.
🍾1
🔵 عنوان مقاله
Simpler Backoff
🟢 خلاصه مقاله:
**
الگوریتمهای بازگشت تصاعدی میتوانند پیچیده و دشوار برای تجزیه و تحلیل باشند، اما استفاده از جدول نگاهی آنها را تا حد زیادی ساده میکند. این الگوریتمها زمان بین تلاشهای متوالی برای ارتباط را پس از هر شکست، به طور نمایی افزایش میدهند تا تداخل در شبکه و برخورد بستههای داده کاهش یابد. استفاده از جدول نگاهی، که محتوی فواصل زمانی از پیش تعیینشده است، فرآیند را سادهتر کرده و اجرای الگوریتم را در زمان واقعی از پیچیدگیهای محاسباتی بینیاز میسازد. این شیوه نه تنها فرآیند کدنویسی و عیبیابی را ساده میکند، بلکه تضمین میکند که منطق تلاش مجدد در قسمتهای مختلف یک برنامه یا بین برنامههای مختلف، یکنواخت باشد.
🟣لینک مقاله:
https://golangweekly.com/link/170023/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Simpler Backoff
🟢 خلاصه مقاله:
**
الگوریتمهای بازگشت تصاعدی میتوانند پیچیده و دشوار برای تجزیه و تحلیل باشند، اما استفاده از جدول نگاهی آنها را تا حد زیادی ساده میکند. این الگوریتمها زمان بین تلاشهای متوالی برای ارتباط را پس از هر شکست، به طور نمایی افزایش میدهند تا تداخل در شبکه و برخورد بستههای داده کاهش یابد. استفاده از جدول نگاهی، که محتوی فواصل زمانی از پیش تعیینشده است، فرآیند را سادهتر کرده و اجرای الگوریتم را در زمان واقعی از پیچیدگیهای محاسباتی بینیاز میسازد. این شیوه نه تنها فرآیند کدنویسی و عیبیابی را ساده میکند، بلکه تضمین میکند که منطق تلاش مجدد در قسمتهای مختلف یک برنامه یا بین برنامههای مختلف، یکنواخت باشد.
🟣لینک مقاله:
https://golangweekly.com/link/170023/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
commaok.xyz
Simpler backoff
Exponential backoff with jitter is de rigeur for making service calls. This code, or something like it, probably looks really familiar:
func do(ctx context.Context) error { const ( maxAttempts = 10 baseDelay = 1 * time.Second maxDelay = 60 * time.Second )…
func do(ctx context.Context) error { const ( maxAttempts = 10 baseDelay = 1 * time.Second maxDelay = 60 * time.Second )…
🍾1
Forwarded from Software Engineer Labdon
🔵 عنوان مقاله
Securing CI/CD workflows with Wazuh (5 minute read)
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت درباره ریسکهای امنیتی ناشی از خودکارسازی توسعه نرمافزار با استفاده از فرآیندهای CI/CD نظیر حملات زنجیرهای تأمین و پیکربندیهای نادرست میپردازد. Wazuh، یک پلتفرم امنیتی متنباز، امنیت CI/CD را از طریق جمعآوری لاگها، نظارت بر یکپارچگی فایلها، قوانین امنیتی سفارشی و دیگر امکانات تقویت میکند. در این پست توضیح داده شده که چگونه میتوان از Wazuh استفاده کرد. استفاده از Wazuh در پایپلاینهای CI/CD به شناسایی و رفع نقاط ضعف امنیتی و جلوگیری از نفوذ و تخریب اطلاعات کمک میکند. از این طریق، سازمانها میتوانند از ثبات و امنیت بیشتری در فرآیندهای توسعه نرمافزار خود بهرهمند شوند.
🟣لینک مقاله:
https://thehackernews.com/2025/05/securing-cicd-workflows-with-wazuh.html?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Securing CI/CD workflows with Wazuh (5 minute read)
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت درباره ریسکهای امنیتی ناشی از خودکارسازی توسعه نرمافزار با استفاده از فرآیندهای CI/CD نظیر حملات زنجیرهای تأمین و پیکربندیهای نادرست میپردازد. Wazuh، یک پلتفرم امنیتی متنباز، امنیت CI/CD را از طریق جمعآوری لاگها، نظارت بر یکپارچگی فایلها، قوانین امنیتی سفارشی و دیگر امکانات تقویت میکند. در این پست توضیح داده شده که چگونه میتوان از Wazuh استفاده کرد. استفاده از Wazuh در پایپلاینهای CI/CD به شناسایی و رفع نقاط ضعف امنیتی و جلوگیری از نفوذ و تخریب اطلاعات کمک میکند. از این طریق، سازمانها میتوانند از ثبات و امنیت بیشتری در فرآیندهای توسعه نرمافزار خود بهرهمند شوند.
🟣لینک مقاله:
https://thehackernews.com/2025/05/securing-cicd-workflows-with-wazuh.html?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
❤1👍1
🔵 عنوان مقاله
franz-go: A Complete Apache Kafka Client Library
🟢 خلاصه مقاله:
مقاله درباره کتابخانه نرمافزاری صحبت میکند که هدف آن ارائه تمام امکانات موجود در Apache Kafka از نسخه ۰.۸.۰ به بعد است. این کتابخانه ویژگیهای چشمگیری دارد که شامل تواناییهای بالا در پردازش، تحمل خطا و قابلیت گسترش میشود و برای مدیریت کارآمد جریانهای داده در زمان واقعی ضروری است. از طریق ادغام این ویژگیها، کتابخانه قصد دارد ابزاری قدرتمند برای توسعهدهندگان به منظور ایجاد برنامههای پخش داده پویا با کارایی و قابلیت اطمینان بالا فراهم آورد.
🟣لینک مقاله:
https://golangweekly.com/link/170033/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
franz-go: A Complete Apache Kafka Client Library
🟢 خلاصه مقاله:
مقاله درباره کتابخانه نرمافزاری صحبت میکند که هدف آن ارائه تمام امکانات موجود در Apache Kafka از نسخه ۰.۸.۰ به بعد است. این کتابخانه ویژگیهای چشمگیری دارد که شامل تواناییهای بالا در پردازش، تحمل خطا و قابلیت گسترش میشود و برای مدیریت کارآمد جریانهای داده در زمان واقعی ضروری است. از طریق ادغام این ویژگیها، کتابخانه قصد دارد ابزاری قدرتمند برای توسعهدهندگان به منظور ایجاد برنامههای پخش داده پویا با کارایی و قابلیت اطمینان بالا فراهم آورد.
🟣لینک مقاله:
https://golangweekly.com/link/170033/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - twmb/franz-go: franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 4.0+.…
franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 4.0+. Producing, consuming, transacting, administrating, etc. - twmb/franz-go
❤1👍1
🔵 عنوان مقاله
Pure vs. Impure Iterators in Go
🟢 خلاصه مقاله:
جدیدترین نسخهی برنامه نویسی Go، یعنی 1.23، ایتریتورهای سفارشی را معرفی کرد که امکانات جدیدی را برای توسعهدهندگان فراهم آورده است. با این حال، طبقهبندی استاندارد ایتریتورها به دو دستهی "تکبار مصرف" و غیر "تکبار مصرف" میتواند گمراهکننده باشد. این مقاله پیشنهاد میکند که ایتریتورها براساس "خالص" و "ناخالص" طبقهبندی شوند، جایی که ایتریتورهای خالص بدون اثرات جانبی عمل میکنند و نتایج یکسانی را در هر بار استفاده ارائه میدهند، در حالی که ایتریتورهای ناخالص میتوانند تحت شرایط خاص نتایج متفاوتی ارائه دهند. همچنین، مقاله با ارائه مثالهای ملموس و بررسی کارایی، به بررسی فواید و معایب هر دو نوع ایتریتور و تأثیر آنها بر عملکرد برنامهها میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/170019/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Pure vs. Impure Iterators in Go
🟢 خلاصه مقاله:
جدیدترین نسخهی برنامه نویسی Go، یعنی 1.23، ایتریتورهای سفارشی را معرفی کرد که امکانات جدیدی را برای توسعهدهندگان فراهم آورده است. با این حال، طبقهبندی استاندارد ایتریتورها به دو دستهی "تکبار مصرف" و غیر "تکبار مصرف" میتواند گمراهکننده باشد. این مقاله پیشنهاد میکند که ایتریتورها براساس "خالص" و "ناخالص" طبقهبندی شوند، جایی که ایتریتورهای خالص بدون اثرات جانبی عمل میکنند و نتایج یکسانی را در هر بار استفاده ارائه میدهند، در حالی که ایتریتورهای ناخالص میتوانند تحت شرایط خاص نتایج متفاوتی ارائه دهند. همچنین، مقاله با ارائه مثالهای ملموس و بررسی کارایی، به بررسی فواید و معایب هر دو نوع ایتریتور و تأثیر آنها بر عملکرد برنامهها میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/170019/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Jub0Bs
Pure vs. impure iterators in Go
TL;DR ¶ Go has now standardised iterators. Iterators are powerful. Being functions under the hood, iterators can be closures. The classification of iterators suggested by the documentation is ambiguous. Dividing iterators into two categories, “pure” and “impure”…
❤2
🌟درود به همه 🌟
ما یه کانال ساختیم پُر از محتوای جذاب و متنوع که هم سرگرمکنندهست، هم آموزنده:
🎭 مطالب فان
🏛 تاریخ و تمدن، مخصوصاً ایران باستان
🎨 هنر و ادبیات
🎧 معرفی پادکستهای شنیدنی
📺 معرفی کانالهای باحال یوتوب
📱 و حتی پیجهای خفن اینستاگرامی با محتوای باکیفیت
📬 اگه شما هم اطلاعات جالب، محتوای خاص، یا پیج و یوتوبچنل باحالی میشناسید،
میتونید برامون بفرستید تا با اسم خودتون توی کانال منتشرش کنیم!
📲 منتظرتیم! جوین شو:👇
🔗 @bardia_kazemi
ما یه کانال ساختیم پُر از محتوای جذاب و متنوع که هم سرگرمکنندهست، هم آموزنده:
🎭 مطالب فان
🏛 تاریخ و تمدن، مخصوصاً ایران باستان
🎨 هنر و ادبیات
🎧 معرفی پادکستهای شنیدنی
📺 معرفی کانالهای باحال یوتوب
📱 و حتی پیجهای خفن اینستاگرامی با محتوای باکیفیت
📬 اگه شما هم اطلاعات جالب، محتوای خاص، یا پیج و یوتوبچنل باحالی میشناسید،
میتونید برامون بفرستید تا با اسم خودتون توی کانال منتشرش کنیم!
📲 منتظرتیم! جوین شو:👇
🔗 @bardia_kazemi