TondTech – Telegram
TondTech
2.65K subscribers
1.48K photos
169 videos
133 files
1.15K links
کالای ما دانش است


تبلیغات نداریم
Download Telegram
چرا تخمین‌زدن سخت است، و به‌جای آن چه باید کرد

در توسعه محصول، اغلب تحت فشاریم که "حدس بزنیم" یک کار چقدر زمان می‌برد. سؤال رایجی مثل این:
«این تسک چند روز طول می‌کشه؟»
اما بیشتر وقت‌ها، این تخمین‌ها بیشتر از اینکه بر پایه درک واقعی باشن، روی امید و حدس بنا شدن. و وقتی کار طبق برنامه پیش نمی‌ره، که خیلی وقت‌ها هم همین‌طوره، تیم‌ها دچار استرس، عجله یا سرزنش می‌شن.

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

کاری که واقعاً کمک می‌کنه، اینه که به‌جای زور زدن برای تخمین زودهنگام، اول سعی کنیم اصل مسئله رو بهتر بفهمیم.

به‌جای اینکه بپرسیم «چقدر طول می‌کشه؟»، می‌پرسیم:
«چقدر این کار رو می‌فهمیم؟»
و اینو از پنج زاویه اصلی بررسی می‌کنیم:

🌟 وضوح دامنه (Domain Clarity)
آیا دقیق می‌دونیم مشکل چیه و کسب‌وکار یا کاربر چی می‌خواد؟
🔄 مثال: پیاده‌سازی فرم لاگین = واضح. طراحی سیستم قیمت‌گذاری برای ۳ منطقه با قوانین در حال تغییر = مبهم.

🌟 وابستگی‌های فنی (Technical Dependencies)
چقدر این کار به سیستم‌های دیگه یا بخش‌های حساس و قدیمی بستگی داره؟
🔄 مثال: اضافه‌کردن یک تولتیپ ساده در UI = راحت. اتصال به API قدیمی یک سیستم ثالث = پیچیده و پرریسک.

🌟 وابستگی‌های بیرونی (External Dependencies)
آیا این تسک به ورودی یا تأیید تیم‌های دیگه، تأمین‌کننده‌ها یا بخش‌هایی مثل حقوقی وابسته‌ست؟
🔄 مثال: به‌روزرسانی مستندات داخلی = مستقل. راه‌اندازی فیچری که نیاز به تأیید حقوقی و هماهنگی با تأمین‌کننده داره = وابسته.

🌟 آشنایی تیم (Team Familiarity)
آیا تیم قبلاً این‌جور کارها رو با همین ابزارها انجام داده؟
🔄 مثال: رفع باگ در اپ اصلی = آشنا. ساخت سرویس جدید با زبانی که تیم بلد نیست = ناشناخته.

🌟 هماهنگی بین‌تیمی (Cross-Team Sync)
آیا این کار رو می‌تونیم کاملاً درون تیم انجام بدیم یا نیاز به هماهنگی و تأیید از جاهای دیگه داره؟
🔄 مثال: تغییر متن دکمه = مستقل. اضافه کردن فیچری که نیاز به تأیید حقوقی، دیزاین و دیتا داره = نیازمند هماهنگی بالا.

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

🔍 مثال واقعی:
فرض کن تیم قراره فیچری اضافه کنه به اسم «پشتیبانی از یک پلن جدید پرداخت».
در ظاهر ساده به‌نظر می‌رسه، ولی وقتی تیم از زاویه این ۵ عامل نگاه می‌کنه، متوجه می‌شه:

- منطق قیمت‌گذاری مشخص نیست → (وضوح دامنه پایین).
- باید به سیستم یک تأمین‌کننده خارجی وصل بشه → (وابستگی زیاد).
- تیم قبلاً با سیستم پرداخت کار نکرده → (آشنایی کم).
نتیجه:
این کار کوچیک نیست، و باید اول یک فاز کشف (Discovery) براش انجام بدن.
این روش کمک می‌کنه تیم‌ها هوشمندتر برنامه‌ریزی کنن، غافلگیر نشن، و از قبل در مورد ریسک‌ها صحبت کنن — نه وقتی خیلی دیر شده.


