امین رشیدبیگی
  • |
  • English
  • نوشته‌ها
  • میزگرد
  • منتورینگ
  • دربارهٔ من

مهندسی

همه رهبری مهندسی مسیر شغلی مرور سال کانال تلگرام

دیروز برام ایمیل اومد که دامنهٔ expedition-diaries داره…

دیروز برام ایمیل اومد که دامنهٔ expedition-diaries داره منقضی میشه. چند سال پیش چالشی برای خودم تعریف کردم که پروژه‌ای رو شروع کنم و همهٔ بخش‌های مختلفش مثل بکند و فرانت‌اند و زیرساخت رو خودم پیش ببرم. قبلاً در هر کدوم از این بخش‌ها تجربه‌های مستقلی داشتم اما هرگز فرصت توسعهٔ همهٔ این بخش‌ها در کنار هم و با هم رو نداشتم. از طرفی هم برای هر کدوم از این بخش‌ها اهداف متفاوتی داشتم: ...

سپتامبر 23, 2024 · 3 دقیقه · امین رشیدبیگی

چند وقت پیش فایل‌های Protocol Buffer پروژه‌ای رو…

چند وقت پیش فایل‌های Protocol Buffer پروژه‌ای رو مرتب‌ می‌کردم که دیدم این دو فیلد در بین چندین message پروژه تکرار شده: message A { ... int64 seconds = n; int64 nano_seconds = m; ... } با توجه به این که این دو خط عیناً تکرار شده بود، یک message تعریف کردم و به جای اون دوتا فیلد از message جدید استفاده کردم: message Timestamp { int64 seconds = 1; int64 nano_seconds = 2; } message A { ... Timestamp timestamp_utc = p; ... } بعداً متوجه شدم که Timestamp هم یکی از تایپ‌هاییه که به صورت استاندارد تعریف شده و نیازی نیست خودمون تعریف کنیم. به همین خاطر message‌ها رو به دوباره بازنویسی کردم: ...

اوت 19, 2024 · ۱ دقیقه · امین رشیدبیگی

How to create software quality.

کیفیت نرم‌افزار چیه دقیقاً؟ اگر برای توسعهٔ یک محصولی Automated Test خیلی خوبی توسعه بدیم می‌تونیم بگیم که کیفیت بهتر شده؟ یا این که اگر برای دیپلوی‌ها Automated Rollouts داشته باشیم می‌تونیم بگیم حتماً کیفیت رو بهبود دادیم؟ توی این نوشته Will Larson سعی کرده مشاهدات و تجربیاتش در مورد کیفیت نرم‌افزار رو جمع‌آوری کنه و خلاصه کنه. در ابتدا سعی می‌کنه یک تعریف کلی از کیفیت ارائه بده. بعد این مسئله رو به پیچیدگی محصولی که داریم روش کار می‌کنیم ارتباط می‌ده. در ادامه هم به برخی موضوعات دیگر پیرامون همین موضوع می‌پردازه. ...

ژوئن 27, 2024 · ۱ دقیقه · امین رشیدبیگی

Ten Years and Counting: My Affair with Microservices

چند هفته پیش همایون توی لینکداین این پست رو به اشتراک گذاشته بود و امروز فرصت کردم که بخونمش. یکی از مهندس‌های شرکت allegro که ده سال اخیر رو توی این شرکت بوده و تغییر و تکامل قسمت‌های مختلف فنی شرکت رو دیده این پست رو نوشته. نویسنده با لحن خیلی ساده و از نظر من فروتنانه‌ای از تغییرات معماری، زبان برنامه‌نویسی، دیتابیس‌ها، فرهنگ شرکت و … نوشته. من این یک خط از متن پست رو خیلی دوست داشتم: ...

ژوئن 15, 2024 · ۱ دقیقه · امین رشیدبیگی

What is DDD - Eric Evans - DDD Europe 2019

آقای Eric Evans که پدیدآورندهٔ نگاه Domain-Driven Design هستش، توی این ویدیو سعی می‌کنه که خیلی سطح بالا اهمیت Domain و Model و تفاوت‌هاشون رو در طراحی‌های نرم‌افزاری توضح بدن. برای این کار هم از چندین مثال واقعی استفاده می‌کنه تا تفاوت شیوه‌های مختلف Model کردن یک مسئله در دنیای واقعی به طراحی نرم‌افزاری رو نشون بده. 🔗 لینک ویدیو

مهٔ 25, 2024 · ۱ دقیقه · امین رشیدبیگی

Scaling to Count Billions - Canva Engineering Blog

