Gopher Academy
3.34K subscribers
920 photos
40 videos
280 files
2.01K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
چند روز پیش توی گروه دوستان در مورد ساختار مپ میخواستن اطلاعات دقیقی داشته باشن
این مقاله یه مقاله خوبی هست که به صورت دیپ به این موضوع پرداخته
🔴Golang map practice and implementation principles

🟢 https://blog.csdn.net/u010853261/article/details/99699350?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159767722419724848364070%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159767722419724848364070&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v4-9-99699350.first_rank_ecpm_v3_pc_rank_v4&utm_term=golnag+sync#t2



🕊 @gopher_academy | @GolangEngineers
👍42🔥1
🟢 Software Engineering A PRACTITIONER ’ S APPROACH👇🏻👇🏻

🔴 #book

🔵 https://www.mlsu.ac.in/econtents/16_EBOOK-7th_ed_software_engineering_a_practitioners_approach_by_roger_s._pressman_.pdf


🕊 @gopher_academy | @GolangEngineers
🔥2
Twitch Tech Blog - Go memory ballast: How I learnt to stop worrying and love the heap

این نوشته از بلاگ فنی Twitch می‌گه که در بازه‌هایی از زمان ممکنه تعداد ریکوست‌های کاربرها به ۲۰ برابر حالت عادی برسه! مثلاً کانکشن اینترنت یک استریمر پربیننده‌ به مشکل می‌خوره و همهٔ بیننده‌هاش شروع می‌کنن به رفرش کردن. مثل اینه که هر روز باید برای هندل کردن load یک black friday آماده باشن 🙂

در این مواقع، سرویسی که این APIهارو هندل می‌کنه که با Go نوشته شده به مشکل می‌خوره و کند می‌شه. یک راه اینه که به صورت همیشگی اسکیل کنن که خب خیلی پرهزینه و غیربهینه است. حالا اومدن توی این نوشته توضیح دادن که فقط با اضافه کردن یک خط کد به تابع main برنامه، 30% مصرف CPU و 45% لیتنسی رو کاهش دادن! من در ادامه یکم توضیح می‌دم.

راه حلشون به صورت خیلی خلاصه

زبان Go از یک Garbage Collector هوشمندی استفاده می‌کنه که به صورت موازی با برنامه اصلی کارش رو انجام می‌ده و برنامه رو خیلی کم متوقف می‌کنه. این ویژگی خوب البته یک مشکل واضح داره و اون هم اینه که مقداری از ظرفیت CPU برنامه رو به خودش اختصاص می‌ده (Go بهمون قول میده که بیشتر از ۲۵ درصد نشه ولی حالاتی بیشتر از این‌ هم می‌شه).
این GC به صورت پیشفرض زمانی شروع به کار می‌کنه که اندازه heap دوبرابر حالت اولیه‌اش شده باشه (به صورت پیشفرض چیزی حدود 2MGعه).
حالا برای کاهش تعداد اجرای GC، اومدن همون خط اول تابع main، یک متغیر 10GBای تعریف کردن که باعث میشه که وقتی heap به حدود 20GB می‌رسه تازه GC شروع به کار کنه. این یعنی تعداد کالکشن‌های خیلی خیلی کمتری اتفاق می‌فته و همین کار ساده باعث انقدر بهبود شده.
البته با تغییر مقدار GOGC هم کاری شبیه به این رو می‌شه کرد ولی خب این راحت آسون‌تر و قابل پیش‌بینی‌تریه.

func main() {

// Create a large heap allocation of 10 GiB
ballast := make([]byte, 10<<30)

// Application execution continues
// ...
}

نوشته در مورد GC توضیحات مختصر و خوبی داده و اگر این مفاهیم رو خوب بلد نیستین باز هم متوجه داستان می‌شین.

🔗 لینک نوشته

#aminrbg

🕊 @gopher_academy | @GolangEngineers
👍211😁1
A cheat sheet for system designs

🕊 @gopher_academy | @GolangEngineers
👍5🍾1
Visualizing a SQL query

🕊 @gopher_academy | @GolangEngineers
👍7🍾2
Cloud Disaster Recovery Strategies

🕊 @gopher_academy | @GolangEngineers
👍2🍾1
Data Structure Operations Cheat Sheet
Sorting Algorithms Cheat Sheet

🕊 @gopher_academy | @GolangEngineers
👍3🔥1🕊1🍾1

🕊 @gopher_academy | @GolangEngineers
👍135🍾3🔥1😁1
🚬👇🏻The Hacker News Top 40 books of 2023

https://hnreads.com/post/top40_2023/


🕊 @gopher_academy | @GolangEngineers
👍3🔥1🍾1
Compilers: Principles, Techniques, & Tools

https://www.amazon.com/dp/8131721019?tag=reyemdev0f-20


🕊 @gopher_academy | @GolangEngineers
🍾3👍21🕊1
Structure and Interpretation of Computer Programs

https://www.amazon.com/dp/0262510871?tag=reyemdev0f-20


🕊 @gopher_academy | @GolangEngineers
🔥91🕊1
چرا در گولنگ nil == nil نیست؟

گولنگ واقعا خفنه. برای همین می‌خوام توی این نوشته راجع به جزئیات دیتا تایپ هاش بگم.

قبل از جواب دادن به سوال اصلی‌مون، بیاید ببینیم nil چیه؟ چه موقع به nil می‌رسیم؟

https://virgool.io/@0x9n0p/golang-nil-qabua1azrmkj


🕊 @gopher_academy | @GolangEngineers
10🔥8👍2🍾1
30 books to help you grow as an engineer

https://levelupsoftwareengineering.substack.com/p/30-books-to-help-you-grow



🕊 @gopher_academy | @GolangEngineers
👍31🔥1🍾1
4👍1🕊1🍾1
(interface{})(nil) == (*int)(nil)
Anonymous Quiz
30%
true
70%
false
👍6🍾3🔥1
اگه دوست دارید که سیستم دیزاین رو با مثال های باحال از پروژه های مشابه Whatsapp, instagram و.. یاد بگیرید این سایت رو چک کنید.

البته فقط مباحث System Design رو کاور نکرده و مباحث دیگه ای هم توی سایتش پیدا میشه مثل ssh، الگوریتم و..

https://techbyexample.com/

#DevTwitter | <Reza/>

🕊 @gopher_academy | @GolangEngineers
👍13🔥53🍾21🕊1
This media is not supported in your browser
VIEW IN TELEGRAM
117🍾3👍2
🎊 Go 1.21.7 and 1.20.14 are released!

📣 Announcement: https://groups.google.com/g/golang-announce/c/Qdkw_yX60TE

⬇️ Download: go.dev/dl/#go1.21.7


🕊 @gopher_academy | @GolangEngineers
4🍾3👍2🔥1
🥳 Go 1.22.0 is released!

🗒️ Release notes: go.dev/doc/go1.22

📦 Download: go.dev/dl/#go1.22.0



🕊 @gopher_academy | @GolangEngineers
👍5🔥3🍾2🕊1
Golang Weekly

FEBRUARY 6, 2024

https://golangweekly.com/issues/494


🕊 @gopher_academy | @GolangEngineers
4
🔵Context Control in Go

🔴Best practices for handling context plumbing.

🟢https://zenhorace.dev/blog/context-control-go/


🕊 @gopher_academy | @GolangEngineers
4👍3