Gopher Academy
🔴 سناریو استفاده از پکیج context در گولنگ 🔴 ❌آموزش در ادامه این مطلب 🟡 introduction 🟢 https://t.me/gopher_academy/697 🟡 RPC call 🟢 https://t.me/gopher_academy/698 🟢 https://t.me/gopher_academy/699 🟡 PipeLine 🟢 https://t.me/gopher_academy/700 🟡 Timeout request…
🟡 HTTP server requests transfer data 🟡
🔵درواقع context ساختار داده های valueCtx را فراهم می کند.
🔵سناریوی متداول استفاده شده از این مقدارCtx انتقال مقداری خاص از درخواست در سرور http است ،
🔵به عنوان مثال یک میان افزار وجود دارد که تأیید کوکی را انجام می دهد و سپس نام کاربری تأیید شده را در درخواست ذخیره می کند.
🔵نکته ای که هنگام استفاده از ValueCtx باید به آن توجه کنید این است که کلید در اینجا نباید روی نوع String یا Int تنظیم شود تا از رونویسی میان افزارهای مختلف این کلید جلوگیری شود.
🔵بهترین حالت این است که هر میان افزار از یک نوع کلید سفارشی مانند FooKey در اینجا استفاده می کند و منطق به دست آوردن مقدار باید تا حد ممکن به عنوان یک تابع استخراج شده و در بسته میان افزار قرار گیرد.
🔵 به این ترتیب ، مشکل تعارض تنظیم یک کلید در بسته های مختلف جلوگیری می شود.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔵درواقع context ساختار داده های valueCtx را فراهم می کند.
🔵سناریوی متداول استفاده شده از این مقدارCtx انتقال مقداری خاص از درخواست در سرور http است ،
🔵به عنوان مثال یک میان افزار وجود دارد که تأیید کوکی را انجام می دهد و سپس نام کاربری تأیید شده را در درخواست ذخیره می کند.
🔵نکته ای که هنگام استفاده از ValueCtx باید به آن توجه کنید این است که کلید در اینجا نباید روی نوع String یا Int تنظیم شود تا از رونویسی میان افزارهای مختلف این کلید جلوگیری شود.
🔵بهترین حالت این است که هر میان افزار از یک نوع کلید سفارشی مانند FooKey در اینجا استفاده می کند و منطق به دست آوردن مقدار باید تا حد ممکن به عنوان یک تابع استخراج شده و در بسته میان افزار قرار گیرد.
🔵 به این ترتیب ، مشکل تعارض تنظیم یک کلید در بسته های مختلف جلوگیری می شود.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔸استخدام برنامهنویس Golang در شرکت کارخانه نوآوری #تهران
🔹حقوق بیش از ۱۲ میلیون تومان 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.ir/r/jFkDfY
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔹حقوق بیش از ۱۲ میلیون تومان 🔹تماموقت 🔹ارشد (Senior)
🔗 https://quera.ir/r/jFkDfY
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
محتوای کانال رو بیشتر دوس دارید به چه صورت منتشر بشه؟
Final Results
54%
مقاله ای باشه
57%
ویدیویی باشه
26%
نظری ندارم همین جوری خوبه
Gopher Academy
🔰موضوع ارائه: مروری بر ریزهکاریهای اینترفیس error در زبان Go🔰 در این دورهمی مروری نسبتا عمیق روی اینترفیس error در زبان Go خواهیم داشت و با هم سعی میکنیم با ماهیت، ریزهکاریها و روشهای متنوع استفاده از این اینترفیس آشنا بشیم. در انتها نیز زمانی رو برای…
👆🏻👆🏻👆🏻👆🏻
🔴دوستان ویدیوی ارائه از این آدرس در دسترسه.🔴
🔰موضوع ارائه: مروری بر ریزهکاریهای اینترفیس error در زبان Go🔰
https://youtu.be/Tz3ysr8salw
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴دوستان ویدیوی ارائه از این آدرس در دسترسه.🔴
🔰موضوع ارائه: مروری بر ریزهکاریهای اینترفیس error در زبان Go🔰
https://youtu.be/Tz3ysr8salw
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
👆🏻👆🏻👆🏻👆🏻 🔴دوستان ویدیوی ارائه از این آدرس در دسترسه.🔴 🔰موضوع ارائه: مروری بر ریزهکاریهای اینترفیس error در زبان Go🔰 https://youtu.be/Tz3ysr8salw ➖➖➖➖➖➖➖➖➖ 🔰 @gopher_academy
👆🏻👆🏻👆🏻👆🏻
🔴در تکمیل ارائه تون، پیشنهاد میکنم دوستان حتما این ارائه رو هم ببینن، خیلی کمک میکنه تو production که خیلی error handling مفیدی داشته باشیم و بتونیم راحت کوئری بزنیم
🔴در واقع کاری که میکنه تعریف یه custom error هست با این تفاوت که یک سری فیلدهای ضروری مثل operation و kind رو استفاده میکنه که خیلی اطلاعات مفیدی درباره خطای رخ داده، نوعش و سرویس و متدی که اتفاق افتاده میده
https://www.youtube.com/watch?v=4WIhhzTTd0Y
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴در تکمیل ارائه تون، پیشنهاد میکنم دوستان حتما این ارائه رو هم ببینن، خیلی کمک میکنه تو production که خیلی error handling مفیدی داشته باشیم و بتونیم راحت کوئری بزنیم
🔴در واقع کاری که میکنه تعریف یه custom error هست با این تفاوت که یک سری فیلدهای ضروری مثل operation و kind رو استفاده میکنه که خیلی اطلاعات مفیدی درباره خطای رخ داده، نوعش و سرویس و متدی که اتفاق افتاده میده
https://www.youtube.com/watch?v=4WIhhzTTd0Y
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴مواردی که با رعایت کردن اون ها برنامه ی گولنگی شما عملکرد بهتری می تونه داشته باشه🔴
🔵Benchmarking
🔵Profiling
🔵Compiler optimisations
🔵Understanding the execution tracer
🔵Memory management and GC tuning
🔵Concurrency
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔵Benchmarking
🔵Profiling
🔵Compiler optimisations
🔵Understanding the execution tracer
🔵Memory management and GC tuning
🔵Concurrency
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
یکی از دوستان توی تویتتر بهم گفت برای اینکه محصولات jetbrains رو کرک کنی و بعد ۳۰ روز expair نشه میتونی از ide eval resetter استفاده کنی
شما دوستان از این روش استفاده کردید آیا؟
این ide eval resetter رو می تونید سرچ بزنید توی گیت هاب هست کدش با جاوا هست
شما دوستان از این روش استفاده کردید آیا؟
این ide eval resetter رو می تونید سرچ بزنید توی گیت هاب هست کدش با جاوا هست
Final Results
41%
اره استفاده کردم - جواب داد
2%
استفاده کردم- جواب نداد
37%
فعلن استفاده نکردم
27%
از jetbrains برای کد زدن استفاده نمی کنم
🟡یکی از اعضای محترم کانال بهم پیام داده گفته از این روش میشه استفاده کرد🟡
❌روش خلاصی از ۳۰ روز expair شدن jetbrains❌
🔴من استفاده کردم جواب داد
✅اینم روشش
🔵 rm -rf ~/.config/JetBrains/GoLand2020.3/eval/GoLand203.evaluation.key
🔵 rm -rf ~/.config/JetBrains/GoLand2020.3/options/other.xml
🔵 rm -rf ~/.java/.userPrefs/jetbrains/goland/
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌روش خلاصی از ۳۰ روز expair شدن jetbrains❌
🔴من استفاده کردم جواب داد
✅اینم روشش
🔵 rm -rf ~/.config/JetBrains/GoLand2020.3/eval/GoLand203.evaluation.key
🔵 rm -rf ~/.config/JetBrains/GoLand2020.3/options/other.xml
🔵 rm -rf ~/.java/.userPrefs/jetbrains/goland/
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴
❌در ادامه آموزش خواهیم داد
🔵 واسه شروع کار این سه پست زیر رو اول بخونید
🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage
🟡 https://t.me/gopher_academy/397
🟡 https://t.me/gopher_academy/398
🟡 https://t.me/gopher_academy/399
🔵Checking Test Coverage
🟡 https://t.me/gopher_academy/719
🔵 sample main.go
🟡 https://t.me/gopher_academy/720
🔵 sample main_test.go
🟡 https://t.me/gopher_academy/721
🔵 Using the -cover flag
🟡 https://t.me/gopher_academy/722
🔵 Visualizing Coverage
🟡 https://t.me/gopher_academy/723
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
❌در ادامه آموزش خواهیم داد
🔵 واسه شروع کار این سه پست زیر رو اول بخونید
🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage
🟡 https://t.me/gopher_academy/397
🟡 https://t.me/gopher_academy/398
🟡 https://t.me/gopher_academy/399
🔵Checking Test Coverage
🟡 https://t.me/gopher_academy/719
🔵 sample main.go
🟡 https://t.me/gopher_academy/720
🔵 sample main_test.go
🟡 https://t.me/gopher_academy/721
🔵 Using the -cover flag
🟡 https://t.me/gopher_academy/722
🔵 Visualizing Coverage
🟡 https://t.me/gopher_academy/723
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵Checking Test Coverage🔵
مقیاسی است که مشخص می کند چه تعداد test case وجود دارد و آیا این test case ها تمام functionality سیستم را مورد تست قرار می دهند به عبارت دیگر چند درصد از functionality سیستم توسط test case ها مورد تست قرار گرفته است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مقیاسی است که مشخص می کند چه تعداد test case وجود دارد و آیا این test case ها تمام functionality سیستم را مورد تست قرار می دهند به عبارت دیگر چند درصد از functionality سیستم توسط test case ها مورد تست قرار گرفته است.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵 Using the -cover flag🔵
🟡 خوب برای اجرا دستور زیر را وارد کنید:👇🏻
🟢 go test -cover
🟡 خروجی👇🏻
PASS
coverage: 66.7% of statements
ok github.com/mrbardia72/covtes 0.006s
🟡 این ۶۶ درصد بیانگر این هست که 66.7٪ درصد کد مارو پوشش قرار داده توسط test case ها
🟡 در حالی که این مقدار 66.7٪ می تواند به ما بگوید که چه مقدار از کد خود را آزمایش کرده ایم ، اما به ما دقیقاً نشان نمی دهد که در کد مسیرهایی را داریم یا آزمایش نکرده ایم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡 خوب برای اجرا دستور زیر را وارد کنید:👇🏻
🟢 go test -cover
🟡 خروجی👇🏻
PASS
coverage: 66.7% of statements
ok github.com/mrbardia72/covtes 0.006s
🟡 این ۶۶ درصد بیانگر این هست که 66.7٪ درصد کد مارو پوشش قرار داده توسط test case ها
🟡 در حالی که این مقدار 66.7٪ می تواند به ما بگوید که چه مقدار از کد خود را آزمایش کرده ایم ، اما به ما دقیقاً نشان نمی دهد که در کد مسیرهایی را داریم یا آزمایش نکرده ایم.
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Gopher Academy
🔴آشنایی با Test Coverage در گولنگ و نحوه تست آن🔴 ❌در ادامه آموزش خواهیم داد 🔵 واسه شروع کار این سه پست زیر رو اول بخونید 🔵 Code Coverage / Test Coverage / Branch Coverage / Path Coverage 🟡 https://t.me/gopher_academy/397 🟡 https://t.me/gopher_academy/398…
🔵 Visualizing Coverage🔵
🟡خوب برای این که خروجی کار روی توی مرورگر
🟡ببینیم دستور زیر رو اول بزنید
🟢go test -coverprofile=all.out
🟡بعدش دستور زیر
🟢go tool cover -html=coverage.out
🟡زمانی که دستور فوق رو میزنید با تصویر بالا روبه رو می شوید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🟡خوب برای این که خروجی کار روی توی مرورگر
🟡ببینیم دستور زیر رو اول بزنید
🟢go test -coverprofile=all.out
🟡بعدش دستور زیر
🟢go tool cover -html=coverage.out
🟡زمانی که دستور فوق رو میزنید با تصویر بالا روبه رو می شوید
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
Go 1.16.1 and 1.15.9 have been released!
🔐 A security fix for encoding/xml (CVE-2021-27918), archive/zip (CVE-2021-27919)
📢 Announcement: https://t.co/qgkC1kh9JC
⬇️ Download: https://t.co/tp0591yoMS
#golang
🔰 @gopher_academy
🔐 A security fix for encoding/xml (CVE-2021-27918), archive/zip (CVE-2021-27919)
📢 Announcement: https://t.co/qgkC1kh9JC
⬇️ Download: https://t.co/tp0591yoMS
#golang
🔰 @gopher_academy
golang.org
Downloads - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
🎆 Go 1.16.2 and 1.15.10 are released!
📢 Announcement: https://t.co/79KoT1kEQA
⬇️ Download: https://t.co/wOMs5iS5N4
#golang https://t.co/hrrahJ5SAc
🔰 @gopher_academy
📢 Announcement: https://t.co/79KoT1kEQA
⬇️ Download: https://t.co/wOMs5iS5N4
#golang https://t.co/hrrahJ5SAc
🔰 @gopher_academy
golang.org
Downloads - The Go Programming Language
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Forwarded from Gopher Academy
Concurrency in Go-226.pdf
1.7 MB