Go Casts 🚀 – Telegram
Go Casts 🚀
8.39K subscribers
283 photos
20 videos
13 files
501 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
این مقاله نکات ساده و مهمی رو برای طراحی distributed systemها میگه
نکاتی که گفته کوتاه و جمع و جوره اما واقعا درسته و کمک میکنه برای طراحی سیستم درست با رعایت کردن یه سری اصول ساده و مهم


One cache cluster to rule them all
مواظب باشید که سرورهای کش سرویس های مختلف یکی نباشن!

Queues are non-negotiable
وجود queue غیرقابل مذاکره ست، برامون زمان میخره که لود رو مدیریت کنیم!

Measuring end-to-end latency
یادمون نره latency پیام های async رو هم تو سیستم مانیتور کنیم، انباشت شدن شون و اختلاف زمان لحظه درخواست با پردازش شون مهمه.

Design for failure
این یکی که دیگه اصل قضیه ست، انواع و اقسام خطاها تو سیستم ممکنه رخ بده و باید براشون آماده باشیم، استفاده از retry pattern و circuit breaker و dead-letter queue الگوهای کمک کننده هستند.

Design for idempotency
اگه میخوای fault-tolerant باشی لازمه که حتما در ادامه ش idempotent هم باشی چون duplicate callها تقریبا اجتناب ناپذیر هستند در شرایط خطا


Lessons from building and maintaining distributed systems at scale
https://www.16elt.com/2025/04/19/lessons-from-distributed-systems/


@gocasts
👍31
اگه برای سرویس یا محصول تون به دنبال یه سرویس search engine هستید که کاربر بتونه باهاش product search کنه یا autocomplete و in-app search داشته باشه به جای راه اندازی دردسردار elasticsearch میتونید از meilisearch استفاده کنید.
الاستیک خیلی قابلیت ها داره که متفاوته با ابزاری که معرفی کردم، ولی برای مواردی که عرض کردم میتونه راه اندازی الاستیک و نگهداری ش بیش از حد سنگین باشه.

ابزار meilisearch با rust نوشته شده و زمان پاسخگویی ش خیلی پایینه (زیر ۵۰ میلی ثانیه) و تقریبا real-time آپدیت میکنه (۱ ثانیه تاخیر حدودا)

البته اعدادی که گفتم بسته به نحوه استفاده و داده شما و کانفیگ سرور میتونه متفاوت باشه

همچنین meilisearch قابلیت های فیلتر کردن ساده رو صرفا پشتیبانی میکنه اما facet search داره که فکر میکنم برای کاربردهای مذکور کافی باشه


بنظرم اگه لازم دارید چنین چیزی رو به امتحان کردنش میارزه.

Meilisearch
A lightning-fast search engine API bringing AI-powered hybrid search to your sites and applications.
https://github.com/meilisearch/meilisearch


@gocasts
21👍13
سلام دوستان
تعدیل شدن تعدادی از دوستان و همکاران عزیزم در اسنپ بسیار ناراحت کننده ست و بنده در حد توانم تلاش می کنم که زودتر و بهتر بتونن شغل مد نظرشون رو پیدا کنن، به همین جهت اگه در موقعیت مهندس نرم افزار، بکند و گولنگ در سطوح میدلول و سنیور به نیرو احتیاج داشتید. حتما اطلاع بدید به من که بهتون معرفی کنم.

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


@gocasts
60👍15👏4😁4
از مهمترین بهبودهای گولنگ در نسخه ۱.۲۴ پشتیبانی بهتر از WebAssembly هست که هم برای وب اپلیکیشن هایی که محاسبات سنگین یا لاجیک خیلی مشترک با بکند دارن میتونه کاربردی باشه و هم برای Edge Computing مناسبه.

تو این ویدیو توضیحات رو میتونید بخونید.
https://www.youtube.com/watch?v=kj80m-umOxs
به همچنین در این مقاله
https://go.dev/blog/wasmexport

