Gopher Academy
3.87K subscribers
936 photos
43 videos
280 files
2.3K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Context-Aware Dialer Methods Coming to Go 1.26

🟢 خلاصه مقاله:
** این تغییر که نخستین‌بار چهار سال پیش مطرح شد، قرار است در Go 1.26 و اوایل 2026 به net.Dialer اضافه شود و «متدهای شبکه‌محورِ مبتنی بر context» را به‌صورت رسمی در اختیار قرار دهد. با این کار، برقراری اتصال برای شبکه‌های خاص (مثل TCP/UDP) با رعایت لغو شدن‌ها و ضرب‌الاجل‌های context به‌صورت یکپارچه انجام می‌شود. تغییرات افزایشی است و سازگاری گذشته حفظ می‌شود؛ کدهای فعلی بدون تغییر کار می‌کنند و پروژه‌هایی که کنترل دقیق‌تری می‌خواهند می‌توانند از متدهای جدید استفاده کنند.

#golang #go126 #netDialer #context #networking #gostdlib #apiDesign

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


👑 @gopher_academy
2
🔵 عنوان مقاله
Boxes and Glue v0.1.10

🟢 خلاصه مقاله:
کتابخانه Boxes and Glue v0.1.10 برای تولید PDF در محیط Go طراحی شده و با تکیه بر الگوریتم‌های TeX و مدل box-and-glue، چیدمان دقیق متن، شکستن خط و فاصله‌گذاری قابل پیش‌بینی را فراهم می‌کند. این ابزار امکان ترکیب صفحه و تولید PDF را به‌صورت برنامه‌نویسی‌شده داخل اکوسیستم Go می‌دهد و برای ساخت گزارش‌ها، فاکتورها و مستندات فنی با خروجی پایدار و قابل بازتولید مناسب است. نسخه v0.1.10 نشان می‌دهد پروژه در حال رشد است، اما همین حالا نیز برای تولید خروجی با کیفیت بالا قابل استفاده بوده و با هدف آوردن اصول محکم حروف‌چینی TeX به جریان کاری سبک و کارای Go توسعه می‌یابد.

#Go #PDF #TeX #Typesetting #GoLang #DocumentRendering #LayoutEngine #DevTools

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


👑 @gopher_academy
4
🔵 عنوان مقاله
Go Turns Sixteen Years Old

🟢 خلاصه مقاله:
Go شانزده‌سالگی خود را جشن می‌گیرد؛ شانزده سال از متن‌باز شدن آن می‌گذرد و این نقطه عطف فرصتی است برای مرور پیشرفت‌ها و نگاه به آینده. در یک «گزارش کوتاه از وضعیت Go»، Austin به بهبودهای مستمر در هسته زبان و کتابخانه استاندارد اشاره می‌کند؛ تغییراتی که با حفظ سادگی و پایداری، قابلیت‌ها را دقیقاً در جاهای مهم ارتقا می‌دهند.

هم‌زمان، تمرکز پررنگی روی بهبود DX دیده می‌شود: ابزارها و جریان‌های کاری روان‌تر شده‌اند و تجربه توسعه روزمره سریع‌تر و ثمربخش‌تر پیش می‌رود. علاوه بر این، تغییرات مرتبط با MCP نیز در راه‌اند که امکان یکپارچه‌سازی بهتر ابزارها و فرآیندها را مطابق نیازهای تیم‌های مدرن فراهم می‌کنند.

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

#Go #Golang #OpenSource #DeveloperExperience #DX #MCP #Gophers

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


👑 @gopher_academy
4
🔵 عنوان مقاله
Rust vs Go: Memory Management

🟢 خلاصه مقاله:
اGo و Rust دو رویکرد متفاوت به مدیریت حافظه دارند: Go با تکیه بر GC توسعه را ساده و سریع می‌کند اما هزینه‌هایی مثل سربار زمان اجرا، نوسان تأخیر و مصرف حافظه بالاتر دارد؛ Rust با مدل ownership/borrowing و بدون GC به بهای یادگیری سخت‌تر و کدنویسی دقیق‌تر، کارایی پایدار، تأخیر قابل پیش‌بینی و ردپای حافظه کمتر ارائه می‌دهد. نتیجه عملی که vpoltora جمع‌بندی می‌کند این است: Go زمان توسعه شما را همین حالا ذخیره می‌کند و Rust زمان CPU را در ادامه. انتخاب بین آن‌ها به اهداف کارایی و تأخیر، هزینه‌های عملیاتی و مهارت تیم بستگی دارد.

#Rust #Golang #MemoryManagement #Performance #GarbageCollection #Ownership #Concurrency

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
Profiling Go Programs with pprof and k6