مکتب‌خانه DDD
@DomainDrivenDesign_ir
👍2
Forwarded from iCodeNext
🌀چاقوی سوئیسی (Swiss Army Knife) یک ابزار چندمنظوره است که در یک فضای کوچک امکانات زیادی مثل چاقو، پیچ‌گوشتی، قیچی، دربازکن، سوزن و غیره داره. این ابزار به خاطر کاربردهای متنوع و همه‌کاره بودنش معروفه.

🔪چاقوی سوئیسی به درد همه‌چیز می‌خوره، ولی توی هیچ‌کدوم بهترین نیست.

و جالب تر اینه که این مدل واقعا در ابتدا یه چاقو بوده، اما بخاطر جواب دادن به درخواست های مشتریان، مدام فیچر بهش اضافه کردن، و مدام همه کاره ترش کردن. تا چیزی که توی عکس میبینید.

🌑 حالا این مفهوم توی دنیای برنامه‌نویسی هم خیلی استفاده میشه — البته به صورت استعاره.

⁉️ آیا رفتار ما در مقابل هوش مصنوعی هم همین روند رو داره ادامه میده؟

⁉️ و آیا هوش مصنوعی هایی مثل Chat GPT آیا واقعا دارند به یه چاقوی سوئیسی تبدیل میشن ؟

🎯 شاید وقتشه به این هم فکر کنیم که:


آیا باید از هوش مصنوعی انتظار «همه‌کاره بودن» داشته باشیم؟
یا بهتره براش نقش مشخص‌تری در ابزارهای تخصصی‌تر تعریف کنیم؟
5
اونایی که میدونین قضیه چیه 😁،
Are you Ready?
🔥10💯3🤩1
Var Dara = new Beygi() ;

هنوز Run نشده 😁
15🔥6🤩2👎1🏆1
TondTech
Var Dara = new Beygi() ; هنوز Run نشده 😁
Dara.Run(); 😍
32😍9🔥2
Forwarded from tech-afternoon (Amin Mesbahi)
📌 تفاوت Strong Consistency و Eventual Consistency در یک نگاه

فرض کنین یه سیستم توزیع‌شده داریم با چندین node در مکان‌های مختلف (چیزی که مثلا این روزها با شرایط کم‌برقی لازمه). حالا وقتی یه داده تغییر می‌کنه، سوال اینه: کی و کجا اون تغییر رو ببینیم؟

🧱 Strong Consistency (سازگاری قوی)
هر تغییری که انجام بشه، همه باید فوراً ببینن. یعنی وقتی یه کاربر داده‌ای رو آپدیت کرد، تمام کاربران دقیقاً همون مقدار جدید رو ببینن — هیچ تأخیری در دیدن داده‌ی به‌روز وجود نداره.

مناسب برای:

- سیستم‌های مالی یا رزرو که "دوگانگی" براشون قابل قبول نیست
- تراکنش‌های حیاتی مثل خرید سهام، پرداخت آنلاین

مثال ساده:
اگه از ATM پول برداریم، باید فوراً موجودی‌مون در همه جا بروز بشه. وگرنه ممکنه دوباره از یه دستگاه دیگه پول بکشیم!

🌊 Eventual Consistency (سازگاری نهایی)
داده ممکنه در لحظه همه جا یکی نباشه، ولی در نهایت (مثلاً چند ثانیه بعد) همسان می‌شه. این مدل performance بالاتری داره و مقیاس‌پذیرتره.

مناسب برای:

- شبکه‌های اجتماعی
- سیستم‌های کش (Cache)
- فروشگاه‌های بزرگ آنلاین
- توزیع محتوا (CDN)

مثال ساده:
تو اینستاگرام یه پست رو لایک می‌کنی، ولی ممکنه چند ثانیه طول بکشه تا تعداد لایک برای بقیه آپدیت بشه — ولی در نهایت همه یه عدد می‌بینن.


