✨ Diff Authoring Time روشی برای اندازه عملکرد توسعهدهندهها
آخرین نسخه پادکست Meta Tech، به موضوع ارزیابی و افزایش بهرهوری توسعهدهندهها از طریق متریک جدیدی به نام "Diff Authoring Time" (DAT) اختصاص داده. خلاصهای از نکات مهم و روشهای متا برای سنجش و بهبود بهرهوری توسعهدهندگان با استفاده از این متریک DAT
—-
⚠️ این متن در مورد شرکت متا است، شرکتی بی بیش از ۴۵هزار توسعهدهنده که ه فیسبوک، اینستاگرام، واتساپ و کلی ابزار high-tech تولید میکنند. متا از git استفاده نمیکنه و Mercurial رو بهعنوان سیستم کنترل سورس داخلی خودش استفاده میکنه. پس خیلی با عموم شرکتها فرق داره، این متن رو خواهشا با دید آگاهی و ایده گرفتن در مورد «نگاه سیستماتیک به ارزیابی عملکرد» افراد ببینیم! خواهشا راه نیوفتیم از فردا توی هر شرکتی تایم بگیریم ببینیم کی کارا تره 😅
—-
🔸 مقدمه و معرفی: DAT چیه و چرا اهمیت داره؟
در متا به هر تغییر توی کد diff یا همون pull request توی بقیه سیستمها میگن. DAT قراره زمان واقعیای که برنامهنویسها برای ساخت و تغییر diffها صرف میکنن رو اندازه بگیره. حالا شاید بپرسید "چرا اصلاً بخوایم این کار رو بکنیم؟" خب، اگه یه سیستم داشتی که دقیقاً نشون بده کجاها زمان زیادی صرف میشه یا کجاها کار گره میخوره، میتونستی با دید بازتر روی ابزارهای درست سرمایهگذاری کنی و تجربه کاری رو بهتر کنی. مثلاً میفهمی کجاها باید به بهینهسازی سرعت ابزارها بپردازی تا تیمها سریعتر به نتیجه برسن.
🔸 نحوه پیادهسازی و جمعآوری دادهها
تلهمتری سیستم + دادههای IDE: این متریک با استفاده از دادههای سیستمعامل و محیطهای توسعه (IDE) زمان واقعی فعالیتهای کدنویسی توسعهدهندگان رو ثبت میکنه.
الگوریتمهای ردیابی فعالیت: هر زمان توسعهدهنده در IDE فعاله، تایمر DAT روشن میشه. این تایمر هنگام وقفههای کاری (مثل ترک کردن سیستم) متوقف میشه. این نسخه، پنجمین تکرار الگوریتم DAT است که بهینهسازیها و دقتش بهمرور افزایش یافته.
پشتیبانی چند محیطی: DAT بهطور کامل در محیطهای متداول توسعه مثل VS Code و Android Studio اجرا میشه. اگر توسعهدهنده همزمان روی چند diff کار کنه، DAT میتونه فعالیت رو به تفکیک IDEهای مختلف شناسایی و زمانبندی کنه.
🔸 دادههای کلیدی و یافتهها
میانگین زمان DAT: بهطور متوسط، هر diff حدود ۵۰ دقیقه زمان میبره. این زمان شامل فعالیتهای IDE و ابزارهای مرتبط با کدنویسی میشه.
سطح پوشش: DAT در حال حاضر ۸۷ درصد diffهای واجد شرایط (diffهای نوشتهشده توسط توسعهدهنده) رو پوشش میده، و الباقی موارد به دلیل استفاده از ابزار، از دامنه اندازهگیری خارج میشه.
🔸 فرآیند اعتبارسنجی و بهبود DAT
فرایند اعتبارسنجی چندمرحلهای: برای اطمینان از صحت دادههای جمعآوریشده، تیم متا سه مرحله اعتبارسنجی رو روی DAT انجام داده که این اعتبارسنجی شامل بررسی نمونهای، مقایسه با نسخههای قبلی DAT، و سنجش میزان پوشش و دقت اون میشه.
تستهای A/B: یکی از کاربردهای مهم DAT در آزمایشهای A/B برای ارزیابی تأثیر ویژگیهای جدید IDEها و زبانهای برنامهنویسیه. مثلاً اگر ویژگی جدیدی به یک زبان اضافه بشه، تیم توسعه میتونه با استفاده از DAT تأثیرش رو روی بهرهوری توسعهدهندهها بررسی کنه.
🔸 کاربردهای DAT و تحلیل دادهها
تحلیل مقایسهای بین تیمها: DAT امکان مقایسه تیمها یا ابزارهای مختلف رو فراهم میکنه تا بتونه تغییرات بهرهوری رو شناسایی کنه.
شناسایی نقاط ضعف و بهبود فرآیندها: با بررسی DAT، تیمها میتونن بخشهایی از فرآیند کدنویسی رو که باعث کاهش بهرهوری شده، شناسایی و بهبود بدن.
بررسی تأثیر ابزارها و افزونههای جدید: آزمایش و مقایسه ابزارهای جدید با استفاده از DAT به تیمها کمک میکنه تا تأثیر تغییرات رو با دادههای کمی ارزیابی کنن.
🔸 آینده DAT
توسعه و سادهسازی DAT: هدف تیم توسعهدهنده DAT در نسخههای آتی، ترکیب و سادهسازی این متریک به نحویه که تنها یک عدد نهایی برای زمان ایجاد diff ارائه کنه.
پشتیبانی از کدنویسی خودکار توسط هوش مصنوعی: با رشد استفاده از هوش مصنوعی و کدهای تولید شده توسط LLMها، DAT به سمتی میره که بتونه این نوع فعالیتها رو هم به عنوان بخش جدیدی از بهرهوری پوشش بده.
🔸 نتیجهگیری و اهمیت DAT در متا
این متریک به متا کمک کرده تا بتواند بهرهوری تیمهای توسعهدهنده رو به صورت کمی و دادهمحور ارزیابی کنه، ابزاری که در گذشته بیشتر بر اساس شهود و تجربیات عملی بوده. DAT در حال حاضر نقش کلیدی در آزمایشهای داخلی و تصمیمگیریهای مرتبط با ابزارهای توسعهدهنده در متا ایفا میکنه و به تیمها اجازه میده تا با دادههای دقیقتر به بهبود و سادهسازی فرآیندهاشون کمک کنن.
آخرین نسخه پادکست Meta Tech، به موضوع ارزیابی و افزایش بهرهوری توسعهدهندهها از طریق متریک جدیدی به نام "Diff Authoring Time" (DAT) اختصاص داده. خلاصهای از نکات مهم و روشهای متا برای سنجش و بهبود بهرهوری توسعهدهندگان با استفاده از این متریک DAT
—-
⚠️ این متن در مورد شرکت متا است، شرکتی بی بیش از ۴۵هزار توسعهدهنده که ه فیسبوک، اینستاگرام، واتساپ و کلی ابزار high-tech تولید میکنند. متا از git استفاده نمیکنه و Mercurial رو بهعنوان سیستم کنترل سورس داخلی خودش استفاده میکنه. پس خیلی با عموم شرکتها فرق داره، این متن رو خواهشا با دید آگاهی و ایده گرفتن در مورد «نگاه سیستماتیک به ارزیابی عملکرد» افراد ببینیم! خواهشا راه نیوفتیم از فردا توی هر شرکتی تایم بگیریم ببینیم کی کارا تره 😅
—-
🔸 مقدمه و معرفی: DAT چیه و چرا اهمیت داره؟
در متا به هر تغییر توی کد diff یا همون pull request توی بقیه سیستمها میگن. DAT قراره زمان واقعیای که برنامهنویسها برای ساخت و تغییر diffها صرف میکنن رو اندازه بگیره. حالا شاید بپرسید "چرا اصلاً بخوایم این کار رو بکنیم؟" خب، اگه یه سیستم داشتی که دقیقاً نشون بده کجاها زمان زیادی صرف میشه یا کجاها کار گره میخوره، میتونستی با دید بازتر روی ابزارهای درست سرمایهگذاری کنی و تجربه کاری رو بهتر کنی. مثلاً میفهمی کجاها باید به بهینهسازی سرعت ابزارها بپردازی تا تیمها سریعتر به نتیجه برسن.
🔸 نحوه پیادهسازی و جمعآوری دادهها
تلهمتری سیستم + دادههای IDE: این متریک با استفاده از دادههای سیستمعامل و محیطهای توسعه (IDE) زمان واقعی فعالیتهای کدنویسی توسعهدهندگان رو ثبت میکنه.
الگوریتمهای ردیابی فعالیت: هر زمان توسعهدهنده در IDE فعاله، تایمر DAT روشن میشه. این تایمر هنگام وقفههای کاری (مثل ترک کردن سیستم) متوقف میشه. این نسخه، پنجمین تکرار الگوریتم DAT است که بهینهسازیها و دقتش بهمرور افزایش یافته.
پشتیبانی چند محیطی: DAT بهطور کامل در محیطهای متداول توسعه مثل VS Code و Android Studio اجرا میشه. اگر توسعهدهنده همزمان روی چند diff کار کنه، DAT میتونه فعالیت رو به تفکیک IDEهای مختلف شناسایی و زمانبندی کنه.
🔸 دادههای کلیدی و یافتهها
میانگین زمان DAT: بهطور متوسط، هر diff حدود ۵۰ دقیقه زمان میبره. این زمان شامل فعالیتهای IDE و ابزارهای مرتبط با کدنویسی میشه.
سطح پوشش: DAT در حال حاضر ۸۷ درصد diffهای واجد شرایط (diffهای نوشتهشده توسط توسعهدهنده) رو پوشش میده، و الباقی موارد به دلیل استفاده از ابزار، از دامنه اندازهگیری خارج میشه.
🔸 فرآیند اعتبارسنجی و بهبود DAT
فرایند اعتبارسنجی چندمرحلهای: برای اطمینان از صحت دادههای جمعآوریشده، تیم متا سه مرحله اعتبارسنجی رو روی DAT انجام داده که این اعتبارسنجی شامل بررسی نمونهای، مقایسه با نسخههای قبلی DAT، و سنجش میزان پوشش و دقت اون میشه.
تستهای A/B: یکی از کاربردهای مهم DAT در آزمایشهای A/B برای ارزیابی تأثیر ویژگیهای جدید IDEها و زبانهای برنامهنویسیه. مثلاً اگر ویژگی جدیدی به یک زبان اضافه بشه، تیم توسعه میتونه با استفاده از DAT تأثیرش رو روی بهرهوری توسعهدهندهها بررسی کنه.
🔸 کاربردهای DAT و تحلیل دادهها
تحلیل مقایسهای بین تیمها: DAT امکان مقایسه تیمها یا ابزارهای مختلف رو فراهم میکنه تا بتونه تغییرات بهرهوری رو شناسایی کنه.
شناسایی نقاط ضعف و بهبود فرآیندها: با بررسی DAT، تیمها میتونن بخشهایی از فرآیند کدنویسی رو که باعث کاهش بهرهوری شده، شناسایی و بهبود بدن.
بررسی تأثیر ابزارها و افزونههای جدید: آزمایش و مقایسه ابزارهای جدید با استفاده از DAT به تیمها کمک میکنه تا تأثیر تغییرات رو با دادههای کمی ارزیابی کنن.
🔸 آینده DAT
توسعه و سادهسازی DAT: هدف تیم توسعهدهنده DAT در نسخههای آتی، ترکیب و سادهسازی این متریک به نحویه که تنها یک عدد نهایی برای زمان ایجاد diff ارائه کنه.
پشتیبانی از کدنویسی خودکار توسط هوش مصنوعی: با رشد استفاده از هوش مصنوعی و کدهای تولید شده توسط LLMها، DAT به سمتی میره که بتونه این نوع فعالیتها رو هم به عنوان بخش جدیدی از بهرهوری پوشش بده.
🔸 نتیجهگیری و اهمیت DAT در متا
این متریک به متا کمک کرده تا بتواند بهرهوری تیمهای توسعهدهنده رو به صورت کمی و دادهمحور ارزیابی کنه، ابزاری که در گذشته بیشتر بر اساس شهود و تجربیات عملی بوده. DAT در حال حاضر نقش کلیدی در آزمایشهای داخلی و تصمیمگیریهای مرتبط با ابزارهای توسعهدهنده در متا ایفا میکنه و به تیمها اجازه میده تا با دادههای دقیقتر به بهبود و سادهسازی فرآیندهاشون کمک کنن.
Pocket Casts
Inside Bento - Serverless Jupyter Notebooks at Meta - Meta Tech Podcast
Brought to you by Meta. In addition to remaining active in the open source community and conference circuit, this podcast offers another channel that allows us to highlight the technical work of our engineers who will discuss everything from low-level frameworks…
❓زینتبخش ترمینال شما کدام است؟
Anonymous Poll
27%
Oh My Zsh
7%
Oh My Posh
2%
Starship
2%
Prezto
0%
powerlevel10k
7%
Fish Shell, Bash-it, ....
20%
اهل این سوسولبازیها نیستم
36%
توضیح بده شاید طالب شدم!
tech-afternoon
❓زینتبخش ترمینال شما کدام است؟
✍️ توی کامنت همین رأیگیری، چند خطی در مورد مزایا و کاربردهاشون برای توسعهدهنده و دواپسکار نوشتم. از جنبه platform engineering هم بهش پرداختم و دو مورد تجربه خودم از استفاده ازشون در خصوص Platform نوشتم.
👍7
اخیرا یه مشکل تو روش محاسبه تفاوت بین نسخههای مختلف فایلها توی git کشف شده که میتونه باعث بشه حجم ریپازیتوریها چند برابر بشه. این مشکل باعث افت کارایی و مصرف بیشازحد فضای ذخیرهسازی میشه.
داستان هم از اونجایی شروع شد که یکی از مهندسهای ارشد مایکروسافت، جاناتان کریمر، درباره یه ریپازیتوری جاوااسکریپت خیلی بزرگ که تیمشون روش کار میکنه پست کرده. یه مونو ریپو (یه ریپازیتوری که پروژههای مرتبط زیادی رو نگهمیداره). بیش از ۱۰۰۰ کاربر فعال ماهانه و حدود ۲۰ میلیون خط کد وجود داشته. طبق گزارش کریمر، کلون کردن این ریپازیتوری ۱۷۸ گیگابایت از فضای دیسک رو مصرف کرده که خیلی بیشتر از چیزی بوده که انتظارش رو داشتن.
تیمشون برای بررسی مشکل با یکی از کانتریبیوترهای git به اسم Derrick Stolee، که قبلا تو GitHub بوده و حالا تو مایکروسافت مهندس ارشد هست، مشورت کردن. استولی متوجه میشه که...
متن کامل داستان رو اینجا نوشتم 😁
* بهزودی مشکل instant view تلگرام دسکتاپ به متون راستبهچپ (فارسی) حل میشه (هنوز مطمئن نیستم ولی باگی که گزارش کردم رو تلگرام تایید کرده و commit کرده روی گیتهاب)
داستان هم از اونجایی شروع شد که یکی از مهندسهای ارشد مایکروسافت، جاناتان کریمر، درباره یه ریپازیتوری جاوااسکریپت خیلی بزرگ که تیمشون روش کار میکنه پست کرده. یه مونو ریپو (یه ریپازیتوری که پروژههای مرتبط زیادی رو نگهمیداره). بیش از ۱۰۰۰ کاربر فعال ماهانه و حدود ۲۰ میلیون خط کد وجود داشته. طبق گزارش کریمر، کلون کردن این ریپازیتوری ۱۷۸ گیگابایت از فضای دیسک رو مصرف کرده که خیلی بیشتر از چیزی بوده که انتظارش رو داشتن.
تیمشون برای بررسی مشکل با یکی از کانتریبیوترهای git به اسم Derrick Stolee، که قبلا تو GitHub بوده و حالا تو مایکروسافت مهندس ارشد هست، مشورت کردن. استولی متوجه میشه که...
متن کامل داستان رو اینجا نوشتم 😁
* بهزودی مشکل instant view تلگرام دسکتاپ به متون راستبهچپ (فارسی) حل میشه (هنوز مطمئن نیستم ولی باگی که گزارش کردم رو تلگرام تایید کرده و commit کرده روی گیتهاب)
🔥5👍3
یک خبر خوب! کوپایلوت گیتهاب که احتمالا خیلیهامون ازش استفاده میکنیم و انصافا ابزار خوبیه، به زودی از مدلهای شرکتهای دیگهای به جز OpenAI پشتیباینی میکنه، یعنی مثلا اگر Claude برای شما مناسبتره میتونید تعیین کنید ازش استفاده کنه.
البته کماکان بعید میدونم کسی Gemini گوگل رو ترجیح بده 🤭
💡 البته این از نظر بیزنسی و طراحی محصول هم درسهایی داره برای کسایی که علاقهمند باشن!
لینک اصل خبر
البته کماکان بعید میدونم کسی Gemini گوگل رو ترجیح بده 🤭
💡 البته این از نظر بیزنسی و طراحی محصول هم درسهایی داره برای کسایی که علاقهمند باشن!
لینک اصل خبر
🔥8
💡 تیم SQLite در حال توسعه ابزاری برای رپلیکیشن است
حالا تیم SQLite در حال تدارک ابزاری برای ایجاد رپلیکیشن مدل snapshot است، حتی در شرایطی که عملیات خواندن و نوشتن در حال انجام باشه.
ابزار sqlite3-rsync میتونه پایگاه داده مبدا رو به یک مکان محلی (همون ماشین) یا راه دور (ماشین دیگه و از طریق شبکه) کپی کنه. در ضمن، در صورت کپی از راه دور، از پروتکل SSH برای رمزگذاری دادهها استفاده میکنه. مقصد، که در مستندات اولیه با نام REPLICA (نسخهی تکراری) معرفی شده، میتونه از قبل وجود داشته باشه و اتصالاتش در حین فرآیند رپلیکیشن برقرار و فعال بمونه، اگرچه این اتصالات فقط خواندنی هستن.
توضیح کامل این ابزار رو با شرح در مورد انواع رپلیکیشن و جزئیات بیشتر اینجا نوشتم
اگر دوست داشتید بخونید، نظرتون رو بگید و یا به اشتراک بگذارید 😊
حالا تیم SQLite در حال تدارک ابزاری برای ایجاد رپلیکیشن مدل snapshot است، حتی در شرایطی که عملیات خواندن و نوشتن در حال انجام باشه.
ابزار sqlite3-rsync میتونه پایگاه داده مبدا رو به یک مکان محلی (همون ماشین) یا راه دور (ماشین دیگه و از طریق شبکه) کپی کنه. در ضمن، در صورت کپی از راه دور، از پروتکل SSH برای رمزگذاری دادهها استفاده میکنه. مقصد، که در مستندات اولیه با نام REPLICA (نسخهی تکراری) معرفی شده، میتونه از قبل وجود داشته باشه و اتصالاتش در حین فرآیند رپلیکیشن برقرار و فعال بمونه، اگرچه این اتصالات فقط خواندنی هستن.
توضیح کامل این ابزار رو با شرح در مورد انواع رپلیکیشن و جزئیات بیشتر اینجا نوشتم
اگر دوست داشتید بخونید، نظرتون رو بگید و یا به اشتراک بگذارید 😊
🔥3👍1
🍿📽 آخر هفته فیلم ببینیم؟
دو تا مستند جالب برای اونایی که هم دوست دارن آخر هفته خوش بگذرونن هم با تمرکز حداقلی به دونستههاشون اضافه شه.
The Code: Story of Linux documentary
یه مستند خوب در مورد پیدایش لینوکس
How A Small Team of Developers Created React at Facebook
داستان اینکه چجوری React.js توی فیسبوک به وجود اومد
امیدوارم دوست داشته باشین، اگر دیدید نظر بدید، به دوستانتون معرفی کنید و اگر پیشنهادی داشتید بنویسید.
اگر دوست داشتید شاید هفتههای آینده هم فیلم و مستند نرمافزاری معرفی کنم. 😊
دو تا مستند جالب برای اونایی که هم دوست دارن آخر هفته خوش بگذرونن هم با تمرکز حداقلی به دونستههاشون اضافه شه.
The Code: Story of Linux documentary
یه مستند خوب در مورد پیدایش لینوکس
How A Small Team of Developers Created React at Facebook
داستان اینکه چجوری React.js توی فیسبوک به وجود اومد
امیدوارم دوست داشته باشین، اگر دیدید نظر بدید، به دوستانتون معرفی کنید و اگر پیشنهادی داشتید بنویسید.
اگر دوست داشتید شاید هفتههای آینده هم فیلم و مستند نرمافزاری معرفی کنم. 😊
🔥9❤1
🗓 چند روز دیگه کنفرانس سالانه داتنت طبق روال سالهای گذشته برای رهانش نسخه جدید داتنت برگزار میشه.
۱:آیا دغدغه یا موضوعی در رابطه با داتنت دارید که دوست داشتهباشید در قالب محتوا، پادکست یا وبینار و دورهمی بهش بپردازیم؟
۲:قابلیت جدیدی در داتنت ۹ بوده که براتون جذاب بوده باشه؟
۳: نسخه جدید یا قابلیتهای جدید تاثیری در محصول و تیم شما داره؟
گپ بزنیم؟...
۱:آیا دغدغه یا موضوعی در رابطه با داتنت دارید که دوست داشتهباشید در قالب محتوا، پادکست یا وبینار و دورهمی بهش بپردازیم؟
۲:قابلیت جدیدی در داتنت ۹ بوده که براتون جذاب بوده باشه؟
۳: نسخه جدید یا قابلیتهای جدید تاثیری در محصول و تیم شما داره؟
گپ بزنیم؟...
🔥6
✨ آیندهی استکاورفلو چی قراره بشه؟
اگر نمودارهای ترافیک استکاورفلو رو دیده باشین یا آمار مشاهده پُستهای خودتون رو، میدونید که بعد از رواج ChatGPT و LLMهای مشابه، به طرز واضحی کاهش داشتن تا جایی که سوال پیش میاد که چه بر سر بقاء StackOverflow خواهد اومد؟!
اینترنت در حال تغییره و منابع دانش و نحوه تعامل کاربر با اونها داره یک استحاله بزرگ رو تجربه میکنه. از طرفی بخشی از منابع دانش که قبلا توسط کاربرها غنی شده، داره به منبع دانش LLMها تبدیل میشه، و همین یکسویه شدن دانش از سمت LLM به کاربر و کم شدن ورودی کاربرها، ورودی آیندهی LLMها تحت تاثیر قرار میگیره، به بیان سادهتر چرخهی دانش با چالشهای جدیدی روبرو میشه/شده!
۱. پاسخها دانش نیستند: اگر LLMها جوابهای کافی برای سوالات پیچیده کاربر نداشته باشن چه باید کرد؟؟ با وجود پیشرفتهای LLMها، هنوز فاقد دو مورد کلیدیاند: پاسخ به پرسشهای پیچیدهتر و توضیح دلایل مرتبط با سناریوها و محیطهای مختلف.
۲. فرار دانش: هوش مصنوعی به ما جواب میده، ولی تولید و نگهداری دانش جدید رو تقویت نمیکنه و قادر نیست آینده رو در نظر بگیره. کاربر احتمال داره از "تاریخ قطع" یا نقطهای که اطلاعات LLM از اون به بعد بهروزرسانی نشده، فاصله بگیره، و این برای کاربر نارضایتی بهوجود میاره.
۳. عدم اعتماد توسعهدهندهها به ابزارهای هوش مصنوعی: عدم اعتماد به خروجیهای LLM خطرناکه و میتونه مشکلات جدیدی در سیستمهای وابسته به این فناوری به وجود بیاره. حفظ و تقویت فیدبک از جانب انسان برای ایجاد دانش و اعتماد به ابزارهای جدید ضروریه.
💡حالا Stack Overflow داره مفهوم knowledge-as-a-service فکر میکنه!
برای Stack Overflow، این یعنی تأمین دسترسی توسعهدهندهها و LLMها به محتوای فنیِ معتبر و بهروز. توی این مدل، "دانش" بهعنوان یک سرویس قابل دسترسی و تکاملیافته ارائه میشه. این دانش، با استفاده از چرخهی فیدبک و تقویت اعتماد کاربرها، به رفع مشکلاتی مثل "فرار دانش" کمک میکنه و پایگاه دانش معتبر و قابلاعتمادی برای جامعه فراهم میکنه.
این مدل کسبوکاری، در صورت موفقیت، میتونه محتوای خودش رو برای مصرف در مقیاس بزرگ ارائه بده، کاربردهای مختلفی هم براش شناسایی شده و سعی میکنن تا بستر استفاده عادلانه و مسئولانه از دادههای community رو فراهم کنن.
مدل "دانش بهعنوان سرویس" فرصتهای پایدارتر رشد مالی رو برای آینده Stack Overflow فراهم میکنه و ضمن حفاظت از community و دانشی که توسطش تولید میشه، امکان بازاستفادهی منصفانه از محتواشون رو برای ارائهدهندههای سرویسهای LLM فراهم میکنه.
اگر نمودارهای ترافیک استکاورفلو رو دیده باشین یا آمار مشاهده پُستهای خودتون رو، میدونید که بعد از رواج ChatGPT و LLMهای مشابه، به طرز واضحی کاهش داشتن تا جایی که سوال پیش میاد که چه بر سر بقاء StackOverflow خواهد اومد؟!
اینترنت در حال تغییره و منابع دانش و نحوه تعامل کاربر با اونها داره یک استحاله بزرگ رو تجربه میکنه. از طرفی بخشی از منابع دانش که قبلا توسط کاربرها غنی شده، داره به منبع دانش LLMها تبدیل میشه، و همین یکسویه شدن دانش از سمت LLM به کاربر و کم شدن ورودی کاربرها، ورودی آیندهی LLMها تحت تاثیر قرار میگیره، به بیان سادهتر چرخهی دانش با چالشهای جدیدی روبرو میشه/شده!
۱. پاسخها دانش نیستند: اگر LLMها جوابهای کافی برای سوالات پیچیده کاربر نداشته باشن چه باید کرد؟؟ با وجود پیشرفتهای LLMها، هنوز فاقد دو مورد کلیدیاند: پاسخ به پرسشهای پیچیدهتر و توضیح دلایل مرتبط با سناریوها و محیطهای مختلف.
۲. فرار دانش: هوش مصنوعی به ما جواب میده، ولی تولید و نگهداری دانش جدید رو تقویت نمیکنه و قادر نیست آینده رو در نظر بگیره. کاربر احتمال داره از "تاریخ قطع" یا نقطهای که اطلاعات LLM از اون به بعد بهروزرسانی نشده، فاصله بگیره، و این برای کاربر نارضایتی بهوجود میاره.
۳. عدم اعتماد توسعهدهندهها به ابزارهای هوش مصنوعی: عدم اعتماد به خروجیهای LLM خطرناکه و میتونه مشکلات جدیدی در سیستمهای وابسته به این فناوری به وجود بیاره. حفظ و تقویت فیدبک از جانب انسان برای ایجاد دانش و اعتماد به ابزارهای جدید ضروریه.
💡حالا Stack Overflow داره مفهوم knowledge-as-a-service فکر میکنه!
برای Stack Overflow، این یعنی تأمین دسترسی توسعهدهندهها و LLMها به محتوای فنیِ معتبر و بهروز. توی این مدل، "دانش" بهعنوان یک سرویس قابل دسترسی و تکاملیافته ارائه میشه. این دانش، با استفاده از چرخهی فیدبک و تقویت اعتماد کاربرها، به رفع مشکلاتی مثل "فرار دانش" کمک میکنه و پایگاه دانش معتبر و قابلاعتمادی برای جامعه فراهم میکنه.
این مدل کسبوکاری، در صورت موفقیت، میتونه محتوای خودش رو برای مصرف در مقیاس بزرگ ارائه بده، کاربردهای مختلفی هم براش شناسایی شده و سعی میکنن تا بستر استفاده عادلانه و مسئولانه از دادههای community رو فراهم کنن.
مدل "دانش بهعنوان سرویس" فرصتهای پایدارتر رشد مالی رو برای آینده Stack Overflow فراهم میکنه و ضمن حفاظت از community و دانشی که توسطش تولید میشه، امکان بازاستفادهی منصفانه از محتواشون رو برای ارائهدهندههای سرویسهای LLM فراهم میکنه.
👍9
✨ ویندوز سرور ۲۰۲۵ برای توسعهدهنده نرمافزار قابلیت جدیدی داره؟
ویندوز سرور ۲۰۲۵ دیروز دیگه به صورت عمومی عرضه شد. ولی آیا برای توسعهدهنده نرمافزار هم میتونه مهم باشه؟ یا برای دواپس؟
من رابطه خوبی با موضعگیریهای «امروز دیگه فلان چیز به درد نمیخوره» یا «دیگه دوره فلان گذشته» ندارم (البته وقتی یه محصول یا ابزار، کلی مصرفکننده داره). لذا اینکه دیگه سرورها همه «باید» لینوکس باشه، یا کلن «امروزه، عصر کانتینرها است» مشکل دارم.
پس توی این پست کمی در مورد ویندوز سرور ۲۰۲۵ مینویسم، ولی از نگاه توسعه نرمافزار! گرچه قابلیتهای خیلی خوبی در زمینه امنیت، شبکه و خصوصا استورج داشته.
قدیمها نگاه توسعهدهندهها عموما به قابلیتهای جدید IIS بود، تا ببینن به عنوان یه وبسرور چی براشون آورده. ولی رفته رفته سهم IIS کمتر شد و مایکروسافت هم خیلی به فکر تحول و توسعهاش نبود. این یعنی مهاجرت بیشتر توسعهدهندهها به Nginx یا Caddy و برای پراکسی معکوس به سمت HAProxy و traefik و ...
ولی نسخه ۲۰۲۵ چیز شگفتآور و مختص توسعهدهندهها نداره! بلکه یک سرور سریعتر و امنتر شده. شاید مرتبطترین قابلیتها برای توسعهدهندهها:
Dev Drive + Block cloning
که اگر کاربر ویندوز بوده باشید میدونید با فایلسیستم ReFS خیلی سریعتر و بهتره برای نگهداری سورسکد و کد اجرایی. حالا ویندوز سرور هم Dev Drive داره هم قابلیت Block cloning.
OpenSSH
اوپناساساچ و winget و WSL و حتی ترمینال دیگه به صورت رسمی روی ویندوز سرور اومده و نیازی به نصب جداگانه و با بدبختی نداره.
Windows containers portability
SMB over QUIC
Accelerated Networking
اینا هم که مشخصا قابلیتهایی هستن که DevOpsها اگر سرور ویندوزی داشته باشن به کارشون میاد. در ضمن آپگرید به ۲۰۲۵ خیلی تسهیل شده.
اطلاعات بیشتر
ویندوز سرور ۲۰۲۵ دیروز دیگه به صورت عمومی عرضه شد. ولی آیا برای توسعهدهنده نرمافزار هم میتونه مهم باشه؟ یا برای دواپس؟
من رابطه خوبی با موضعگیریهای «امروز دیگه فلان چیز به درد نمیخوره» یا «دیگه دوره فلان گذشته» ندارم (البته وقتی یه محصول یا ابزار، کلی مصرفکننده داره). لذا اینکه دیگه سرورها همه «باید» لینوکس باشه، یا کلن «امروزه، عصر کانتینرها است» مشکل دارم.
پس توی این پست کمی در مورد ویندوز سرور ۲۰۲۵ مینویسم، ولی از نگاه توسعه نرمافزار! گرچه قابلیتهای خیلی خوبی در زمینه امنیت، شبکه و خصوصا استورج داشته.
قدیمها نگاه توسعهدهندهها عموما به قابلیتهای جدید IIS بود، تا ببینن به عنوان یه وبسرور چی براشون آورده. ولی رفته رفته سهم IIS کمتر شد و مایکروسافت هم خیلی به فکر تحول و توسعهاش نبود. این یعنی مهاجرت بیشتر توسعهدهندهها به Nginx یا Caddy و برای پراکسی معکوس به سمت HAProxy و traefik و ...
ولی نسخه ۲۰۲۵ چیز شگفتآور و مختص توسعهدهندهها نداره! بلکه یک سرور سریعتر و امنتر شده. شاید مرتبطترین قابلیتها برای توسعهدهندهها:
Dev Drive + Block cloning
که اگر کاربر ویندوز بوده باشید میدونید با فایلسیستم ReFS خیلی سریعتر و بهتره برای نگهداری سورسکد و کد اجرایی. حالا ویندوز سرور هم Dev Drive داره هم قابلیت Block cloning.
OpenSSH
اوپناساساچ و winget و WSL و حتی ترمینال دیگه به صورت رسمی روی ویندوز سرور اومده و نیازی به نصب جداگانه و با بدبختی نداره.
Windows containers portability
SMB over QUIC
Accelerated Networking
اینا هم که مشخصا قابلیتهایی هستن که DevOpsها اگر سرور ویندوزی داشته باشن به کارشون میاد. در ضمن آپگرید به ۲۰۲۵ خیلی تسهیل شده.
اطلاعات بیشتر
Docs
What's new in Windows Server 2025
Learn about the features and enhancements in Windows Server 2025 that help to improve security, performance, and flexibility.
❤5
This media is not supported in your browser
VIEW IN TELEGRAM
😂 وقتی هر زبون و معماری و فریمورکی توی اینترنت میبینی، بدون یادگرفتن و بررسی دقیق، توی محصول استفاده میکنی.
ویدیو از ElectroBOOM Failures #3
ویدیو از ElectroBOOM Failures #3
🤣13
🌎 Enterprise Web App patterns
Modern Web App pattern
مایکروسافت سالهاست نسلهای مختلفی از فریمورکهای توسعه وب رو عرضه کرده. از ۲۸ سال پیش با عرضه ASP تا الان… الگوها و راهنماها و فُرمهای متفاوتی هم به موازات ارائه کرده برای توسعهی بهتر پلتفرمهاب مبتنی بر وب. حالا یک پترن جدید برای اپلیکیشنهای وبی NET. معرفی کرده به اسم پترن (Modern Web App (MWA که هدفش کمک به انتقال راحتتر واصولیتر اپلیکیشنهامون به فضای ابری بوده و مضاعف اینکه اونها رو مدرنسازی کنیم. این الگو زیرمجموعه یک مجموعه از الگوها به اسم Enterprise App Patterns (EAP) هست که تمرکزشون روی راهکارهای دقیق و از پیش تعریف شده برای مدرنسازی برنامههاست.
حالا MWA دقیقا چکار میکنه؟
اگر اپلیکیشنهای قدیمی و تکلایه (Monolithic) دارید، میدونید که انتقال این اپلیکیشنها به فضای ابری معمولا دردسرهای زیادی داره. اما MWA با تکیه به اصول Azure Well-Architected Framework و متدولوژی 12 فاکتوری، یک نقشه راه روشن میده که توش میگه چجوری قسمتهای اصلی اپلیکیشن رو جدا کنیم و اونها رو به صورت Microservices تغییر بدیم. این کار باعث میشه که بخشهای پر استفاده یا پر تقاضا رو بتونیم جداگانه مقیاسپذیر کنیم، عملکرد و هزینهها رو بهینه کنیم و از اون مهمتر، در صورت مشکل در یک بخش، سایر بخشها تحت تأثیر قرار نگیرند.
نکته جالب اینکه این پترن در ادامهی Reliable Web App (RWA) توسعه پیدا کرده که خودش یک پترن برای انتقال اپلیکیشنها به فضای ابری با حداقل تغییرات بود (یعنی همون Replatform)، جالب اینجاست که RWA رو علاوه بر داتنت برای ☕️ جاوا هم ارائه کرده. اما MWA پا رو یک قدم جلوتر گذاشته و میگه که بیایم و بخشهای کلیدی اپ رو به جای اینکه فقط منتقل کنیم، دوباره طراحی و بازسازی (Refactor) کنیم تا واقعا ابری و مدرن بشه.
یکی از جزییات باحال این پترن اینه که از الگوی Strangler Fig برای مدرنسازی تدریجی استفاده میکنه. به این صورت که میتونید یه بخشی از اپلیکیشن رو به میکروسرویس تبدیل کنید و ترافیک رو به تدریج به سمت اون بفرستید. یعنی دیگه نیازی نیست کل سیستم رو یکجا تغییر بدید، بلکه میتونید هر بخش رو کم کم بهینه کنید و بعد برید سراغ بخشهای بعدی.
اگر علاقهمندید که این الگو رو دقیقتر یاد بگیرید و تمرین کنید، مایکروسافت یه نمونه پیادهسازی با یه برنامه فروش بلیت برای یه شرکت خیالی به اسم Relecloud آماده کرده که قدم به قدم نشون میده چجوری یک برنامه قدیمی .NET رو به Azure ببریم و از این الگوهای پیشرفته استفاده کنیم.
🗳 اگر موافقید یه ✨تکافترنون روی این داستان بریم، بگید لطفا 😉
Modern Web App pattern
مایکروسافت سالهاست نسلهای مختلفی از فریمورکهای توسعه وب رو عرضه کرده. از ۲۸ سال پیش با عرضه ASP تا الان… الگوها و راهنماها و فُرمهای متفاوتی هم به موازات ارائه کرده برای توسعهی بهتر پلتفرمهاب مبتنی بر وب. حالا یک پترن جدید برای اپلیکیشنهای وبی NET. معرفی کرده به اسم پترن (Modern Web App (MWA که هدفش کمک به انتقال راحتتر واصولیتر اپلیکیشنهامون به فضای ابری بوده و مضاعف اینکه اونها رو مدرنسازی کنیم. این الگو زیرمجموعه یک مجموعه از الگوها به اسم Enterprise App Patterns (EAP) هست که تمرکزشون روی راهکارهای دقیق و از پیش تعریف شده برای مدرنسازی برنامههاست.
حالا MWA دقیقا چکار میکنه؟
اگر اپلیکیشنهای قدیمی و تکلایه (Monolithic) دارید، میدونید که انتقال این اپلیکیشنها به فضای ابری معمولا دردسرهای زیادی داره. اما MWA با تکیه به اصول Azure Well-Architected Framework و متدولوژی 12 فاکتوری، یک نقشه راه روشن میده که توش میگه چجوری قسمتهای اصلی اپلیکیشن رو جدا کنیم و اونها رو به صورت Microservices تغییر بدیم. این کار باعث میشه که بخشهای پر استفاده یا پر تقاضا رو بتونیم جداگانه مقیاسپذیر کنیم، عملکرد و هزینهها رو بهینه کنیم و از اون مهمتر، در صورت مشکل در یک بخش، سایر بخشها تحت تأثیر قرار نگیرند.
نکته جالب اینکه این پترن در ادامهی Reliable Web App (RWA) توسعه پیدا کرده که خودش یک پترن برای انتقال اپلیکیشنها به فضای ابری با حداقل تغییرات بود (یعنی همون Replatform)، جالب اینجاست که RWA رو علاوه بر داتنت برای ☕️ جاوا هم ارائه کرده. اما MWA پا رو یک قدم جلوتر گذاشته و میگه که بیایم و بخشهای کلیدی اپ رو به جای اینکه فقط منتقل کنیم، دوباره طراحی و بازسازی (Refactor) کنیم تا واقعا ابری و مدرن بشه.
یکی از جزییات باحال این پترن اینه که از الگوی Strangler Fig برای مدرنسازی تدریجی استفاده میکنه. به این صورت که میتونید یه بخشی از اپلیکیشن رو به میکروسرویس تبدیل کنید و ترافیک رو به تدریج به سمت اون بفرستید. یعنی دیگه نیازی نیست کل سیستم رو یکجا تغییر بدید، بلکه میتونید هر بخش رو کم کم بهینه کنید و بعد برید سراغ بخشهای بعدی.
اگر علاقهمندید که این الگو رو دقیقتر یاد بگیرید و تمرین کنید، مایکروسافت یه نمونه پیادهسازی با یه برنامه فروش بلیت برای یه شرکت خیالی به اسم Relecloud آماده کرده که قدم به قدم نشون میده چجوری یک برنامه قدیمی .NET رو به Azure ببریم و از این الگوهای پیشرفته استفاده کنیم.
🗳 اگر موافقید یه ✨تکافترنون روی این داستان بریم، بگید لطفا 😉
Docs
Modern Web App Pattern for .NET - Azure Architecture Center
Implement the Modern Web App pattern for .NET. Modernize web apps in the cloud with prescriptive architecture, code, and configuration guidance.
👌14👍3
🎙 اپیزود جدید پادکست بالاخره ضبطش تمام شد و در حال ادیت و صداگذاری و... است 😃
🔐 مفاهیم و روشهای تولید امن نرمافزار، و نرمافزار امن
سرفصل مطالب:
- معرفی SSDLC
- معرفی SDL
- مفهوم Shift-left testing
- مدلسازی تهدیدات امنیتی (Threat Modeling) با استفاده از STRIDE
- معرفی Static Application Security Testing (SAST)
- معرفی Dynamic Application Security Testing (DAST)
- معرفی Interactive Application Security Testing (IAST)
- معرفی Runtime Application Self-Protection (RASP)
- معرفی Software Composition Analysis (SCA)
- مفهوم Safe Codingو Security by Design و Secure Coding
-مفهوم Defensive Programming, Defensive Design, Offensive Programming
- سرفصلهای دوره CSSLP
✨✨ به نظر خودم پادکست پر و پیمون و خوبی شده، البته در دو اپیزود و به صورت همزمان منتشر میشه.
از الان منتظر نظرات شما برای این اپیزود و موضوع پادکستهای بعدی هستم ☺️
🔐 مفاهیم و روشهای تولید امن نرمافزار، و نرمافزار امن
سرفصل مطالب:
- معرفی SDL
- مفهوم Shift-left testing
- مدلسازی تهدیدات امنیتی (Threat Modeling) با استفاده از STRIDE
- معرفی Static Application Security Testing (SAST)
- معرفی Dynamic Application Security Testing (DAST)
- معرفی Interactive Application Security Testing (IAST)
- معرفی Runtime Application Self-Protection (RASP)
- معرفی Software Composition Analysis (SCA)
- مفهوم Safe Codingو Security by Design و Secure Coding
-مفهوم Defensive Programming, Defensive Design, Offensive Programming
- سرفصلهای دوره CSSLP
✨✨ به نظر خودم پادکست پر و پیمون و خوبی شده، البته در دو اپیزود و به صورت همزمان منتشر میشه.
از الان منتظر نظرات شما برای این اپیزود و موضوع پادکستهای بعدی هستم ☺️
🔥14👍6
🎙✨ اپیزود جدید پادکست در دو قسمت بر روی Castbox قرار گرفت🚀
🔐 مفاهیم و روشهای تولید امن نرمافزار، و نرمافزار امن
سعی کردم مفاهیم زیر رو به زبان ساده و با مثال توضیح بدم، برای درک بهتر، شنیدن هر ۲ قسمت به طور کامل رو پیشنهاد میکنم
🎧🔗 قسمت اول
- معرفی SSDLC
- معرفی SDL
- مفهوم Shift-left testing
🎧🔗 قسمت دوم
- مدلسازی تهدیدات امنیتی (Threat Modeling) با استفاده از STRIDE
- معرفی Static Application Security Testing (SAST)
- معرفی Dynamic Application Security Testing (DAST)
- معرفی Interactive Application Security Testing (IAST)
- معرفی Runtime Application Self-Protection (RASP)
- معرفی Software Composition Analysis (SCA)
- مفهوم Safe Codingو Security by Design و Secure Coding
-مفهوم Defensive Programming, Defensive Design, Offensive Programming
- سرفصلهای دوره CSSLP
🌱♻️ امیدوارم مفید واقع بشه و با نقد، پیشنهاد، کامنت، یا همرسانی پادکست و کانال با دوستانتون به بهبود اپیزودهای بعدی کمک کنید. همچنین امیدوارم با شنیدن نظرات ارزشمندتون، کیفیت اپیزودهای بعدی رو بهبود بدم، و کاستیها رو جبران کنم. 😊🙏
🔐 مفاهیم و روشهای تولید امن نرمافزار، و نرمافزار امن
سعی کردم مفاهیم زیر رو به زبان ساده و با مثال توضیح بدم، برای درک بهتر، شنیدن هر ۲ قسمت به طور کامل رو پیشنهاد میکنم
🎧🔗 قسمت اول
- معرفی SSDLC
- معرفی SDL
- مفهوم Shift-left testing
🎧🔗 قسمت دوم
- مدلسازی تهدیدات امنیتی (Threat Modeling) با استفاده از STRIDE
- معرفی Static Application Security Testing (SAST)
- معرفی Dynamic Application Security Testing (DAST)
- معرفی Interactive Application Security Testing (IAST)
- معرفی Runtime Application Self-Protection (RASP)
- معرفی Software Composition Analysis (SCA)
- مفهوم Safe Codingو Security by Design و Secure Coding
-مفهوم Defensive Programming, Defensive Design, Offensive Programming
- سرفصلهای دوره CSSLP
🌱♻️ امیدوارم مفید واقع بشه و با نقد، پیشنهاد، کامنت، یا همرسانی پادکست و کانال با دوستانتون به بهبود اپیزودهای بعدی کمک کنید. همچنین امیدوارم با شنیدن نظرات ارزشمندتون، کیفیت اپیزودهای بعدی رو بهبود بدم، و کاستیها رو جبران کنم. 😊🙏
🔥12
⏳ ۲۴ ساعت دیگه کنفرانس NET Conf 2024. شروع میشه. (سهشنبه ساعت ۱۹:۳۰ به وقت تهران)
وبسایت رسمی کنفرانس
جدول زمانی جلسات و مطالب
هشتگ جهت درج مطالب در فضای مجازی:
#dotnetconf
یوتیوب پخش زنده، روز اول
یوتیوب پخش زنده، روز دوم
یوتیوب پخش زنده، روز سوم
💬 گپ بزنیم؟ موضوعات جذابش برای شما؟ ایونت معرفی قابلیتهای جدید بگذاریم؟
وبسایت رسمی کنفرانس
جدول زمانی جلسات و مطالب
هشتگ جهت درج مطالب در فضای مجازی:
#dotnetconf
یوتیوب پخش زنده، روز اول
یوتیوب پخش زنده، روز دوم
یوتیوب پخش زنده، روز سوم
💬 گپ بزنیم؟ موضوعات جذابش برای شما؟ ایونت معرفی قابلیتهای جدید بگذاریم؟
❤11👍1
dotnet-versions.pdf
123.1 KB
یه انفوگرافی خوب از سیر امکانات جدید داتنت از نسخه ۱ تا ۹ و سیشارپ از نسخه ۱ تا ۱۳
منبع: nietras.com
منبع: nietras.com
👌8👍2👏1
توی نظرسنجیهای توییتر، لینکدین و... چه خارجی و چه داخلی، خیلیها رأی داده بودند به عدم مهاجرت به داتنت ۹ (به طور کلی نسخههای Short-Term Support).
ما کُد و رانتایممون رو باید بهروز نگهداریم، چه برای آپدیتهای امنیتی و چه پایداری. و این چیزی نیست که بشه ازش در این زمانه چشمپوشی کرد.
اینجا مستند مایکروسافت به طور رسمی بیان میکنه که ورژنهای STS و LTS هر دو کیفیت و استاندارد یکسان دارن. فقط طول مدت بهروز رسانیشون متفاوته. برای من خیلی دشواره که تصور کنم محیط اجرایی یا کد، یک سال متمادی دست نخوره و بهروز نشه!
شما چه نظری دارین؟
ما کُد و رانتایممون رو باید بهروز نگهداریم، چه برای آپدیتهای امنیتی و چه پایداری. و این چیزی نیست که بشه ازش در این زمانه چشمپوشی کرد.
اینجا مستند مایکروسافت به طور رسمی بیان میکنه که ورژنهای STS و LTS هر دو کیفیت و استاندارد یکسان دارن. فقط طول مدت بهروز رسانیشون متفاوته. برای من خیلی دشواره که تصور کنم محیط اجرایی یا کد، یک سال متمادی دست نخوره و بهروز نشه!
شما چه نظری دارین؟
👌7
📊 سلام به همه 😊
اگر قرار باشه ۱۰±۳۰ دقیقه ویدیو/وبینار ببینید، ترجیحتون کدومه؟
ممنون میشم که در نظرسنجی شرکت کنید تا با درک دقیقتری از نیازها و علایق دوستان پیش بره... 🙏🌱
اگر قرار باشه ۱۰±۳۰ دقیقه ویدیو/وبینار ببینید، ترجیحتون کدومه؟
ممنون میشم که در نظرسنجی شرکت کنید تا با درک دقیقتری از نیازها و علایق دوستان پیش بره... 🙏🌱
Final Results
56%
شروع کار NET Aspire. + مثال + نقشهراهش
19%
معرفی و شروع کار Microsoft.Extensions.AI به همراه مثال از local LLM/SLM
11%
شروع کار با Semantic Kernel + مثال
11%
دمو backstage به عنوان internal developer portal
4%
هیچ کدام
0%
اهل وبینار و ویدیو نیستم، فقط متن و اینفوگرافیک
✨ DORA چیه؟
فریمورک DORA که مختصر شدهی DevOps Research and Assessment است، یک فریمورک برای تحقیق و ارزیابیه که تمرکزش روی بهبود مستمر تحویل نرمافزار در سازمانهاست. هدف DORA کمک به تیمها و سازمانها برای بهبود عملکرد و شناسایی نقاط ضعف فرآیند توسعه و عملیاتشونه. DORA بر اساس گزارشهای سالانه مثل "Accelerate State of DevOps" و ۴ معیار کلیدی (DORA Metrics) شناخته میشه:
اول: Lead Time for Changes
زمان لازم برای انتقال تغییرات کد به محیط تولید.
دوم: Deployment Frequency
تعداد دفعات دیپلوی به محیط تولید.
سوم: Change Failure Rate
درصد دیپلویهای ناموفق که باعث مشکلات در محیط تولید میشه.
چهارم: Time to Restore Service
زمان لازم برای رفع خرابی و بازگرداندن سیستم به حالت پایدار.
🧐 به چه درد میخوره؟
فریمورک DORA به تیمها کمک میکنه تا عملکرد خودشون رو ارزیابی کنن و با استفاده از «داده» تصمیم بگیرن که کدوم بخشها نیاز به بهبود دارن. گزارشهای DORA به سازمانها کمک میکنه تا با بررسی این معیارها، روند بهبود مستمر رو پیادهسازی کنن و بهترین عملکرد رو به دست بیارن.
⚙️ استفاده از DORA برای بهبود پایدار عملکرد مهندسی سازمانه، چند موضوع مهم:
🔹 چالش جمعآوری داده: به دست آوردن دادههای دقیق برای متریکهای DORA همیشه آسون نیست. ابزارهای اتوماتیک کمک میکنن، ولی هنوز هم تلاش زیادی برای ادغام این ابزارها در اکوسیستم سازمان نیاز هست.
🔹 اهمیت بازخورد: تیمها میتونن از گزارشهای DORA به عنوان بخشی از فرآیند بهبود مستمر استفاده کنن، مشابه یک ریتروسپکتیو تیمی که با تحلیل گزارشها به اقدامات جدید میرسن.
🔹 تأثیرات پیادهسازی درست DORA: پیادهسازی درست DORA خیلی به رهبری و نحوه حمایت از اون بستگی داره. اگر تیمها آزادی عمل داشته باشن تا بهبودهای خودشون رو انتخاب کنن، نتایج پایدارتری به دست میآد.
🔹تیمهای موفق از استانداردهای صنعتی الهام میگیرن: تبیین قابلیتهای DORA باعث میشه تا تیمها بهتر بتونن معیارها رو درک کنن و از "این نظر منه" و "نظر تو چیه" فاصله بگیرن و به یک استاندارد صنعتی مشترک برسن.
🧾 نکات جالب از گزارش DORA 2024
🔸 رشد استفاده از هوش مصنوعی: پذیرش هوش مصنوعی داره به شدت رشد میکنه و تیمها گزارش دادن که استفاده از AI باعث افزایش بهرهوری، کیفیت کد، و سرعت بررسیهای کد شده. با این حال، استفاده از AI تأثیر منفی کوچکی روی پایداری تحویل نرمافزار داشته.
🔸 مهندسی پلتفرم: گزارش اشاره کرده که تیمهای استفادهکننده از پلتفرمهای داخلی ۱۰ درصد بهرهوری بیشتری داشتن، ولی کاهش ۸ درصدی در throughput و ۱۴ درصدی در stability هم مشاهده شده.
🔸 تثبیت اولویتها: سازمانهایی که اولویتهای پایدار دارن، بهرهوری بیشتری دارن و سطح فرسودگی (burnout) کارکنان پایینتره.
❇️ خلاصه اینکه، روشمند و ساختاریافته در مورد فرایندهامون رفتار کنیم 😉
🔗 وبسایت DORA
🔗 گزارش سال ۲۰۲۴
فریمورک DORA که مختصر شدهی DevOps Research and Assessment است، یک فریمورک برای تحقیق و ارزیابیه که تمرکزش روی بهبود مستمر تحویل نرمافزار در سازمانهاست. هدف DORA کمک به تیمها و سازمانها برای بهبود عملکرد و شناسایی نقاط ضعف فرآیند توسعه و عملیاتشونه. DORA بر اساس گزارشهای سالانه مثل "Accelerate State of DevOps" و ۴ معیار کلیدی (DORA Metrics) شناخته میشه:
اول: Lead Time for Changes
زمان لازم برای انتقال تغییرات کد به محیط تولید.
دوم: Deployment Frequency
تعداد دفعات دیپلوی به محیط تولید.
سوم: Change Failure Rate
درصد دیپلویهای ناموفق که باعث مشکلات در محیط تولید میشه.
چهارم: Time to Restore Service
زمان لازم برای رفع خرابی و بازگرداندن سیستم به حالت پایدار.
🧐 به چه درد میخوره؟
فریمورک DORA به تیمها کمک میکنه تا عملکرد خودشون رو ارزیابی کنن و با استفاده از «داده» تصمیم بگیرن که کدوم بخشها نیاز به بهبود دارن. گزارشهای DORA به سازمانها کمک میکنه تا با بررسی این معیارها، روند بهبود مستمر رو پیادهسازی کنن و بهترین عملکرد رو به دست بیارن.
⚙️ استفاده از DORA برای بهبود پایدار عملکرد مهندسی سازمانه، چند موضوع مهم:
🔹 چالش جمعآوری داده: به دست آوردن دادههای دقیق برای متریکهای DORA همیشه آسون نیست. ابزارهای اتوماتیک کمک میکنن، ولی هنوز هم تلاش زیادی برای ادغام این ابزارها در اکوسیستم سازمان نیاز هست.
🔹 اهمیت بازخورد: تیمها میتونن از گزارشهای DORA به عنوان بخشی از فرآیند بهبود مستمر استفاده کنن، مشابه یک ریتروسپکتیو تیمی که با تحلیل گزارشها به اقدامات جدید میرسن.
🔹 تأثیرات پیادهسازی درست DORA: پیادهسازی درست DORA خیلی به رهبری و نحوه حمایت از اون بستگی داره. اگر تیمها آزادی عمل داشته باشن تا بهبودهای خودشون رو انتخاب کنن، نتایج پایدارتری به دست میآد.
🔹تیمهای موفق از استانداردهای صنعتی الهام میگیرن: تبیین قابلیتهای DORA باعث میشه تا تیمها بهتر بتونن معیارها رو درک کنن و از "این نظر منه" و "نظر تو چیه" فاصله بگیرن و به یک استاندارد صنعتی مشترک برسن.
🧾 نکات جالب از گزارش DORA 2024
🔸 رشد استفاده از هوش مصنوعی: پذیرش هوش مصنوعی داره به شدت رشد میکنه و تیمها گزارش دادن که استفاده از AI باعث افزایش بهرهوری، کیفیت کد، و سرعت بررسیهای کد شده. با این حال، استفاده از AI تأثیر منفی کوچکی روی پایداری تحویل نرمافزار داشته.
🔸 مهندسی پلتفرم: گزارش اشاره کرده که تیمهای استفادهکننده از پلتفرمهای داخلی ۱۰ درصد بهرهوری بیشتری داشتن، ولی کاهش ۸ درصدی در throughput و ۱۴ درصدی در stability هم مشاهده شده.
🔸 تثبیت اولویتها: سازمانهایی که اولویتهای پایدار دارن، بهرهوری بیشتری دارن و سطح فرسودگی (burnout) کارکنان پایینتره.
❇️ خلاصه اینکه، روشمند و ساختاریافته در مورد فرایندهامون رفتار کنیم 😉
🔗 وبسایت DORA
🔗 گزارش سال ۲۰۲۴
dora.dev
DORA | Get Better at Getting Better
DORA is a long running research program that seeks to understand the capabilities that drive software delivery and operations performance. DORA helps teams apply those capabilities, leading to better organizational performance.
👍6🔥3
✨ به بهانه رهانش پرومتئوس ۳ که بعد از سالها یک تغییر بزرگ به شمار میاد، چند خطی در مورد خودش، کاربرد و تاریخچهاش و تغییرات نسخه ۳ به اختصار نوشتم...
اگر دوست داشتید بخونید و نظرتون رو در مورد روشهای مانیتورینگ سرویسها بگید...
🚀 در ویدیو مربوط به Aspire که به زودی تقدیم خواهم کرد، در مورد مفاهیم observability, trace, structured logging, opentelemetry صحبت کردم
https://mesbahi.net/fa/blog/1403/08/27/prometheus-3-overview/
اگر دوست داشتید بخونید و نظرتون رو در مورد روشهای مانیتورینگ سرویسها بگید...
🚀 در ویدیو مربوط به Aspire که به زودی تقدیم خواهم کرد، در مورد مفاهیم observability, trace, structured logging, opentelemetry صحبت کردم
https://mesbahi.net/fa/blog/1403/08/27/prometheus-3-overview/
🔥14❤2