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

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

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

ادمین:
@mrbardia72
Download Telegram
Gopher Academy
🎯تجزیه و تحلیل قفل ها یا lock ها در mutex ها🎯 🔰 توی این قسمت می خواهیم به قول معروف دل و جیگر این رویکرد رو بریزیم ببینیم چجوری عمل می کند. 📍سرفصلش📍 1 Introduction 2. Mutex data structure 2.1 Mutex structure 2.2 Mutex method 3. Add and unlock process 3.1…
📍2.2 Mutex method📍
🔰درواقع Mutext دو روش را ارائه می دهد:

❇️قفل locked (): روش قفل کردن
❇️باز کردنunlocked (): روش باز کردن

🧐بیایید روند قفل کردن و باز کردن قفل را تحلیل کنیم.

قفل کردن را می توان به دو حالت تقسیم کرد:
موفقیت و شکست. یا همون success and failure
در صورت موفقیت ، قفل مستقیماً به دست می آید. اما در شرابط پس از خرابی ، coroutine فعلی مسدود می شود.

🔰 @gopher_academy
Gopher Academy
📍3.1 Simple lock📍 👇توضیحات 👇 🔰 @gopher_academy
🔰 در شکل فوق با فرض اینکه در حال حاضر فقط یک کوروتین قفل شده است و هیچ دخالتی از سایر کورینتین ها وجود ندارد

فرآیند قفل تعیین می کند که آیا Locked 0 است اگر 0 باشد ، بیت Locked روی 1 تنظیم می شود ، به این معنی که قفل موفقیت آمیز است. از شکل بالا مشخص می شود که پس از قفل کردن فقط موقعیت Locked 1 است و سایر بیت های وضعیت تغییر نکرده اند.

🔰 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
Building RESTful Web Services
with Go.pdf
3.6 MB
☝🏻Building RESTful Web Services
with Go☝🏻
🔰 @gopher_academy
📍 ورزن جدید📍
💎go1.15.2 (released 2020/09/09)

🔺includes fixes to the
🔺compiler
🔺runtime
🔺documentation
🔺the go command
🔺net/mail
🔺os
🔺sync
🔺testing packages
👇👇اطلاعات و سایر جزییات این تغییرات👇👇
https://github.com/golang/go/issues?q=milestone%3AGo1.15.2+label%3ACherryPickApproved

🔰 @gopher_academy
📍A summary of the changes between Go releases. Notes for the major releases:📍🧐😁

🔺Go 1.15 (August 2020)
🔺Go 1.14 (February 2020)
🔺Go 1.13 (September 2019)
🔺Go 1.12 (February 2019)
🔺Go 1.11 (August 2018)
🔺Go 1.10 (February 2018)
🔺Go 1.9 (August 2017)
🔺Go 1.8 (February 2017)
🔺Go 1.7 (August 2016)
🔺Go 1.6 (February 2016)
🔺Go 1.5 (August 2015)
🔺Go 1.4 (December 2014)
🔺Go 1.3 (June 2014)
🔺Go 1.2 (December 2013)
🔺Go 1.1 (May 2013)
🔺Go 1 (March 2012)

🔰 @gopher_academy
🔸استخدام Go Developer در شرکت اندیشه فرتاک امیرکبیر #تهران
🔹حقوق تا ۴ میلیون تومان

🔗 https://quera.ir/r/tcYacr

🔺شرح شغل و وظایف

ارائه راه حل‌های مناسب برای ساختار سیستم، پایگاه‌های داده و ذخیره سازی اطلاعات
ارائه راه کارهای خلاقانه و بهینه برای تست
کد نویسی تمیز
بررسی و دیباگ سیستم برای یافتن مشکلات احتمالی
همکاری با توسعه دهنده FrontEnd برای استفاده از API‌ها

🔺مهارت‌های ضروری:

تسلط بر GoLang
آشنایی با MongoDB
آشنایی با PostgreSQL
آشنایی با REST API
آشنایی با Git
🔰 @gopher_academy
🎯در ورژن ۲ از Grpc-Gateway دقت کنید که برای استفاده از 👇

🔺protoc-gen-swagger

در ورژن جدید تغییر نام پیدا کرد به👇
🔺protoc-gen-openapiv2
.
#note
🔰 @gopher_academy
Gopher Academy
🎯در ورژن ۲ از Grpc-Gateway دقت کنید که برای استفاده از 👇 🔺protoc-gen-swagger در ورژن جدید تغییر نام پیدا کرد به👇 🔺protoc-gen-openapiv2 . #note 🔰 @gopher_academy
👇جهت استفاده از فایل annotations.proto در فایل های protoبه صورت زیر 👇
🔺before
import "protoc-gen-swagger/options/annotations.proto";

🔺after
import "protoc-gen-openapiv2/options/annotations.proto";
-------
🔺before
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger)
🔺after
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger)

🔰 @gopher_academy
🎯در اکثر پروژهای گولنگ - برای کانفیگ برنامه ها مون از فایل های yaml استفاده می کنیم.
جهت تست و نحوه عملکرد دورسته این فایل
دستوراتی که داخل فایل yaml رو نوشتید رو داخل سایت زیر بزارید جهت تست🎯
🍁the YAML Validator 🍁

🔺 http://www.yamllint.com
.
🔰 @gopher_academy
Forwarded from Mahmoud
#نشست ششم گوفرکانف
ویرایش و پردازش تصاویر در گولنگ

https://youtu.be/mqch81F5UiE

جمعه ۲ آبان ساعت ۱۹:۳۰

گیتهاب:
https://github.com/gopherconf/session-6