🔵 عنوان مقاله
[ 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
Forwarded from Linux Labdon
🔵 عنوان مقاله
How to Install Linux Kernel 6.15 on Ubuntu 25.04 and Ubuntu 24.10
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، راهنمایی است برای نصب آخرین نسخهی هسته لینوکس (Linux kernel 6.15) بر روی توزیع اوبونتو ۲۵.۰۴. هدف از این راهنما کمک به کاربران برای بهروزرسانی سیستمهای خود با استفاده از جدیدترین نوآوریها و بهبودهای امنیتی موجود در نسخهی جدید هستهی لینوکس است. این بهروزرسانی ممکن است عملکرد سیستم را بهبود بخشد و امکانات جدیدی را در اختیار کاربران قرار دهد. مقاله به احتمال زیاد شامل دستورالعملهای قدمبهقدم، مزایای بهروزرسانی هسته و رفع پتانسیل مشکلات احتمالی پس از نصب است. بدین ترتیب، کاربران میتوانند با اطمینان بیشتری نسبت به نصب و استفاده از این بهروزرسانی اقدام نمایند.
🟣لینک مقاله:
https://9to5linux.com/how-to-install-linux-kernel-6-15-on-ubuntu-25-04-and-ubuntu-24-10
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
How to Install Linux Kernel 6.15 on Ubuntu 25.04 and Ubuntu 24.10
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، راهنمایی است برای نصب آخرین نسخهی هسته لینوکس (Linux kernel 6.15) بر روی توزیع اوبونتو ۲۵.۰۴. هدف از این راهنما کمک به کاربران برای بهروزرسانی سیستمهای خود با استفاده از جدیدترین نوآوریها و بهبودهای امنیتی موجود در نسخهی جدید هستهی لینوکس است. این بهروزرسانی ممکن است عملکرد سیستم را بهبود بخشد و امکانات جدیدی را در اختیار کاربران قرار دهد. مقاله به احتمال زیاد شامل دستورالعملهای قدمبهقدم، مزایای بهروزرسانی هسته و رفع پتانسیل مشکلات احتمالی پس از نصب است. بدین ترتیب، کاربران میتوانند با اطمینان بیشتری نسبت به نصب و استفاده از این بهروزرسانی اقدام نمایند.
🟣لینک مقاله:
https://9to5linux.com/how-to-install-linux-kernel-6-15-on-ubuntu-25-04-and-ubuntu-24-10
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
9to5Linux
How to Install Linux Kernel 6.15 on Ubuntu 25.04 and Ubuntu 24.10 - 9to5Linux
You can now install the latest and greatest Linux 6.15 kernel series on your Ubuntu 25.04 distribution. Here’s how to do it!
Forwarded from DevOps Labdon
🔵 عنوان مقاله
How We Run Terraform At Scale (11 minute read)
🟢 خلاصه مقاله:
شرکت Benchling با استفاده از سیستمی کاملاً خودکار که بر پایه Terraform Cloud ساخته شده است، بیش از ۱۶۵,۰۰۰ منبع ابری را در ۶۲۵ فضای کاری Terraform مدیریت میکند. این اقدام باعث صرفهجویی در هزاران ساعت کار توسعهدهندگان و حذف انحراف زیرساختها شدهاست. با جایگزینی فرآیندهای دستی و خطاپذیر با خودکارسازی قابل توسعه و ابزار سفارشی، Benchling کارایی انتشار و تجربه توسعهدهندگان را به مقیاس بهبود بخشیده است. این تغییرات امکان تمرکز بر نوآوری و بهبود مستمر را برای Benchling فراهم آورده است.
🟣لینک مقاله:
https://benchling.engineering/how-we-run-terraform-at-scale-da7bb75dc394?utm_source=tldrdevops
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
How We Run Terraform At Scale (11 minute read)
🟢 خلاصه مقاله:
شرکت Benchling با استفاده از سیستمی کاملاً خودکار که بر پایه Terraform Cloud ساخته شده است، بیش از ۱۶۵,۰۰۰ منبع ابری را در ۶۲۵ فضای کاری Terraform مدیریت میکند. این اقدام باعث صرفهجویی در هزاران ساعت کار توسعهدهندگان و حذف انحراف زیرساختها شدهاست. با جایگزینی فرآیندهای دستی و خطاپذیر با خودکارسازی قابل توسعه و ابزار سفارشی، Benchling کارایی انتشار و تجربه توسعهدهندگان را به مقیاس بهبود بخشیده است. این تغییرات امکان تمرکز بر نوآوری و بهبود مستمر را برای Benchling فراهم آورده است.
🟣لینک مقاله:
https://benchling.engineering/how-we-run-terraform-at-scale-da7bb75dc394?utm_source=tldrdevops
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
How We Run Terraform At Scale
Managing over 165k cloud resources across hundreds of workspaces could seem daunting. But for us, it’s just another day at Benchling.
🔵 عنوان مقاله
Working with BF16 (bfloat16) in Go on Arm Processors
🟢 خلاصه مقاله:
مقالهای که راهنمای تخصصی برای استفاده از اعداد اعشاری BF16 در زبان برنامهنویسی Go روی معماری ARM ارائه داده، با وجود پشتیبانی نکردن این زبان از BF16 به طور بومی. روشهای ارائه شده شامل استفاده از Cgo برای فراخوانی توابع C و همچنین استفاده از ابزار GoAT است که امکان کار با BF16 را در اکوسیستم Go فراهم میآورد. این راهنما همچنین به بررسی موارد استفاده عملی و ملاحظات عملکردی میپردازد و تأثیر این پیادهسازیها بر روی کارآیی و کارایی برنامهها در دستگاههای ARM را نشان میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/170261/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Working with BF16 (bfloat16) in Go on Arm Processors
🟢 خلاصه مقاله:
مقالهای که راهنمای تخصصی برای استفاده از اعداد اعشاری BF16 در زبان برنامهنویسی Go روی معماری ARM ارائه داده، با وجود پشتیبانی نکردن این زبان از BF16 به طور بومی. روشهای ارائه شده شامل استفاده از Cgo برای فراخوانی توابع C و همچنین استفاده از ابزار GoAT است که امکان کار با BF16 را در اکوسیستم Go فراهم میآورد. این راهنما همچنین به بررسی موارد استفاده عملی و ملاحظات عملکردی میپردازد و تأثیر این پیادهسازیها بر روی کارآیی و کارایی برنامهها در دستگاههای ARM را نشان میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/170261/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Gorse
BF16 in the Go Programming Language
BF16 in the Go Programming Language In the era of large language models, low-precision floating-point numbers are no strangers to developers, with BF16 being one of the most widely supported low-precision floating-point formats. This article will introduce…
❤1👍1🔥1
🔵 عنوان مقاله
NoxDir: Terminal Utility for Visualizing File System Usage
🟢 خلاصه مقاله:
مقاله مورد بحث یک ابزار خط فرمان (CLI) چندپلتفرمی و قدرتمند که با زبان برنامهنویسی Go ساخته شده است را معرفی میکند. این ابزار برای بصریسازی و بررسی استفاده از فضای سیستم فایلها طراحی شده و از کتابخانه محبوب Bubble Tea برای نمایش جذاب استفاده میکند. این ابزار به کاربران کمک میکند تا توزیع فایلها و میزان استفاده از فضای درایو خود را به طور واضح و تعاملی درک کنند و در نتیجه میتوانند به بهینهسازی و نگهداری سیستم خود بپردازند. از آنجا که این ابزار چندپلتفرمی است، کاربران در سیستمهای عامل مختلف مانند Windows, Linux, یا macOS میتوانند از همان کیفیت بالا برای مدیریت فایلهای خود بهره ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/170284/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
NoxDir: Terminal Utility for Visualizing File System Usage
🟢 خلاصه مقاله:
مقاله مورد بحث یک ابزار خط فرمان (CLI) چندپلتفرمی و قدرتمند که با زبان برنامهنویسی Go ساخته شده است را معرفی میکند. این ابزار برای بصریسازی و بررسی استفاده از فضای سیستم فایلها طراحی شده و از کتابخانه محبوب Bubble Tea برای نمایش جذاب استفاده میکند. این ابزار به کاربران کمک میکند تا توزیع فایلها و میزان استفاده از فضای درایو خود را به طور واضح و تعاملی درک کنند و در نتیجه میتوانند به بهینهسازی و نگهداری سیستم خود بپردازند. از آنجا که این ابزار چندپلتفرمی است، کاربران در سیستمهای عامل مختلف مانند Windows, Linux, یا macOS میتوانند از همان کیفیت بالا برای مدیریت فایلهای خود بهره ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/170284/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - crumbyte/noxdir: Terminal utility for visualizing file system usage.
Terminal utility for visualizing file system usage. - crumbyte/noxdir
❤1
🔵 عنوان مقاله
Why I'm Excited About Go for Agents
🟢 خلاصه مقاله:
زبان برنامهنویسی Go به دلیل مدل همروندی قوی و استفاده از Context برای توسعه ایجنتهایی که به صورت حلقهای و عمدتا بدون حالت فعالیت میکنند مناسب است. گوروتینها در Go امکان ایجاد هزاران پروسه همروند را فراهم میکنند و Context کنترل دقیقتری بر زمانبندی و پاکسازی منابع میدهد. علاوه بر این، ابزارهای پروفایلینگ قدرتمند Go به شناسایی و رفع گلوگاههای عملکرد کمک میکند. این ویژگیها با هم Go را برای توسعه نرمافزارهایی که ایجنتها بخش اصلی آنها هستند تقریباً ایدهآل میسازند.
🟣لینک مقاله:
https://golangweekly.com/link/170255/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Why I'm Excited About Go for Agents
🟢 خلاصه مقاله:
زبان برنامهنویسی Go به دلیل مدل همروندی قوی و استفاده از Context برای توسعه ایجنتهایی که به صورت حلقهای و عمدتا بدون حالت فعالیت میکنند مناسب است. گوروتینها در Go امکان ایجاد هزاران پروسه همروند را فراهم میکنند و Context کنترل دقیقتری بر زمانبندی و پاکسازی منابع میدهد. علاوه بر این، ابزارهای پروفایلینگ قدرتمند Go به شناسایی و رفع گلوگاههای عملکرد کمک میکند. این ویژگیها با هم Go را برای توسعه نرمافزارهایی که ایجنتها بخش اصلی آنها هستند تقریباً ایدهآل میسازند.
🟣لینک مقاله:
https://golangweekly.com/link/170255/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍2
🔵 عنوان مقاله
Raylib-Go-Wasm: Raylib Go Bindings for the Web
🟢 خلاصه مقاله:
کتابخانه Raylib که برای ساخت بازیهای ویدیویی کاربرد دارد، این امکان را فراهم میسازد تا از زبان برنامهنویسی Go استفاده شود. اما تا کنون، امکان هدفگذاری پلتفرم وب در بستر Go موجود نبود، که این یک محدودیت بزرگ بود. با این حال، تلاشهایی در جریان است تا این قابلیت به Raylib افزوده شود و اکنون در مراحل اولیه قرار دارد. خالق این تغییرات به دنبال کمک و بازخورد از جامعه توسعهدهندگان است تا بتوان روی پلتفرم وب نیز بازیهایی ساخت. این پیشرفت برای توسعهدهندگانی که علاقمند به ساخت بازیهای وبمحور هستند مفید خواهد بود.
🟣لینک مقاله:
https://golangweekly.com/link/170276/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Raylib-Go-Wasm: Raylib Go Bindings for the Web
🟢 خلاصه مقاله:
کتابخانه Raylib که برای ساخت بازیهای ویدیویی کاربرد دارد، این امکان را فراهم میسازد تا از زبان برنامهنویسی Go استفاده شود. اما تا کنون، امکان هدفگذاری پلتفرم وب در بستر Go موجود نبود، که این یک محدودیت بزرگ بود. با این حال، تلاشهایی در جریان است تا این قابلیت به Raylib افزوده شود و اکنون در مراحل اولیه قرار دارد. خالق این تغییرات به دنبال کمک و بازخورد از جامعه توسعهدهندگان است تا بتوان روی پلتفرم وب نیز بازیهایی ساخت. این پیشرفت برای توسعهدهندگانی که علاقمند به ساخت بازیهای وبمحور هستند مفید خواهد بود.
🟣لینک مقاله:
https://golangweekly.com/link/170276/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - BrownNPC/Raylib-Go-Wasm: raylib-go bindings for the web
raylib-go bindings for the web. Contribute to BrownNPC/Raylib-Go-Wasm development by creating an account on GitHub.
❤1
Forwarded from 𓄂 Bardia 𓆃
⭕️ قیمت ارزهای آزاد | شنبه 24 خرداد 1404 - 15:46
🇺🇸 دلار : 835,600 ریال
🇪🇺 یورو : 970,200 ریال
🇬🇧 پوند انگلیس : 1,136,200 ریال
🇺🇸 دلار : 835,600 ریال
🇪🇺 یورو : 970,200 ریال
🇬🇧 پوند انگلیس : 1,136,200 ریال
🕊3
Forwarded from 𓄂 Bardia 𓆃
⭕️ گزارش قیمت ارزهای دیجیتال | شنبه 24 خرداد 1404 - 15:48
◽️ بیت کوین : 98,116,794,000 ریال
◽️ بیت کوین : 105,016.37 تتر
◽️ اتریوم : 2,367,833,900 ریال
◽️ اتریوم : 2,534.34 تتر
◽️ تتر : 934,370 ریال
◽️ تتر : 1.000157 تتر
◽️ بیت کوین : 98,116,794,000 ریال
◽️ بیت کوین : 105,016.37 تتر
◽️ اتریوم : 2,367,833,900 ریال
◽️ اتریوم : 2,534.34 تتر
◽️ تتر : 934,370 ریال
◽️ تتر : 1.000157 تتر
🕊3❤1
در ادامه یک خلاصهٔ کوتاه و مفید از مقاله
«More predictable benchmarking with testing.B.Loop»
نوشتهی Junyang Shao در وبلاگ Go منتشرشده در ۲ آوریل ۲۰۲۵ آورده شده است
---
🔄 مشکل اولیه با b.N
تا قبل از Go 1.24، بنچمارکها با for range b.N { ... } نوشته میشدند که:
نیاز به b.ResetTimer() و b.StopTimer() برای مدیریت دقیق زمان داشت.
بهدلیل inlining و حذف کد بدون اثر جانبی، گاهی کد تستشده اصلاً اجرا نمیشد و زمانهای غیرواقعی تولید میکرد .
---
✅ معرفی testing.B.Loop
Go 1.24 متد جدیدی معرفی کرد:
func Benchmark(b *testing.B) {
... setup once ...
for b.Loop() {
// کد اصلی برای بنچمارک
}
... cleanup once ...
}
مزایای کلیدی آن عبارتند از:
مدیریت خودکار زمان: زمانسنج بهصورت خودکار بین setup/loop/cleanup کنترل میشود؛ نیازی به ResetTimer یا StopTimer نیست .
جلوگیری از حذف بهینهساز: درون Loop، تماس به توابع بهصورت مستقیم نگه داشته میشود و کامپایلر نمیتواند آن را حذف کند .
یکبار اجرا برای تعیین تعداد تکرارها: برخلاف روش قدیمی که تابع benchmark چندینبار با b.Nهای مختلف فراخوانی میشد، این روش تنها یکبار اجرا شده و کارآمدتر است .
---
⚙️ نکات قابل توجه
اگر در هر بار اجرا نیاز به پرکردن دادهها یا عملیات خارج از loop دارید، باید خودتان با b.StopTimer() و b.StartTimer() مدیریت کنید:
> مثال: مقداردهی تصادفی پیش از sort .
داخل یک تابع بنچمارک، باید فقط از for b.Loop() استفاده شود، نه ترکیبی از b.N و b.Loop .
--
🧭 توصیه و نتیجهگیری
testing.B.Loop در Go 1.24 نسل جدیدی از بنچمارکها است:
سادهتر، دقیقتر و مقاومتر در برابر اشتباهات رایج.
برای بنچمارکهای جدید، بهعنوان روش پیشفرض توصیه میشود؛
و برای بنچمارکهای موجود نیز میتوان با کمی تغییر به آن مهاجرت کرد .
---
✅ فقط یک نگاه مختصر
✳️ سادهسازی کد
⏱️ حذف نیاز به مدیریت زمان دستی
🔒 جلوگیری از بهینهسازیهای مخرب
⚡ عملکرد سریعتر در اجرا
«More predictable benchmarking with testing.B.Loop»
نوشتهی Junyang Shao در وبلاگ Go منتشرشده در ۲ آوریل ۲۰۲۵ آورده شده است
---
🔄 مشکل اولیه با b.N
تا قبل از Go 1.24، بنچمارکها با for range b.N { ... } نوشته میشدند که:
نیاز به b.ResetTimer() و b.StopTimer() برای مدیریت دقیق زمان داشت.
بهدلیل inlining و حذف کد بدون اثر جانبی، گاهی کد تستشده اصلاً اجرا نمیشد و زمانهای غیرواقعی تولید میکرد .
---
✅ معرفی testing.B.Loop
Go 1.24 متد جدیدی معرفی کرد:
func Benchmark(b *testing.B) {
... setup once ...
for b.Loop() {
// کد اصلی برای بنچمارک
}
... cleanup once ...
}
مزایای کلیدی آن عبارتند از:
مدیریت خودکار زمان: زمانسنج بهصورت خودکار بین setup/loop/cleanup کنترل میشود؛ نیازی به ResetTimer یا StopTimer نیست .
جلوگیری از حذف بهینهساز: درون Loop، تماس به توابع بهصورت مستقیم نگه داشته میشود و کامپایلر نمیتواند آن را حذف کند .
یکبار اجرا برای تعیین تعداد تکرارها: برخلاف روش قدیمی که تابع benchmark چندینبار با b.Nهای مختلف فراخوانی میشد، این روش تنها یکبار اجرا شده و کارآمدتر است .
---
⚙️ نکات قابل توجه
اگر در هر بار اجرا نیاز به پرکردن دادهها یا عملیات خارج از loop دارید، باید خودتان با b.StopTimer() و b.StartTimer() مدیریت کنید:
> مثال: مقداردهی تصادفی پیش از sort .
داخل یک تابع بنچمارک، باید فقط از for b.Loop() استفاده شود، نه ترکیبی از b.N و b.Loop .
--
🧭 توصیه و نتیجهگیری
testing.B.Loop در Go 1.24 نسل جدیدی از بنچمارکها است:
سادهتر، دقیقتر و مقاومتر در برابر اشتباهات رایج.
برای بنچمارکهای جدید، بهعنوان روش پیشفرض توصیه میشود؛
و برای بنچمارکهای موجود نیز میتوان با کمی تغییر به آن مهاجرت کرد .
---
✅ فقط یک نگاه مختصر
✳️ سادهسازی کد
⏱️ حذف نیاز به مدیریت زمان دستی
🔒 جلوگیری از بهینهسازیهای مخرب
⚡ عملکرد سریعتر در اجرا
❤2👍2🔥1
🔵 عنوان مقاله
Modern (Go) Application Design
🟢 خلاصه مقاله:
این مقاله به بررسی سازماندهی نرمافزارها با تمرکز بر مدلهای داده و مرزهای مورد کاربرد میپردازد. مشکلاتی مانند افزایش پیچیدگی نرمافزار، تکرار دادهها و مشکلات در مقیاسپذیری و نگهداری از جمله مسائل شایعی هستند که در مقاله به آنها اشاره شده است. پیشنهاد میشود که با تمرکز بر مدلهای داده مشخص و تعریف دقیق مرزهای مورد کاربرد، میتوان به بهبود مدیریت دادهها، افزایش کارایی و امنیت بیشتر در نرمافزارها دست یافت.
🟣لینک مقاله:
https://golangweekly.com/link/170260/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Modern (Go) Application Design
🟢 خلاصه مقاله:
این مقاله به بررسی سازماندهی نرمافزارها با تمرکز بر مدلهای داده و مرزهای مورد کاربرد میپردازد. مشکلاتی مانند افزایش پیچیدگی نرمافزار، تکرار دادهها و مشکلات در مقیاسپذیری و نگهداری از جمله مسائل شایعی هستند که در مقاله به آنها اشاره شده است. پیشنهاد میشود که با تمرکز بر مدلهای داده مشخص و تعریف دقیق مرزهای مورد کاربرد، میتوان به بهبود مدیریت دادهها، افزایش کارایی و امنیت بیشتر در نرمافزارها دست یافت.
🟣لینک مقاله:
https://golangweekly.com/link/170260/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Office Hours
Modern (Go) application design
When it comes to application design, I’ve formed a few opinions backed by experience. The most important one is: structure matters. In my first years of development, I’ve built a CMS system that was copied over more than 100 times for different web pages.…
❤3