RandRng
2.21K subscribers
162 photos
16 videos
8 files
80 links
جایی واسه احمق‌ها نیست...
Download Telegram
#کاسبان_تحریم

یک سرویس دهنده هست که هزاران بار توی گروها بهش اشاره کردیم و گفتیم حتی اگر از گشنگی داشتید میمردید ازینا سرویس برای خرید محصول نگیرید (این امکان که ایمیل بزنید و اون شرکته براتون غذای مجانی بفرسته بیشتره)

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

اما برای ساده‌ترین اتفاقات هم ایرانیکارت موقع پرداخت از کارت‌های با تراکنش مشکوک استفاده می‌کنه (این بهترین حالت هست؛ چون توی یک سری موارد با ذکر اینکه از سرویس دهنده third-party برای خرید استفاده کردید و آپلود مدارک حداقل اکانت رو بهتون برمی‌گردوند ولی خب پول و سرویس پریده)

توی بیشتر مواقع این شرکت از سرویس‌های تخفیفی که ۱۰۰٪ هم گیر میوفته خرید می‌کنه تا خودش سود بیشتری کنه؛ همونطوری که گفتم چون به کسی هم پاسخگو نبوده و نیست (مقام قضایی و دادستانی و ... هم خواب هستند) این وضعیت همچنان ادامه داره!

بسیاری از دوستان که توی گروه یا کانال پیام می‌ذارند که جطوری می‌تونیم اکانت رو برگردونیم؛‌ دلیل بن شدن اکانت‌هاشون خرید غیرقانونی هست.
مثلا:
سرویس مخصوص دانشجویان اروپایی هست و برای اون‌ها قیمتش شده ۱ دلار برای ماه اول
شما می‌ری از ایرانیکارت خرید می‌کنی و پول کامل رو می‌دی به قیمت ۱۰ دلار در ماه
ایرانیکارت از تخفیف دانشکاهی استفاده می‌کنه و ۱ دلار به اون سرویس دهنده پرداخت می‌کنه
توی ۷۲ ساعت آینده شرکت سرویس دهنده متوجه می‌شه شما با اطلاعات تقلبی خرید کردی و اکانت شما و تمام دیتاها و زحمات و ... بن می‌شه.

این اتفاق بسیار بسیار زیاد افتاده برای بچه‌ها (بعضی شرکت‌ها توی پیگیری دلیل بن شدن اکانت رو توی ایمیل میفرستند) با وجود اینکه خود شرکت اعلام کرده از روش‌های غیرقانونی برای خرید استفاده کردید یا غیرقانونی تخفیف گرفتید و ...
ایرانیکارت همیشه یک جواب میده:
بدون vpn وصل شدید و بخاطر تحریم اکانت محدود شده. (یا چیزی شبیه به همین)


بنظرم این وظیفه دادستانی و مقام قضایی هست که جلوی این کلاهبرداری بزرگ ایرانیکارت رو بگیره بخصوص اینکه توی حداقل ۶ ماه اخیر تقریبا هرکسی که از این شرکت سرویس خریده نتیجه زحمات و پولش دود شده و رفته!
👍428😐4
یک بحثی توی چت کانال بود راجب اینکه وقت نمی‌شه کتاب بخونیم و ...
بیاید من بگم چطوری هست

شما روزی ۸ ساعت کار می‌کنی (نخند مثلا کار می‌کنی) - روزی ۲ ساعت هم توی ترافیک رفت و برگشت هستی.
ترافیک بیشتر هم نمی‌شه؛ یکم زودتر برو و برگرد؛ تا اینجا روزی ۱۰ ساعت رو از دست دادی!

بیاید فرض کنیم شبی ۸ ساعت هم می‌خوابی و ۲ ساعت هم برای کنار خانواده بودن وقت لازم داری (یادت نره این جدای آخر هفته هست) و توی ۲ ساعت تقریبا می‌شه یک فیلم سینمایی هم دید پس کم نیست.
هر شب ۲ ساعت وقت داری کتاب بخونی؛ اگر به کتاب خوندن عادت کرده باشی می‌دونی ۹۸٪ کتابا رو می‌تونی تو بدترین حالت ۱ فصل در ۱ ساعت بخونی! حالا یا شبی ۲ فصل کتاب بخون یا اگر روزی ۹ ساعت کار می‌کنی شبی ۱ فصل کتاب بخون.

