سلام دوستان
یه سری توضیحات در مورد تیمسازی میدم خدمتتون.
توجه کنید که جلسات تیمسازی هم ضبط میشه، یعنی الان به جز ۲۷ جلسه آموزشی، ۱۰ جلسه تیمسازی یک و ۲ جلسه تیمسازی دو هم در اسپات پلیر در دسترس هست.
تو این جلسات در مورد چالش های فنی و غیر فنی پروژه های تیمسازی صحبت میکنیم.
تو تیمسازی بچه ها کد میزنن و بصورت جدی روی پروژه های واقعی کار میکنن که میتونه هم تجربه کاری شون رو بهتر کنه هم کلی چالش فنی و غیرفنی رو باهاش مواجه میشن.
جلسات تیمسازی هفتگی هست و اونجا به ریویو کد و تقسیم بندی کارها و انتقال دانش میپردازیم و همچنین خارج از جلسه تیمسازی کد بچه ها ریویو میشه.
اینم فیدبک عرفان جان با بیش از ۴ سال سابقه برنامه نویسی نسبت به دوره
لینکدین عرفان جان
https://www.linkedin.com/in/erfan-taghinia-547284163
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
یه سری توضیحات در مورد تیمسازی میدم خدمتتون.
توجه کنید که جلسات تیمسازی هم ضبط میشه، یعنی الان به جز ۲۷ جلسه آموزشی، ۱۰ جلسه تیمسازی یک و ۲ جلسه تیمسازی دو هم در اسپات پلیر در دسترس هست.
تو این جلسات در مورد چالش های فنی و غیر فنی پروژه های تیمسازی صحبت میکنیم.
تو تیمسازی بچه ها کد میزنن و بصورت جدی روی پروژه های واقعی کار میکنن که میتونه هم تجربه کاری شون رو بهتر کنه هم کلی چالش فنی و غیرفنی رو باهاش مواجه میشن.
جلسات تیمسازی هفتگی هست و اونجا به ریویو کد و تقسیم بندی کارها و انتقال دانش میپردازیم و همچنین خارج از جلسه تیمسازی کد بچه ها ریویو میشه.
اینم فیدبک عرفان جان با بیش از ۴ سال سابقه برنامه نویسی نسبت به دوره
لینکدین عرفان جان
https://www.linkedin.com/in/erfan-taghinia-547284163
لینک توضیحات ویدیویی دوره
https://news.1rj.ru/str/gocasts/297
لینک سرفصل های دوره
https://gocasts.ir/downloads/GoCasts-Bootcamp-Syllabus-v1.0.0-14020314.pdf
لینک جزئیات و خرید دوره ویدیویی
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
👍10🔥6❤2
خیلی اوقات ناچار هستیم از راه های نامتمرکز برای ساخت شناسه استفاده کنیم. این مقاله شما رو با راهکارهای مختلف تولید شناسه بصورت نامتمرکز آشنا میکنه
7 Famous Approaches to Generate Distributed ID with Comparison Table
https://medium.com/bytebytego-system-design-alliance/7-famous-approaches-to-generate-distributed-id-with-comparison-table-af89afe4601f
@gocasts
7 Famous Approaches to Generate Distributed ID with Comparison Table
https://medium.com/bytebytego-system-design-alliance/7-famous-approaches-to-generate-distributed-id-with-comparison-table-af89afe4601f
@gocasts
Medium
7 Famous Approaches to Generate Distributed ID with Comparison Table
Nowadays, many small and large systems require unique global identifiers; it is an essential task in distributed computing with growing…
👍8
Go Casts 🚀
خیلی اوقات ناچار هستیم از راه های نامتمرکز برای ساخت شناسه استفاده کنیم. این مقاله شما رو با راهکارهای مختلف تولید شناسه بصورت نامتمرکز آشنا میکنه 7 Famous Approaches to Generate Distributed ID with Comparison Table https://medium.com/bytebytego-system-design…
بسی لذت بردم از خوندن این مقاله
درس بزرگش استفاده از راه حال های خیلی ساده حتی برای scale خیلی بزرگی مثل pinterest هست
یکی از نکات جالب این مقاله استفاده از دیتابیس های master بود و از slave فقط برای بکاپ استفاده میکردن، همه read و writeهای production روی master هست و دیگه مشکلی بابت lagهای slave که میتونه خیلی bug-prone باشه ندارن.
جالبه که در انتخاب دیتابیس maturity دیتابیس رو اولویت قرار دادن و دیتابیس MySQL رو به MongoDB و Cassandra ترجیح دادن با اینکه راه حل های مدرن تر قابلیت auto-scaling دارن. حقیقتا به شخصه هم MySQL رو دوست دارم، هم ساده ست و هم mature و هم کلی ابزار خوب مثل ProxySQL براش هست.
https://proxysql.com
برای shard کردن روی هر سرور EC2 یه سرویس MySQL بالا آوردن و هر سرویس MySQL در حالت master-master روی هاست بکاپ replicate میشه، این مستر بکاپ فقط برای وقتی هست که مستر اصلی fail بشه. روی پروداکشن همه read و writeها توسط master اصلی انجام میشه و این کار رو pinterest خیلی توصیه میکنه چون ساده میشه همه چیز.
هر نسخه از سرویس MySQL میتونه شامل چندین database باشه که اسم دیتابیس ها unique هست در سرتاسر ناوگان (کلاسترهای) MySQL. یه تصمیم دیگه ای هم که گرفتن اینه که وقتی داده ای در یک shard ذخیره میشه دیگه هیچ وقت به shard دیگه ای منتقل نمیشه. ولی برای افزایش ظرفیت یک shard میشه کل اون shard رو به یک ماشین دیگه منتقل کرد.
دغدغه دیگه شون هم طبیعتا ساخت uuid بوده
نحوه ساختن UUIDشون خیلی جالبه، اینطوریه که سه بخش داره، بخش اول میشه شناسه shard بخش دوم میشه شناسه جدول، مثلا جدول pin ها شناسه ش ۱ هست و بخش سوم هم میشه شناسه عددی id رکورد در جدول pins که یه auto-increment integer هست.
یکی از کارهای جالب دیگه شون اینه که جدول دیتابیس شون کلا یه فیلد blob داره که یه فیلد TEXT هست که داده های serializeشده json رو ذخیره میکنن. علتش هم اینه که میگن اضافه کردن ستون به دیتابیس توسط دستور alter table خیلی هزینه بر هست ولی اضافه کردن فیلد به json نه. سمت اپلیکیشن ها هم سعی میکنن برای فیلدهای جدید تعریف شده default value در نظر بگیرن که اگه داده قدیمی jsonی اون فیلدهارو نداشت مشکلی پیش نیاد.
برای edit کردن یک رکورد دیتابیس هم از select for update استفاده میکنن که read lock بگیرن روی اون record دیتابیس.
http://dev.mysql.com/doc/refman/5.7/en/innodb-locking-reads.html
Sharding Pinterest: How we scaled our MySQL fleet
https://medium.com/pinterest-engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f
@gocasts
درس بزرگش استفاده از راه حال های خیلی ساده حتی برای scale خیلی بزرگی مثل pinterest هست
یکی از نکات جالب این مقاله استفاده از دیتابیس های master بود و از slave فقط برای بکاپ استفاده میکردن، همه read و writeهای production روی master هست و دیگه مشکلی بابت lagهای slave که میتونه خیلی bug-prone باشه ندارن.
جالبه که در انتخاب دیتابیس maturity دیتابیس رو اولویت قرار دادن و دیتابیس MySQL رو به MongoDB و Cassandra ترجیح دادن با اینکه راه حل های مدرن تر قابلیت auto-scaling دارن. حقیقتا به شخصه هم MySQL رو دوست دارم، هم ساده ست و هم mature و هم کلی ابزار خوب مثل ProxySQL براش هست.
https://proxysql.com
برای shard کردن روی هر سرور EC2 یه سرویس MySQL بالا آوردن و هر سرویس MySQL در حالت master-master روی هاست بکاپ replicate میشه، این مستر بکاپ فقط برای وقتی هست که مستر اصلی fail بشه. روی پروداکشن همه read و writeها توسط master اصلی انجام میشه و این کار رو pinterest خیلی توصیه میکنه چون ساده میشه همه چیز.
هر نسخه از سرویس MySQL میتونه شامل چندین database باشه که اسم دیتابیس ها unique هست در سرتاسر ناوگان (کلاسترهای) MySQL. یه تصمیم دیگه ای هم که گرفتن اینه که وقتی داده ای در یک shard ذخیره میشه دیگه هیچ وقت به shard دیگه ای منتقل نمیشه. ولی برای افزایش ظرفیت یک shard میشه کل اون shard رو به یک ماشین دیگه منتقل کرد.
دغدغه دیگه شون هم طبیعتا ساخت uuid بوده
نحوه ساختن UUIDشون خیلی جالبه، اینطوریه که سه بخش داره، بخش اول میشه شناسه shard بخش دوم میشه شناسه جدول، مثلا جدول pin ها شناسه ش ۱ هست و بخش سوم هم میشه شناسه عددی id رکورد در جدول pins که یه auto-increment integer هست.
یکی از کارهای جالب دیگه شون اینه که جدول دیتابیس شون کلا یه فیلد blob داره که یه فیلد TEXT هست که داده های serializeشده json رو ذخیره میکنن. علتش هم اینه که میگن اضافه کردن ستون به دیتابیس توسط دستور alter table خیلی هزینه بر هست ولی اضافه کردن فیلد به json نه. سمت اپلیکیشن ها هم سعی میکنن برای فیلدهای جدید تعریف شده default value در نظر بگیرن که اگه داده قدیمی jsonی اون فیلدهارو نداشت مشکلی پیش نیاد.
برای edit کردن یک رکورد دیتابیس هم از select for update استفاده میکنن که read lock بگیرن روی اون record دیتابیس.
http://dev.mysql.com/doc/refman/5.7/en/innodb-locking-reads.html
> BEGIN
> SELECT blob FROM db03429.pins WHERE local_id=7075733 FOR UPDATE
[Modify the json blob]
> UPDATE db03429.pins SET blob=’<modified blob>’ WHERE local_id=7075733
> COMMIT
Sharding Pinterest: How we scaled our MySQL fleet
https://medium.com/pinterest-engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f
@gocasts
ProxySQL
Scale 100K+ connections
across thousands of servers
In the dynamic landscape of modern database management, optimizing performance and efficiently handling database traffic are paramount concerns for businesses of all sizes. Enter ProxySQL, a
across thousands of servers
In the dynamic landscape of modern database management, optimizing performance and efficiently handling database traffic are paramount concerns for businesses of all sizes. Enter ProxySQL, a
🔥28👍9❤2
نمونه فیلم دوره
فیلمی که اینجا preview شده توسط تلگرام از تیمسازی هست نه دوره، لینک های نمونه دوره رو که پایین تر گذاشتم باز کنید
برخی از دوستان خواسته بودن که نمونه فیلم هایی از دوره ارائه بدم.
ارائه فیلم نمونه از یه دوره ۲۷ جلسه ای خیلی کار سختیه
اما من سعی کردم چند نمونه بذارم.
سعی کردم خوب و بد رو بذارم چون قصد ندارم کسی رو با نمایش دادن فقط قسمت های صرفا خوب به اشتباه بندازم.
نمونه فیلم های دوره
مثلا نمونه اول از نظر کیفیت نور تصویر خودم خوب نیست (فکر کنم از ۲۷ جلسه ۲ جلسه ش این شکلیه)
https://gocasts.ir/downloads/1_gameapp_mysql_docker_sample.mkv
از سه جلسه solution design سعی کردم بخش هاییش رو بذارم
https://gocasts.ir/downloads/2_gameapp_solution_design_player_selection_sample.mkv
نمونه ای از پیاده سازی روی کد رو گذاشتم
https://gocasts.ir/downloads/2_gameapp_grpc_2_sample.mkv
نمونه ای هم از آموزش های مقدماتی (اینجا pointer رو توضیح دادم که جلوترش کد هم زدم ولی تو فیلم نیست)
https://gocasts.ir/downloads/session_3_6_pointer_1_sample.mkv
نمونه فیلم های تیمسازی
دقت کنید تیمسازی الان در حال انجامه و ربطی به دوره نداره و خیلی از جلساتش رو تو ماشین یا هرجا که بتونم برگزار میکنم که بچه ها بتونن کارشون رو پیش ببرن..
یه جلسه solution design داشتیم در تیمسازی این بخش هاییشه
https://gocasts.ir/downloads/teamsazi_session_5_14020822_sample.mkv
ریویوی کد رو معمولا داریم تو جلسات تیمسازی
https://gocasts.ir/downloads/teamsazi_session_10_14020912_sample.mkv
اینم باز ریویو کد در تیمسازی
https://gocasts.ir/downloads/teamsazi_session_11_14020919_sample.mp4
لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
فیلمی که اینجا preview شده توسط تلگرام از تیمسازی هست نه دوره، لینک های نمونه دوره رو که پایین تر گذاشتم باز کنید
برخی از دوستان خواسته بودن که نمونه فیلم هایی از دوره ارائه بدم.
ارائه فیلم نمونه از یه دوره ۲۷ جلسه ای خیلی کار سختیه
اما من سعی کردم چند نمونه بذارم.
سعی کردم خوب و بد رو بذارم چون قصد ندارم کسی رو با نمایش دادن فقط قسمت های صرفا خوب به اشتباه بندازم.
نمونه فیلم های دوره
مثلا نمونه اول از نظر کیفیت نور تصویر خودم خوب نیست (فکر کنم از ۲۷ جلسه ۲ جلسه ش این شکلیه)
https://gocasts.ir/downloads/1_gameapp_mysql_docker_sample.mkv
از سه جلسه solution design سعی کردم بخش هاییش رو بذارم
https://gocasts.ir/downloads/2_gameapp_solution_design_player_selection_sample.mkv
نمونه ای از پیاده سازی روی کد رو گذاشتم
https://gocasts.ir/downloads/2_gameapp_grpc_2_sample.mkv
نمونه ای هم از آموزش های مقدماتی (اینجا pointer رو توضیح دادم که جلوترش کد هم زدم ولی تو فیلم نیست)
https://gocasts.ir/downloads/session_3_6_pointer_1_sample.mkv
نمونه فیلم های تیمسازی
دقت کنید تیمسازی الان در حال انجامه و ربطی به دوره نداره و خیلی از جلساتش رو تو ماشین یا هرجا که بتونم برگزار میکنم که بچه ها بتونن کارشون رو پیش ببرن..
یه جلسه solution design داشتیم در تیمسازی این بخش هاییشه
https://gocasts.ir/downloads/teamsazi_session_5_14020822_sample.mkv
ریویوی کد رو معمولا داریم تو جلسات تیمسازی
https://gocasts.ir/downloads/teamsazi_session_10_14020912_sample.mkv
اینم باز ریویو کد در تیمسازی
https://gocasts.ir/downloads/teamsazi_session_11_14020919_sample.mp4
لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
👍16❤7🔥2
سلام به همگی
توضیحاتی در مورد دوره و تیمسازی و برخی سوالات
این voice رو اگه تمایل داشتید گوش بدید، سعی کردم نکاتی زیادی رو پوشش بدم، از طولانی شدن voice عذرخواهی میکنم.
لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
توضیحاتی در مورد دوره و تیمسازی و برخی سوالات
این voice رو اگه تمایل داشتید گوش بدید، سعی کردم نکاتی زیادی رو پوشش بدم، از طولانی شدن voice عذرخواهی میکنم.
لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
👍12❤5
Go Casts 🚀
Voice message
ضمانت بازگشت وجه تا ۳۰ روز پس از خرید
از زمان فروش دوره ویدیویی پس از پایان بوتکمپ تا به امروز الحمدلله فقط یک نفر اعلام نارضایتی کرده، (احتمالا شاید ناراضی ها بیشتر از یک نفر باشن اما چیزی نگفتن، به هر دلیلی...)
همانطور که در voice هم عرض کردم، این پیامیه که در دیسکورد چند ماه پیش گذاشتم برای شرکت کنندگان در دوره.
بارها هم گفتم که دوره بنده هم مثل هر دوره دیگه ای کلی نقص داره در کل
در نهایت هم اگه دوره رو خریدی و دیدی و از دوره و تیمسازی راضی نبودی من هزینه خرید رو پس میدم.
خدای نکرده هیچ وقت دوست نداشتم و ندارم پول چیزی رو بگیرم که مخاطب ازش ناراضی باشه.
اینارو نمیگم که الکی ترغیب بشی به خریدن دوره، ولی اگه فکر میکنی دوره و تیمسازی برات مفیده نگران کیفیتش نباش، نه اینکه دوره و تیمسازی بی نقص باشه، نه، ولی در صورت نارضایتی تا ۳۰ روز پس از خرید دوره، هزینه تون پس داده میشه
بازم دمتون گرم ❤️
لینک جزییات و خرید دوره
https://gocasts.ir/gocasts-bootcamp-140110
@gocasts
از زمان فروش دوره ویدیویی پس از پایان بوتکمپ تا به امروز الحمدلله فقط یک نفر اعلام نارضایتی کرده، (احتمالا شاید ناراضی ها بیشتر از یک نفر باشن اما چیزی نگفتن، به هر دلیلی...)
همانطور که در 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
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
اگه دوست داشتید به کانال boost بدید که بشه از یه سری قابلیت های تلگرام برای کانال استفاده کرد.
دمتون گرم ❤️
https://news.1rj.ru/str/gocasts?boost
Telegram
Go Casts 🚀
از این کانال حمایت کنید تا بتواند به قابلیتهای اضافی دسترسی پیدا کند.
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
جناب مهندس افشاری، دفترچه 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
👍12❤3🔥3
سلام به همه دوستان
اگه فکر میکنید برنامه نویس ارشد مهندس نرم افزار و بکند هستید و به اندازه کافی تجربه دارید با گولنگ و دیتابیس های relational لطفا رزومه تون رو برای من ارسال کنید. تیم SnappKitchen به دنبال نیروی ارشد مهندس نرم افزار هستند.
با دارا جان هم میتونید در ارتباط باشید
Dara Nasibi
https://www.linkedin.com/in/dara-nasibi-510887139/
@gocasts
اگه فکر میکنید برنامه نویس ارشد مهندس نرم افزار و بکند هستید و به اندازه کافی تجربه دارید با گولنگ و دیتابیس های 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
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
در لحظه ۴ مصاحبه 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
اوزان غزل که مست مستم کرده
یک شاعر خوب و چیره دستم کرده
گویم همه جا خدا پرستم اما
ایوان نجف علی پرستم کرده
مخلص همه، یا علی 🌹
@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
پیشنهاد می کنم این دو ویدیو کوتاه که خیلی خوب و ساده تفاوت ماشین مجازی و کانتینر رو توضیح میدن، ببینید
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
YouTube
Containers vs VMs: What's the difference?
Learn more about Containers: http://ibm.biz/guide-to-containers
Learn more about VMs: http://ibm.biz/virtual-machines-guide
What are virtual machines and containers, and how do they fit into our modern cloud-native way of building and architecting applications?…
Learn more about VMs: http://ibm.biz/virtual-machines-guide
What are virtual machines and containers, and how do they fit into our modern cloud-native way of building and architecting applications?…
❤14👍5
نسخه ۱.۲۲ از کامپایلر گولنگ منتشر شد
تو این نسخه برای حلقه for دو تغییر مهم رخ داده
اول اینکه در for range متغیر در هر iteration از نو ساخته میشه، در حالیکه قبلا فقط در iteration اول ساخته میشد و در تکرارهای بعدی آپدیت میشد که خودش باعث ایجاد باگ میشد.
تغییر بعدی اینه که میشه روی اعداد هم range زد بدون نیاز به تعریف آرایه
جزییات نسخه
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
تو این نسخه برای حلقه for دو تغییر مهم رخ داده
اول اینکه در for range متغیر در هر iteration از نو ساخته میشه، در حالیکه قبلا فقط در iteration اول ساخته میشد و در تکرارهای بعدی آپدیت میشد که خودش باعث ایجاد باگ میشد.
تغییر بعدی اینه که میشه روی اعداد هم range زد بدون نیاز به تعریف آرایه
package mainالبته برای استفاده از این قابلیت باید GOEXPERIMENT=rangefunc رو ست کنید.
import "fmt"
func main() {
for i := range 10 {
fmt.Println(10 - i)
}
fmt.Println("go1.22 has lift-off!")
}
جزییات نسخه
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
حداقل مزیت چنین لیست هایی اینه که آدم با 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
به لطف خدا در ۳ ماه گذشته ۵ نفر از دوستان تیمسازی و دوره استخدام شدند. حقوق ۳ نفرشون رو من مطلع هستم که کمتر از ۳۰ میلیون تومان نیست الحمدلله.
فیدبک حامد جان رو براتون ارسال کردم، که رشته ش کامپیوتر نبوده، و با تجربه کمی از سی و پایتون و بدون تجربه بکند از چند ماه پیش دوره رو شروع کرده.
ان شاءالله تلاش میکنیم از هر فرصتی برای استخدام بچه ها استفاده کنیم.
به جز ۲۷ جلسه آموزشی دوره، الحمدلله جلسات تیمسازی هر هفته در حال برگزاری هست و در چهار ماه گذشته بیش از ۲۰ جلسه تیمسازی برگزار شده که خیلی به بچه ها کمک میکنه خودشون کد بزنن، اشتباه کنن، کدشون ریویو بشه و با چالش های واقعی جدی تر مواجه بشن.
توضیحات مفصل صوتی در مورد دوره و تیمسازی
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
دوستانی که بصورت خودآموز گولنگ رو یاد گرفتند یا در حال یادگیری هستند بعضا سوال میپرسن برای ما که داریم خودمون خودآموز میخونیم چه مزیتی میتونه دوره داشته باشه؟
جوابش میشه انتقال تجربه و یادگیری 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
👍9❤7
ساختار داده Bloom Filters
یکی از ساختارهای داده ای که مخصوصا در دیتابیس ها خیلی کاربرد داره Bloom Filters هست.
این مقاله بصورت visualize خیلی توضیحات مفیدی در مورد این موضوع ارائه داده.
https://samwho.dev/bloom-filters
یکی از کاربردهای اصلی ش اینه که دیتابیس خیلی زود متوجه بشه که رکورد مورد نظر با key یا id مورد نظر آیا اصلا وجود داره یا خیر؟
چرا باید زود متوجه بشه؟ چون اگه متوجه نشه کلید مد نظر وجود داره یا نه، مجبور میشه کل disk pageهای جدول دیتابیس رو scan کنه که متوجه بشه کلید وجود نداره...
و این هزینه سنگینی برای دیتابیس محسوب میشه
ولی با استفاده از Bloom Filters دیتابیس با درصد خطای خیلی کم میتونه برای اکثر موارد کلیدهایی که در دیتابیس وجود ندارن رو تشخیص بده و هزینه زیادی برای رکوردهایی که وجود ندارن نپردازه.
@gocasts
یکی از ساختارهای داده ای که مخصوصا در دیتابیس ها خیلی کاربرد داره Bloom Filters هست.
این مقاله بصورت visualize خیلی توضیحات مفیدی در مورد این موضوع ارائه داده.
https://samwho.dev/bloom-filters
یکی از کاربردهای اصلی ش اینه که دیتابیس خیلی زود متوجه بشه که رکورد مورد نظر با key یا id مورد نظر آیا اصلا وجود داره یا خیر؟
چرا باید زود متوجه بشه؟ چون اگه متوجه نشه کلید مد نظر وجود داره یا نه، مجبور میشه کل disk pageهای جدول دیتابیس رو scan کنه که متوجه بشه کلید وجود نداره...
و این هزینه سنگینی برای دیتابیس محسوب میشه
ولی با استفاده از Bloom Filters دیتابیس با درصد خطای خیلی کم میتونه برای اکثر موارد کلیدهایی که در دیتابیس وجود ندارن رو تشخیص بده و هزینه زیادی برای رکوردهایی که وجود ندارن نپردازه.
@gocasts
👍17❤7