@gocasts
🔥17👍63
ویرایشگر Void یه جایگزین متن باز برای Cursor هست که Y-Combinator ازش حمایت میکنه.
بر پایه VSCode هست و با هر LLMی هم کار میکنه. خیلی جذابه.
https://voideditor.com


@gocasts
👍218🔥2
یک و نیم میلیون تومان + ۵۰ درصد تخفیف تابستانه

اسکرین شات دو فیدبک از دوستان شرکت کننده در دوره رو مشاهده می کنید.


دوره +‌ تیمسازی بکند و گولنگ Go Casts
تخفیف ویژه تابستان
۵۰ درصد + ۱ میلیون و ۵۰۰ هزار تومان تخفیف
کد تابستان
SUMMER

خرید از سایت
https://gocasts.ir

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441

دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4


@gocasts
👍94🔥3
یه سری از مهندس ها هستن که از همون لحظه اول که باهاشون هم کلام میشی متوجه میشی که با کوله باری از تجربه و دانش مواجهی و اگه فرصت طلب باشی تا بتونی سعی میکنی از دریای دانش شون ذره ای بهره مند بشی.
بهراد جان از نظر من قطعا جز همین دسته از مهندسین هست، که نه تنها دانش عمیق و تجربه جدی و کافی داره، بلکه فن بیان خیلی خوبی هم داره که کار رو برای انتقال تجربه خیلی راحت تر میکنه.

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

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

لینک پروفایل لینکدین بهراد جان
https://www.linkedin.com/in/behradz

دوره سیستم دیزاین، طراحی سیستم های مقیاس پذیر
https://shop.alumsharif.org/insurance/product/c-ds/

دوره هنر کدنویسی، پیاده سازی با ذهنیت یک معمار
https://shop.alumsharif.org/insurance/product/c-sdwa/


@gocasts
22👍10🔥6
لذت بردم از خوندن این مقاله
امروز مقاله‌ای خوندم به اسم «My AI Skeptic Friends Are All Nuts» نوشته‌ی Thomas Ptacek که خودش خیلی برنامه نویس با سابق ای هست، سعی کرده نگاهی صریح و جسورانه داشته باشه به این‌که چرا نادیده گرفتن ابزارهای AI در توسعه نرم‌افزار اشتباهه.

نکته‌ش چیه؟ AI قرار نیست خلاقیت رو حذف کنه، ولی واقعاً داره نحوه کدنویسی ما رو متحول می‌کنه. از درک ساختار کد تا اجرای تست‌ها — مدل‌های زبانی بزرگ فراتر از یک دستیار عادی هستن، بلکه شیوه کار کردن و کدنویسی رو متحول میکنن.

این مقاله نمی‌گه که هوش مصنوعی قراره برنامه‌نویس‌ها رو جایگزین کنه. بلکه پیام اصلیش خیلی ‌واقع‌بینانه‌تره:
برنامه‌نویس‌ها باید هوش مصنوعی رو بپذیرن — نه از ترسِ حذف شدن، بلکه چون می‌تونه اون‌ها رو چند برابر مؤثرتر کنه.


نویسنده مقاله منتقد کسانیه که بدون شناخت درست، ابزارهای AI رو دست‌کم می‌گیرن.
هوش مصنوعی قرار نیست تفکر خلاق، طراحی معماری، یا حل مسئله‌های عمیق رو جایگزین کنه. و نکته مهم اینه که این موارد همچنان قلب مهندسی نرم‌افزارن.
نکته مهم دیگه اینه که AI می‌تونه کارهای تکراری، روتین و وقت‌گیر رو مثل جست‌وجوی داکیومنت‌ها، درک کدهای بزرگ، یا نوشتن تست‌های ساده رو انجام بده.
برنامه‌نویسی که از AI به درستی استفاده کنه، ابزار قدرتمندی در دستشه. کسی که نادیده‌ش بگیره، ممکنه عقب بیفته — نه به این دلیل که حذف می‌شه، بلکه چون از بقیه عقب می‌مونه.


