tech-afternoon – Telegram
tech-afternoon
1.23K subscribers
174 photos
6 videos
6 files
166 links
تِک‌افترنون، رویدادی گاه‌به‌گاه است با موضوعات حول معماری و توسعه نرم‌افزار، این کانال هم برای اشتراک اخبار، آموزش، نکاتی حول مهندسی نرم‌افزار، دیتابیس‌، تکنولوژی و مدیریت تولید محصولات نر‌م‌افزاری خواهد بود.
youtube.com/@AminTechTalks/videos
امین مصباحی
Download Telegram
tech-afternoon
🎙🖥 دورهمی آنلاین در مورد دغدغه عرفان 😁 کامنت امروز عرفان در مورد اینکه مباحث بنیادین چجوری یادمون بمونه، یا اصلا لازمه یا نه و... باعث شد به فکر این بیوفتم که دورهمی آنلاین داشته باشیم: - موضوعات دیزاین و معماری و الگوهای طراحی و... رو «تا چه حد»، «چجوری»،…
🎬 ویدیو جلسه دورهمی که شامل گپ و گفت در مورد مطالب زیر بود آپلود شد

- منحنی فراموشی مطالب، منحنی یادگیری، تکنیک تکرار مطالب
- یادگیری نرم‌افزار در ۱۰ سال!
- تا چه حد و چگونه باید مباحث طراحی، معماری و الگوهای طراحی را یاد بگیریم تا بر آن‌ها مسلط شویم و فراموش نکنیم؟
- آیا لازم است که همه چیز را بلد باشیم؟ چگونه تعادل را بین یادگیری فردی و نیازهای واقعی بازار کار و مصاحبه‌های شغلی پیدا کنیم؟
- چگونه نقشه راه یادگیری و مسیر شغلی خود را تدوین کنیم؟
https://youtu.be/Ry2wZDNtv3c
🔥141
امروز صبح خبری دیدم که قابل انتظار بود ولی ناراحت‌کننده! سایت codeproject.com تعطیل می‌شود!

سال‌ها قبل از پیدایش stackoverflow یا github یا حتی مرحوم codeplex، مرجع یادگیری و به‌روز موندن و اشتراک تجربه و کد همین codeproject بود.

من دات‌نت رو با نسخه ۱ شروع کردم 👴🏻 زمانیکه کتاب و منابع خیلی محدود بود.
و سهمی که codeproject در یادگیری من داشت خیلی زیاد بود (خصوصا مفاهیم شیء‌گرایی).

برای مدت طولانی، مقالاتی که دوست داشتم رو با کدهای ضمیمه‌اش PDF می‌کردم و ازشون برای خودم کتابخونه درست کرده بودم...

💡 ولی سایتی که خودش باعث به‌روز موندن بقیه بود، به‌روز نموند و از رقابت جا موند!

حتی مقالاتی که در مورد معماری زیرساخت و سرورها و تنظیمات دیتابیس‌های codeproject بود به من خیلی کمک کرد (بعدترها stackoverflow و نشر تجربه عالیشون از زیرساختشون یادگیری عالی برام داشت)

خلاصه اینکه این ادای احترامیه به مقوله‌ی نشر دانش و همه سرویس‌هایی که ما رو در جهت یادگیری آزاد و البته اصیل کمک کردند...
😢7👍2
از اونجایی که یه مقدار درگیری کاری زیاد شده و احتمالا اپیزود پادکست با موضوع طراحی امن نرم‌افزار چند روز دیرتر برسه...

بیاین چند تا عدد رو ببینیم تا اهمیت طراحی امن رو بهتر درک کنیم (گرچه فجایع امنیتی سرویس‌های دولتی و خصوصی ایران طی چند سال گذشته هیچ عقوبت خاصی نداشته براشون!)

گوگل سال ۲۰۲۲ بالغ بر ۱۲ میلیون دلار، و مایکروسافت تنها طی سال ۲۰۲۱ مبلغ ۱۳.۷ میلیون دلار به هکرهای اخلاق‌گرا بابت برنامه باگ‌بانتی پرداخت کردن.