💡 باید واقع‌بین بود، برخی موارد، تیم فنی این موضوع رو از یه آدم غیر فنی می‌پرسه که «قربان» دستور می‌فرمایید کدام گونه‌ی consistency را به خدمت گیریم؟! قربان هم پاسخ می‌ده: ببین مهندس «سامانه» ما خیلی مهمه، قراره میلیان‌ها بلکه میلیاردها کاربر در لحظه داشته باشه. فلذا داده‌ها باید در همه جا یکسان باشه، بلادرنگ، در لحظه! این می‌شه که آخرش نه توزیع‌یافتگی محقق می‌شه، وقتی هم محقق می‌شه با کندی و بدبختی و فلاکت برقرار می‌شه، اگر هم درست برقرار بشه، هزینه‌ی تمام‌شده معقولی نداره!
مثال تجربی و واقعی: سال‌ها پیش (۱۳۸۷) همین چالش دشوار قانع کردن یک سازمان بزرگ برای غیرالزامی بودن strong consistency داشتم، از یک طرف مشکلات عدیده مقیاس‌پذیری و دسترس‌پذیری داشتن، از یه طرف اصرار مکرر بر اینکه ما کارمون حیاتیه و باید راهکار تضمین کنه که داده‌ها همه‌جا در لحظه یکسانه. با هزار اما و اگر، نهایتا راضی به تست شدند که ترکیبی از این دو رو پیاده کنم تا بخشی از سیستم، داده‌ها رو به لحظه داشته باشه، و بخش دیگه‌ای از سیستم بین ۴ تا ۱۰ ثانیه بعد توی ۳۷ نقطه در کشور داده‌ی به‌روز دریافت کنه. بعد از تست و دوره پایلوت، اون ساختار و معماری سال‌ها کار کرد (می‌کنه) و ثابت شد که «به‌روز» یک مفهوم مطلق و جهان‌شمول نیست. در حالیکه اگر قرار بود همه‌جا strong consistency بدم، تفریبا محال ممکن بود که کار انجام شه، یا اگر انجام میشد هزینه پیاده‌سازی و نگهداریش شاید بارها بیشتر بود، در حالیکه ۴ تا ۱۰ ثانیه برای اون نیاز، کاملا قابل قبول بود.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
بعد یه هفته مرخصی بیای ببینی تیم در نبودت تمام تلاشش رو کرده، خستگیت درمیره
مرسی رسمیو
مرسی بچه ها❤️
13🔥2🤩1
جناب سعدی در گلستانشان می فرمایند :
مرغِ بریان به چشمِ مَردمِ سیر
کمتر از برگِ تَرّه بر خوان است

شاید خوب باشه این هفته کمی در باره شرایط فعلی مون فکر کنیم، که چه چیزهایی الان ما داریم که به چشممون نمیاد ولی خوب برای خیلی ها جذاب و هیجان آوره، اینو در اشل فضای کار و فنی خودتون ببرید.
درسته که باید همیشه تلاش به رشد و پیشرفت داشته باشیم، ولی یک جاهایی باید نفس بکشیم، یه نگاه به دور و برمون بندازیم و ببینیم دقیقا پامونو کجا گذاشتیم؟
👍13
https://talktogithub.com/

زیبا شد بازی 😁😎
👍7🔥5
خیلی تصادفی بعد بسته شدن مشکوک صفحه اینستاگرام ، یهو همون صفحه رو که باز شده، با تبلیغ کمپین تولد ۱۱ سالگی برند رو میبینی
👨‍💻🚬👨‍💻🚬👨‍💻😤
#BadSmell
👍8
وقتی حافظه جمعی، استراتژی‌ها را تغییر می‌دهد

تصور کنید در یک جلسه سازمانی، مدیران به ایده‌ای اشاره می‌کنند که همه درباره‌اش اطمینان دارند. «همیشه این‌طور بوده!» جمله‌ای است که بارها تکرار می‌شود. اما اگر واقعیت متفاوت باشد چه؟ اگر خاطره‌ای که همه به آن استناد می‌کنند اساساً رخ نداده باشد؟

پدیده «اثر ماندلا»، که بر مبنای خاطره جمعی غلطِ درگذشت نلسون ماندلا در «زندان»دهه ۸۰ در میان مردم نام‌گذاری شده، نشان می‌دهد که ذهن جمعی انسان‌ها چگونه می‌تواند خاطرات غیرواقعی بسازد. این اثر زمانی نمایان می‌شود که رویدادها به شکل تحریف‌شده‌ای در حافظه گروهی افراد ثبت و به مرور زمان تقویت می‌شوند، به‌طوری‌که تبدیل به حقیقتی غیرقابل انکار می‌شوند.

