Go Casts 🚀 – Telegram
Go Casts 🚀
8.39K subscribers
283 photos
20 videos
13 files
502 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
درک رفتار و تفاوت دو شیوه Shared Memory vs. Message Passing میتونه به شما کمک کنه که مکانیزم های concurrency در زبان های مختلف رو بهتر درک کنید و طراحی بهتری در سیستم داشته باشید.

مقاله جالبی در همین مورد منتشر شده که شما رو به خوندنش دعوت میکنم.
Hey process there is a message for you
https://www.poeticoding.com/hey-process-there-is-a-message-for-you/



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

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

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

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

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


@gocasts
👍10
یکی از دوستان پلتفرمی رو معرفی کرد که خیلی خوبه برای تقویت مهارت های مهندس نرم افزار

اینطوریه که بصورت مرحله به مرحله شمارو راهنمایی میکنه که یکی از ابزارهای پرکاربرد رو از صفر توسعه بدید، ابزارهایی مثل ردیس یا git و غیره…

البته خیلی از قسمت هاش پولیه ولی برای ایرانیا ۵۰ درصد تخفیف میده
https://app.codecrafters.io/pay

Become a better software engineer.
Stop following tutorials designed for beginners.
Start working on projects that actually challenge you.
Become a better engineer through deliberate practice.
https://codecrafters.io

@gocasts
24👍9😍1
برای اینکه یه LLM Model کارایی کافی رو داشته باشد، باید بتونه context موضوع در حال تعامل رو بخوبی درک کنه و در توالی تعاملات اون context رو حفظ کنه.
در یکی دو سال اخیر که استفاده از llmها در ساخت اپلیکیشن ها زیاد شده، چون الگوی خاصی وجود نداشت هر سیستمی به شیوه خودش سعی میکرد context رو مدیریت کنه و این قضیه چالش برانگیز بود.

معرفی MCP یا همون Model Context Protocol و A2A یا همون Agent to Agent Protocol برای حل کردن همین چالش هست.


این مقاله خیلی مفصل MCP و A2A رو بررسی کرده و معماری و کاربردهای واقعی شون رو هم بیان کرده، خوندن ش رو خیلی توصیه میکنم

MCP vs A2A: Understanding Context Protocols for AI Systems
https://devrelguide.com/blog/mcp-vs-a2a


@gocasts


Ai for Software
@aicasts_ir
👍245
اخیرا داکر یه قابلیتی رو اضافه کرده به اسم Docker Bake، برای مدیریت buildهای پیچیده مناسبه.

اگه buildهای مختلفی برای استیج های مختلف ci مثل lint و test و غیره هم دارید این ابزار بهتون کمک میکنه به شیوه declerative تر و ساده تری مدیریت کنید بیلدهاتون رو.

پروژه هایی که monorepo هستند ولی بیلدهای متنوع دارن هم میتونن ازش استفاده کنن.
سازگاری خیلی خوبی هم با docker-compose داره.

Docker Bake is Now Generally Available in Docker Desktop 4.38!
https://www.docker.com/blog/ga-launch-docker-bake/


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

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

Warp Terminal
The intelligent terminal.
Become a command line power user on day one. Warp combines AI and your dev team’s knowledge in one fast, intuitive terminal.
https://www.warp.dev

@gocasts
👍35🔥5
این مقاله نکات ساده و مهمی رو برای طراحی 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