Go Casts 🚀 – Telegram
Go Casts 🚀
7.67K subscribers
279 photos
20 videos
13 files
497 links
VP of Eng Zarinpal | Ex Snapp! Senior SE
فوق لیسانس هوش مصنوعی از دانشگاه تهران

اشتراک محتوا در مورد مهندسی نرم افزار، هوش مصنوعی، گولنگ
https://gocasts.ir

پروفایل
https://www.linkedin.com/in/gohossein

ارتباط
@lifography

Ai for Software
@aicasts_ir
Download Telegram
سلام به همگی
توضیحاتی در مورد دوره و تیمسازی و برخی سوالات

این voice رو اگه تمایل داشتید گوش بدید، سعی کردم نکاتی زیادی رو پوشش بدم، از طولانی شدن voice عذرخواهی میکنم.

لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110

@gocasts
👍125
Go Casts 🚀
Voice message
ضمانت بازگشت وجه تا ۳۰ روز پس از خرید

از زمان فروش دوره ویدیویی پس از پایان بوتکمپ تا به امروز الحمدلله فقط یک نفر اعلام نارضایتی کرده، (احتمالا شاید ناراضی ها بیشتر از یک نفر باشن اما چیزی نگفتن، به هر دلیلی...)

همانطور که در voice هم عرض کردم، این پیامیه که در دیسکورد چند ماه پیش گذاشتم برای شرکت کنندگان در دوره.

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

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

اینارو نمیگم که الکی ترغیب بشی به خریدن دوره، ولی اگه فکر میکنی دوره و تیمسازی برات مفیده نگران کیفیتش نباش، نه اینکه دوره و تیمسازی بی نقص باشه، نه، ولی در صورت نارضایتی تا ۳۰ روز پس از خرید دوره، هزینه تون پس داده میشه

بازم دمتون گرم ❤️

لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110


@gocasts
29👍5
تراکنش های distributed چطوری کار میکنن؟

How Distributed Transactions Work in TiDB
https://www.pingcap.com/blog/distributed-transactions-tidb/

کلا که به قول martin fowler بهتر don't distribute your object اولین قانونی باشه که در نظر میگیری
First Law of Distributed Object Design: "don't distribute your objects".
https://martinfowler.com/articles/distributed-objects-microservices.html

اما اگه لازم شد بهتره سراغ راه حل هایی بری که موضوع رو برات حل میکنن، نه اینکه خودت بخوای پیاده سازی کنی چون چالش زیاد داره

استفاده از TiDB رو در پروداکشن توصیه نمیکنم اما برای تجربه و بررسی بد نیست تست بشه
https://github.com/pingcap/tidb

یه kv storage هم داره که پایه و اساس همین TiDB هست که اونم خوبه بررسی بشه
https://github.com/tikv/tikv
اینم معماریشه
https://docs.pingcap.com/tidb/stable/tikv-overview

@gocasts

#database
#distributed_transaction
👍14
سلام به همه دوستان
اگه دوست داشتید به کانال boost بدید که بشه از یه سری قابلیت های تلگرام برای کانال استفاده کرد.

دمتون گرم ❤️

https://news.1rj.ru/str/gocasts?boost
Go Casts 🚀
Ansible2.pdf
Kubernetes pocket guide.pdf
12.2 MB
سلام دوستان
جناب مهندس افشاری، دفترچه kubernetes رو بروزرسانی کرده و یه نسخه به انگلیسی ارائه داده که خیلی کار جالبی هست، فکر میکنم براتون مفید هست اگه خواستید بررسی کنید.

اینم لینک کانال ایشون که میتونید کارهای بیشتری رو ببینید
@dev_cheatsheet

Kubernetes pocket guide
Language: English

The Kubernetes Pocket Guide is a small and easy-to-use document that helps you understand Kubernetes better. Inside this booklet, we have taken great care to gather and explain all the important ideas and knowledge about Kubernetes in a simple way

#kubernetes

@gocasts
👍123🔥3
سلام به همه دوستان

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


