Gopher Academy
3.33K subscribers
914 photos
40 videos
279 files
1.95K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72

ادمین تبلیغات:
@labdon_ads
Download Telegram
🔵 عنوان مقاله
Solving Flaky Tests with Go 1.24's synctest

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

زمان‌بندی Goroutine در برنامه‌نویسی Go می‌تواند پیچیدگی‌هایی را به ارمغان آورد که دیباگ کردن آن‌ها دشوار است، اما بسته synctest در Go 1.24 با معرفی ‘حباب‌های’ ایزوله که فرآیندها را هماهنگ و قابل پیش‌بینی‌تر می‌کند، تست کد همزمان را آسان‌تر می‌سازد. این بسته تستی با فراهم کردن محیط‌های کنترل شده برای اجرای goroutines، به دستیابی به نتایج آزمایشی ثابت‌تر کمک می‌کند، و در نتیجه فرآیند تست و رفع اشکال را در سیستم‌های موازی ساده‌تر می‌سازد.

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


👑 @gopher_academy
🔵 عنوان مقاله
FSBroker: Broker, Group, Dedup, and Filter FSNotify Events

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

مقاله به بررسی کتابخانه‌ای می‌پردازد که بر روی ابزار fsnotify، که قابلیت استفاده در سیستم‌های عامل مختلف را دارد، ساخته شده‌ است. این کتابخانه لایه‌ ای جدیدی به fsnotify اضافه می‌کند که رویدادهای خام سیستم فایل را به فرمی قابل استفاده‌تر تبدیل می‌کند و استفاده از آن‌ها را برای توسعه‌دهندگانی که می‌خواهند ویژگی‌های نظارت بر سیستم فایل را به برنامه‌های کاربردی خود اضافه کنند، ساده‌تر می‌نماید.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
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
👍1
🔵 عنوان مقاله
Night Knight: A 60 FPS Go Remake of an 80's Videogame

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

یک خواننده به همراه همکارش، بازی قدیمی از دهه ۸۰ میلادی که بر روی کامپیوتر خانگی MSX بود را با استفاده از موتور Ebitengine، برای سیستم‌های ویندوز بازسازی کرده‌اند. این بازی که ویژگی‌ها و زیبایی‌های دوران رترو را حفظ کرده، اکنون فقط برای دانلود روی ویندوز در دسترس است. این پروژه نه تنها یک بازی سرگرم‌کننده است، بلکه به عنوان یک میراث دیجیتالی، پلی بین گذشته و حال می‌زند که هم نسل‌های قدیم و هم نسل‌های جدید می‌توانند از آن لذت ببرند.

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


👑 @gopher_academy
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
👍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
1
🔵 عنوان مقاله
godump: A Pretty-Printer and Debug Dumper for Structs

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

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

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


👑 @gopher_academy
2
[ On | No ] syntactic support for error handling

این مقاله درباره تصمیم تیم زبان برنامه‌نویسی 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
7👍1🍾1
🔵 عنوان مقاله
go-binsize-treemap: Render a Visualization of Go Executable Space Usage

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

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Three Cool slog.Logger Tricks

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

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

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


👑 @gopher_academy
2
🔵 عنوان مقاله
[ On | No ] Syntactic Support for Error Handling

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

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

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


👑 @gopher_academy
2
🔵 عنوان مقاله
httpgrace: A net/http Wrapper with Graceful Shutdown

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

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

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


👑 @gopher_academy
🍾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
👍1
🔵 عنوان مقاله
The Guide to In-House Vs Managed Kubernetes-As-A-Service

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

مقاله به بررسی تصمیم‌گیری سازمان‌ها برای انتخاب بین ساخت یا خرید مدیریت زیرساخت کوبرنتیز می‌پردازد. راهنمای ارائه‌شده در مقاله، مزایا و معایب هر گزینه را به همراه هزینه‌ها، ریسک‌ها و بازگشت سرمایه بررسی می‌کند تا سازمان‌ها بتوانند تصمیم‌گیری آگاهانه‌ای داشته باشند.

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


👑 @gopher_academy
🍾1
🔵 عنوان مقاله
Simpler Backoff

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

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


👑 @gopher_academy
🍾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
1👍1
🔵 عنوان مقاله
franz-go: A Complete Apache Kafka Client Library

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

مقاله درباره کتابخانه نرم‌افزاری صحبت می‌کند که هدف آن ارائه تمام امکانات موجود در Apache Kafka از نسخه ۰.۸.۰ به بعد است. این کتابخانه ویژگی‌های چشمگیری دارد که شامل توانایی‌های بالا در پردازش، تحمل خطا و قابلیت گسترش می‌شود و برای مدیریت کارآمد جریان‌های داده در زمان واقعی ضروری است. از طریق ادغام این ویژگی‌ها، کتابخانه قصد دارد ابزاری قدرتمند برای توسعه‌دهندگان به منظور ایجاد برنامه‌های پخش داده پویا با کارایی و قابلیت اطمینان بالا فراهم آورد.

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


👑 @gopher_academy
1👍1
🔵 عنوان مقاله
Pure vs. Impure Iterators in Go

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

جدیدترین نسخه‌ی برنامه نویسی Go، یعنی 1.23، ایتریتورهای سفارشی را معرفی کرد که امکانات جدیدی را برای توسعه‌دهندگان فراهم آورده است. با این حال، طبقه‌بندی استاندارد ایتریتورها به دو دسته‌ی "تک‌بار مصرف" و غیر "تک‌بار مصرف" می‌تواند گمراه‌کننده باشد. این مقاله پیشنهاد می‌کند که ایتریتورها براساس "خالص" و "ناخالص" طبقه‌بندی شوند، جایی که ایتریتورهای خالص بدون اثرات جانبی عمل می‌کنند و نتایج یکسانی را در هر بار استفاده ارائه می‌دهند، در حالی که ایتریتورهای ناخالص می‌توانند تحت شرایط خاص نتایج متفاوتی ارائه دهند. همچنین، مقاله با ارائه مثال‌های ملموس و بررسی کارایی، به بررسی فواید و معایب هر دو نوع ایتریتور و تأثیر آن‌ها بر عملکرد برنامه‌ها می‌پردازد.

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


👑 @gopher_academy
2
🌟درود به همه 🌟

ما یه کانال ساختیم پُر از محتوای جذاب و متنوع که هم سرگرم‌کننده‌ست، هم آموزنده:

🎭 مطالب فان
🏛 تاریخ و تمدن، مخصوصاً ایران باستان
🎨 هنر و ادبیات
🎧 معرفی پادکست‌های شنیدنی
📺 معرفی کانال‌های باحال یوتوب
📱 و حتی پیج‌های خفن اینستاگرامی با محتوای باکیفیت

📬 اگه شما هم اطلاعات جالب، محتوای خاص، یا پیج و یوتوب‌چنل باحالی می‌شناسید،
می‌تونید برامون بفرستید تا با اسم خودتون توی کانال منتشرش کنیم!

📲 منتظرتیم! جوین شو:👇

🔗 @bardia_kazemi