Rubber Duck Debugging 🐤
یعنی وقتی کدی به مشکل میخوره، برنامهنویس شروع میکنه خطبهخط کد رو با صدای بلند برای یه جسم (مثل یه اردک پلاستیکی روی میز) توضیح دادن. همین توضیح دادن باعث میشه مغز برنامهنویس مسئله رو واضحتر ببینه، جزئیات رو دقیقتر بررسی کنه و اغلب خودش متوجه اشکال بشه، حتی بدون کمک گرفتن از کسی. در واقع، اردک فقط شنوندهست و نقش اصلی رو “توضیح دادن مرحلهبهمرحله” بازی میکنه.
@NullDevelopr
یعنی وقتی کدی به مشکل میخوره، برنامهنویس شروع میکنه خطبهخط کد رو با صدای بلند برای یه جسم (مثل یه اردک پلاستیکی روی میز) توضیح دادن. همین توضیح دادن باعث میشه مغز برنامهنویس مسئله رو واضحتر ببینه، جزئیات رو دقیقتر بررسی کنه و اغلب خودش متوجه اشکال بشه، حتی بدون کمک گرفتن از کسی. در واقع، اردک فقط شنوندهست و نقش اصلی رو “توضیح دادن مرحلهبهمرحله” بازی میکنه.
@NullDevelopr
❤6🥰1
Yak Shaving 🪒 🐄
❓ «تا حالا شده بخوای یه کار کوچیک انجام بدی ولی یهو ببینی گیر کردی تو کلی کار بیربط؟»
🔻 مشکلات واقعی Yak Shaving
• هدر رفتن زمان ⏳
قراره ۱۰ دقیقه روی یه فیچر کوچیک کار کنی، ولی یهو میافتی توی زنجیرهای از کارای جانبی و نصف روز میره.
• پرت شدن تمرکز 🎯
به جای اینکه روی هدف اصلی بمونی، ذهنت پخش میشه بین کلی مشکل بیربط.
آخرشم حس میکنی چیزی که میخواستی انجام بدی پیش نرفته.
• خستگی و فرسودگی 😵
چون کارت ظاهراً ساده بوده ولی خیلی سخت و طولانی شده، حس میکنی انرژی زیادی از دست دادی بدون خروجی واقعی.
• تأخیر در تحویل پروژه 📉
وقتی تیم بهجای اصل کار، درگیر مسائل حاشیهای بشه، سرعت توسعه میاد پایین.
• پیدا نکردن راهحل درست 🚪
گاهی اون کارای جانبی حتی لازم هم نیستن! یعنی داری وقت و انرژی صرف چیزی میکنی که هیچ نیازی نبوده.
• احساس ناکارآمدی 🤦♂️
برنامهنویس آخر روز میگه: “من کل روز کار کردم ولی هیچ پیشرفتی نشد!” باعث افت روحیه میشه.
یعنی Yak Shaving بیشتر از اینکه یه شوخی باشه، یه نشونهست که تیم یا فرد مدیریت درست روی وظایف و اولویتها نداره!
@NullDevelopr
❓ «تا حالا شده بخوای یه کار کوچیک انجام بدی ولی یهو ببینی گیر کردی تو کلی کار بیربط؟»
🔻 مشکلات واقعی Yak Shaving
• هدر رفتن زمان ⏳
قراره ۱۰ دقیقه روی یه فیچر کوچیک کار کنی، ولی یهو میافتی توی زنجیرهای از کارای جانبی و نصف روز میره.
• پرت شدن تمرکز 🎯
به جای اینکه روی هدف اصلی بمونی، ذهنت پخش میشه بین کلی مشکل بیربط.
آخرشم حس میکنی چیزی که میخواستی انجام بدی پیش نرفته.
• خستگی و فرسودگی 😵
چون کارت ظاهراً ساده بوده ولی خیلی سخت و طولانی شده، حس میکنی انرژی زیادی از دست دادی بدون خروجی واقعی.
• تأخیر در تحویل پروژه 📉
وقتی تیم بهجای اصل کار، درگیر مسائل حاشیهای بشه، سرعت توسعه میاد پایین.
• پیدا نکردن راهحل درست 🚪
گاهی اون کارای جانبی حتی لازم هم نیستن! یعنی داری وقت و انرژی صرف چیزی میکنی که هیچ نیازی نبوده.
• احساس ناکارآمدی 🤦♂️
برنامهنویس آخر روز میگه: “من کل روز کار کردم ولی هیچ پیشرفتی نشد!” باعث افت روحیه میشه.
یعنی Yak Shaving بیشتر از اینکه یه شوخی باشه، یه نشونهست که تیم یا فرد مدیریت درست روی وظایف و اولویتها نداره!
@NullDevelopr
❤5
کسی از شما هست که الان بخواد خلبان بشه؟
فرض کن الان توی کابین خلبان نشستی، کلی دکمه و اهرم وجود داره که نمیدونی هرکدوم چیکار میکنه.
الان هم اگه اول مسیر یادگیری برنامه نویسی هستی، کلی سوال شاید توی ذهنت باشه. اینکه زبان برنامه نویسی چیه، پایتون چیه، جنگو چیه و ....
حالا الان فرض کن یه فرصتی فراهم شده که توی اون کابین نشستی کنار خلبان.
قراره با هم یه پرواز ۲ ساعته داشته باشیم. توی این پرواز من قدم به قدم بهت میگم چیکار باید بکنی، این دکمه رو بزن، اون اهرم رو بکش. اینطوری تیکاف میکنیم، این طوری سرعت میگیریم، این شکلی بلند میشیم. میریم یه دوری میزنیم و برمیگردیم.
بزن رو لینک 👇👇👇
https://holosen.net/mdjango/
فرض کن الان توی کابین خلبان نشستی، کلی دکمه و اهرم وجود داره که نمیدونی هرکدوم چیکار میکنه.
الان هم اگه اول مسیر یادگیری برنامه نویسی هستی، کلی سوال شاید توی ذهنت باشه. اینکه زبان برنامه نویسی چیه، پایتون چیه، جنگو چیه و ....
حالا الان فرض کن یه فرصتی فراهم شده که توی اون کابین نشستی کنار خلبان.
قراره با هم یه پرواز ۲ ساعته داشته باشیم. توی این پرواز من قدم به قدم بهت میگم چیکار باید بکنی، این دکمه رو بزن، اون اهرم رو بکش. اینطوری تیکاف میکنیم، این طوری سرعت میگیریم، این شکلی بلند میشیم. میریم یه دوری میزنیم و برمیگردیم.
بزن رو لینک 👇👇👇
https://holosen.net/mdjango/
❤9👏1
Race condition 🏎️🏁
در برنامهنویسی وقتی اتفاق میافته که دو یا چند ترد یا پروسه همزمان به یک منبع مشترک (مثل متغیر، فایل یا دیتابیس) دسترسی پیدا کنند و ترتیب اجرای عملیاتشون روی اون منبع مشخص نباشه. نتیجهی این ناهماهنگی میتونه باعث رفتار غیرقابل پیشبینی برنامه، دادههای اشتباه یا کرش شدنش بشه.
@NullDevelopr
در برنامهنویسی وقتی اتفاق میافته که دو یا چند ترد یا پروسه همزمان به یک منبع مشترک (مثل متغیر، فایل یا دیتابیس) دسترسی پیدا کنند و ترتیب اجرای عملیاتشون روی اون منبع مشخص نباشه. نتیجهی این ناهماهنگی میتونه باعث رفتار غیرقابل پیشبینی برنامه، دادههای اشتباه یا کرش شدنش بشه.
@NullDevelopr
❤1
برای جلوگیری از race condition معمولاً از مکانیزمهایی مثل لاکها (locks)، سِمافورها (semaphores)، یا atomic operations استفاده میکنن تا دسترسی به منابع مشترک کنترلشده و ترتیبی باشه.
@NullDevelopr
@NullDevelopr
❤4