با دارا جان هم میتونید در ارتباط باشید
Dara Nasibi
https://www.linkedin.com/in/dara-nasibi-510887139/


@gocasts
7
این مقاله عالی و کوچیک و جدید یه نکته خیلی مهم و آموزنده داره:
Scale Up vs Scale Out

https://talk.gocasts.ir/t/scale-up-vs-scale-out/473?u=hossein

@gocasts
13👍8
مصاحبه mock طراحی سیستم، با افراد واقعی و تجربه های واقعی بصورت ناشناس به gocasts اضافه شد 🚀

در لحظه ۴ مصاحبه mock با موضوع طراحی سیستم انجام شده و کم کم ان شاءالله مصاحبه های بیشتری با افراد دیگه اضافه میشه

هدف ما اینه پکیج gocasts شامل دوره آموزشی، تیمسازی (برای تمرین کد زدن روی پروژه های واقعی)، مصاحبه های mock ان شاءالله یه پکیجی باشه که به شما کمک کنه زودتر و بهتر به هدفتون برسید.

توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://news.1rj.ru/str/gocasts/369

نمونه فیلم های دوره
https://news.1rj.ru/str/gocasts/367

ضمانت بازگشت وجه
https://news.1rj.ru/str/gocasts/370

پرسش و پاسخ
https://news.1rj.ru/str/gocasts/337


لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110

@gocasts
23👍9
This media is not supported in your browser
VIEW IN TELEGRAM
ولادت حضرت علی علیه السلام و روز پدر مبارک

اوزان غزل که مست مستم کرده
یک شاعر خوب و چیره دستم کرده

گویم همه جا خدا پرستم اما
ایوان نجف علی پرستم کرده


مخلص همه، یا علی 🌹

@gocasts
32👍3
Virtual Machine vs Container

پیشنهاد می کنم این دو ویدیو کوتاه که خیلی خوب و ساده تفاوت ماشین مجازی و کانتینر رو توضیح میدن، ببینید

https://youtu.be/cjXI-yxqGTI?si=RA3WTvIUCTZC55Qi

https://youtu.be/eyNBf1sqdBQ?si=dJD-F_mBjrRD4lF7

احتمالا با دیدن این دو ویدیو متوجه بشید چرا VM ها رو hardware level virtualization میگن و Container ها رو OS level virtualization

سوالاتی که برای درک عمیق تر موضوع میشه بیشتر در موردشون تحقیق کرد:
- چطوری hypervisor منابع سخت افزاری رو بین vmها مدیریت میکنه
https://www.xenserver.com/what-is-a-hypervisor

https://www.youtube.com/watch?v=p-8GFj3BCQw

- چطوری Linux kernel با استفاده از قابلیت های namespaces و cgroups اجازه میده کانتینر ها process isolation داشته باشن
https://blog.kubesimplify.com/understanding-how-containers-work-behind-the-scenes

https://www.nginx.com/blog/what-are-namespaces-cgroups-how-do-they-work/

https://terenceli.github.io/%E6%8A%80%E6%9C%AF/2020/01/05/cgroup-internlas

@gocasts
14👍5
نسخه ۱.۲۲ از کامپایلر گولنگ منتشر شد
تو این نسخه برای حلقه for دو تغییر مهم رخ داده
اول اینکه در for range متغیر در هر iteration از نو ساخته میشه، در حالیکه قبلا فقط در iteration اول ساخته میشد و در تکرارهای بعدی آپدیت میشد که خودش باعث ایجاد باگ میشد.
تغییر بعدی اینه که میشه روی اعداد هم range زد بدون نیاز به تعریف آرایه
package main

import "fmt"

func main() {
for i := range 10 {
fmt.Println(10 - i)
}
fmt.Println("go1.22 has lift-off!")
}
البته برای استفاده از این قابلیت باید GOEXPERIMENT=rangefunc رو ست کنید.

جزییات نسخه
https://go.dev/doc/go1.22

از سایت gocasts میتونید دانلود کنید