آخر هفته رو یادتون هست ؟
نصف روز رو برای خانواده بذار کامل (۱۲ ساعت؛ لطفا کلافشون نکن)
۸ ساعت هم که خوابیدی - ۴ ساعت باقی مونده چیزایی که از خوندن کتاب یاد گرفتی رو تمرین کن.

اینطوری تو بدترین حالت هم ماهیانه ۱ کتاب می‌خونی (درماه بیشتر از ۱ کتاب می‌شه خوند ولی خب من ساده گرفتم)

شاید بگید باقی عادت‌های خوب چطور ؟ مثل ورزش کردن!
۷ ساعت خواب داشته باشی - وقت کافی برای باشگاه هم خواهی داشت (۳۰-۴۰ دقیقه برای سلامتی و رو فرم بودن کافی هست اگر ازش نون در میاری که کار کردنت واسه چیه ؟)

خلاصه به من نگید سالی ۱ کتاب هم وقت نمی‌شه خوند!

همین الان فصل دوم؛ خط اول :
You pick up this book and decide to read one more chapter despite having limited free time.

از کتاب Grokking Reinforcement Learning
53👍15😐5😁1
RandRng
این کانال باشه؛ تا بگم چی میشه! تو ذهنم گفتن از همه چیزه؛ به اندازه‌ای که شمارو علاقمند کنه یا آشنا، کمی هم کمک به شروع کردن بده. اینکه وارد جزئیات بشم یا نه رو نمی‌دونم Python, Rust, Linux, DevOps, .... هرچی یاد میگیرم، یا یاد گرفتم. اینم برای اینکه؛…
یک دوست خیلی نزدیک و عزیزی ازم پرسید؛ کی این رو شروع می‌کنی ؟

حقیقتش این هست که چندوقت قبل از اینکه به اینجا برسم که کانال یوتیوب خودم رو بزنم؛ روی یک هارد قدیمی یک سری کد و ... پیدا کردم از ۲۰۱۷-۲۰۱۸ یا حتی قدیمی‌تر ...
توش یک سری کدها رو زدم (اون موقع خصوصی هم درس میدادم) مثلا یک شبکه عصبی رو با numpy پیاده سازی کردن یا inception v3, mobilenetv2, Resnet, Unet, ... رو از بیس پیاده‌سازی کرده بودم.
اون موقع اینطوری آموزش میدادم که از بیس همه چیز رو یکبار با numpy من کد زده بودم و با بچه‌ها می‌خوندیم؛ دلیلش هم این بود که دیدن فرمول‌ها برای خیلی‌ها ترسناک بود! پس بهتر بود فرمول رو کنار پیاده‌سازی کدها باهم ببینیم؛ وقتی این مرحله گذشت با یک فریمورک (اون زمان تنسورفلو و بعدتر کراس) مدل‌های معروف Vision, NLP, Signal رو مقالاتش رو می‌خوندیم و با فرض نبود کدهاش شروع می‌کردیم پیاده‌سازی کردن.
بعدها برای خودم Transfromers, GPT, ... رو هم پیاده‌سازی کردم.

موقعی که این کدها رو دیدم به این فکر کردم که اگر بشه از همون‌ها برای یک سری ویدئو آنلاین استفاده کنم؛ کدهای دیگه رو هم از تنسورفلو و کراس منتقل کنم روی پایتورچ!
همزمان کلی هم دوره و کتاب و ... برای Rust خوندم که آموزش دادن آنچه که خودم ازش فهمیدم و متوجه شدم خیلی نکته خوبی می‌تونه باشه چون اگر جایی رو هم اشتباه درک کرده باشم باقی افراد ایراداتم رو خواهند گرفت.

این دو مورد دلیلی شد که کانال یوتیوب شخصی بزنم!

توی مدتی که گذشت بسیار درگیر جمع کردن سورس کدهای قدیمی بودم؛ درحال حاضر دارم مطالب رو دسته بندی می‌کنم و از منابع موجود کمک می‌گیرم؛ و بعدش هم ضبط ویدئو و انتشار.

اما اینبار نمی‌خوام ویدئوها رو به محض ضبط منتشر کنم؛ هدفم اینه که حداقل تا اون سطح که شروع خوبی باشه یا خودتون بتونید بعدش ادامه بدید ویدئوهاش رو ضبط کنم و بعد شروع به پخش کنم اینطوری اگر نتونستم اینکار رو بکنم؛ چیزی برای انتشار نیست و نصفه هم نمی‌شه اگر هم که رسید وقتی دارید ویدئوها رو می‌بینید می‌دونید حداقل مطالب ساده و پایه آموزش داده شده پس چیزی برای یادگیری توش هست.


