Gopher Academy
3.33K subscribers
917 photos
40 videos
279 files
1.97K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
درود دوستان این مقاله کوتاه خوندنش خالی از لطف نیست
🔵 Unobvious things you need to know about key-value stores
🔴 https://event-driven.io/en/key-value-stores

🟢یکی از موضوعاتی که قبلا هم در موردش صحبت کردیم بحث استفاده از uuid به عنوان primary key بود که میتونه فاجعه به بار بیاره
برخی از دوستان هم به درستی اشاره کردند که دیتابیس ها سعی کردند این مشکل رو تا حدودی حل کنند، تو این مقاله نکات خیلی جالبی در مورد پیاده سازیش گفته شده
🔻 https://www.2ndquadrant.com/en/blog/sequential-uuid-generators/

#database #index

#gocasts
✍️ https://t.me/lifography


🕊 @gopher_academy
👍9🤣1
مرورگر Brave که بعضی برنامه نویس هاش هم ایرانی هستن، خیلی از سرویس هارو با go نوشتن و open source هم هست، خوندن کدش خیلی میتونه ارزشمند باشه
بخشی از کدهارو که خوندم خیلی تمیز و قشنگ بود

https://github.com/orgs/brave/repositories?type=all

https://github.com/brave/go-sync

https://github.com/brave/go-update

https://github.com/brave/go-translate

https://github.com/brave/go-sync-adm-tools

https://github.com/brave/sniproxy

https://github.com/brave/scproxy

https://github.com/brave/jitsi-slack

https://github.com/brave/cloudwatch-alarm-exporter


#GoCasts | <حسین/>

🕊 @gopher_academy
👍21🔥5🎉1
یه مقاله خیلی جذاب که عمیقا به شما نکات خیلی جالبی در مورد cpu و نحوه اجرای برنامه ها در لینوکس رو نشون میده

https://cpu.land

#gocasts | Hossein

🕊 @gopher_academy
👍9🔥2🕊1
❤️این مقاله خوب رو از دست ندید
جالبه

بازجویی در دیتاسنتر! - کشف باگ در سیستم‌های پیچیده

https://talk.gocasts.ir/t/topic/389?u=hossein

#gocasts


🕊 @gopher_academy
🕊5👍2🔥2
👌شناخت بهتر scheduler در گولنگ

همانطور که میدونید concurrency یکی از نقاط قوت گولنگ هست، و این مزیت رو مدیون goroutineهاست. در مورد goroutine و channel شاید زیاد شنیده باشید و خونده باشید، اما چیزی که داره concurrency رو مدیریت میکنه scheduler هست. مقاله ای که معرفی میکنم خدمت شما میتونه شناخت خوبی نسبت به scheduler به شما بده.

Behind the Scenes of Go Scheduler

https://dev.to/sourikghosh/behind-the-scenes-of-go-scheduler-1hdi

#gocasts

🕊 @gopher_academy
👍83😁2
دیتابیس PostgreSQL قابلیت Full-Text search داره که خیلی وقت ها میتونه نیازمندی هارو پوشش بده و لازم نباشه سرویسی مثل elasticsearch رو بصورت مجزا استفاده کرد. چون نگهداری و مدیریت هر سرویس جدید هم هزینه نیروی انسانی داره و هم هزینه زمانی و انتقال دانش و کسب تجربه و غیره.

این مقاله قابلیت های دیتابیس PostgreSQL برای Full-Text search رو بیان میکنه

Create an advanced search engine with PostgreSQL

https://xata.io/blog/postgres-full-text-search-engine

#gocasts

#database #postgres

🕊 @gopher_academy
👍42🕊2🔥1🍾1
برنامه هایی که با گولنگ نوشته میشن یک از شایع ترین خطاهایی که در runtime و روی production باهاش مواجه میشن خطای panic از جنس nil pointer هست. که میتونه منجر به از کار افتادن برنامه هم بشه، هر چند راه هایی وجود داره که شما بتونید panic رو recover کنید، اما اصولا جواب بهتر اینه که سعی کنید قسمت هایی از کد که باعث ایجاد این دسته از panic ها میشن رو شناسایی کنید و مشکل رو از ریشه حل کنید.


panic: runtime error: invalid memory address or nil pointer dereference

شرکت Uber اخیر مقاله ای منتشر کرده که در این مورد توضیحات خوبی رو ارائه داده، دوست داشتید مطالعه کنید.

NilAway: Practical Nil Panic Detection for Go

یه پروژه open-source هم در همین رابطه منشتر کرده که من روی یکی از پروژه هام اجراش کردم و کلی statement پیدا کرد که این مشکل رو داره احتمالا.

خودش هشدار داده که پروژه در دست توسعه ست و ممکنه خطای false positive داشته باشید، ولی بد نیست به پروسه ci اضافه بشه یا حداقل لوکال چک کنید.

نصب و اجراشم ساده ست.


go install go.uber.org/nilaway/cmd/nilaway@latest
nilaway ./...



#gocasts


🕊 @gopher_academy
👍16🍾1
تو جلسه solution design دوره، یکی از راه حل های پیاده سازی authentication این بود که سرویس gateway ما که میتونه nginx باشه ابتدا همه درخواست هارو با authService ارزیابی کنه که مزیت این روش اینه که دیگه microserviceهای دیگه دغدغه authentication ندارن و خیالشون راحته که همه چیز توسط gateway و authService مدیریت میشه، که روش خوبیه. این مقاله هم برای این شیوه توضیحاتی ارائه داده.

Make Your Own API Gateway with NGINX and Proper Auth Validation
https://sagardash.me/make-your-nginx-api-gateway-with-auth-validation-7efd122a18d3

Hossein | #gocasts

🕊 @gopher_academy | @GolangEngineers
👍10🔥2🍾1
سلام دوستان، یه منبع بهتون معرفی میکنم که کلی tips کوچیک و باحال ارائه داده که بهتون کمک میکنه کد گولنگی بهتری بنویسید.

Go Practical Tips
https://github.com/func25/go-practical-tips/blob/main/tips.md

#gocasts | Hossein

🕊 @gopher_academy | @GolangEngineers
👍4🍾4