🟢 خلاصه مقاله:
**این مقاله از Golang Weekly یک روند عملی برای بهینه‌سازی عملکرد سرویس‌های Go ارائه می‌کند: با k6 بار واقعی و سناریوهای قابل‌اسکریپت ایجاد می‌شود و هم‌زمان با pprof پروفایل‌های CPU، heap، goroutine، mutex و block گرفته می‌شود تا گلوگاه‌ها دقیق شناسایی شوند. مراحل پیشنهادی شامل فعال‌سازی امن pprof، اجرای سناریوی k6 تا رسیدن به بار هدف، برداشت پروفایل‌ها در حالت پایدار، تحلیل با go tool pprof (top، گراف، UI)، و سپس اعمال بهینه‌سازی‌ها مثل کاهش تخصیص‌ها، کاهش کپی و reflection، کاهش رقابت روی قفل‌ها و رفع نشتی goroutine است. با اجرای دوباره همان سناریو و مقایسه پروفایل‌ها، اثربخشی تغییرات سنجیده می‌شود. نتیجه: k6 علائم را نشان می‌دهد و pprof علت را؛ این ترکیب فرآیند بهبود عملکرد را تکرارپذیر و مبتنی بر داده می‌کند.

#Go #Golang #pprof #k6 #Performance #LoadTesting #Profiling #Observability

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


👑 @gopher_academy
3
🔵 عنوان مقاله
top 15 most watched recordings of Go talks

🟢 خلاصه مقاله:
**این مطلب در آخرین شماره Golang Weekly فهرستی گلچین‌شده از ۱۵ ضبط پربازدید سخنرانی‌های Go ارائه می‌کند؛ مجموعه‌ای از ویدئوهایی که جامعه بارها به آن‌ها رجوع می‌کند. برای هر ویدئو لینک مستقیم و توضیح کوتاهی آمده که چرا ارزش دیدن دارد—از توضیح‌های روشن درباره concurrency و goroutines و الگوهای کار با channels و همگام‌سازی، تا بهینه‌سازی عملکرد و مدیریت حافظه، ابزارها و testing، و همچنین مباحثی مثل generics و مطالعهٔ موردی‌های واقعی در مقیاس تولید.

این لیست هم محتوای مقدماتی را پوشش می‌دهد و هم ارائه‌های عمیق‌تر و کاربردی، با طول و سبک‌های متنوع. پیشنهاد شده مبتدی‌ها با مرورهای کلی شروع کنند و سپس به سمت concurrency و performance بروند؛ افراد باتجربه می‌توانند مستقیم سراغ موضوعات تخصصی‌تر یا case studyها بروند. تکیهٔ انتخاب‌ها بر تعداد بازدید و ماندگاری آموزشی آن‌هاست، اما فهرست ادعای جامع‌بودن ندارد—بلکه راهمیانی فشرده برای یادگیری اثربخش Go است.

#Golang #Go #Gopher #Programming #Concurrency #SoftwareEngineering #Backend #DevOps

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


👑 @gopher_academy
🔵 عنوان مقاله
Agent Development Kit (ADK) for Go 0.2

🟢 خلاصه مقاله:
گو نسخه ۰.۲ از Agent Development Kit (ADK) برای Go را معرفی کرده است؛ یک toolkit مدل‌خنثی (model-agnostic) برای ساخت و استقرار AI agents در محیط‌های تولید. ADK منطق agent را از ارائه‌دهنده مدل جدا می‌کند تا با حداقل تغییر بتوان بین مدل‌ها جابه‌جا شد، و هم‌زمان قابلیت‌هایی مثل streaming، function/tool calling و خروجی‌های ساخت‌یافته را حفظ می‌کند. این نسخه با APIهای idiomatic برای Go، بلوک‌های ترکیبی برای orchestration، memory/state قابل پیکربندی، و نمونه‌ها و ابزارهای تست ارائه می‌شود. از نظر عملیاتی، امکان اجرا روی محیط محلی، کانتینر، serverless و edge را فراهم می‌کند و با logging، tracing و metrics به observability و کنترل در مقیاس کمک می‌کند. تمرکز نسخه ۰.۲ بر ساده‌سازی پیکربندی، بهبود خطامدیریتی و گسترش نقاط توسعه برای ابزارها و memory سفارشی است.

#ADK #Go #Golang #Google #AIAgents #AgentDevelopment #ModelAgnostic #AIEngineering

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


👑 @gopher_academy
2
🔵 عنوان مقاله
The 2025 Go Cryptography State of the Union

🟢 خلاصه مقاله:
این ارائه با عنوان The 2025 Go Cryptography State of the Union نسخه ویدئویی و متنِ همراه اسلایدهای سخنرانی Filippo در GopherCon درباره وضعیت کنونی و مسیر پیشِ‌روی کتابخانه‌های استاندارد رمزنگاری در Go را ارائه می‌کند. محور اصلی، تاب‌آوری و آینده‌نگری است: تغییرات سال گذشته با پیش‌فرض‌های امن‌تر، مهاجرت‌های روشن، بهبودهای آزمون‌پذیری و سخت‌تر شدن در برابر کلاس‌های جدید آسیب‌پذیری، کار تیم‌ها را برای استفاده مطمئن از APIها ساده‌تر کرده است. ارائه، نکات عملی برای پذیرش تغییرات با حداقل اختلال، آزمون و fuzzing، بهداشت وابستگی‌ها و مدیریت سازگاری را پوشش می‌دهد. در نگاه به ۲۰۲5، مسیر روی آینده‌محوری و انطباق با استانداردهای سخت‌گیرانه، بهبود هم‌کنش‌پذیری و پشتیبانی از فرایندهای ممیزی تمرکز دارد و محتوای اسلایددارِ همراه، نقش یک راهنمای میدانی قابل اتکا برای توسعه‌دهندگان Go را ایفا می‌کند.