نوشتن این متن هیچ قولی به کسی نیست ولی چون راجب کانال شخصی سوال بود؛ ترجیح دادم شرایط رو توضیح بدم.


همگی شرایط کشور - اینترنت و ... رو می‌دونید.
به این موارد مشکلات شخصی ؛ بیماری و مراقبت و ... رو هم اضافه کنید.
بی‌سوادی من توی کار با ابزارها هم موضوعی جدا هست.
تلاشم رو می‌کنم که بشه و یک چیز خوب بجا بمونه!
67👍10
وقتی یک چیزی گرون میشه توجه‌ها رو به خودش جذب می‌کنه؛ چندین و چندبار ازم سوال شده
رم چی بخریم خوبه ؟

اول اینکه چون اکثر موارد موضوع آپگرید بوده؛ حواستون باشه که موقع آپگرید اگر مادربورد و cpu از رم DDR4 پشتیبانی می‌کنند نمی‌تونی بری سراغ DDR5 پس این گزینه رو بریزید دور.
حتی سرعت رم قبلی هم مهم هست؛ اگر رم سریعتری بخرید توی بهترین حالت سرعتش اندازه رم قدیمی‌تر خواهد بود و توی بعضی شرایط هر دو روی سرعت خیلی کمتر توافق می‌کنند. پس اگر دارید برای افزایش حجم آپگیرید می‌کنید بهتره که مدل رم قبلی خودتون رو بخرید (احتمال اینکه ارزون هم باشه بیشتره و دردسر هم ندارید)

اما اگر دارید سیستم جدید جمع می‌کنید :
۱- اول اینکه؛ اگر می‌تونید شاید بهتر باشه تا ۲۰۲۷ صبر کنید
۲- نگاه به کاری که می‌کنید بندازید؛ سرعت رم بیشتر بصورت کلی روی multitask, video edit, ... تاثیر داره برای ۹۰٪ کارهای برنامه‌نویسی و حتی بازی‌ کردن همون رم‌های 3200 مربوط به DDR4 به اندازه کافی (حتی بیشتر از نیاز) سریع هست.

چیزهایی که معمولا بچه‌ها رو اذیت می‌کنه :
۱- حجم رم: ۸ گیگ کار رو راه می‌ندازه اگر لینوکس دارید؛ ۱۶ گیگ خوبه و ۲۴ گیگ اکثر نیازها رو به راحتی جواب میده. پس ۳۲ گیگ DDR4 با قیمت‌های فعلی خیلی انتخاب خوبی هست.
۲- سرعت هارد (پول رو جای دیگه خرج می‌کنند و هارد ضعیف میشه): حیلی از لگ‌ها و کندی‌هایی که احساس می‌کنید مخصوصا اگر ۱۶ گیگ رم دارید بخاطر سرعت هارد هست مادربرد و هارد فعلی رو سرعتش رو بررسی کنید.
۳- قدرت و سرعت پردازنده؛ از تابستون تا حالا سیستم اصلی توسعه کد من شده لپ‌تاپ خیلی قدیمی نسل 7 اینتل. توی پست‌های قبلی گفتم بخاطر آسیب باطری پردازنده همیشه روی ضعیف‌ترین حالت خودش کار می‌کرد اون زمان حتی لپ‌تاپ رو روشن هم نمی‌کردم انقدر کند بود و نیازی هم نداشتم مگر سالی یکبار یک جایی میرفتم سخنرانی.
وقتی هارد رو تغییر دادم و مشکل پردازنده رو حل کردم (اونم گفتم قبل خرید یک تستی بزنم) دیگه نیازی به روشن کردن سیستم اصلی نداشتم و این موضوع هنوز هم ادامه داره؛ هر موقع مدل‌های هوش مصنوعی رو میخوام ترین کنم فقط سیستم اصلی رو روشن می‌کنم (نیازی به خرید لپ‌تاپ جدید هم نشد)
۴- کانفیگ اشتباه توی بایوس؛ خیلی وقتا می‌بینم بجه‌ها سیستم‌ها یا لپ‌تاپ رو با کانفیگ کارخونه استفاده می‌کنند که ۹۹٪ درست کانفیگ نشده یا برای ذخیره بیشتر باطری کانفیگ شده (شاید برای ۱ سال اول خوب باشه ولی بعدش بهتره دستی بهش بکشید)


