Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
877 - Telegram Web
Telegram Web
Shared documents aren't shared understanding.

- From User Story Mapping
- By Jeff Patton
Audio
صوت جلسه 17

مواردی که خارج از کتاب بهشون اشاره شد در جلسه.
- یادآوری به یادگیری عمیق تر ADT ها و مفاهیم پایه مثل Tree و Table که با اسم علمی Associative array شناخته میشه در علوم کامپیوتر.
غروب افتاب Create React App
یادم نمیاد از منسوخ شدن کتابخونه یا فریم‌ورکی ناراحت شده باشم ولی وقتی این رو دیدم خیلی احساساتی و غمگین شدم چون با این که من پنج سال بود که پروژه‌ای رو تحت CRA دولوپ نکرده بودم ولی من با اون بود که عاشق ری‌اکت شدم.

@DevTwitter | <Mohammad Ebrahimi Aval/>
یک فکت مهم ROI خرید گل برای پارتنرتون به شدت بالاست و‌به شدت توصیه میشه!
Forwarded from Arsham's Tech Mastery (Arsham)
تست ستون پروژست!
و همونطور که خونه هایی هم هستن که قدیمی و کاه گلی اند و ستون ندارن، و یه بارون بزنه هم سقفشون میریزه، یا نمیشه به راحتی یا کلا بهشون طبقه اضافه کرد، پروژه هایی هم هستن که تست (ستون) ندارن،‌ و یه فیچر جدید بخوای اضافه کنی تمام فیچر های قبلی میترکه!

زیاد میشنوم که میگن تست به دیباگ کردن کد کمک میکنه، اما این ممکنه یکم گمراه کننده باشه.

این نکته کلیدی فراموش نشه که در خیلی از مدل های تست از جمله unit و integration، ما برای سناریو هایی تست مینویسیم، که سناریو اش رو میدونیم!
در این مدل تست ها، اگه باگی رو با تست دستی نتونیم پیدا کنیم، تست اتومات هیچ کمکی به ما نمیکنه.
پس در واقع با تست اتومات داریم استحکام چیزی که داریم رو تضمین میکنیم.

ولی خب، تو یه سری مدل تست ها مثل e2e و load test هم مجددا سناریو رو میدونیم، با اینحال ممکنه قسمتی از فلو (flow)، مطابق انتظار پیش نره، لود تست که کلا داستان خاص خودشو داره،
ولی تو e2e هم مجددا اگه ایراد پیش‌بینی نشده ای پیدا بشه، احتمالا در نقاط اتصال هست، و e2e هم تو پیدا کردن باگ لاجیکی غیرمنتظره، کمکی به ما نمیکنه.

<--×-->

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

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

<--×-->

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

غیر منطقی به نظر میاد،
اما منم بارها شاهدش بودم!
ولی مسئله اینجا تست نیست،
باید به خیلی قبل ترش نگاه کنیم،
همون جایی که نیازمندی بیزنس داره مشخص میشه.

<--×-->

از خوبی های جانبی تست هم میشه به "مثال بودن" اش اشاره کرد. با فرض دنیای ایده آل، خوندن تست های یه پروژه خیلی ساده تر از خوندن کد خود پروژست، و از رو تست هاش میشه به سادگی فهمید که چیکار میکنه و ورودی و خروجی مورد انتظار سیستم چی هست.
البته خب تو دنیای واقعی و غیر ایده آل، ممکنه یه دولوپر تازه کار مدعی سینیوریتی همین تست هارو فراپیچیده (over complex) کنه.

یه مزیت جانبی دیگه تست هم میتونه بحث تمیزی کد باشه، کدی که تمیز نباشه به راحتی قابل تست نیست، پس در واقع تست مارو مجبور میکنه که کد تمیز تری بنویسیم.

<--×-->

