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
سلام به همه دوستان
اگه دوست داشتید به کانال 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
استخدام در اسنپ ۳ نقطه🔥


توضیحات تصویر
گام 0: خرید دوره و ابراز امیدواری برای استخدام در اسنپ 🙂

گام 1: همراهی از مرحله اصلاح رزومه🎬

گام 2: ارائه توصیه به فرد برای بهبود روند مصاحبه🪄

گام 3: ایجاد انگیزه برای پیش بردن پروسه های مصاحبه🤜

گام 4: شنیدن خبر قبولی اولیه 😍

گام 5: گرفتن آفر از اسنپ ۳ نقطه 🔥

گام 6: فیدبک نسبت به مصاحبه های ماک🚀

ایشون ۴، ۵ سال سابقه کار دارند در استک های مختلف، اسم ونچر رو نمیگم، اسنپ تاکسی نیست

ما در gocasts سعی میکنیم هر شخص رو با توجه به شرایطش همراهی کنیم که ان شاءالله بتونه موقعیت شغلی مورد نظرش رو کسب کنه.

توضیحات مفصل صوتی در مورد دوره و تیمسازی
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
👍169🔥1
Go Casts 🚀
استخدام در اسنپ ۳ نقطه🔥 توضیحات تصویر گام 0: خرید دوره و ابراز امیدواری برای استخدام در اسنپ 🙂 گام 1: همراهی از مرحله اصلاح رزومه🎬 گام 2: ارائه توصیه به فرد برای بهبود روند مصاحبه🪄 گام 3: ایجاد انگیزه برای پیش بردن پروسه های مصاحبه🤜 گام 4: شنیدن خبر…
یادگیری مبتنی بر تقاضا!
قبل از اینکه موضوعی رو یاد بگیری، احساس نیازش رو درک کن.


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

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

طبق تجربه، یکی از شیوه های مناسب یادگیری رو «شیوه یادگیری مبتنی بر تقاضا» یا «on-demand learning» میدونم.

عبارت «on-demand learning» رو هیچ جا نشنیدم، یا به یاد نمیارم جایی شنیده باشم، اما الان که در اینترنت جستجو میکنم میبینم که این شیوه یادگیری وجود داره.

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

به عبارت زیر توجه کنید:
With on-demand training when an employee needs information, and their informational needs are met at that moment. Employees are able to implement newly gained knowledge immediately. This heightens its impact - learners retain 90% of what they learn when they use it immediately.

مهم ترین نکته ای که اشاره میکنه اینه که دانشجو اگه فورا از مطلبی که آموخته استفاده کنه ۹۰ درصد آموخته هاش رو حفظ میکنه!

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

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

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

دوره و منبع آموزشی فارسی و انگلیسی خیلی زیاده، ولی چیزی که از نظر من برای دانشجویان لازمه فراهم کردن بستری هست که بتونن تو اون بستر به مسائل مختلف برنامه نویسی احساس نیاز کنن و بعدش با یادگیری و استفاده از موضوع مورد نیاز، درک نسبتا خوبی کسب کنن.

ان شاءالله که در Go Casts و تیمسازی بتونیم به لطف خدا و کمک بچه ها بستری مناسب رو برای «یادگیری مبتنی بر نیاز» فراهم کنیم که بچه ها حداکثر استفاده رو از دوره آموزشی داشته باشند.

توضیحات مفصل صوتی در مورد دوره و تیمسازی
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
22👍9🔥1
یکی از شوخی ترین و هوشمندانه ترین بهبودهایی که میتونه تاثیر خیلی زیادی در عملکرد انواع سرویس ها بذاره، از سرورهای دیتابیس گرفته تا سرورهای سرویس های بکند و gateway و هر سرویس دیگه ای که روی سرور تعداد درخواست tcp همزمان زیادی داره...

بهبودی که باعث میشه تا ۴۰ درصد عملکرد درخواست های tcp بهتر بشه چی هست؟ تغییر ترتیب متغیرها!!! همین...

Google Patches Linux kernel with 40% TCP performance
https://www.youtube.com/watch?v=qo1FFNUVB-Q

@gocasts
🔥21👍3