Linux AMD64
https://gocasts.ir/downloads/go1.22.0.linux-amd64.tar.gz

Mac ARM64
https://gocasts.ir/downloads/go1.22.0.darwin-arm64.pkg

Mac AMD64
https://gocasts.ir/downloads/go1.22.0.darwin-amd64.pkg

Windows AMD64
https://gocasts.ir/downloads/go1.22.0.windows-amd64.msi

Source
https://gocasts.ir/downloads/go1.22.0.src.tar.gz

@gocasts
👍35🔥4
یه لیست از منابع مفید در موضوع سیستم های توزیع شده

حداقل مزیت چنین لیست هایی اینه که آدم با keywordهای مهم این حوزه آشنا میشه

A Distributed Systems Reading List
https://ferd.ca/a-distributed-systems-reading-list.html

@gocasts
👍28
سلام به همه دوستان

به لطف خدا در ۳ ماه گذشته ۵ نفر از دوستان تیمسازی و دوره استخدام شدند. حقوق ۳ نفرشون رو من مطلع هستم که کمتر از ۳۰ میلیون تومان نیست الحمدلله.

فیدبک حامد جان رو براتون ارسال کردم، که رشته ش کامپیوتر نبوده، و با تجربه کمی از سی و پایتون و بدون تجربه بکند از چند ماه پیش دوره رو شروع کرده.

ان شاءالله تلاش می‌کنیم از هر فرصتی برای استخدام بچه ها استفاده کنیم.

به جز ۲۷ جلسه آموزشی دوره، الحمدلله جلسات تیمسازی هر هفته در حال برگزاری هست و در چهار ماه گذشته بیش از ۲۰ جلسه تیمسازی برگزار شده که خیلی به بچه ها کمک میکنه خودشون کد بزنن، اشتباه کنن، کدشون ریویو بشه و با چالش های واقعی جدی تر مواجه بشن.

توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://news.1rj.ru/str/gocasts/369

نمونه فیلم های دوره
https://news.1rj.ru/str/gocasts/367

ضمانت بازگشت وجه
https://news.1rj.ru/str/gocasts/370

پرسش و پاسخ
https://news.1rj.ru/str/gocasts/337

لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110


@gocasts
18👍17🔥1
Go Casts 🚀
سلام به همه دوستان به لطف خدا در ۳ ماه گذشته ۵ نفر از دوستان تیمسازی و دوره استخدام شدند. حقوق ۳ نفرشون رو من مطلع هستم که کمتر از ۳۰ میلیون تومان نیست الحمدلله. فیدبک حامد جان رو براتون ارسال کردم، که رشته ش کامپیوتر نبوده، و با تجربه کمی از سی و پایتون…
اینم فیدبک داغ داغ امروز از طرف یکی از دوستانی که در دوره کارآموزی به سر میبره.

دوستانی که بصورت خودآموز گولنگ رو یاد گرفتند یا در حال یادگیری هستند بعضا سوال میپرسن برای ما که داریم خودمون خودآموز میخونیم چه مزیتی میتونه دوره داشته باشه؟
جوابش میشه انتقال تجربه و یادگیری practiceهایی که نمیگم بی نقص هستند اما خیلی هاشون یا خودشون یا مشابه شون در پروژه های واقعی گولنگی استفاده میشه و این به شما کمک میکنه وقتی سر کار برید بابت مسائل مختلف چالش و ترس نداشته باشید و از قبل براشون آماده شده باشید.

توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://news.1rj.ru/str/gocasts/369

نمونه فیلم های دوره
https://news.1rj.ru/str/gocasts/367

ضمانت بازگشت وجه
https://news.1rj.ru/str/gocasts/370

پرسش و پاسخ
https://news.1rj.ru/str/gocasts/337

لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110

@gocasts
👍97
ساختار داده Bloom Filters

یکی از ساختارهای داده ای که مخصوصا در دیتابیس ها خیلی کاربرد داره Bloom Filters هست.
این مقاله بصورت visualize خیلی توضیحات مفیدی در مورد این موضوع ارائه داده.
https://samwho.dev/bloom-filters

