Gopher Academy
3.84K subscribers
930 photos
41 videos
280 files
2.16K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Practical Networking Patterns in Go

🟢 خلاصه مقاله:
** این بخش تازه از Go Optimization Guide مجموعه‌ای از ۱۳ راهنما را ارائه می‌کند که به شکل عملی ساخت اپلیکیشن‌های شبکه‌ای مقیاس‌پذیر با Go را پوشش می‌دهند. محورهای اصلی شامل دستیابی به «همزمانی بسیار بالا»، الگوهای مدیریت اتصال، کنترل فشار، زمان‌بندی و لغو عملیات، همراه با بنچمارک‌گیری واقع‌گرایانه و عیب‌یابی مبتنی بر سنجه‌ها، پروفایلینگ و تِرِیسینگ است. همچنین درباره انتخاب و پیکربندی پروتکل‌های انتقال، مدیریت خطا، اندازه‌گیری بافرها و تنظیمات سطح پایین برای پایداری و عملکرد بهتر توضیح می‌دهد. خروجی نهایی مجموعه‌ای از الگوهای عملی و چک‌لیست‌هاست که به تیم‌ها کمک می‌کند توان عملیاتی را افزایش دهند، تأخیرهای دُم توزیع را کاهش دهند و سرویس‌های Go را در مقیاس به‌صورت پایدار و شفاف اداره کنند.

#Go #Golang #Networking #Concurrency #Benchmarking #Performance #Scalability #Systems

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


👑 @gopher_academy
2
🔵 عنوان مقاله
Go Allocations Explorer Extension for VSCode

🟢 خلاصه مقاله:
این افزونه با نام Go Allocations Explorer Extension برای VS Code به برنامه‌نویسان Go کمک می‌کند تا محل و میزان تخصیص حافظه را بر پایه بنچمارک‌های موجودشان مستقیماً داخل ویرایشگر ببینند. با اجرای go test -bench و استفاده از -benchmem، نتایج تخصیص‌ها جمع‌آوری و به فهرستی قابل پیمایش تبدیل می‌شود تا بتوانید به‌سرعت هات‌اسپات‌ها را یافته و از همان ورودی‌ها به کد مربوطه بپرید. امکان اجرا و تکرار بنچمارک‌ها، مشاهده و مقایسه سریع نتایج، و مرتب‌سازی/فیلتر کردن بر اساس پکیج، تست یا تابع فراهم است. راه‌اندازی ساده است، فقط نیاز به ابزار Go دارد و روی macOS، Linux و Windows کار می‌کند. خروجی‌ها در خود VS Code به شکل قابل فهم ارائه می‌شوند تا کاهش تخصیص‌ها، کم شدن فشار GC و بهبود تأخیر به‌صورت مستمر و در جریان کدنویسی انجام شود.

#Go #VSCode #Golang #Performance #Benchmarking #MemoryAllocations #Profiling #DeveloperTools

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


👑 @gopher_academy
2👍1
🔵 عنوان مقاله
'We Tried Go's Experimental Green Tea Garbage Collector and It Didn't Help Performance'

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

#Go #Golang #GarbageCollector #GreenTea #Performance #Benchmarking #Dolt #Go1_25

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


👑 @gopher_academy
1
🔵 عنوان مقاله
How Slow is Channel-Based Iteration?

🟢 خلاصه مقاله:
این مقاله پرسش «تکرار مبتنی بر channel در Go چقدر کند است؟» را با یک مثال عملی بررسی می‌کند. تیم Dolt سه الگو را مقایسه کرده است: دو رویکرد مبتنی بر channel و یک روش iterator کشیدنی با iter.Pull. نتیجه کلی این است که هرچند channel‌ها برای هم‌زمانی، مدیریت فشار برگشتی و جداسازی تولیدکننده/مصرف‌کننده عالی‌اند، اما در حلقه‌های محاسباتیِ حساس به کارایی، سربار همگام‌سازی، زمان‌بندی goroutine و تخصیص‌ها محسوس می‌شود. در مقابل، iter.Pull (و حلقه‌های ساده روی داده‌های خطی) معمولاً سبک‌تر و بهینه‌ترند. توصیه نهایی: وقتی به هم‌زمانی واقعی نیاز دارید از channel استفاده کنید؛ برای مسیرهای داغ که فقط پیمایش می‌خواهند، سراغ iterator کشیدنی یا حلقه‌های ساده بروید.

#Go #Golang #Channels #Iteration #Performance #Benchmarking #Concurrency #Dolt

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


👑 @gopher_academy
1👍1🔥1