Gopher Academy
3.33K subscribers
923 photos
40 videos
280 files
2.07K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
یک مقاله کامل و با مثال های ساده جهت یادگیری انواع الگوهای طراحی مرسوم در زبان گو
https://link.medium.com/NN3301snSrb
👍15
🔸استخدام برنامه‌نویس Golang #تهران
🔹تمام‌وقت 🔹ارشد (Senior)

🔗 https://quera.org/r/ZNMdaI

🔰 @gopher_academy
👏3👍1
🚀 #تکنیک verify Interface compilance

var _ Connector = (*MongoClient)(nil)


این تکنیک زمانی استفاده میشه که قصد داشته باشید هنگام کامپایل از پیاده سازی شدن متدها در ساختاری که از اینترفیس استفاده میشه مطمئن شوید.

🔰 @gopher_academy
👍5
🚀 #پترن همزمانی Subscription

پیشگفتار
در مخزن concurrency سعی کردم با تجزیه و تحلیل و مثال به مباحث الگو های همزمانی بپردازم تا سناریو درستی جهت استفاده از همزمانی زبان گو داشته باشید.

مختصر توضیح در خصوص پترن Subscription
پترن subscription در مواقعی که قصد دارید یکسری اطلاعات را از یک سرویس دیگری در زمان های مختلف fetch کنید کاربرد دارد و دیگر کاربردهای آن برای پیاده سازی pub/sub هستش

https://github.com/Ja7ad/concurrency/tree/main/subscription


🔰 @gopher_academy
👍3
💥 همزمانی در grpc چگونه است؟

https://github.com/grpc/grpc-go/blob/master/Documentation/concurrency.md


🔰 @gopher_academy
🔥2👍1
🎆 زبان گو ۱.۱۹ منتشر شد

📝 تغییرات: https://go.dev/doc/go1.19

⬇️ دانلود: https://go.dev/dl/#go1.19

#golang
10👏2🎉2👍1🔥1
📌 پروژه ساده مایکروسرویس Greeting

این پروژه شاید چیز خاصی نداشته باشد ولی هدفم از این پروژه این بود که کلاینت اگر یک context از نوع cancel, timeout, deathline فرستاد برای server-side بتواند درخواست خود را کنسل کند و داخل سرور تا هرلایه ای درخواست پیش رفته کنسل شود.

سمت سرور فقط یک middleware به نام timeout نوشتم که این فرآیند کنسل شدن درخواست ها را انجام می دهد.

اگر نکاتی مدنظرتون هست برای بهبود این کانسپت لطفا مشارکت کنید تا تجربه بنده و سایر عزیزان بیشتر شود.

https://github.com/Ja7ad/greeting
👍6🤔2
Forwarded from Amir
سلام دوستان خسته نباشید
من یک سری سوال های پر تکرار که خیلی توی مصاحبه ها ازم پرسیده شده جمع کردم و گفتم با شما هم اشتراک بگذارم. به دور از مصاحبه هم فکر میکنم سوال های خوبی باشه تا مروری بشه
https://docs.google.com/document/d/14GtIQjJ63o-5qqsZ8pYtZIKyD0mUb2FxJOJXwyMa8HY/edit?usp=sharing
👍71🎉1
📌 #تکنیک آشنایی با برخی از AntiPatterns در زبان گو

در زیر یکسری مقالات رو معرفی کردم در خصوص آنتی پترن ها بصورت کاربردی با مثال توضیح دادن.

https://hackmysql.com/page/golang-antipatterns/

https://dzone.com/articles/common-anti-patterns-in-go?ref=morioh.com&utm_source=morioh.com

https://deepsource.io/blog/common-antipatterns-in-go/

🔰 @gopher_academy
👍2👏1🎉1
یک راه حل اصولی جهت تشخیص ۳۲ بیت یا ۶۴ بیت بودن معماری

🔰 @gopher_academy
👍8🤔41
👌مهندس ارشد نرم‌افزار در گوگل
https://zil.ink/kian1024
🙏پیشنهاد میشه حتما مقالات رو بخونید

🔰 @gopher_academy
🎉4👍1🔥1
2👍1🎉1
📥 دریافت شده از:
Mostafa Solati

توی پست قبلی #ریفکتور_تایم کدی رو باهم دیدیم که نیاز به ریفکتور داشت، ممکنه اولین راهی که به ذهن برسه اینه که کاراکترهایی که میخوایم حذف کنیم رو داخل یه اسلایس قرار بدیم و از توی متن حذف کنیم. این راه حل یه مشکل داره و اونم اینه که پترن ما میگه احتمالا کاراکتر های دیگه ای به متن اضافه خواهد شد مثلا / یا % و ...
و با هر تغییر باید کدمون رو دست بزنیم و این خلاف اصول مهندسی نرم افزاره و خطا رو زیاد میکنه.
راه بعدی که ممکنه به ذهن برسه استفاده از رجکس هست، اما مشکلاتی که رجکس داره اینه که به شدت کنده (حدودا ۴۰ برابر کندتر از راه حل زیر) و همینطور به زبون آدمیزاد نیست! هم خوندن و هم نوشتنش سخته.
اما راه بهتر رو استاندارد لایبرری در اختیار ما قرار داده و اون استفاده از فانکشن FieldsFunc از پکیج strings و فانکشن IsLetter از پکیج unicode هستش

🔰 @gopher_academy
5👍3🎉1
🍷 Go Lang 1.19: Refines Generics and Memory Model

🐊 https://coderoasis.com/go-lang-1-19-released/


🔰 @gopher_academy
🙏3👍1🎉1
🥰2👍1
📡 Nil is not nil

⁉️ https://yourbasic.org/golang/gotcha-why-nil-error-not-equal-nil/


🔰 @gopher_academy
🔥2👍1