نکته آخر اینکه بحث «AI برای جایگزین برنامه‌نویس» نیست. بحث «برنامه‌نویسی به کمک AI در برابر برنامه‌نویسی بدون AI» هست.

قرار نیست AI جای برنامه نویس رو بگیره. اما برنامه‌نویسی که از AI استفاده می‌کنه، شاید جای کسی که از AI به درستی استفاده نمیکنه رو بگیره.


این لینک مقاله اصلی
https://fly.io/blog/youre-all-nuts



@gocasts

Ai for Software
@aicasts_ir
19👍9🔥3
از Ubuntu نسخه ۲۵.۱۰ ابزار sudo-rs به جای sudo قدیمی استفاده خواهد شد. این نسخه جدید با rust نوشته شده، علت این اتفاق memory safe بودن rust ذکر شده، چون ابزار sudo خیلی حیاتی هست و از نظر امنیتی توجیه پذیر هست که با زبانی مثل rust نوشته بشه.

دستور sudo تغییر نمیکنه ولی عملا sudo-rs اجرا میشه در ۲۵.۱۰.

اگه همه چیز خوب پیش بره احتمالا ابزارهای سیستمی بیشتری با زبان rust بازنویسی خواهند شد که فراگیر شدن این زبان رو افزایش میده.

Ubuntu 25.10 Switches to Rust-based Sudo
https://www.omgubuntu.co.uk/2025/05/ubuntu-25-10-rust-sudo-rs-change


@gocasts
👍349👏2
Go Casts 🚀
یه سری از مهندس ها هستن که از همون لحظه اول که باهاشون هم کلام میشی متوجه میشی که با کوله باری از تجربه و دانش مواجهی و اگه فرصت طلب باشی تا بتونی سعی میکنی از دریای دانش شون ذره ای بهره مند بشی. بهراد جان از نظر من قطعا جز همین دسته از مهندسین هست، که نه…
دوستانی که پیگیر دوره system design مهندس زاری بودید دو تا آپدیت دارم براتون.

اول اینکه امکان خرید قسطی هم فراهم شده، ۵۰ درصد در ابتدای دوره و ۵۰ درصد مابقی در اواسط دوره پرداخت میشه.

دوم اینکه این کد تخفیف ها رو روی هر دو دوره میتونید استفاده کنید.

کد تخفیف ۳۰ درصد برای خرید نقدی
off-30bzv9s

کد تخفیف ۱۰ درصد برای خرید قسطی
off-10bzauv

تاریخ شروع کلاس ها هم ۲۵ خرداد هست.

از اینجا میتونید خرید رو انجام بدید
دوره سیستم دیزاین، طراحی سیستم های مقیاس پذیر
https://shop.alumsharif.org/insurance/product/c-ds/


@gocasts
7🔥7👍2
داشتن distributed unique id یکی از الزامات خیلی رایجه distributed serviceهاست.
این مقاله یه بررسی خوبی در مورد عملکرد uuid v4 و v7 داشته که میتونید ازینجا بخونید.
https://dormoshe.io/trending-news/postgresql-uuid-performance-benchmarking-random-v4-and-time-based-v7-uuids-n9b-84866

در حال حاضر دیتابیس postgresql بصورت native از uuid v7 پشتیبانی نمیکنه، یا باید در سطح اپلیکیشن id رو تولید کنید و یا اینکه از extensionهایی مثل pg_uuidv7 استفاده کنید.
https://github.com/craigpastro/pg_uuidv7

اینکه id در سطح اپلیکیشن ساخته بشه یا دیتابیس ملاحظات مختلفی داره

مثلا برای uuid v7 که time-based هست حفظ درستی ساعت دیتابیس ممکنه راحت تر از حفظ درستی ساعت همه سرورهای اپلیکیشن باشه