سال ۲۰۱۷ شرکت Equifax فقط ۷۰۰ میلیون دلار جریمه شد بابت ضعف برطرف نشده امنیتی در فریم‌ورک جاوایی Apache Struts که منجر به نشت ۱۴۷ میلیون مشتریش شد و در کل ۱.۴ میلیارد دلار هزینه روی دستش گذاشت!

متا سال ۲۰۲۲ طی یک فقره جریمه، ۲۲۷ میلیون دلار پرداخت کرد بابت نشت اطلاعاتش...

💡 🎙 منتظر نسخه بعدی پادکست باشید. سعی می‌کنم مرور خوبی روی مفاهیم طراحی امن، shift-left testing، کدنویسی امن داشته باشم...
👍8
به بهانه دیدار اسکات هنزلمن، در مورد نقش‌های سازمانی مثل
Developer Advocate
Developer Evangelist
Developer Relations Engineer
DevRel
بیشتر بدونیم؟ گپ بزنیم؟ نقش چنین افرادی، مسیر شغلی، وظایف و...؟

پینوشت: از اینکه تونستم از این آدم بابت سال‌ها یادگیری که ازش داشتم حضوری تشکر کنم، و بگم چقدر سافت‌اسکیل‌هایی که ازش آموختم ارزشمند بودن، خیلی خوشحالم 😊
🔥164😍1
خبر خوب...

به‌روز رسانی: Webstorm هم شامل همین رویه شد، برای استفاده غیرتجاری رایگان شد.
👏8🥰1
‏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 در حال حاضر نقش کلیدی در آزمایش‌های داخلی و تصمیم‌گیری‌های مرتبط با ابزارهای توسعه‌دهنده در متا ایفا می‌کنه و به تیم‌ها اجازه می‌ده تا با داده‌های دقیق‌تر به بهبود و ساده‌سازی فرآیندهاشون کمک کنن.
tech-afternoon
زینت‌بخش ترمینال شما کدام است؟
✍️ توی کامنت همین رأی‌گیری، چند خطی در مورد مزایا و کاربردهاشون برای توسعه‌دهنده و دواپس‌کار نوشتم. از جنبه platform engineering هم بهش پرداختم و دو مورد تجربه خودم از استفاده ازشون در خصوص Platform نوشتم.
👍7
اخیرا یه مشکل تو روش محاسبه تفاوت بین نسخه‌های مختلف فایل‌ها توی git کشف شده که می‌تونه باعث بشه حجم ریپازیتوری‌ها چند برابر بشه. این مشکل باعث افت کارایی و مصرف بیش‌ازحد فضای ذخیره‌سازی می‌شه.

داستان هم از اونجایی شروع شد که یکی از مهندس‌های ارشد مایکروسافت، جاناتان کریمر، درباره یه ریپازیتوری جاوااسکریپت خیلی بزرگ که تیمشون روش کار می‌کنه پست کرده. یه مونو ریپو (یه ریپازیتوری که پروژه‌های مرتبط زیادی رو نگه‌می‌داره). بیش از ۱۰۰۰ کاربر فعال ماهانه و حدود ۲۰ میلیون خط کد وجود داشته. طبق گزارش کریمر، کلون کردن این ریپازیتوری ۱۷۸ گیگابایت از فضای دیسک رو مصرف کرده که خیلی بیشتر از چیزی بوده که انتظارش رو داشتن.

تیمشون برای بررسی مشکل با یکی از کانتریبیوترهای git به اسم Derrick Stolee، که قبلا تو GitHub بوده و حالا تو مایکروسافت مهندس ارشد هست، مشورت کردن. استولی متوجه می‌شه که...

متن کامل داستان رو اینجا نوشتم 😁

