درود دوستان این مقاله کوتاه خوندنش خالی از لطف نیست
🔵 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
🔵 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
بخشی از کدهارو که خوندم خیلی تمیز و قشنگ بود
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
https://cpu.land
#gocasts | Hossein
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍9🔥2🕊1
❤️این مقاله خوب رو از دست ندید
جالبه
بازجویی در دیتاسنتر! - کشف باگ در سیستمهای پیچیده
https://talk.gocasts.ir/t/topic/389?u=hossein
#gocasts
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
جالبه
بازجویی در دیتاسنتر! - کشف باگ در سیستمهای پیچیده
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
همانطور که میدونید 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
👍8❤3😁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
این مقاله قابلیت های دیتابیس 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
👍4❤2🕊2🔥1🍾1
برنامه هایی که با گولنگ نوشته میشن یک از شایع ترین خطاهایی که در runtime و روی production باهاش مواجه میشن خطای panic از جنس nil pointer هست. که میتونه منجر به از کار افتادن برنامه هم بشه، هر چند راه هایی وجود داره که شما بتونید panic رو recover کنید، اما اصولا جواب بهتر اینه که سعی کنید قسمت هایی از کد که باعث ایجاد این دسته از panic ها میشن رو شناسایی کنید و مشکل رو از ریشه حل کنید.
شرکت Uber اخیر مقاله ای منتشر کرده که در این مورد توضیحات خوبی رو ارائه داده، دوست داشتید مطالعه کنید.
NilAway: Practical Nil Panic Detection for Go
یه پروژه open-source هم در همین رابطه منشتر کرده که من روی یکی از پروژه هام اجراش کردم و کلی statement پیدا کرد که این مشکل رو داره احتمالا.
خودش هشدار داده که پروژه در دست توسعه ست و ممکنه خطای false positive داشته باشید، ولی بد نیست به پروسه ci اضافه بشه یا حداقل لوکال چک کنید.
نصب و اجراشم ساده ست.
#gocasts
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
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
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
Go Practical Tips
https://github.com/func25/go-practical-tips/blob/main/tips.md
#gocasts | Hossein
➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍4🍾4