خلاصه؛ شخصا DDR5 رو الان توصیه نمی‌کنم بخصوص اینکه ۹۰٪ هم بهش نیازی نداریم؛ قبل از گرونی گزینه خوبی بود ولی الان دیگه اصلا بصرفه نیست.
اگر هم دارید سیستم برای ۱۰ سال آینده جمع می‌کنید (شخصا داشتم اینکار رو می‌کردم که ترجیح دادم حداقل تا اواسط ۲۰۲۷ صبر کنم؛ الگوی قیمت شبیه گذشته هست.) اون موقع بیخیال پول بشید و حتما DDR5 بخرید ولی حداقل از 5600 سریعتر بخرید.
👍177
This media is not supported in your browser
VIEW IN TELEGRAM
داداشمون رو یادگیری vim سیروسه 😂
😁37🔥7👏4
RandRng
داداشمون رو یادگیری vim سیروسه 😂
This media is not supported in your browser
VIEW IN TELEGRAM
😁15
این یکی یک چارت خیلی ساده هست (هوش مصنوعی هم کد زده من فقط گفتم چه نوع چارتی رو برای چه دیتایی استفاده کنه)
رفرنسش هم ۵۰ تا پولدارترین افراد جهان هست.

همونطوری که می‌بینید؛ اکثرا از خانواده‌های پولدار اومدند.
حتی مواردی که نوشته شده Middle Class وقتی اولین شرکت یا استارتاپ خودشون رو راه اندازی کردند؛ حداقل سرمایه خانواده‌اش بیش از
$100,000 دلار بوده.
دقت کنید این افراد اولین شرکتشون رو حداقل ۲۰ سال پیش یا بیشتر تاسیس کردند پس حتی برای فقیر ترین مورد هم پول زیادی بوده

دفعه بعدی که یکی گفت با تلاش خیلی زیاد یا ۵ صبح از خواب پا شدن و مدیتیشن و ... می‌تونی جزو موفق‌ترین‌ها باشی یا خیلی پولدار باشی.
از طرف من بزن تو دهنش

۱۰۰ هزار دلار که می‌گم فقط برای یک مورد بوده و اکثرا نزدیک به ۱ میلیون دلار سرمایه پدریشون بوده حتی اگر ۱ میلیون دلار الان رو هم در نظر بگیریم.
بیش از ۱۲۵ میلیارد تومان رو داریم صحبت می‌کنیم.


من فقط از داده‌های عمومی و سخنرانی‌های خودشون استفاده کردم
👍667🔥4🕊1
چندتا یادآوری موقت کنم؟
👍15
RandRng
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان می‌بندم.
احتمالا برای سال بعدی باید روی ۱۸۰-۲۰۰ ببندم؛ چون
۱- اعتراضی که نیست.
۲- فرار سرمایه گذار که هست
۳- قیمت حمل و نقل و ... هم که داره میره بالا
۴- یک مشت تولید کننده دولتی و خصولتی مونده

که خب برای مورد آخر دولت پولشون رو از جیب ما میده؛ که برای اینکار دلار و ... معمولا میره بالا!
حالا اگر لبنان حزب‌الله و عراق گروهای مختلف رو جم کرد؛ شاید ی چیزی هم به اینجا رسید یک مقدار قیمت اومد پایین ولی بعیده.
👍41🗿32
منطقیه
😁612👍2
دوتا خبر که همه جا پخش شده درمورد opensource توی اروپا و بنظرم خیلی جالبه؛

۱- فرانسه بجای سرویس‌های ماکروسافت مدارس و معلم‌ها و بخش‌های از سرویس‌های دولتی رو برده روی nextcloud
۲- آلمان یکی از بخش‌های کشور؛ بجای office 365 ماکروسافت رفتن سراغ Libreoffice و طبق گزارش خودشون تا اینجا ۱۵ میلیون یورو سالیانه به نفعشون شده (پول لایسنس) البته رقبای سیاسی و ... اعلام کردند این جابجایی چون بدون برنامه بوده ۹ میلیون هزینه آموزش داشته (که خب احمقانه‌اس هم ۶ میلیون ذخیره پول هم آموزش رایگان) حالا فرض کنید کل کشور رو ببرند روی open source

یک خبر خوب دیگه هم :

زبان برنامه‌نویسی Rust از حالت experimental برای کرنل لینوکس در اومد و رسما به اندازه C قابل احترام هست توی کرنل
بدون هیچ شکی System76 باعث دیده شدن Rust توی دنیای لینوکس شد بنظرم؛ اگر نمی‌دونید از سال 2017 زبان Rust وارد PopOS شده و هی داره توی بخش‌های مختلف جایگزین کدهای قبلی می‌شه.
40👍4
یکی نیست به Github بگه آخه من چه لطفی به تو و دنیای OpenSource کردم؛ کرنل لینوکس که رو اکانت من نیست که.