* به‌زودی مشکل instant view تلگرام دسکتاپ به متون راست‌به‌چپ (فارسی) حل می‌شه (هنوز مطمئن نیستم ولی باگی که گزارش کردم رو تلگرام تایید کرده و commit کرده روی گیت‌هاب)
🔥5👍3
یک خبر خوب! کوپایلوت گیت‌هاب که احتمالا خیلی‌هامون ازش استفاده می‌کنیم و انصافا ابزار خوبیه، به زودی از مدل‌های شرکت‌های دیگه‌ای به جز OpenAI پشتیباینی می‌کنه، یعنی مثلا اگر Claude برای شما مناسب‌تره می‌تونید تعیین کنید ازش استفاده کنه.

البته کماکان بعید می‌دونم کسی Gemini گوگل رو ترجیح بده 🤭

💡 البته این از نظر بیزنسی و طراحی محصول هم درس‌هایی داره برای کسایی که علاقه‌مند باشن!

لینک اصل خبر
🔥8
💡 تیم SQLite در حال توسعه ابزاری برای رپلیکیشن است

حالا تیم 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 توی فیس‌بوک به وجود اومد

امیدوارم دوست داشته باشین، اگر دیدید نظر بدید، به دوستانتون معرفی کنید و اگر پیشنهادی داشتید بنویسید.

اگر دوست داشتید شاید هفته‌های آینده هم فیلم و مستند نرم‌افزاری معرفی کنم. 😊
🔥91
🗓 چند روز دیگه کنفرانس سالانه دات‌نت طبق روال سال‌های گذشته برای رهانش نسخه جدید دات‌نت برگزار می‌شه.

۱:آیا دغدغه یا موضوعی در رابطه با دات‌نت دارید که دوست داشته‌باشید در قالب محتوا، پادکست یا وبینار و دورهمی بهش بپردازیم؟

۲:قابلیت جدیدی در دات‌نت ۹ بوده که براتون جذاب بوده باشه؟

۳: نسخه جدید یا قابلیت‌های جدید تاثیری در محصول و تیم شما داره؟

گپ بزنیم؟...
🔥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 فراهم می‌کنه.
👍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ها اگر سرور ویندوزی داشته باشن به کارشون میاد. در ضمن آپگرید به ۲۰۲۵ خیلی تسهیل شده.

اطلاعات بیشتر
5
This media is not supported in your browser
VIEW IN TELEGRAM
😂 وقتی هر زبون و معماری و فریم‌ورکی توی اینترنت می‌بینی، بدون یادگرفتن و بررسی دقیق، توی محصول استفاده می‌کنی.

ویدیو از 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 ببریم و از این الگوهای پیشرفته استفاده کنیم.

🗳 اگر موافقید یه تک‌افترنون روی این داستان بریم، بگید لطفا 😉
👌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


به نظر خودم پادکست پر و پیمون و خوبی شده، البته در دو اپیزود و به صورت هم‌زمان منتشر می‌شه.

از الان منتظر نظرات شما برای این اپیزود و موضوع پادکست‌های بعدی هستم ☺️
🔥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


🌱♻️ امیدوارم مفید واقع بشه و با نقد، پیشنهاد، کامنت، یا هم‌رسانی پادکست و کانال با دوستانتون به بهبود اپیزودهای بعدی کمک کنید. همچنین امیدوارم با شنیدن نظرات ارزشمندتون، کیفیت اپیزودهای بعدی رو بهبود بدم، و کاستی‌ها رو جبران کنم. 😊🙏
🔥12
۲۴ ساعت دیگه کنفرانس NET Conf 2024. شروع می‌شه. (سه‌شنبه ساعت ۱۹:۳۰ به وقت تهران)

وب‌سایت رسمی کنفرانس
جدول زمانی جلسات و مطالب
هشتگ جهت درج مطالب در فضای مجازی:
#dotnetconf


یوتیوب پخش زنده، روز اول

یوتیوب پخش زنده، روز دوم
یوتیوب پخش زنده، روز سوم

💬 گپ بزنیم؟ موضوعات جذابش برای شما؟ ایونت معرفی قابلیت‌های جدید بگذاریم؟
11👍1