مزیت دیگه اینکه سمت اپلیکیشن باشه اینه که تولید id وابسته به دیتابیس خاصی نیست و همچنین DB roundtrip برای تولید id رو هم حذف میکنه

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

Go: https://github.com/google/uuid
python: https://pypi.org/project/uuid7
.NET 8+: Built-in support


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

مواظب خودتون و خانواده هاتون باشید، ان شاءالله و به امید خدا این شرایط سخت هم بزودی و با سلامتی و سربلندی برای تموم مردم و کشورمون تموم بشه.

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

اگه فکر کردید گپ زدن در مورد نگرانی هاتون میتونه کمکی کنه من در حد توان در خدمتم.
مخلص همه تونم ❤️🖤

@gocasts
147🔥7🤝1
سلام دوستان
امیدوارم حالتون خوب باشه

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

مخلص همگی ❤️

@gocasts
102👍5
سلام به همه دوستان، احتمال خیلی زیاد خبرهای مبنی بر قطع دسترسی به اینترنت بین الملل رو شنیدید، برای اینکه از حال همدیگه بی خبر نمونیم مجبوریم از یه پلتفرم داخلی موقت استفاده کنیم که بتونیم از حال هم با خبر باشیم.

بین پلتفرم های داخلی شاید بله از بقیه شون قابل استفاده تر باشه، من اینجا کانال زدم اگه تمایل داشتید عضو بشید
https://ble.ir/gocasts


چه اومدید و چه نیومدید بدونید خیلی خیلی مخلص تک تکتونم، مواظب خودتون باشید، به امید دیدار همه تون، خیلی زود، در پناه خدا ❤️
یا علی


@gocasts
34
سلام دوستان
این روزها ممکنه نگران حملات سایبری باشید برای سرویس هاتون، اگه دغدغه ای در این موارد دارید بهم پیام بدید، در حد توان حتما کمک میکنم ان شاءالله، هر چی از دستم بر بیاد.

مخلصم ❤️
یا علی

@gocasts
59🔥2
سلام به همه دوستان

سخته که بخوام مثل سابق بدون در نظر گرفتن جو روانی ای که همگی در ۲ هفته گذشته تجربه ش کردیم صرفا در مورد مسائل فنی صحبت کنم ولی تلاشم رو میکنم. ان شاءالله که هیچوقت کشورمون دیگه درگیر جنگ و شرایط مشابه نشه. تو این دو هفته که اکثر ماها با تنش های روانی زیادی مواجه بودیم یکسری از عزیزان شغل شون رو از دست دادند که امیدوارم بزودی موقعیت شغلی مناسب فراهم بشه براشون. یکسری دیگه از عزیزان جونشون رو از دست دادند که به همه خانواده های داغدارشون تسلیت میگم و من خودم رو تا ابد مدیون جانفشانی شون میدونم که در راه دفاع از وطن و مردم ایران در مقابل دشمن صهیونی، خودشون رو فدا کردند، واقعا نمیدونم چطوری میتونم حتی یه بخش خیلی خیلی کوچیکی از دین م رو بهشون ادا کنم.

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

مخلصم همه تون هستم، اگه فکر کردید میتونم کمکی کنم حتما بهم پیام بدید.

اگه شرکت هایی هستند که به دنبال نیرو هستند اطلاع بدند که اطلاع رسانی کنم در حد توان و دوستانی که در این مدت از کار بیکار شدن بتونن موقعیت جدید پیدا کنن.

@gocasts
98👍3
خیلی جالبه، سازنده flask (از فریمورک های معروف پایتون) خودش پیشنهاد میکنه پروژه های جدید بکندی رو با گولنگ بنویسید!

https://lucumr.pocoo.org/2025/6/12/agentic-coding/

I've evaluated agent performance across different languages my workload, and if you can choose your language, I strongly recommend Go for new backend projects

https://x.com/mitsuhiko/status/1933089807309193706?t=5XC9DqTRn80PmSQM3e0vrQ&s=19


@gocasts
🔥46👏32👍1