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
🔵 عنوان مقاله
Go Panicked Again? Yeah, Sentry Saw It—and Kept the Receipts

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

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

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


👑 @gopher_academy
1👍1🍾1
Forwarded from Linux Labdon
🔵 عنوان مقاله
Red Hat Enterprise Linux 10 Officially Released, Here’s What’s New

🟢 خلاصه مقاله:
مجموعه‌ی جدید سیستم عامل Red Hat Enterprise Linux 10 با ویژگی‌های پیشرفته‌ای عرضه شده است که شامل مدیریت هوشمند Linux با استفاده از Lightspeed و امکانات امنیتی تقویت‌شده می‌باشد. سیستم Lightspeed، که به عنوان یک نوآوری بزرگ در عرصه‌ی مدیریت سیستم‌های Linux با استفاده از هوش مصنوعی معرفی شده، به کاربران امکان می‌دهد تا به راحتی سیستم‌های خود را تحت نظر داشته و از عملکرد بهینه آن‌ها اطمینان حاصل کنند. علاوه بر این، امنیت در این نسخه با استفاده از تکنولوژی‌های به روز شده و پیشرفته تقویت شده است، به گونه‌ای که کاربران می‌توانند به محافظت بیشتری در برابر تهدیدات سایبری اعتماد کنند. این امکانات جدید بر هدف Red Hat برای ارائه‌ی راه‌حل‌های قدرتمند و مطمئن برای محیط‌های تجاری تأکید دارد و به کاربران اجازه می‌دهد تا با خیال آسوده به کسب و کار خود بپردازند.

🟣لینک مقاله:
https://9to5linux.com/red-hat-enterprise-linux-10-officially-released-heres-whats-new


👑 @Linux_Labdon
👍21
Forwarded from Database Labdon
🔵 عنوان مقاله
pgconf.dev 2025 Wraps Up with Great Success in Montreal

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

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


👑 @Database_Academy
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Supercharge data access performance with GKE Data Cache (5 minute read)

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به معرفی ویژگی جدیدی در محیط Google Kubernetes Engine (GKE) تحت عنوان "GKE Data Cache" می‌پردازد که اکنون به طور کلی در دسترس قرار گرفته است. این قابلیت جدید به منظور بهبود قابل توجه در عملکرد خواندن داده‌ها برای بارهای کاری Kubernetes ایجاد شده است. با استفاده از GKE Data Cache، داده‌هایی که به طور مکرر دسترسی می‌یابند، در SSDهای محلی ذخیره می‌شوند که این امر فرآیند خواندن داده‌ها را سریع‌تر می‌کند. این ویژگی به ویژه برای کاربرد‌هایی که نیازمند دسترسی سریع و مکرر به مجموعه‌های بزرگ داده‌ها هستند، مفید است و می‌تواند به کاهش تأخیر و افزایش کارایی در پردازش داده‌ها کمک کند. بنابراین، GKE Data Cache یک پیشرفت قابل توجه در بهینه‌سازی عملکرد برای بارهای کاری مبتنی بر Kubernetes در محیط GKE محسوب می‌شود.

🟣لینک مقاله:
https://cloud.google.com/blog/products/containers-kubernetes/gke-data-cache-now-ga-accelerates-stateful-apps/?utm_source=tldrdevops


👑 @DevOps_Labdon
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Prometheus: How We Slashed Memory Usage (8 minute read)

🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی مشکل مصرف بالای حافظه توسط نرم‌افزار Prometheus در محیط‌های Kubernetes می‌پردازد، که این مشکل اغلب به دلیل سنجش‌ها با کاردینالیتی بالا و ترکیبات برچسب‌ها ایجاد می‌شود. این موقعیت خصوصاً زمانی بحرانی می‌شود که سنجش‌ها در میان شغل‌ها تکرار شوند یا از برچسب‌های پویا مانند مسیر و نمونه تکثیر استفاده کنند. برای شناسایی و حذف عوامل ایجادکننده این مشکل، می‌توان از ابزارهایی مانند promtool و زبان پرس‌و‌جوی PromQL استفاده کرد. پس از شناسایی، جمع‌آوری داده‌ها بهینه‌سازی و قوانین برچسب‌گذاری دوباره تنظیم می‌شوند تا بتوان بدون از بین بردن کارایی داشبوردها یا هشدارها، مصرف حافظه را به طور امن کاهش داد. این رویکرد به کاهش خطرات مرتبط با افزایش مصرف منابع در سیستم‌های بزرگ و پیچیده کمک می‌کند.

🟣لینک مقاله:
https://devoriales.com/post/384/prometheus-how-we-slashed-memory-usage?utm_source=tldrdevops


👑 @DevOps_Labdon
🔥1
🔵 عنوان مقاله
  What's New in Go: Google's Take

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

در رویداد اخیر Google I/O، رهبر پروژه به همراه مسئول برتر روابط توسعه دهندگان، ارائه‌ای مفصل در مورد پیشرفت‌های زبان برنامه‌نویسی Go ارائه دادند. این جلسه شامل بررسی ویژگی‌ها و بهبودهای جدید افزوده شده به زبان Go بود و اطلاعات بیشتری نسبت به آنچه از یک بخش ۲۰ دقیقه‌ای انتظار می‌رود، ارائه داد. این ارائه به توضیح بهبودهای اخیر، از جمله بهینه‌سازی‌های کامپایلر، کتابخانه‌های جدید و ابزارهای مختلف که باعث افزایش کارایی و عملکرد برنامه‌های نوشته شده با Go می‌شوند، پرداخت. تعهد گوگل در بهبود مستمر و ارائه شفاف این پیشرفت‌ها نشان‌دهنده حمایت قوی از جامعه رو به رشد Go است.

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


👑 @gopher_academy
🔵 عنوان مقاله
The Generics Way to Use GORM

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

GORM که یک کتابخانه ORM محبوب برای زبان برنامه‌نویسی Go است، در جدیدترین نسخه خود (۱.۳۰.۰) از قابلیت جنریک‌ها پشتیبانی می‌کند. این بروزرسانی امکان استفاده از جنریک‌ها را فراهم می‌آورد که این امر به افزایش انعطاف‌پذیری و امنیت نوع در تعاملات پایگاه داده کمک می‌کند. استفاده از جنریک‌ها امکان استفاده مجدد بهتر از کد و ساخت پرس‌وجوهای پایگاه داده انعطاف‌پذیرتر را فراهم می‌کند که منجر به بهبود کارایی و کاهش خطاهای زمان اجرا در نرم‌افزار می‌شود. این تغییرات در نهایت تجربه توسعه‌دهندگان را بهبود بخشیده و استاندارد‌های جدیدی در کتابخانه‌های ORM برای Go تعیین می‌کند.

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


👑 @gopher_academy
2
🔵 عنوان مقاله
vipsgen: Go Binding Generator for libvips

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

libvps یک کتابخانه پرطرفدار و کارآمد در زمینه پردازش تصویر است. ابزار vipsgen امکان تولید اتصالات (bindings) برای زبان برنامه‌نویسی Go را فراهم می‌آورد که بر اساس نصب libvps انجام می‌پذیرد. این اتصالات نه تنها ایمن از نوع داده‌ای هستند و از قابلیت اطمینان بالایی برخوردارند، بلکه به‌طور کامل نیز مستندسازی شده‌اند تا توسعه‌دهندگان بتوانند به‌راحتی از آن‌ها در پروژه‌های برنامه‌نویسی Go استفاده نمایند.

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


👑 @gopher_academy
🔵 عنوان مقاله
The Results of Go's Cryptography Security Audit

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

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

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
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