سلام سلام
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟
Anonymous Poll
22%
۷ واحد مالی، ۳ واحد آموزش و رشد.
38%
۶ واحد مالی، ۳ واحد آموزش و رشد، ۱ واحد برند کارفرمایی.
15%
۵ واحد مالی، ۵ واحد آموزش و رشد.
18%
۳ واحد مالی، ۵ واحد آموزش و رشد، ۲ واحد برند کارفرمایی.
5%
۱۰ واحد مالی.
2%
۱۰ واحد آموزش و رشد.
1%
۱۰ واحد برند کارفرمایی.
🔥16
Forwarded from .NET Internals
درمورد DependencyInjection یکی از نکاتی که کمتر میبینم بهش توجه میشه اینه اگر شما یه شئ رو در زمان ریجستر کردن ایجاد کنید دیگه DI کنترلی روی ایجاد و حذفش نداره و این مسئولیت برنامه نویس هست که منابعی رو که توی اون کلاس استفاده میشه رو آزاد کنه.
نکته بد ماجرا اینجا شروع میشه که اگر از این روش برای AddScope استفاده بشه به ازای هر درخواست یه شئ ایجاد میشه و منابع آزاد نمیشه و بقیه ماجرا که خودتون بهتر میدونید!
بهترین روش اینه که بذارید خود DI کارشو انجام بده و درمورد خاص که راهی وجود نداره حتما اینترفیس IDisposable رو پیاده کنید.
شما ازین روش استفاده میکنید؟
نکته بد ماجرا اینجا شروع میشه که اگر از این روش برای AddScope استفاده بشه به ازای هر درخواست یه شئ ایجاد میشه و منابع آزاد نمیشه و بقیه ماجرا که خودتون بهتر میدونید!
بهترین روش اینه که بذارید خود DI کارشو انجام بده و درمورد خاص که راهی وجود نداره حتما اینترفیس IDisposable رو پیاده کنید.
شما ازین روش استفاده میکنید؟
❤11👎1
Learning With M pinned «سلام سلام
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟»
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟»
Forwarded from Code With HSN
Media is too big
VIEW IN TELEGRAM
کلید موفقیت اُکالا در Distributed Transaction ها SAGA Orchestration است
👈🏻 چطور همچین پترنی رو توی دنیای میکروسرویسها طراحی کنیم، اونم تو مقیاس بزرگی مثل اکالا؟ جواب این ویدیو است 🌟
💡 حالا مشکل کجاست؟
وقتی توی دنیای مونولیت هستیم، خیلی راحت با یک SQL Transaction همهچیز رو کنترل میکنیم.
اما توی دنیای میکروسرویسها چی؟ 😟
پای چندین دیتابیس وسطه (از انواع مختلف).
دیگه خبری از اون روشهای ساده نیست.
اینجاست که باید بریم سراغ Two-Phase Commit یا SAGA Pattern.
🎯 این ویدیو چی بهت یاد میده؟
1️⃣عملیات Commit و Rollback با پروتکل Two-phase commit
2️⃣عملیات Commit و Rollback با SAGA Choreography پترن
3️⃣عملیات Commit و Rollback با SAGA Orchestration پترن
🎥 لینکها:
📌 ویدیو: تماشا کنید
📌 پلیلیست دیزاین پترنها: مشاهده کنید
📌 لینکدین من: بازکردن
⏰ مدت زمان ویدیو: 38 دقیقه
☕️ اگه ویدیو رو دوست داشتید میتونید از این لینک منو مهمون یک قهوه کنید ❤️
💬 نظرات و سوالاتتون رو هم تو کامنتها بگید، خوشحال میشم کمک کنم!
👈🏻 چطور همچین پترنی رو توی دنیای میکروسرویسها طراحی کنیم، اونم تو مقیاس بزرگی مثل اکالا؟ جواب این ویدیو است 🌟
💡 حالا مشکل کجاست؟
وقتی توی دنیای مونولیت هستیم، خیلی راحت با یک SQL Transaction همهچیز رو کنترل میکنیم.
اما توی دنیای میکروسرویسها چی؟ 😟
پای چندین دیتابیس وسطه (از انواع مختلف).
دیگه خبری از اون روشهای ساده نیست.
اینجاست که باید بریم سراغ Two-Phase Commit یا SAGA Pattern.
🎯 این ویدیو چی بهت یاد میده؟
1️⃣
2️⃣
3️⃣
🎥 لینکها:
📌 ویدیو: تماشا کنید
📌 پلیلیست دیزاین پترنها: مشاهده کنید
📌 لینکدین من: بازکردن
⏰ مدت زمان ویدیو: 38 دقیقه
☕️ اگه ویدیو رو دوست داشتید میتونید از این لینک منو مهمون یک قهوه کنید ❤️
💬 نظرات و سوالاتتون رو هم تو کامنتها بگید، خوشحال میشم کمک کنم!
🔥18❤3🤣1
Forwarded from tech-afternoon (Amin Mesbahi)
چند وقته توی کامیونیتی توصیفات عجیب و غریبی توسط جَواگِره عزیز (جمع مکسر جوگیر) راجع به Rust میبینیم. گویی که «امروزه، عصر Rustنویسی است و مابقی کدها شایستهی لعنت کائنات» (همینو در مورد چیزهای دیگه هم میبینیم، ولی باشه برای پستهای بعدی 😁)
خیلی مهمه که بدونیم «چرا» لینوکس، ویندوز، اندروید و کلی پروژه مهم دیگه در حال بازنویسی برخی کدهای موجود و توسعه برخی کدهای جدیدشون با Rust هستن؟
مثلا توی کرنل ویندوز یک سال و نیمه که راست به صورت رسمی وجود داره (System32\win32kbase_rs.sys) یا لینوکس کرنل ۶.۱۳ که این هفته ریلیز شد علاوه بازهم بخشهای جدیدتری رو با راست بازنویسی کرده (البته خیلی وقته برخی درایورهاش رو با راست نوشتن) و...
با اینکه فریمورک وب و دسکتاپ و... برای راست میبینیم، حتی جایگزین برای الکترون و.. هم داره، باید قبل از افتادن توی حباب، ببینیم «چه مسئله» ای رو قراره برامون حل کنه!
علیایحال؛ اگر خواستید بیشتر باهاش آشنا شید (برای یادگیری مفاهیم طراحی زبان، روشهای مدیریت همزمانی و حافظه و... مایکروسافت به عنوان یکی از اعضاء جدی و مهم بنیاد راست، مستندات خیلی خوبی ویژهی توسعهدهندگان داتنت که قصد مهاجرت یا یادگیری Rust دارن، توسعه داده که میتونید به عنوان یک رفرنس عالی ازش استفاده کنید)
https://microsoft.github.io/rust-for-dotnet-devs/latest/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🙏6❤1
Learning With M
سلام سلام
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟
برای یک تحقیقات به نظر شما احتیاج دارم، ممنون میشم در این نظرسنجی شرکت کنید و همچنین تا جای ممکن با دوستانتون به اشتراک بزارید.
#چالش ۱۰۰۰ شرکت کننده! سوال: اگر ۱۰ واحد ارزش برای ماندگاری یا انتخاب یک شرکت داشته باشید، کدام یک انتخاب شماست؟
سلام،
عزیزانی که توی این نظرسنجی شرکت نکردند، ممنون میشم امروز شرکت کنند.
چند روز دیگه نظرسنجی بسته میشه و من میخوام جمعبندی کنم و گزارشش رو تهیه کنم.
عزیزانی که توی این نظرسنجی شرکت نکردند، ممنون میشم امروز شرکت کنند.
چند روز دیگه نظرسنجی بسته میشه و من میخوام جمعبندی کنم و گزارشش رو تهیه کنم.
👍6
Audio
از کانال محمد عزیز (@icodenext):
🌀 ساکنان جزیره فرم رو درک کرده بودند، اما محتوی رو نه.
💥 امروز صبح، یهویی یاد آنتی پترن کلندر کدر افتادم، و خوب داستان جذابی داره این آنتی پترن. یهویی نشستم پست میکروفن و رکورد کردم.
01:20 World War II
02:30 Melanesia
03:25 Cargo Cult
07:35 Cargo Cult Programming
09:00 Calendar Coder Anti-Pattern
امیدوارم مفید بوده باشه. ببخشید دیگه باید صدای من رو تحمل کنید. ❤️
ویس در کست باکس هم آپلود شد.
https://castbox.fm/episode/Cargo-Cult-Programming-id5362393-id773612501
https://t.me/icodenext
🌀 ساکنان جزیره فرم رو درک کرده بودند، اما محتوی رو نه.
💥 امروز صبح، یهویی یاد آنتی پترن کلندر کدر افتادم، و خوب داستان جذابی داره این آنتی پترن. یهویی نشستم پست میکروفن و رکورد کردم.
01:20 World War II
02:30 Melanesia
03:25 Cargo Cult
07:35 Cargo Cult Programming
09:00 Calendar Coder Anti-Pattern
امیدوارم مفید بوده باشه. ببخشید دیگه باید صدای من رو تحمل کنید. ❤️
ویس در کست باکس هم آپلود شد.
https://castbox.fm/episode/Cargo-Cult-Programming-id5362393-id773612501
https://t.me/icodenext
❤15👍2
یه فرقه ای از برنامه نویس ها هستند که بهشون می گن : برنامه نویس های بی اعتماد !
این برنامه نویس ها انقدر به همه چیز بی اعتماد هستند که کد های قدیمی رو پاک نمی کنن، کامنت می کنن.😐
به هر حال شاید از سورس کنترل به هر دلیلی این کد ها پاک بشن، تاریخچه گم میشه !
نکن همکار عزیز ! نکن برادر من! نکن خواهر من !👍
#روز_نوشت
#طنز
این برنامه نویس ها انقدر به همه چیز بی اعتماد هستند که کد های قدیمی رو پاک نمی کنن، کامنت می کنن.
به هر حال شاید از سورس کنترل به هر دلیلی این کد ها پاک بشن، تاریخچه گم میشه !
نکن همکار عزیز ! نکن برادر من! نکن خواهر من !
#روز_نوشت
#طنز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27😁18
#یاد_بگیریم : زمانی که API ای رو برای تغییر وضعیت یک مثلا سفارش به صورت مداوم درخواست می کنید، کدوم یکی رو دارید استفاده می کنید ؟
Anonymous Quiz
36%
Pulling
42%
Polling
22%
Pushing
👍4
Forwarded from Delpak Log
جلسه بازاندیشی (Retrospective) در بهبود فرآیند توسعه محصول و بلوغ شیوه همکاری ذینفعان، از اهمیت بسیار و نقش بیبدیلی برخوردار است. با این حال این پرسش اساسی مطرح است که آیا «شیوهی مرسوم» برگزاری این جلسات، میتواند تاثیری پایدار، ملموس و سودمند داشته باشد؟
اگر چهارچوبهای اسم و رسمدار چابکی را مرور کنید، خواهید دید که همگی شیوهای یکسان را برای برگزاری این جلسه پیشنهاد کردهاند:
🔹در آغاز: اعضای تیم با همکاری یک تسهیلگر شروع به نوشتن اتفاقات و اقداماتی میکنند که به گمان آنها خوب و خوشحالکننده بودهاند و یا بد و آزاردهنده.
🔹در میانه: سعی میشود به شکلی دموکراتیک، برخی از موضوعات مطروحه، انتخاب و به بحث گذاشته شوند.
🔹سرانجام: سعی میشود تا بر پایه توافقی جمعی (مبتنی بر آرای اکثریت) برخی اقدامات که به گمان اعضای تیم باعث بهبود و رضایت میشود، انتخاب شوند و همگی متعهد به رعایت آنها شوند.
جلسه بازاندیشی با این سبک و سیاق را به دلایلی که در ادامه خواهم گفت، کماثر میبینم و تجربهام نشان داده که نقصی بزرگ در این شیوه از برگزاری رترو وجود دارد. هدف این نوشتار هم شرح آن کاستی بزرگ و پیشنهادی برای اصلاح آن است.
نظریهی زمینه (Theory of Context) چیست؟
در حوزه جامعهشناسی، تصمیماتی که توسط بازیگران گرفته میشود، عموما به طور توامان به خشنودی جمعی و ناخشنودی جمعی دیگر منجر میشود. این تصمیمات که باعث اعطا یا سلب امتیاز به/از کسانی میشود، ذیل سرفصل «سیاستگذاری عمومی» مطالعه میشود. از این منظر، جلسه بازاندیشی اسپرینت هم نوعی از سیاستگذاری عمومی است که میتواند با وضع قوانینی هر چند محلی و محدود باعث شود توزیع امکانات و اختیارات به شکلی انجام شود که عدهای رضایتمند و عدهای ناراضی شوند. مثلا در ساحت جامعه ایران، نهادی مسؤل در حاکمیت تصمیم میگیرد تا در قالب طرح جوانی جمعیت به والدینی که صاحب فرزند میشوند امتیاز خودرو اعطا شود. یا در مقیاسی خردتر، در یک تیم عدهای تصمیم میگیرند که برای افزایش انگیزه، ساعتهایی در هفته به مطالعهی آزاد اختصاص یابد.
آن تصمیم هر چه که باشد و ساحت آن تصمیمگیری هر قدر کلان یا خرد باشد، آنچه که مهم است این است که تصمیمگیران کدام نظریه و نظام مفهومی را برای تحلیل وضع موجود و تبیین علل پیدایش آن برگزیدهاند. آیا اصلا برای تصمیمگیران روشن است که در کدام چهارچوب مفهومی به زمینهی پیدایش وضع موجود مینگرند؟ به عنوان مثال افرادی که فکر میکنند با اعطای امتیاز خرید خودرو، زوجها را تشویق به فرزندآوری میکنند، اولا باید توضیح شفافی دهند که به نظر آنها وضعیت فعلی معلول چه عواملی است؟ شکلگیری رفتارها و روابط اجتماعی، فرهنگی و اقتصادی در طی زمان چگونه باعث شده است که رشد جمعیت این چنین شود؟ این همان نظریهی زمینه است. نظریهای که وظیفهاش ارایه شرحی روشن و عقلانی از علل پیدایش وضع موجود است. در نبود یک نظریهی زمینه (TOC)، نمیتوان گام بعدی یعنی ارایه مدلی برای تغییر را به درستی برداشت.
در مقیاس خردتر (مقیاس کار تیمی) هم، داشتن یک نظریه روشن از علل پیدایش وضع موجود نخستین گام برای رسیدن به بهبود پایدار است. مهم است که همه تصمیمگیران (اعضای تیم) به خصوص تسهیلگران، از ساختارهای رسمی و غیررسمی توزیع قدرت در سازمان، کنشهای افراد و تیمهای دیگر و ریشههای تاریخی شکلگیری گفتمان جاری در تیم آگاهی عمیقی داشته باشند. دست یافتن به این آگاهی، کار ساده و سر راستی نیست اما این نباید باعث شود که تصمیمگیران از این آگاهی ارزشمند چشمپوشی کنند.
نظریهی تغییر (Theory of Change) چیست؟
نظریهی تغییر در کنار نظریهی زمینه، یکی از پایههای اساسی تصمیمگیری و سیاستگذاری است. در حالی که نظریهی زمینه به ما میگوید «چرا وضعیت موجود به این شکل درآمده است»، نظریهی تغییر به این پرسش پاسخ میدهد که «چگونه میتوان این وضعیت را تغییر داد؟» نظریهی تغییر نمایانگر یک دستگاه فکری است که نشان میدهد برای رسیدن به یک هدف خاص، چه مداخلههایی باید انجام شود، چرا باید انجام شود و چه عوامل و شرایطی باید تغییر کنند تا آن هدف محقق شود.
یک نظریهی تغییر مناسب، زنجیرهای از روابط علّی و معلولی را شرح میدهد که در نهایت به تغییر مطلوب منجر میشود. این نظریه نه تنها نقطهی نهایی مطلوب را مشخص میکند، بلکه مسیر دستیابی به آن را نیز با جزییات توضیح میدهد. این موضوع در حوزهی سیاستگذاری عمومی، مدیریت سازمانی و حتی در سطح تیمهای چابک اهمیت حیاتی دارد.
اگر چهارچوبهای اسم و رسمدار چابکی را مرور کنید، خواهید دید که همگی شیوهای یکسان را برای برگزاری این جلسه پیشنهاد کردهاند:
🔹در آغاز: اعضای تیم با همکاری یک تسهیلگر شروع به نوشتن اتفاقات و اقداماتی میکنند که به گمان آنها خوب و خوشحالکننده بودهاند و یا بد و آزاردهنده.
🔹در میانه: سعی میشود به شکلی دموکراتیک، برخی از موضوعات مطروحه، انتخاب و به بحث گذاشته شوند.
🔹سرانجام: سعی میشود تا بر پایه توافقی جمعی (مبتنی بر آرای اکثریت) برخی اقدامات که به گمان اعضای تیم باعث بهبود و رضایت میشود، انتخاب شوند و همگی متعهد به رعایت آنها شوند.
جلسه بازاندیشی با این سبک و سیاق را به دلایلی که در ادامه خواهم گفت، کماثر میبینم و تجربهام نشان داده که نقصی بزرگ در این شیوه از برگزاری رترو وجود دارد. هدف این نوشتار هم شرح آن کاستی بزرگ و پیشنهادی برای اصلاح آن است.
نظریهی زمینه (Theory of Context) چیست؟
در حوزه جامعهشناسی، تصمیماتی که توسط بازیگران گرفته میشود، عموما به طور توامان به خشنودی جمعی و ناخشنودی جمعی دیگر منجر میشود. این تصمیمات که باعث اعطا یا سلب امتیاز به/از کسانی میشود، ذیل سرفصل «سیاستگذاری عمومی» مطالعه میشود. از این منظر، جلسه بازاندیشی اسپرینت هم نوعی از سیاستگذاری عمومی است که میتواند با وضع قوانینی هر چند محلی و محدود باعث شود توزیع امکانات و اختیارات به شکلی انجام شود که عدهای رضایتمند و عدهای ناراضی شوند. مثلا در ساحت جامعه ایران، نهادی مسؤل در حاکمیت تصمیم میگیرد تا در قالب طرح جوانی جمعیت به والدینی که صاحب فرزند میشوند امتیاز خودرو اعطا شود. یا در مقیاسی خردتر، در یک تیم عدهای تصمیم میگیرند که برای افزایش انگیزه، ساعتهایی در هفته به مطالعهی آزاد اختصاص یابد.
آن تصمیم هر چه که باشد و ساحت آن تصمیمگیری هر قدر کلان یا خرد باشد، آنچه که مهم است این است که تصمیمگیران کدام نظریه و نظام مفهومی را برای تحلیل وضع موجود و تبیین علل پیدایش آن برگزیدهاند. آیا اصلا برای تصمیمگیران روشن است که در کدام چهارچوب مفهومی به زمینهی پیدایش وضع موجود مینگرند؟ به عنوان مثال افرادی که فکر میکنند با اعطای امتیاز خرید خودرو، زوجها را تشویق به فرزندآوری میکنند، اولا باید توضیح شفافی دهند که به نظر آنها وضعیت فعلی معلول چه عواملی است؟ شکلگیری رفتارها و روابط اجتماعی، فرهنگی و اقتصادی در طی زمان چگونه باعث شده است که رشد جمعیت این چنین شود؟ این همان نظریهی زمینه است. نظریهای که وظیفهاش ارایه شرحی روشن و عقلانی از علل پیدایش وضع موجود است. در نبود یک نظریهی زمینه (TOC)، نمیتوان گام بعدی یعنی ارایه مدلی برای تغییر را به درستی برداشت.
در مقیاس خردتر (مقیاس کار تیمی) هم، داشتن یک نظریه روشن از علل پیدایش وضع موجود نخستین گام برای رسیدن به بهبود پایدار است. مهم است که همه تصمیمگیران (اعضای تیم) به خصوص تسهیلگران، از ساختارهای رسمی و غیررسمی توزیع قدرت در سازمان، کنشهای افراد و تیمهای دیگر و ریشههای تاریخی شکلگیری گفتمان جاری در تیم آگاهی عمیقی داشته باشند. دست یافتن به این آگاهی، کار ساده و سر راستی نیست اما این نباید باعث شود که تصمیمگیران از این آگاهی ارزشمند چشمپوشی کنند.
نظریهی تغییر (Theory of Change) چیست؟
نظریهی تغییر در کنار نظریهی زمینه، یکی از پایههای اساسی تصمیمگیری و سیاستگذاری است. در حالی که نظریهی زمینه به ما میگوید «چرا وضعیت موجود به این شکل درآمده است»، نظریهی تغییر به این پرسش پاسخ میدهد که «چگونه میتوان این وضعیت را تغییر داد؟» نظریهی تغییر نمایانگر یک دستگاه فکری است که نشان میدهد برای رسیدن به یک هدف خاص، چه مداخلههایی باید انجام شود، چرا باید انجام شود و چه عوامل و شرایطی باید تغییر کنند تا آن هدف محقق شود.
یک نظریهی تغییر مناسب، زنجیرهای از روابط علّی و معلولی را شرح میدهد که در نهایت به تغییر مطلوب منجر میشود. این نظریه نه تنها نقطهی نهایی مطلوب را مشخص میکند، بلکه مسیر دستیابی به آن را نیز با جزییات توضیح میدهد. این موضوع در حوزهی سیاستگذاری عمومی، مدیریت سازمانی و حتی در سطح تیمهای چابک اهمیت حیاتی دارد.
👍8🔥1
بزارم اینجا بمونه به یادگار:
رفرنس: خودم
منبع برای مطالعه: تفکر سریع و کند، دنیل کنمن
هوش، توهمی از تسلطه.
رفرنس: خودم
منبع برای مطالعه: تفکر سریع و کند، دنیل کنمن
👍15❤7👎2
Learning-With-M-E02
Masoud DaneshPour
00:52 سلام و معرفی
01:31 تشریح موضوع پادکست
02:34 اسناد مربوط به راه اندازی و تنظیمات اولیه
07:22 اسناد توسعه Feature
08:35 اسناد مربوط به پایش و رفع Bug
10:42 دو نکته مهم !
خوشحال میشم که این پادکست رو برای دوستانتون ارسال کنید.
#podcast #tech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤10🔥4
یه جمله جالب برای فکر کردن توی آخر هفته:
تغییر یک اصل است. و همه چیز متغیر است، تنها ثابت تغییر است !
تغییر یک اصل است. و همه چیز متغیر است، تنها ثابت تغییر است !
👍28❤6🔥5
چین بسته که انقلاب صنعتی ششم رو به نام خودش کنه.
براش Deepseek بس نبود، حالا kimi.ai رو رونمایی کرده.
200K characters context window !
براش Deepseek بس نبود، حالا kimi.ai رو رونمایی کرده.
200K characters context window !
👍16🔥3
Forwarded from tech-afternoon (Amin Mesbahi)
رویکرد جدید تست نرمافزار با ACH
متا یک رویکرد جدید (از جنبههایی جدید) نسبت به تولید خودکار تستهای نرمافزار اتخاذ کرده با ابزاری به اسم ACH.
🌱 این ACH چیه؟
توی متا، ابزاری به اسم Automated Compliance Hardening (ACH) داریم که توی تست نرمافزار کلی تحول ایجاد کرده. این سیستم، از مدلهای زبان بزرگ (LLM) استفاده میکنه تا به روش «mutation-guided» تستهایی تولید کنه. به عبارت دیگه، ACH با وارد کردن خطاهای عمدی (که بهشون «mutants» میگیم) توی کد، دنبال این میگرده که آیا تستهای موجود اون خطاها رو پیدا میکنن یا نه. مثلا، توی حوزه حریم خصوصی، ACH به صورت خودکار به دنبال اشکالات مرتبط با حریم خصوصی میگرده و مطمئن میشه که این خطاها به سیستمهای ما راه پیدا نکنن. نتیجه؟ کدهای ما محکمتر میشن و ریسک حریم خصوصی کمتر میشه.
همچنین ACH تستهای واحد (unit tests) میسازه که هدفشون شکار اون خطاهای مشخصه. جالبتر اینکه، ما فقط نیاز داریم به صورت متنی و ساده توضیح بدیم که دنبال چه نوع خطاهایی هستیم؛ حتی اگه توضیحاتمون ناقص یا حتی یه کم متناقض باشه، ACH باز هم تستهایی تولید میکنه که تضمین میکنه اون خطاها رو پیدا میکنن.
در گذشته، بیشتر روشهای تست اتوماتیک فقط روی افزایش پوشش کد متمرکز بودن، ولی افزایش پوشش کد همیشه تضمین نمیکنه که خطاها رو پیدا کنیم. ACH از این سنت فاصله میگیره و بهطور خاص خطاها رو هدف قرار میده، البته غالباً باعث افزایش پوشش هم میشه. یه نکته خوب اینه که ACH بر پایه اصول Assured LLM-based Software Engineering ساخته شده، به این معنا که تضمین داره تستهای تولید شده واقعاً اون خطاها رو شکار میکنن.
❓ چطوری کار میکنه؟
تکنیکهای mutation testing مدتهاست که استفاده میشدن؛ یعنی با ایجاد خطاهای عمدی (mutants) توی کد (البته به نحوی که از تولید نهایی دور بمونن) میخوایم ببینیم که آیا تستها این تغییرات رو میگیرن یا نه. مشکل این روشها این بود که این mutants اغلب واقعگرایانه نبودن و کماکان نیاز به نوشتن دستی تستها توسط انسان وجود داشت.
ACH با استفاده از قابلیتهای مدلهای زبان بزرگ (LLM) به دو مشکل اصلی پایان میده:
- تولید mutantsهایی که واقعاً نمایانگر خطاهای واقعی باشن.
- تولید خودکار تستها برای شکار اون خطاها.
مراحل کار ACH:
۱: توضیح خطا: شما توضیح میدی که دنبال چه نوع خطاهایی هستی.
۲: تولید خطاها: ACH براساس توضیحات، تعداد زیادی خطا تولید میکنه.
۳: تولید تستها: سپس این خطاها رو به عنوان ورودی میگیره و تستهایی میسازه که مطمئن بشیم اون خطاها رو پیدا میکنن.
👁 چرا مهمه؟
فکر کنید متا با اون همه برنامهنویس و سیستمهای مختلف، چطور باید مطمئن بشه که همه چیز درست کار میکنه و مخصوصاً مسائل مربوط به حریم خصوصی کاربرها رعایت میشه؟ (منظور از حریم خصوصی همونه که شما راجع به یه کوفتی حرف میزنید، ۲ دقیقه بعدش اینستاگرام، پست و تبلیغ در مورد اون کوفت نمایش میده 😁) اینجاست که ACH میاد به کمک!!:
- با استفاده از LLMها، میتونه خیلی سریع و دقیق باگ تولید کنه
- تستهای متناسب با اون باگها رو مینویسه
- تضمین میکنه که تستها واقعاً اون باگها رو پیدا میکنن
🥸 کجا استفاده شده؟
متا این سیستم رو روی پلتفرمهای مختلفش مثل:
- فیسبوک
- اینستاگرام🤬
- واتساپ
- مسنجر
تست کرده و نتایج خیلی خوبی گرفته.
🚀 آینده چی میشه؟
تیم متا میخواد این تکنولوژی رو گسترش بده و به جاهای بیشتری ببره. هدفشون اینه که:
- ارزیابی ریسکها رو سادهتر کنن
- فشار ذهنی روی برنامهنویسها رو کم کنن
- یه اکوسیستم امنتر برای همه بسازن
خلاصه اینکه ACH نشون میده چطور هوش مصنوعی میتونه به کمک برنامهنویسها بیاد و کارهای سخت و وقتگیر رو براشون آسونتر کنه. مقاله هم روش دادن که میتونید عمیقتر مطالعه کنید...
به صورت کلی داستان تست نرمافزار داره تغییرات بزرگی میکنه. استارتاپها و شرکتهای متعددی دارن روش کار میکنن. خصوصا الان که توضیح و توصیف عملکرد کدهای ساده و متوسط رو با درصد خوبی از پسش برمیان...
با اینکه ۲ تا موضوع توی همین کانال و کلا دنیای توسعه نرمافزار فارسی زبان، خیلی نامحبوبه، یکی مستندسازی یکی تست، ولی اگر موافق باشین چند تا پست در موردش گپ بزنیم؟ (بزنیم:⚙️ | نزنیم: 🤪 ، اگر نزنیم، شما بگید تا اگر بلد بودم بریم سراغش... 😉)
متا یک رویکرد جدید (از جنبههایی جدید) نسبت به تولید خودکار تستهای نرمافزار اتخاذ کرده با ابزاری به اسم ACH.
🌱 این ACH چیه؟
توی متا، ابزاری به اسم Automated Compliance Hardening (ACH) داریم که توی تست نرمافزار کلی تحول ایجاد کرده. این سیستم، از مدلهای زبان بزرگ (LLM) استفاده میکنه تا به روش «mutation-guided» تستهایی تولید کنه. به عبارت دیگه، ACH با وارد کردن خطاهای عمدی (که بهشون «mutants» میگیم) توی کد، دنبال این میگرده که آیا تستهای موجود اون خطاها رو پیدا میکنن یا نه. مثلا، توی حوزه حریم خصوصی، ACH به صورت خودکار به دنبال اشکالات مرتبط با حریم خصوصی میگرده و مطمئن میشه که این خطاها به سیستمهای ما راه پیدا نکنن. نتیجه؟ کدهای ما محکمتر میشن و ریسک حریم خصوصی کمتر میشه.
همچنین ACH تستهای واحد (unit tests) میسازه که هدفشون شکار اون خطاهای مشخصه. جالبتر اینکه، ما فقط نیاز داریم به صورت متنی و ساده توضیح بدیم که دنبال چه نوع خطاهایی هستیم؛ حتی اگه توضیحاتمون ناقص یا حتی یه کم متناقض باشه، ACH باز هم تستهایی تولید میکنه که تضمین میکنه اون خطاها رو پیدا میکنن.
در گذشته، بیشتر روشهای تست اتوماتیک فقط روی افزایش پوشش کد متمرکز بودن، ولی افزایش پوشش کد همیشه تضمین نمیکنه که خطاها رو پیدا کنیم. ACH از این سنت فاصله میگیره و بهطور خاص خطاها رو هدف قرار میده، البته غالباً باعث افزایش پوشش هم میشه. یه نکته خوب اینه که ACH بر پایه اصول Assured LLM-based Software Engineering ساخته شده، به این معنا که تضمین داره تستهای تولید شده واقعاً اون خطاها رو شکار میکنن.
تکنیکهای mutation testing مدتهاست که استفاده میشدن؛ یعنی با ایجاد خطاهای عمدی (mutants) توی کد (البته به نحوی که از تولید نهایی دور بمونن) میخوایم ببینیم که آیا تستها این تغییرات رو میگیرن یا نه. مشکل این روشها این بود که این mutants اغلب واقعگرایانه نبودن و کماکان نیاز به نوشتن دستی تستها توسط انسان وجود داشت.
ACH با استفاده از قابلیتهای مدلهای زبان بزرگ (LLM) به دو مشکل اصلی پایان میده:
- تولید mutantsهایی که واقعاً نمایانگر خطاهای واقعی باشن.
- تولید خودکار تستها برای شکار اون خطاها.
مراحل کار ACH:
۱: توضیح خطا: شما توضیح میدی که دنبال چه نوع خطاهایی هستی.
۲: تولید خطاها: ACH براساس توضیحات، تعداد زیادی خطا تولید میکنه.
۳: تولید تستها: سپس این خطاها رو به عنوان ورودی میگیره و تستهایی میسازه که مطمئن بشیم اون خطاها رو پیدا میکنن.
فکر کنید متا با اون همه برنامهنویس و سیستمهای مختلف، چطور باید مطمئن بشه که همه چیز درست کار میکنه و مخصوصاً مسائل مربوط به حریم خصوصی کاربرها رعایت میشه؟ (منظور از حریم خصوصی همونه که شما راجع به یه کوفتی حرف میزنید، ۲ دقیقه بعدش اینستاگرام، پست و تبلیغ در مورد اون کوفت نمایش میده 😁) اینجاست که ACH میاد به کمک!!:
- با استفاده از LLMها، میتونه خیلی سریع و دقیق باگ تولید کنه
- تستهای متناسب با اون باگها رو مینویسه
- تضمین میکنه که تستها واقعاً اون باگها رو پیدا میکنن
🥸 کجا استفاده شده؟
متا این سیستم رو روی پلتفرمهای مختلفش مثل:
- فیسبوک
- اینستاگرام
- واتساپ
- مسنجر
تست کرده و نتایج خیلی خوبی گرفته.
تیم متا میخواد این تکنولوژی رو گسترش بده و به جاهای بیشتری ببره. هدفشون اینه که:
- ارزیابی ریسکها رو سادهتر کنن
- فشار ذهنی روی برنامهنویسها رو کم کنن
- یه اکوسیستم امنتر برای همه بسازن
خلاصه اینکه ACH نشون میده چطور هوش مصنوعی میتونه به کمک برنامهنویسها بیاد و کارهای سخت و وقتگیر رو براشون آسونتر کنه. مقاله هم روش دادن که میتونید عمیقتر مطالعه کنید...
به صورت کلی داستان تست نرمافزار داره تغییرات بزرگی میکنه. استارتاپها و شرکتهای متعددی دارن روش کار میکنن. خصوصا الان که توضیح و توصیف عملکرد کدهای ساده و متوسط رو با درصد خوبی از پسش برمیان...
با اینکه ۲ تا موضوع توی همین کانال و کلا دنیای توسعه نرمافزار فارسی زبان، خیلی نامحبوبه، یکی مستندسازی یکی تست، ولی اگر موافق باشین چند تا پست در موردش گپ بزنیم؟ (بزنیم:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2🔥2
سلام.
ترند مهم خبری امروز در باره چیپ جدید مایکروسافت برای کامپیوتر های کوانتمی هست به اسم Majorana 1 که تا چند سال آینده امکان تولید کامپیوتر های کوانتمی رو ممکن می کنه. به عبارتی ماکروسافت ادعا کرده که کنترل کامپیوتر کوانتمی رو داره ممکن می کنه.
اینم ویدیو معرفیش اگر دوست دارید ببینید:
https://www.youtube.com/watch?v=wSHmygPQukQ
نکته جالب در مورد این چیپ ها اینه که، خیلی معماری پیچیده و خاصی دارن، به طوری که در سطح اتم ها و فعالیتشون حساسن.
بخش بسیار جذاب این تکنولوژی اینه که حل محاسبات پردازشگر های کوانتمی بسیاااار پیچیده و همچنین جذابه.
دلیل اصلیش هم اینه که کامپیوتر های کوانتمی از کیو بیت استفاده می کنن که حالت صفر یا یک و یا حالتی از این دو هست، به همین دلیل جواب هایی هم که این کامپیوتر پیدا می کنه، چیزی بین درست و غلط هست، حالا اصل کار اینه که بتونیم با الگوریتمی به بهترین جواب نزدیک شیم. اینو هم می دونیم که نمی دونیم بهترین جواب چیه!
با کامپیوتر های کوانتمی، دنیای هوش مصنوعی هم کاملا دگرگون میشه و یک کامپیوتر کوانتمی با قدرتی که داره به اندازه بزرگترین دیتا سنتر های دنیا میتونه محاسبات رو پیش ببره. نکته قابل توجه این ساختار میزان انرژی مصرفیش هم هست که بسیار کمتر خواهد بود.
یه سری نگرانی هایی هم برای آینده دنیای کریپتو و بلاک چین وجود داره که اگر این کامپیوتر های کوانتمی خلق بشن، دیگه بهم ریختن یک شبکه مثل بیت کوین کاری نداره. چون شکستن رمز الگوریتم های رمز نگاری فعلی کار سختی برای کامپیوتر های کوانتمی نیست.
اگر براتون جالبه، باید بگم که جهان اولی ها چند ساله دنبال اینن که الگرویتم هایی برای رمز نگاری بسازن(که بهشون میگن الگوریتم های پسا کوانتمی) که حتی با کامپیوتر های کوانتمی هم قابل شکستن نیستند.
اگر دوست دارید بیشتر در مورد ریاضیات این کامپیوتر ها بدونید این ویدیو رو ببینید:
https://youtu.be/krFjCO71ExQ?si=n3Z6WNVEh2ys46j9
ترند مهم خبری امروز در باره چیپ جدید مایکروسافت برای کامپیوتر های کوانتمی هست به اسم Majorana 1 که تا چند سال آینده امکان تولید کامپیوتر های کوانتمی رو ممکن می کنه. به عبارتی ماکروسافت ادعا کرده که کنترل کامپیوتر کوانتمی رو داره ممکن می کنه.
اینم ویدیو معرفیش اگر دوست دارید ببینید:
https://www.youtube.com/watch?v=wSHmygPQukQ
نکته جالب در مورد این چیپ ها اینه که، خیلی معماری پیچیده و خاصی دارن، به طوری که در سطح اتم ها و فعالیتشون حساسن.
بخش بسیار جذاب این تکنولوژی اینه که حل محاسبات پردازشگر های کوانتمی بسیاااار پیچیده و همچنین جذابه.
دلیل اصلیش هم اینه که کامپیوتر های کوانتمی از کیو بیت استفاده می کنن که حالت صفر یا یک و یا حالتی از این دو هست، به همین دلیل جواب هایی هم که این کامپیوتر پیدا می کنه، چیزی بین درست و غلط هست، حالا اصل کار اینه که بتونیم با الگوریتمی به بهترین جواب نزدیک شیم. اینو هم می دونیم که نمی دونیم بهترین جواب چیه!
با کامپیوتر های کوانتمی، دنیای هوش مصنوعی هم کاملا دگرگون میشه و یک کامپیوتر کوانتمی با قدرتی که داره به اندازه بزرگترین دیتا سنتر های دنیا میتونه محاسبات رو پیش ببره. نکته قابل توجه این ساختار میزان انرژی مصرفیش هم هست که بسیار کمتر خواهد بود.
یه سری نگرانی هایی هم برای آینده دنیای کریپتو و بلاک چین وجود داره که اگر این کامپیوتر های کوانتمی خلق بشن، دیگه بهم ریختن یک شبکه مثل بیت کوین کاری نداره. چون شکستن رمز الگوریتم های رمز نگاری فعلی کار سختی برای کامپیوتر های کوانتمی نیست.
اگر براتون جالبه، باید بگم که جهان اولی ها چند ساله دنبال اینن که الگرویتم هایی برای رمز نگاری بسازن(که بهشون میگن الگوریتم های پسا کوانتمی) که حتی با کامپیوتر های کوانتمی هم قابل شکستن نیستند.
اگر دوست دارید بیشتر در مورد ریاضیات این کامپیوتر ها بدونید این ویدیو رو ببینید:
https://youtu.be/krFjCO71ExQ?si=n3Z6WNVEh2ys46j9
YouTube
Majorana 1 Explained: The Path to a Million Qubits
Hear from the Microsoft team behind the recent breakthrough in physics and quantum computing demonstrated by the new Majorana 1 chip, engineered from an entirely new material that has the potential to scale to millions of qubits on a single chip. Find out…
👍25🔥5
Forwarded from ویکی تجربه - استخدام و بررسی شرکت ها
میخواهید بدانید حقوق منصفانهتون برای سال آینده چقدره؟ کافیه چند دقیقه وقت بذارید و توی نظرسنجی (ناشناس) ویکیتجربه شرکت کنید.
اطلاعاتتون کاملاً ناشناس میمونه و هیچ نیازی به دادن اطلاعات شخصی نیست. با این کار، دید شفافی از مبلغ قرارداد سال بعدم پیدا میکنید و با خیال راحتتر برای آیندهتون برنامهریزی میکنید.
لطفاً این لینک را با همکارانتان یا در شبکههای اجتماعی به اشتراک بگذارید!
با اشتراکگذاری این نظرسنجی، به جمعآوری دادههای بیشتر و تهیه گزارشی دقیقتر از حقوق و دستمزد کمک میکنید.
همین حالا شرکت کنید و قدمی برای بهبود شرایط خودتون بردارید!
https://forms.gle/tPY6jRdU2xokYzfc8
.
اطلاعاتتون کاملاً ناشناس میمونه و هیچ نیازی به دادن اطلاعات شخصی نیست. با این کار، دید شفافی از مبلغ قرارداد سال بعدم پیدا میکنید و با خیال راحتتر برای آیندهتون برنامهریزی میکنید.
لطفاً این لینک را با همکارانتان یا در شبکههای اجتماعی به اشتراک بگذارید!
با اشتراکگذاری این نظرسنجی، به جمعآوری دادههای بیشتر و تهیه گزارشی دقیقتر از حقوق و دستمزد کمک میکنید.
همین حالا شرکت کنید و قدمی برای بهبود شرایط خودتون بردارید!
https://forms.gle/tPY6jRdU2xokYzfc8
.
👍18👎1