در دنیای کسب‌وکار، چنین تحریف‌هایی اغلب از آنچه فکر می‌کنیم پررنگ‌ترند. مدیران تصمیمات استراتژیک خود را گاهی بر اساس تجربیات جمعی نادرستی اتخاذ می‌کنند که در گذر زمان به «حقایق غیرقابل تردید» تبدیل شده‌اند. مثلاً بارها دیده شده شرکتی استراتژی‌اش را بر پایه شکست یا موفقیت فرضی یک محصول در گذشته بنا می‌کند، درحالی‌که بررسی دقیق‌تر نشان می‌دهد اساساً چنین تجربه‌ای به آن شکل که تصور می‌شود وجود نداشته است.

اثر ماندلا می‌تواند سازمان‌ها را به دام تصمیم‌گیری‌های نادرست، سرمایه‌گذاری‌های بیهوده یا حتی هراس‌های بی‌اساس بکشاند. اما شناخت این پدیده، به مدیران اجازه می‌دهد تا با احتیاط بیشتری به «واقعیت‌های سازمانی» نزدیک شوند. مستند‌سازی دقیق و بررسی منظم تصمیم‌ها و نتایج گذشته می‌تواند سپر دفاعی مناسبی در برابر حافظه جمعی اشتباه باشد.

از سوی دیگر، این اثر، اهمیت «قصه‌گویی» (Storytelling) در سازمان‌ها را آشکار می‌کند؛ داستان‌هایی که بارها بازگو می‌شوند، نهایتاً به فرهنگ سازمانی بدل شده و استراتژی‌ها را شکل می‌دهند.

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

#اثر_ماندلا #استراتژی #حافظه_جمعی #سازمان #سپندارند
👍1
مرگ بر جنگ..
18🤣6🕊3👎2😢2
راهنمای حین جنگ.pdf
3.3 MB
امیدوارم به این راهنما نیاز نداشته باشید. برای سوئد هست ولی نکته های خوبی داره.
شماره اورژانس ایرانم ۱۱۵ هست.
9🤣1
حسم اینه که سیستمی که سال ها بهش افتخار کردیم با اولین pen test فرو ریخته.. بدم فرو ریخته...
👍14👎1
Forwarded from tech-afternoon
طی ۲۴ ساعت گذشته، و احتمالا چند روز آینده، خیلی‌هامون ذهنمون درگیر شرایط و اخبار ایرانه (چه ایران باشیم؛ چه از دور دنبال‌کننده اخبار و نگران وضعیت عزیزانمون)

در شرایطی که اخبار نگران‌کننده‌ای در جامعه وجود داره، حفظ تمرکز و آرامش برای ما اهمیت زیادی داره. حالا چیکار کنیم که تعادل رو حفظ کنیم و به کارمون برسیم؟ (۵ پیشنهاد به خودم و شما)

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

۲. ایجاد برنامه منظم: حفظ روال کاری و زندگی روزمره می‌تونه به ایجاد حس ثبات و کنترل کمک کنه، جلسات رو کنسل نکنیم، خودمون رو ملزم به رسوندن همون برنامه‌های دوران عادی کنیم.

۳. تمرین تکنیک‌های آرام‌سازی: فعالیت‌هایی مثل مدیتیشن، تمرینات تنفسی عمیق یا اگر یوگا بلد باشیم! می‌تونه به کاهش استرس و افزایش تمرکز کمک کند. یا حتی پیاده‌روی بدون خوندن یا فکر کردن به اخبار.

۴. ارتباط با عزیزان: با خانواده و دوستان خودمون در ارتباط باشیم ولی نه برای دنبال کردن اخبار و پیش‌بینی آنچه ازش بیخبریم! بلکه برای رد و بدل حس حمایت متقابل، و از بین بردن احساس تنهایی (آدم‌ها در کنار همدیگه، خصوصا خانواده هم شجاع‌ترن هم آرام‌تر)