تا میایم دوتا کد بخونیم؛ ۱۰۰ تا ایراد می‌گیره
برم هم two-factor رو ببینم مشکلش چیه؛ چون روز اول اضافه کردم.
هم passkey رو اضافه کنم.
هم ریکاور کدم رو دانلود کنم.

ولی دقیقا این یکی از دلایلی هست که خستم کرده گیت‌هاب
👍12😐3
آها اصلا چی شد رفتم گیت‌هاب

یکی از دوستان این رو معرفی کردند؛ مثل اینکه هم سرعت خوبی داره هم مشکلات کلاینت‌های دیگه رو نداره ؛ و البته از همه مهمتر سبک و کم حجم روی Rust هست
Neovide

شخصا دلیلی برای جابجایی ندارم؛ کانفیگ neovim خودم به خوبی جواب نیاز‌هام رو میده ولی خب.
15👍2
تو زندگیم یادگرفتم همیشه دستم رو زانوی خودم باشه، فقط به خودم تکیه کنم و فقط روی خودم حساب کنم.

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

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

اما حالا دیگه نه پشت دارم نه مشت.

دیگه حالی برای جنگیدن نیست، امیدم به تموم شدن این جنگه.

---------------------

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

برای همه‌‌ی شما و عزیزانتون آرزوی سلامتی دارم.
390🕊14😐1🍾1
مادر
حبیب
حالا نوبت توست، تو بخواب ...
امیدم
90🕊10
چند ماه پیش به واسطه یکی از دوستان و به خواست ایشون به یک نفر یک مقدار پیشنهاد و ... برای مسیر شغلی دادم (بکند) البته بیشتر هدف راهنمایی کردن بود.

ماه پیش با چندتا از هم دانشگاهی‌هاش درخواست دادند که بهشون آموزش بدم، که خب کار من نیست.
ولی نقش منتور رو قبول کردم، ۷ نفر شدند تا هزینه‌ها کمتر بشه.
شبی ۲ ساعت برای جواب به سوالات (تا آخر شب سوالاتشون رو جمع می‌کنند و آخر شب تو گروه می‌پرسند)
آخر هفته‌ها هم تا ۴ ساعت جلسه آنلاین.

سخت‌ترین بخش اینکار هماهنگ کردن ساعت و روزی بود که برای همه شدنی باشه، هیچکدوم از بچه‌ها ایران نیستند.
۲ تا از بچه‌ها تازه شروع کردند سرکار رفتن و جونیور هستند.
۳ نفر دانشجو هستند و مقدمات پایتون رو می‌دوند.
یک نفر تخصصش هوش مصنوعی هست و می‌خواد بکند یاد بگیره.
یک نفر هم توی یکی از شرکت‌های خدمات ابری کار می‌کنه و می‌خواد وارد تیم سرویس و بکند بشه.

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

۲-۳ روز پیش شروع کردم بر اساس ایده پروژه‌هایی که خودشون دادند یک roadmap نوشتن.

برای هر کدوم از بچه‌ها roadmap جداشد (آخر هفته‌ها قراره همین پروژه‌ها رو بخونیم) دلیلشم این بود که هرکدوم ایده خودشون رو داشتند، مثلاً بچه‌هایی که شاغل بودند می‌خواستند چیزی رو کد بزنند که به کارهاشون نزدیک هست.
باقی بچه‌ها، ایده‌های ساده یا استارتاپی داشتند.

حالا که تموم شد و تأیید؛؛؛ گفتم شاید بد نباشه اینجا هم به اشتراک بذارم.

توضیحات بالا برای این بود که اصل داستان رو بدونید و توجه کنید که دلیل roadmap ایی که توی پست بعدی خواهید دید چی هست.

توجه کنید که roadmap پست بعدی درحد کلمه هست، من توقع دارم شما در سطح متوسط پایتون رو بلد باشید و یک دوره ۱ ساعته یک جایی از زندگیتون نشسته باشید و یک فریمورک وب رو به آموزشش گوش داده باشید.
👍4827🔥2👏2
RandRng
چند ماه پیش به واسطه یکی از دوستان و به خواست ایشون به یک نفر یک مقدار پیشنهاد و ... برای مسیر شغلی دادم (بکند) البته بیشتر هدف راهنمایی کردن بود. ماه پیش با چندتا از هم دانشگاهی‌هاش درخواست دادند که بهشون آموزش بدم، که خب کار من نیست. ولی نقش منتور رو قبول…
#Backend_RoadMap_2025
قبل از اینکه بخواید این roadmap رو دنبال کنید باید پست قبلی رو بخونید.
یک نکته‌ای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک می‌کنم حل بشه و ...) اما اینکه آموزش بدم FastAPI چیست و جطوری CRUD بنویسیم و ازین موارد با اوضاع الانم اصلا نمی‌خونه پس دلیل ساده بودنش همین پست قبلی هست.

چیزایی که توقع دارم یک Senior توی جنبه‌ی فنی بکند بلد باشه (اعداد هیچ ربطی به ترتیب یادگیری نداره؛ فقط برای این هست که تهش بدونم چندتا مورد رو گفتم) از دوستان Senior هم می‌خوام اگر نکته یا موردی جا افتاده بهم یادآوری کنند.
بازم توجه کنید Senior شدن کلی جنبه‌های مختلف داره ولی برای بخش فنی مربوط به بکند این لیست کافی و قوی هست؛ برای بحث‌های دیگر هم از منابع خودش می‌تونید دنبال کنید.

فریمورک مورد نظرتون رو کمی بشناسید (من روی FastAPI پیش میرم ولی خیلی فرقی نیست)

1. Middleware: Starlette interface for how to write middleware.
Must know: auth, request ID, timing, gzip, validators, rate-limit, logging.
Important to know the order of execution.

2. CORS (and headers in general).

3. Authentication / Authorization: What is JWT + RS256.
Nice to know: Auth0, Cognito.

4. SQL and SQLAlchemy 2.0 (async style).

5. Tests:
* Unit tests for business logic.
* Integration tests for database, Redis, etc. interactions.
* Contract tests (very important) for endpoints and services you use.

6. Benchmarking: k6, load testing, CI smoke tests for performance-sensitive endpoints; wrk, hyperfine (or alternatives).

7. Docker / Docker Compose: multi-stage builds.

8. Profiling: Scalene or Perf — flamegraph interpretation.

9. Caching (Redis): cache invalidation; GET/SET strategies (Cache-Aside vs Write-Through).

10. Background tasks:
FastAPI background tasks & Dramatiq (or other alternatives).
Don't bring Celery or its equivalent into projects — it's heavy and overkill in most cases.
Use/understand: idempotency, retries, dead-lettering.

11. Observability: Logging, tracing, metrics.
Logs must be structured (JSON is a good option).
Distributed tracing is a must-have.
Metrics (Prometheus) are important — at minimum: response_time_ms, active_connections, etc.

12. Configuration management: Pydantic Settings; no hard-coded settings or configs.

13. Migrations: Alembic — each migration should have both UP and DOWN so it is safe to revert.

14. API documentation: FastAPI provides it automatically, but don't forget to use the Pydantic model example field.
BTW: Pydantic v2 is the only accepted version.

15. Error handling + correct HTTP codes.

16. Graceful shutdown:
App must stop accepting new HTTP connections,
finish processing current requests,
drain the database connection pool,
then exit.

17. Idempotency and retries:
For network/database failures — learn exponential backoff, circuit breakers, bulkheads.

18. Health checks and readiness probes: The app must provide them (Docker health check alone is not accepted).

19. Connection pooling tuning: Postgres, Redis, etc.
You must be able to explain tuning decisions based on your benchmarks/profiling results.

20. Security basics: Input sanitization/validation, rate limiting, secrets management, secure defaults (CSP, HSTS), threat modeling for endpoints.

21. Scalability patterns: Focus on connection pooling and indexing first.
Too many or unnecessary indexes = Fail.
Nice to learn: horizontal scaling, load balancing, sharding, replication.

22. Feature flagging (dynamic configuration): All projects should have it — very important.

23. API versioning strategy: Header versioning / URL versioning.

24. Architecture Decision Records
From day 1 you must have this document in the project with at least 3 entries per decision:
What you decided.
Why you did that.
What the consequences are.
--————————————-
Future / next steps

1. Design system architecture.
2. Integrate message queues (when and why to use them) — Kafka, RabbitMQ.
3. Event-driven patterns.
4. Optimize for latency.
5. GraphQL / gRPC — when and why to use them.


پینوشت: اگر جایی کپی کردید؛ لطفا پیام قبلی و بعدی رو هم بذارید 🌱
توضیحات مهم هست.
66💯4👍1🔥1