#Go #Cryptography #GopherCon #Security #StandardLibrary #Compliance #GoLang #SoftwareSecurity

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


👑 @gopher_academy
🔵 عنوان مقاله
learn more about Go's release cycle here.

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

#زبان_برنامه_نویسی #Golang #بروزرسانی #توسعه_نرم‌افزار

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


👑 @gopher_academy
1
🔵 عنوان مقاله
Gremlins: A Mutation Testing Tool for Small Go Modules

🟢 خلاصه مقاله:
گِرمیلینز: ابزاری برای تست جهش در ماژول‌های کوچک زبان Go

در دنیای توسعه نرم‌افزار، تست‌های واحد یکی از مهم‌ترین روش‌ها برای اطمینان از صحت کد است. ابزار "گِرمیلینز" روشی متفاوت و نوآورانه برای ارزیابی کیفیت این تست‌ها ارائه می‌دهد. این ابزار با وارد کردن اختلالاتی کوچک در کد و در کنار آن، تغییراتی در کدهای مرتبط، فرآیندی شبیه به استرس تست را انجام می‌کند. هدف این است که بررسی کند آیا تست‌ها قادرند تغییرات ناگهانی و احتمالی را شناسایی و نمره دهند؛ یعنی چقدر از صحت و استحکام آن‌ها محافظت می‌کنند. هرچقدر این تغییرات بیشتر باشد، نشان‌دهنده ضعف در مجموعه تست‌ها و نیاز به اصلاح است.

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

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

#تست_جهش #ابزار_نرم_افزار #GoLang #توسعه_نرم‌افزار

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


👑 @gopher_academy
1
🚀 پروژه چت Real-Time با Go منتشر شد!

۱۰۰K کاربر همزمان
۸۰۰۰ پیام/ثانیه
WebSocket + MessagePack
PostgreSQL Replication
RabbitMQ Cluster
Redis + S3
Docker Ready
کاملاً Open Source

🔗 GitHub
👉 https://github.com/mehdi124/chat-service

📝 Medium
👉 https://mehdi124.medium.com/building-a-scalable-real-time-chat-service-in-go-1f4cbee48b2a


⭐️ Star یادتون نره!

#golang #opensource #chat #websocket


👑 @gopher_academy
🔥51👍1🏆1🍾1👾1
Gopher Academy
🔵 عنوان مقاله Go Proposal: Secret Mode 🟢 خلاصه مقاله: حالت مخفی در Go 1.26 قرار است به عنوان یک ویژگی جدید ارائه شود و در کنار یک پرچم (flag) فعال می‌شود. این حالت به توسعه‌دهندگان امکان می‌دهد تا تابعی را اجرا کنند که پس از اتمام، به طور خودکار حافظه…
🚨 ویژگی امنیتی مهم در Go 1.26 🚨

پایان نگرانی از لو رفتن کلیدها در حافظه!

در Go 1.26 یک پکیج جدید به اسم `secret` معرفی شده که مشکل قدیمی باقی ماندن داده‌های حساس در RAM رو حل می‌کنه 🔐

ا secret.Do چیه؟

با استفاده از:

secret.Do(func() {
// sensitive code
})


هر داده حساسی که داخل این بلاک ساخته بشه:

* بعد از اجرا از حافظه کاملاً پاک میشه
* حتی اگر panic رخ بده
* شامل کلید خام، AES state و round keys

🧠 مثال کاربردی

رمزنگاری پیام با AES-GCM و کلید موقت:

* کلید ۳۲ بایتی به‌صورت موقت ساخته میشه
* اCipher و state داخلی AES محافظت میشه
* فقط ciphertext از بلاک خارج میشه
* کلید و state بعدش zeroize میشن

مناسب برای:


* Password handling
* Token generation
* Private keys
* Crypto & Auth services
* Zero-trust systems



🔥 چرا مهمه؟

قبل از Go 1.26:

* اGarbage Collector حافظه رو صفر نمی‌کرد
* کلیدها ممکن بود توی memory dump لو برن

حالا:
ا API رسمی
بدون unsafe
امنیت واقعی در سطح حافظه


📌 نکته مهم:
این قابلیت برای پاک‌سازی امن حافظه‌ست**، نه جایگزین طراحی درست رمزنگاری یا key exchange.

🚀 اگر با Go کار می‌کنی، این feature رو **جدی بگیر

امنیت از RAM شروع میشه!

#golang #go1_26 #security #cryptography #backend #programming
👍83🔥3