ولی خب در کل نظر شما راجع به تست چیه؟
مزایا؟ معایب؟ پیشنهاد؟ انتقاد؟ به من، به پست، به کانال و... 🙂🙌🏼
Forwarded from Learning With M (Masoud DaneshPour)
چین بسته که انقلاب صنعتی ششم رو به نام خودش کنه.

براش Deepseek بس نبود، حالا kimi.ai رو رونمایی کرده.
200K characters context window !
Audio
صوت جلسه 18

مواردی که خارج از کتاب بهشون اشاره شد در جلسه.
- هر چند consistent hashing در آینده در کتاب مطرح شده، ولی در این جلسه هم بهش اشاره کردیم.
حاج آقا ای سوییفتِ چطوری مِزِنَن؟
Forwarded from refhub
مهندسان عزیز روزتون مبارک
به مناسبت روز مهندس، یه کد تخفیف 30 درصدی براتون گذاشتیم
اولش با SOFTDAY شروع میشه، اما برای ادامه ش باید معمای زیر رو حل کنید :
یه برنامه‌نویس داره یه تابع رمزنگاری می‌نویسه. این تابع یه رشته می‌گیره و سه مرحله داره:

1- جمع مقدار ASCII همه‌ی کاراکترهای رشته رو حساب می‌کنه.
2- عدد به‌دست‌اومده رو در خودش ضرب می‌کنه (به توان ۲ می‌رسونه).
3- از نتیجه، یه عدد فیبوناچی پیدا می‌کنه که ازش بزرگ‌تر یا مساویشه، بعد اختلافشون رو حساب می‌کنه.

اگه ورودی تابع کلمه‌ی 'Debug' باشه، خروجی عددش چیه؟ این عدد، سه رقم آخر کد تخفیفت می‌شه!

با ❤️ رفهاب
https://RefHub.ir
Forwarded from .NET Fun
داشتن یه CI/CD پایپ لاین تمیز میتونه سرعت دولوپ رو ده برابر کنه و خیلی از کار های حساس ( مثل مایگریشن های دیتابیس ، اجرای یونیت تست ها و ...) و خیلی از کار های حوصله سر بر ولی مهم ( مثل Versioning و ساخت چنج لاگ ) رو اتومات کنه. خلاصه که قدر دواپس تیمتون رو بدونید 😁

Join : @DotNetIsFun
خرسِ برنامه نویس
چرا داستایوفسکی داستان قمارباز را نوشت؟ گفته میشود که داستایوفسکی یکی از سرگرمی هایی که به آن اعتیاد زیادی داشت و به کل زندگی اش را تحت الشعاع قرار میداد همین قماربازی بود. او این داستان را تقدیم دنیا کرد در حالی که داشت نفس قمارباز خودش را مورد نکوهش و سرزنش…
در جامعه‌ای که پول بیش از هر چیز دیگری به عنوان شاخص موفقیت و اعتبار شناخته می‌شود، افسارگسیختگی اقتصادی در مدیریت و توسعه فردی نه تنها به معنای مشکلات بودجه‌ای و خرج بی‌رویه است، بلکه یک بحران عمیق در رابطه انسان با ارزش‌ها و باورهای درونی اوست. شاید لازم باشد دوباره از این پرسش شروع شود: چگونه تجربیات اولیه، خاطرات خانوادگی و حتی روایت‌هایی که از دوران کودکی با آن‌ها بزرگ شده‌ایم، به مرور زمان الگوهای مصرف ما را شکل داده و ما را به سوی مصرف بی‌رویه سوق می‌دهند؟ آیا این باورها تنها بخشی از داستان هستند یا اینکه در دنیای مدرن و پر فشار شبکه‌های مجازی، تأثیرات اجتماعی جدیدی نیز به این معادله افزوده شده‌اند؟

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

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

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

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

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

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

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

پ.ن: منظورم از میدل کلاس سطح سینیوریتی نیست. منظور نوع کار هست.

یه ویس کوتاه درموردش بریم؟
2025/06/27 08:22:21
Back to Top
HTML Embed Code: