ی جملهی معروفی هست:
در اعتراض به دزدی، اختلاس، ناکارآمدی و فساد و ... هم
«در جنگها، این سربازاناند که کشته میشوند، نه رهبران.»
در اعتراض به دزدی، اختلاس، ناکارآمدی و فساد و ... هم
دزد و مختلس و مسئولِ ناکارآمد در آرامشاند،
اما
این معترض و محافظاند که روبهروی هم وایساده و همدیگر را میکشند.
معترض میدونه برای چی اعتراض میکند.
اما آقای محافظ…
تو هم میدانی از چی داری دفاع میکنی؟
❤128👍32
Forwarded from RandRng
Donald J. Trump on Truth
یک ۱۰ دقیقهای هست دارم متن مینویسم؛ که با این پست به اشتراک بذارم ولی حقیقتش همرو پاک کردم چون هرچی بگم ننگ؛ درد و غم این پست رو کم میکنه!
نیروی نظامی کشور خودم؛ مردم خودم رو میکشه!
اونوقت همین مردم؛ باید از پیام تهدید به حمله کشورهای دیگه خوشحال بشوند.
با شناختی که از پدرم داشتم؛ یک وقتایی خداروشکر میکنم که بعنوان یک ارتشی زنده نیستند و این خبرها رو نمیبینه.
اگر ایران به معترضان صلحجو تیراندازی کند و آنها را بهطور خشونتآمیز بکشد، که این کار معمول آنهاست، ایالات متحده آمریکا برای نجات آنها وارد عمل خواهد شد. ما آماده حرکت و مسلح هستیم. از توجه شما به این موضوع سپاسگزارم!
رئیسجمهور دونالد جِی. ترامپ
یک ۱۰ دقیقهای هست دارم متن مینویسم؛ که با این پست به اشتراک بذارم ولی حقیقتش همرو پاک کردم چون هرچی بگم ننگ؛ درد و غم این پست رو کم میکنه!
نیروی نظامی کشور خودم؛ مردم خودم رو میکشه!
اونوقت همین مردم؛ باید از پیام تهدید به حمله کشورهای دیگه خوشحال بشوند.
با شناختی که از پدرم داشتم؛ یک وقتایی خداروشکر میکنم که بعنوان یک ارتشی زنده نیستند و این خبرها رو نمیبینه.
❤104👍21
Forwarded from RandRng
توی پست مربوط به رودمپ بکند :
Backend Roadmap
برای آخرین مورد گفتم که حتما همهی بچهها باید از روز اول
اما خیلیها (مثل بچههایی که باهاشون کار میکنم) پرسیدید چرا باید
جواب کوتاه:
هیچ ابزار - هیچ کتاب و ... دیگری به اندازه نوشتن
اما اگر توضیحات برای قانع شدن میخواید ادامه مطلب رو بخونید:
بخش بزرگی از کار یک مهندس نرمافزار (بخصوص توی سطوح بالاتر) یادگیری بحث و مناظره کردن هست؛ چیزی که توی سالهای اخیر همکاریم با بچهها توی ایران خیلی خیلی کم دیدم. این بحثها اکثرا سر چه چیزهایی هست ؟
۱- از کدوم فریمورک استفاده کنیم
۲- با کدوم استاندارد پیش بریم
۳- دیتابیس چی بذاریم
۴- تست نویسی چطوری باشه
۵- چرا از این ابزار استفاده کنیم یا نکنیم
و ...
شما هرروز درگیر این بحثها خواهید بود و اینکه بتونید از پیشنهادات خودتون بطور منطقی دفاع کنید موضوع بسیار بسیار مهمی هست.
وقتی شروع به نوشتن
میکنید یاد میگیرید ابزاری که دارید انتخاب میکنید رو همه جنبههاش رو ببینید؛ خیلی وقتا ابزارهایی که افراد انتخاب میکنند فقط بخاطر
خیلی وقتا این مکالمه رو شنیدیم:
آره دوست من ولی گوگل چندین میلیارد کاربر داره و تو به زور به ۵ هزارتا میرسی.
گوگل هزاران نفر توسعه دهنده داره ولی تیم تو به زور به ۱۰ نفر میرسه.
گوگل میلیاردها دلار خرج زیرساخت و دستمزد و ... میده.
تو زیرساختت به زور ۱۰۰ هزار دلار میشه.
برای خود من موقع بحث سر موضوعاتی که بچهها باید یاد بگیرند برای توسعه بکند همین موضوع پیش اومد یکی از بچهها گفت برای سرویس ارسال ایمیل از
برای پروژههای کوچیک اشتباه هست که توی قدم اول برید سراغش؛ اما اگر کسی بتونه
درسته وقتی تنهایی کد میزنید به
۱- این ابزارها برای چه کاری هستند و چرا فکر میکنید توی پروژه لازمشون داریم ؟
۲- چرا هرکدوم از ابزارها رو در نظر گرفتید؟ (چرایی مهم هست)
۳- انتخاب شما کدوم بوده ؟ و البته چرا ؟
۴- نقاط قوت و ضعف ابزاری که انتخاب کردید چی هست ؟
۵- نقاط قوت و ضعف ابزارهایی که انتخاب نشدند چی هست؟
۶- تحت چه شرایطی ابزارهای دیگر رو انتخاب میکردید یا اینکه شرایط پروژه چی بود که نقاط قوت ابزار انتخابی شما به باقی موارد و البته نقاط ضعف اون چربید و انتخاب شد.
فکر میکنم از سوالها مشخص باشه که چقدر چیز مفید و مهم رو درک میکنید و یاد میگرید.
آیا همه پروژهها این رو دارند ؟
به جرات میگم که بیش از ۹۲-۹۳٪ پروژهها و حتی شاید توسعه دهندهها حتی نمیدونند چی هست؛ ولی تمام پروژهها و تمام مدیران فنی و اعضای تیمهاشون هرروز درگیر یکی از این تصمیم گیریها هستند.
به مدیرای فنی هم پیشنهاد میکنم توی تیم این موضوع رو داشته باشید؛ خیلی وقتا نیرو احساس میکنه حرفهاش شنیده نمیشه درصورتی که شما میدونید چیزی که پیشنهاد میکنه خوب نیست برای پروژه فقط وقت برای توضیح دادن بهش رو ندارید.
معمولا با نوشتن
Backend Roadmap
برای آخرین مورد گفتم که حتما همهی بچهها باید از روز اول
ADR بنویسند؛ سر این موضوع با هیچ کدوم از بچهها شوخی ندارم.اما خیلیها (مثل بچههایی که باهاشون کار میکنم) پرسیدید چرا باید
ADR بنویسیم بهتر نیست وقتمون رو روی کد زدن و تمرین و یادگیری بذاریم.جواب کوتاه:
هیچ ابزار - هیچ کتاب و ... دیگری به اندازه نوشتن
ADR شمارو تست نمیکنه و به شما یاد نمیده حتی.اما اگر توضیحات برای قانع شدن میخواید ادامه مطلب رو بخونید:
بخش بزرگی از کار یک مهندس نرمافزار (بخصوص توی سطوح بالاتر) یادگیری بحث و مناظره کردن هست؛ چیزی که توی سالهای اخیر همکاریم با بچهها توی ایران خیلی خیلی کم دیدم. این بحثها اکثرا سر چه چیزهایی هست ؟
۱- از کدوم فریمورک استفاده کنیم
۲- با کدوم استاندارد پیش بریم
۳- دیتابیس چی بذاریم
۴- تست نویسی چطوری باشه
۵- چرا از این ابزار استفاده کنیم یا نکنیم
و ...
شما هرروز درگیر این بحثها خواهید بود و اینکه بتونید از پیشنهادات خودتون بطور منطقی دفاع کنید موضوع بسیار بسیار مهمی هست.
وقتی شروع به نوشتن
ADR = Architecture Decision Recordsمیکنید یاد میگیرید ابزاری که دارید انتخاب میکنید رو همه جنبههاش رو ببینید؛ خیلی وقتا ابزارهایی که افراد انتخاب میکنند فقط بخاطر
hype هست و جو زده هست اون انتخاب بدون اینکه بدونند آیا واقعا بدردشون میخوره یا مناسب کارشون هست.خیلی وقتا این مکالمه رو شنیدیم:
- چرا فلان ابزار رو انتخاب کردید ؟
+ گوگل داره ازین استفاده میکنه؛ چی ازین بهتر
آره دوست من ولی گوگل چندین میلیارد کاربر داره و تو به زور به ۵ هزارتا میرسی.
گوگل هزاران نفر توسعه دهنده داره ولی تیم تو به زور به ۱۰ نفر میرسه.
گوگل میلیاردها دلار خرج زیرساخت و دستمزد و ... میده.
تو زیرساختت به زور ۱۰۰ هزار دلار میشه.
برای خود من موقع بحث سر موضوعاتی که بچهها باید یاد بگیرند برای توسعه بکند همین موضوع پیش اومد یکی از بچهها گفت برای سرویس ارسال ایمیل از
celery استفاده کنیم پس اینم بنویسید؛ که اگر نگاه کنید من ممنوع کردم استفادهاش رو celery سرویس بسیار بزرگ و سنگینی هست.برای پروژههای کوچیک اشتباه هست که توی قدم اول برید سراغش؛ اما اگر کسی بتونه
ADR خوب بهم بده قطعا قبول میکنم.درسته وقتی تنهایی کد میزنید به
ADR نیازی نیست اما نوشتنش باعث میشه یاد بگیرید بحث کنید؛ توی نوشتن ADR معمولا شما به چندتا ابزار میرسیدو باید این چیزها رو توضیح بدید :۱- این ابزارها برای چه کاری هستند و چرا فکر میکنید توی پروژه لازمشون داریم ؟
۲- چرا هرکدوم از ابزارها رو در نظر گرفتید؟ (چرایی مهم هست)
۳- انتخاب شما کدوم بوده ؟ و البته چرا ؟
۴- نقاط قوت و ضعف ابزاری که انتخاب کردید چی هست ؟
۵- نقاط قوت و ضعف ابزارهایی که انتخاب نشدند چی هست؟
۶- تحت چه شرایطی ابزارهای دیگر رو انتخاب میکردید یا اینکه شرایط پروژه چی بود که نقاط قوت ابزار انتخابی شما به باقی موارد و البته نقاط ضعف اون چربید و انتخاب شد.
فکر میکنم از سوالها مشخص باشه که چقدر چیز مفید و مهم رو درک میکنید و یاد میگرید.
آیا همه پروژهها این رو دارند ؟
به جرات میگم که بیش از ۹۲-۹۳٪ پروژهها و حتی شاید توسعه دهندهها حتی نمیدونند چی هست؛ ولی تمام پروژهها و تمام مدیران فنی و اعضای تیمهاشون هرروز درگیر یکی از این تصمیم گیریها هستند.
به مدیرای فنی هم پیشنهاد میکنم توی تیم این موضوع رو داشته باشید؛ خیلی وقتا نیرو احساس میکنه حرفهاش شنیده نمیشه درصورتی که شما میدونید چیزی که پیشنهاد میکنه خوب نیست برای پروژه فقط وقت برای توضیح دادن بهش رو ندارید.
معمولا با نوشتن
ADR خیلی از بچهها خودشون متوجه میشوند که چرا جواب نه بهشون داده شده.Telegram
RandRng
#Backend_RoadMap_2025
قبل از اینکه بخواید این roadmap رو دنبال کنید باید پست قبلی رو بخونید.
یک نکتهای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک میکنم حل بشه و ...) اما اینکه آموزش بدم FastAPI چیست…
قبل از اینکه بخواید این roadmap رو دنبال کنید باید پست قبلی رو بخونید.
یک نکتهای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک میکنم حل بشه و ...) اما اینکه آموزش بدم FastAPI چیست…
❤32👍12
#Quick
لطفاً
مشکل ویدئوهای آموزش اینهها؛ طرف نمیدونه برای چی هست چون زیاد دیده میذاره بدون توضیح.
شماهم بدون پرسیدن استفاده میکنید
بعد میریم توی پروداکشن باگ میخوریم
چون کلی اطلاعات درمورد
اگر مشکل پرفورمنس خوردید که ۹۹.۹۹۹٪ شما و پروژههاتون نخواهد خورد.
اونوقت سرچ که بکنید با دلیل میدونید تحت چه شرایطی باید
لطفاً
autoflush=False رو از داخل کدهای sqlalchemy بردارید.مشکل ویدئوهای آموزش اینهها؛ طرف نمیدونه برای چی هست چون زیاد دیده میذاره بدون توضیح.
شماهم بدون پرسیدن استفاده میکنید
بعد میریم توی پروداکشن باگ میخوریم
چون کلی اطلاعات درمورد
flush رو ندارید.autoflush=True اگر مشکل پرفورمنس خوردید که ۹۹.۹۹۹٪ شما و پروژههاتون نخواهد خورد.
اونوقت سرچ که بکنید با دلیل میدونید تحت چه شرایطی باید
autoflush=False باشه.👍22❤7
Python Hints
#Quick لطفاً autoflush=False رو از داخل کدهای sqlalchemy بردارید. مشکل ویدئوهای آموزش اینهها؛ طرف نمیدونه برای چی هست چون زیاد دیده میذاره بدون توضیح. شماهم بدون پرسیدن استفاده میکنید بعد میریم توی پروداکشن باگ میخوریم چون کلی اطلاعات درمورد flush…
چون پرسیدید با
autocommit
چیکار کنیم؛ تا جایی که یادم هست کلا
autocommit=True
از sqlalchemy 2.x حذف شده یا باید
استفاده بشه یا
اگر روی نسخه قدیمیتر هستید این روFalse نگهدارید:
ولی باید بخونید؛ ببینید چرا این تنظیمات رو لازم دارید.
autocommit
چیکار کنیم؛ تا جایی که یادم هست کلا
autocommit=True
از sqlalchemy 2.x حذف شده یا باید
with session.begin():
pass
استفاده بشه یا
session.commit() اگر روی نسخه قدیمیتر هستید این روFalse نگهدارید:
autocommit=False ولی باید بخونید؛ ببینید چرا این تنظیمات رو لازم دارید.
👍8❤3