چند روز پیش توی گروه دوستان در مورد ساختار مپ میخواستن اطلاعات دقیقی داشته باشن
این مقاله یه مقاله خوبی هست که به صورت دیپ به این موضوع پرداخته
🔴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
این مقاله یه مقاله خوبی هست که به صورت دیپ به این موضوع پرداخته
🔴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
👍4❤2🔥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
🔴 #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 هم کاری شبیه به این رو میشه کرد ولی خب این راحت آسونتر و قابل پیشبینیتریه.
نوشته در مورد GC توضیحات مختصر و خوبی داده و اگر این مفاهیم رو خوب بلد نیستین باز هم متوجه داستان میشین.
🔗 لینک نوشته
#aminrbg
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
این نوشته از بلاگ فنی 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
👍21❤1😁1
Data Structure Operations Cheat Sheet
Sorting Algorithms Cheat Sheet
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
Sorting Algorithms Cheat Sheet
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍3🔥1🕊1🍾1
🚬👇🏻The Hacker News Top 40 books of 2023
https://hnreads.com/post/top40_2023/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
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
https://www.amazon.com/dp/8131721019?tag=reyemdev0f-20
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
🍾3👍2❤1🕊1
Structure and Interpretation of Computer Programs
https://www.amazon.com/dp/0262510871?tag=reyemdev0f-20
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
https://www.amazon.com/dp/0262510871?tag=reyemdev0f-20
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
🔥9❤1🕊1
چرا در گولنگ nil == nil نیست؟
گولنگ واقعا خفنه. برای همین میخوام توی این نوشته راجع به جزئیات دیتا تایپ هاش بگم.
قبل از جواب دادن به سوال اصلیمون، بیاید ببینیم nil چیه؟ چه موقع به nil میرسیم؟
https://virgool.io/@0x9n0p/golang-nil-qabua1azrmkj
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
گولنگ واقعا خفنه. برای همین میخوام توی این نوشته راجع به جزئیات دیتا تایپ هاش بگم.
قبل از جواب دادن به سوال اصلیمون، بیاید ببینیم nil چیه؟ چه موقع به nil میرسیم؟
https://virgool.io/@0x9n0p/golang-nil-qabua1azrmkj
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
30 books to help you grow as an engineer
https://levelupsoftwareengineering.substack.com/p/30-books-to-help-you-grow
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
https://levelupsoftwareengineering.substack.com/p/30-books-to-help-you-grow
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍3❤1🔥1🍾1
Good Code vs. Bad Code
https://blog.bytebytego.com/p/good-code-vs-bad-code
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
https://blog.bytebytego.com/p/good-code-vs-bad-code
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
❤4👍1🕊1🍾1
👍6🍾3🔥1
اگه دوست دارید که سیستم دیزاین رو با مثال های باحال از پروژه های مشابه Whatsapp, instagram و.. یاد بگیرید این سایت رو چک کنید.
البته فقط مباحث System Design رو کاور نکرده و مباحث دیگه ای هم توی سایتش پیدا میشه مثل ssh، الگوریتم و..
https://techbyexample.com/
#DevTwitter | <Reza/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
البته فقط مباحث System Design رو کاور نکرده و مباحث دیگه ای هم توی سایتش پیدا میشه مثل ssh، الگوریتم و..
https://techbyexample.com/
#DevTwitter | <Reza/>
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍13🔥5 3🍾2❤1🕊1
🎊 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
📣 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
🗒️ 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
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
🔴Best practices for handling context plumbing.
🟢https://zenhorace.dev/blog/context-control-go/
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
❤4👍3