Gopher Academy
3.34K subscribers
918 photos
40 videos
279 files
2K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
تفاوت TCP با UDP 😁

#programming_tips


🕊 @gopher_academy | @GolangEngineers
😁25👍1
💎 Bounty task (good for join to opensource project)

Grpc method for check node healthy.

https://github.com/pactus-project/pactus/issues/944


🕊 @gopher_academy | @GolangEngineers
یک توسعه‌دهنده‌ی بلاک‌چین در سال ۲۰۲۴ به چه ابزارهایی نیاز خواهد داشت؟

https://medium.com/cyfrin/a8f1db27ffb7

بررسی اجمالی ۵ دسته‌بندی از ابزارهای برتر در سال ۲۰۲۴ شامل فاندری، هاردهت، ترافل، براونی، سالیدیتی، وایپر، هاف و ...

این دسته‌بندی شامل موارد زیر می‌باشد:
🔵زبان برنامه‌نویسی
🟣فریم‌ورک‌های برنامه‌نویسی
🟣ابزارهای ضروری و قراردادهای توسعه‌پذیر
🟣والت‌ها و ابزارهای مدیریت آدرس
🟣ابزارهای بررسی امنیت

#soliditylang_fa

🕊 @gopher_academy | @GolangEngineers
👍93
زاکربرگ پس از شکست در متاورس، حالا به هوش مصنوعی چشم دوخته است

https://www.zoomit.ir/ai-articles/415423-meta-ai-open-source-metaverse/


🕊 @gopher_academy | @GolangEngineers
😁74🔥1🍾1
🔵تحلیل Post-Mortem و تحلیل Pre-Mortem چیست؟

🟢تحلیل پس از مرگ (Post-Mortem) چیست؟
🟢مراحل تحلیل post-mortem
🟢مزایای تحلیل Post-Mortem
🟢تحلیل پیش از مرگ یا Pre-Mortem چیست؟
🟢مراحل تحلیل Pre-Mortem
🟢مزایای آنالیز Pre Mortem
🟢مقایسه تحلیل Post Mortem و تحلیل Pre Mortem
🟢تفاوت‌های اصلی تحلیل Post Mortem و تحلیل Pre Mortem
🟢نکاتی برای اجرای شیوه تحلیلی Post Mortem and Pre Mortem
🟢جمع‌بندی: تحلیل Post Mortem and Pre Mortem راهکاری برای جلوگیری از شکست!

🔴 https://pmpiran.com/pre-mortem-post-mortem/


🕊 @gopher_academy | @GolangEngineers
👍14🔥1
طوفان فکری (Brainstorm) چیست؟ + 5 تکنیک موثر طوفان فکری

https://pmpiran.com/brainstorming/


🕊 @gopher_academy | @GolangEngineers
🔥3🍾3
Finding unreachable functions with deadcode

https://go.dev/blog/deadcode


🕊 @gopher_academy | @GolangEngineers
2👍1🔥1🕊1
خوش بینی در مقابل بدبینی در سیستم های توزیع شده🚬🚬

https://brooker.co.za/blog/2023/10/18/optimism.html


🕊 @gopher_academy | @GolangEngineers
👍4
Final Countdown: Pactus Mainnet Launch Today! 🚀

The moment we've been waiting for is almost here! At 20:24 UTC, the Pactus Mainnet officially takes flight.

Join us in the final countdown: https://www.tickcounter.com/countdown/4822781/pactus-mainnet-countodwn


🕊 @gopher_academy | @GolangEngineers
🔥2🍾1
🎉 Go 1.22 Release Candidate 2 is released!

🏃‍♂️ Run it in dev! Run it in prod! File bugs! go.dev/issue/new

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

🗃 Download: go.dev/dl/#go1.22rc2

📑 Release note: https://tip.golang.org/doc/go1.22



🕊 @gopher_academy | @GolangEngineers
👍8🔥1🍾1
Share your feedback about developing with Go