۵. تمرکز بر موارد قابل کنترل: به جای نگرانی درباره مسائلی که خارج از کنترل ما هستن، روی وظایف (وظایفمون چه به عنوان یک مهندس و چه به عنوان یک انسان، یک عضو خانواده‌) و پروژه‌های کاری خودمون تمرکز کنیم تا احساس موفقیت و پیشرفت داشته باشیم، این حس مثل دارو برای اضطراب ناشی از اخبار نگران‌کننده است.

می‌دونم که توصیه زیاد می‌شنویم وعمل کردن بهش سخته، با اینکه دیروز می‌خواستم بعد از کار، یه مطلب آماده کنم، ولی این اخبار نگذاشت! لذا شاید این ۵ پیشنهاد به خودم و شما یه یادآوری باشه که بتونیم آرامش بیشتری داشته باشیم 😊
به امید روزهایی که فقط خبرهای خوب بشنویم و مخابره کنیم 🌱
4👍2👎1🤣1
Forwarded from tech-afternoon (Amin Mesbahi)
۸ ماه پیش، وقتی شرایطی مشابه امروز (البته با گستردگی و شدت خیلی کمتر) برای کشور پیش اومده بود، چند خطی رو به عنوان پیشنهاد یا بلند بلند فکر کردن نوشتم، که اگر دوست داشتید مطالعه کنید.

تصور می‌کنم با در نظر گرفتن ابعاد گسترده‌تر این نوبت، اضافه کردن چند مورد دیگه بد نباشه:

۱: مهم‌تر از غرق شدن توی سیل تحلیل‌ها و اخباری که شاید آمیخته با شایعه و اغراق و جانبداری (به هر سو) باشن، بهتره «آماده» باشیم برای مواجهه با «خطرات معقول و محتمل»؛ پس اگر در شهر یا منطقه‌ای زندگی می‌کنیم که احتمال شمول خطر داره، مکان‌های امن، مراکز درمانی و... نزدیک محل سکونتمون رو شناسایی کنیم و این کار رو برای عزیزان و نزدیکانمون رو هم انجام بدیم.

۲: خیلی سخته، ولی به جای درگیر شدن با انبوه نظرات و شایعات و اخبار غیردقیق، «مهندسی» فکر کنیم، یادتونه در مورد Left shift صحبت کردیم؟، شاید بد نباشه اینجا هم این متد رو به کار بگیریم، فرض کنید همین الان مخاطره‌ای در نزدیکی شما اتفاق افتاده، آیا سفر به فلان شهر در اون لحظه ممکنه یا بهتره به مکان امن نزدیک، خودمون رو برسونیم؟ اگر امکان قطع دسترسی به اینترنت و یا موبایل محتمله، آیا رادیو در دسترس داریم و باطری داره؟ و سوالاتی از این دست رو از خودمون بپرسیم.

۳: یادمون نره ما در این لحظه نه تحلیل‌گر سیاسی هستیم، نه متخصص نظامی، نه پیشگو! مقدم بر هر چیز عضو یک خانواده و شهروند ایرانیم. وظیفه ما کمک به حفظ «حس حمایت» به عزیزان و اطرافیانمون؛ و هوشیاریه، تا اینکه سرگرم لایک و توییت و تحلیل و... باشیم.

فارغ از هر تفکر و باوری، امیدوارم این جریان تلخ زودتر و با کم‌ترین آسیب و اضطراب هرچه سریع‌تر تمام بشه، و امنیت، سلامتی و زندگی عادی تبدیل به جریان اصلی ایران باشه...
11👍1🤣1
امیدوارم این جنگ زودتر تموم بشه و حال همه مون خوب تر بشه. صلح و سلامتی آرزو دارم برای همه تون رفقا 🕊
17🕊10👎4🔥2
اگه تهران هستین و برای رفتن به شهرتون یا اطراف تهران دنبال هم مسیر میگردین، توی این گروه همدیگه رو پیدا کنید.
اگر اطراف تهران امکان مهمان هم دارین، اعلام کنید.

پخش کنید گروه هاتون لطفا

https://news.1rj.ru/str/+6dd_CHx6Gp40YTlk
4