تولیدکننده‌های محتواهای هنری مثل لوگو، تمپلیت عکس و … می‌تونن محصولاتشون رو برای فروش توی Canva بذارن تا کاربرها بتونن این محصولات رو بخرن و توی طراحی‌هاشون استفاده کنن. توی این نوشته از بلاگ فنی Canva، به چالش پرداخت سهم این تولیدکننده‌ها پرداختن. نویسنده‌ از اینجا شروع کرده که در ابتدا طراحی رو خیلی ساده و ابتدایی پیش بردن و به مرور مقیاس بزرگ شده و باعث شده که کدها خیلی پیچیده بشن و دیباگ‌هم سخت‌تر شده. بعد نحوهٔ بازطراحی سیستم‌ها و تغییر تکنولوژی‌ها رو توضیح دادن. دوتا تغییر کلی که دادن به این شکل بوده: ...

مهٔ 17, 2024 · ۱ دقیقه · امین رشیدبیگی

Vector Search: An Introduction

من در بازهٔ اخیر زمان قابل توجهی بر روی مسئلهٔ‌ جستجوی برداری یا vector search گذاشتم. این شیوهٔ جستجو که چند سالیه که بیشتر باب شده و در شرکت‌های بزرگی مثل Netflix و Pinterest به کار گرفته میشه، این امکان رو میده که بر روی مدیاهای غیر متنی مثل صوت، تصویر و ویدیو هم جستجو کنیم. جدا از این مدیاهای غیرمتنی، می‌تونه کمک کنه که جستجوی متنی بهتری رو هم داشته باشیم و به کمکش بر روی اطلاعات استنباط شده از متن جستجو کنیم. ...

آوریل 16, 2024 · ۱ دقیقه · امین رشیدبیگی

Popular git config options - Julia Evans

تنظیمات و کانفیگ‌های git در یک فایل به آدرس ~/.gitconfig ذخیره شده. شما می‌تونین تنظیمات دیفالت گیت رو با تغییر این فایل و یا داخل پروژه و به صورت locally تغییر بدین. Julia Evans توی این پست از git configهایی نوشته که احتمالاً شما هم مثل من از خیلی‌هاشون خبر نداشتین که اتفاقاً می‌تونن خیلی هم کاربردی باشن. چند تا از configهایی که خودم بعد از خوندن این نوشته اعمال کردم: ...

مارس 28, 2024 · 2 دقیقه · امین رشیدبیگی

در قسمت نظرهای پست قبلی مهدی خوشنودی موضوع…

در قسمت نظرهای پست قبلی مهدی خوشنودی موضوع «تخمین زدن» رو از زاویه‌ای بررسی کرد که از نظرم جالب و ارزشمندی بود و گفتم اینجا هم به اشتراک بذارم. فقط متن طولانی بود و نمی‌شد از قابلیت نقل قول تلگرام استفاده کرد و من متن رو کپی می‌کنم. مهدی: “زوایه‌ای از موضوع که خیلی برای من جالبه و همیشه بهش فکر می‌کنم خود ایدهٔ «تخمین زدن» هست. در اولین پاراگراف هم از این پیش‌فرض این که تخمین زدن یه مهارته مهم و تاثیرگذاره صحبت می‌کنی و به نظرم این کمی جای تأمل داره. من یه درگیری ذهنی سر این با خودم دارم که تلاش می‌کنم همیشه خودم رو سر اینکه خود «تخمین زدن» چقدر ارزش داره به چالش بکشم. به نظرم خیلی ساده‌تره که چارچوب ملموسی برای کار تعریف کنیم و بگیم کار X در مدت زمان Y انجام میشه و همه خیالشون راحته که ذهنشون لازم نیست با پیچدگی و گنگی اینکه مشخص نیست یک کار چقدر طول خواهد کشید دست و پنجه نرم کنن ولی واقعیت دنیا اینه که این‌ها بیشتر حدس و گمانن و در نهایت باید این گنگی رو بپذیریم. ...

مارس 5, 2024 · 3 دقیقه · امین رشیدبیگی

Go v1.22

در روزهای اخیر Go v1.22 عرضه شد. از مهمترین تغییرات این نسخه، اضافه شدن امکان loop زدن بر روی یک integer هستش. مثل کد زیر: package main import "fmt" func main() { for i := range 10 { fmt.Println(10 - i) } } یک بهبود مهم دیگری که توی این نسخه دادن اینه که تغییراتی روی Garbage Collector صورت گرفته که باعث می‌شه که ۱ تا ۳ درصد در مصرف CPU و حدود ۱ درصد در مصرف مموری صرفه‌جویی بشه. ...

فوریهٔ 15, 2024 · ۱ دقیقه · امین رشیدبیگی
« صفحه قبلی  صفحه بعدی  »
© 2026 امین رشیدبیگی · Powered by Hugo & PaperMod