The Go Developer Survey is now open, and we want to hear from you!

Since 2016, the insights from our Go Developer Surveys have helped us identify key usage patterns, understand developer challenges, discover tooling preferences, and track emerging trends within the community. Your feedback is essential in shaping the future of Go, so please take 10–15 minutes to complete the survey by February 11, 2024. Take the survey now!

The more developers who participate, the better we’ll be able to understand the needs of the Go community. You can help spread the word by sharing this survey on your social media channels, with your co-workers, and in any other relevant communities.

https://google.qualtrics.com/jfe/form/SV_083SVAUCji98YeO?s=b


🕊 @gopher_academy | @GolangEngineers
👍3
#کدبوک

کتاب Think Like a CTO رو هم تموم کردم؛ اگر CTO هستید یا در آینده میخواید CTO بشید این کتاب یه سری نکات خوبی رو توضیح داده که پیشنهاد میکنم بخونید. یه قسمتی هم توی کتاب داره به اسم From the Field که نویسنده از تجریبات خودش میگه.

اول شروع میکنه در مورد مسیر شغلی Software Engineer به CTO شدن صحبت میکنه بعدش در مورد نقش CTO توی یک سازمان و اهمیت ارتباطش با CEO و CFO توضیح میده (خیلی تاکید میکنه که تا میتونید جلسات one-on-one داشته باشید)؛ بعد در مورد اهمیت داشتن vision توی سازمان صحبت میکنه...
در مورد ساختن یک تیم خوب، آنبورد کردن افراد جدید توی تیم، داکیومنتیشن و کلی  صحبت میکنه؛ یه جایی از کتاب به مفهوم Boiling frog اشاره میکنه اینکه وقتی یک تغییر رو ریلیز میکنیم باید حواسمون به حجم تغییرات باشه که کاربران بتونن خودشون رو باهاش تطبیق بدن؛ و کلی چیزای باحال دیگه.

#DevTwitter | <Sirwan Afifi/>


🕊 @gopher_academy | @GolangEngineers

👇👇👇👇👇👇
👍74🕊2🔥1
Think Like a CTO - DevTwitter.pdf
13.4 MB
#General

Think Like a CTO

- By Alan Williamson
- 320 Pages

#DevTwitter


🕊 @gopher_academy | @GolangEngineers
🔥10👍2🕊21🍾1
جزئیات بیشتر

https://quera.org/events/divar-0211


🕊 @gopher_academy | @GolangEngineers
😁4👍1🕊1
SOLID

🕊 @gopher_academy | @GolangEngineers
👍6🔥21🕊1
👇🏻اهمیت اصول طراحی در توسعه نرم افزار👇🏻

🔴 Maintainability:
Following sound design principles makes code more maintainable. When code is well-structured and adheres to these principles, it becomes easier to identify and fix issues, add new features, and make improvements without causing unintended consequences.

🔴 Scalability:
Well-designed software is scalable. It can accommodate changes and growth in requirements without requiring extensive rework or becoming increasingly complex.

🔴 Code Reusability:
Adhering to design principles often leads to code that is more reusable. Reusable components save time and effort in development and testing.

🔴 Collaboration:
Design principles provide a common framework for developers to work within. This common understanding promotes collaboration and reduces misunderstandings among team members.

🔴 Reduced Bugs and Pitfalls:
Following design principles helps to identify and mitigate common programming pitfalls and design flaws. This results in fewer bugs and more robust software.

🔴 Future-Proofing:
Well-designed software can adapt to changing requirements and technologies. It's an investment in the long-term viability of the software product.


🕊 @gopher_academy | @GolangEngineers
🔥3👍1🕊1🍾1
چند روز پیش توی گروه دوستان در مورد ساختار مپ میخواستن اطلاعات دقیقی داشته باشن
این مقاله یه مقاله خوبی هست که به صورت دیپ به این موضوع پرداخته
🔴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