یکی از کاربردهای اصلی ش اینه که دیتابیس خیلی زود متوجه بشه که رکورد مورد نظر با key یا id مورد نظر آیا اصلا وجود داره یا خیر؟
چرا باید زود متوجه بشه؟ چون اگه متوجه نشه کلید مد نظر وجود داره یا نه، مجبور میشه کل disk pageهای جدول دیتابیس رو scan کنه که متوجه بشه کلید وجود نداره...
و این هزینه سنگینی برای دیتابیس محسوب میشه
ولی با استفاده از Bloom Filters دیتابیس با درصد خطای خیلی کم میتونه برای اکثر موارد کلیدهایی که در دیتابیس وجود ندارن رو تشخیص بده و هزینه زیادی برای رکوردهایی که وجود ندارن نپردازه.

@gocasts
👍177
تو جلسه 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

@gocasts
👍26🔥4
قرعه کشی خرید دوره به نفع بیماران پروانه ای

در هفته احسان و نیکوکاری، دوره بین دوستانی که دوره رو خریداری نکرده اند و فرم زیر را پر کنند قرعه کشی خواهد شد و تمامی مبلغ فروش به حساب خانه ای بی واریز خواهد شد.


فیش واریزی این قرعه کشی
https://news.1rj.ru/str/c/1525472919/2990

فیش واریزی قرعه کشی های قبلی
https://news.1rj.ru/str/c/1525472919/2177

https://news.1rj.ru/str/c/1525472919/2504

@gocasts
23👍4🔥2
RSocket
پروتکلی برای ارتباط real-time

How Canva Supports Real-Time Collaboration for 135 Million Monthly Users
https://newsletter.systemdesign.one/p/rsocket

A Brief on RSocket and Reactive Programming
https://www.alibabacloud.com/blog/a-brief-on-rsocket-and-reactive-programming_598219

اینم سایت رسمی پروژه
https://rsocket.io/

و گیتهاب کلاینت گولنگی
https://github.com/rsocket/rsocket-go

@gocasts
22👍2🔥1
Telegram 2023 Uptime: 99.9983% 🔥🚀

چند ساله که گاه و بیگاه اینو به دوستان میگم که تلگرام از نظر من بهترین نرم افزار تاریخه ...

و همچنین از نظر من پاول دوروف یکی از نوابغ تاریخ دنیای نرم افزار هست

تلگرام همه چیزش خوبه، از رابط کاربری و سرعت توسعه قابلیت های جدید گرفته، تا پایداری نرم افزار و تعداد کم نیروهاش و از همه مهم تر، احتمالا کلی نوآوری فنی خارق العاده

خیلی دوست دارم این بشر یه روز در مورد این موضوعات کتاب بنویسه، احتمالا چندین کتاب...

@gocasts
👍57🔥1811
معمولا برای سبک شدن docker image نهایی، از استیج build یک scratch image ساخته میشه که فقط فایل باینری نهایی رو شامل میشه، اما این کار میتونه معایبی هم داشته باشه

اینجا میتونید در مورد معایبش بیشتر بخونید
https://iximiuz.com/en/posts/containers-distroless-images/

و اینجا میتونید خودتون تمرین کنید
When a FROM scratch Container Image Is Not Good Enough
https://labs.iximiuz.com/challenges/when-from-scratch-image-is-not-good-enough

من خودم از scratch به عنوان استیج نهایی استفاده میکردم ولی چند سالی هست که این کارو نمیکنم و سعی میکنم final image ی که قراره به عنوان runtime container باشه حتما یه سری basic functionalityهارو داشته باشه، مثلا حداقلش یه shell بتونه به من بده که به کانتینر وصل بشم، یا مسائلی مثل timezone و certificate رو مدیریت کنه. ممکنه با scratch هم بشه بعضی هاش رو حل کرد، اما ترجیح من استفاده از یه base image آماده ست مثل alpine یا debian

@gocasts
👍14🔥1