Gopher Academy
3.85K subscribers
933 photos
42 videos
280 files
2.21K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
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
🔵 عنوان مقاله
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
1
🔵 عنوان مقاله
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
🎙️ عنوان پادکست:
🚫 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 مخالفت می‌کند و بر بازگشت‌های صریح خطا تأکید دارد....
1👍1
🎙️ عنوان پادکست:
Metal! 🤘 Bare metal go, config libs, building response writers
خلاصه پادکست:
** این قسمت با حال‌وهوای «Metal! 🤘» به Go روی سخت‌افزار بدون سیستم‌عامل می‌پردازد: هدف و کاربردهای GOOS=none برای هدف‌های freestanding، محدودیت‌های runtime و کار در نبود syscalls. در خبرها، به انتشار GCC 15.1 با پشتیبانی از COBOL اشاره می‌شود و موضوع «os: Root permits access to parent directory» به‌عنوان هشداری درباره لبه‌های امنیتی در مدیریت مسیرها بررسی می‌شود. سپس معیارهای یک کتابخانه پیکربندی «ارگونومیک» (API قابل‌کشف، ایمنی نوع، لایه‌بندی env/فایل/فلگ، hot reload و پیش‌فرض‌های معقول) و خطاهای رایج مرور می‌شود....
22