Software Engineer Labdon
605 subscribers
43 photos
4 videos
2 files
757 links
👑 Software Labdon

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
Forwarded from Gopher Academy
کدوم هوش مصنوعی رو انتخاب می کنید واسه کارهای برنامه نویسی؟
Anonymous Poll
48%
GPT
12%
Grok
42%
Claude
17%
other
چند وقت پیش مسئولیت Refactor بخشی از یک پروژه بزرگ Next.js بهم سپرده شد. بخشی از این کار، شناسایی و حذف کدها و فایلهای بلااستفاده (Dead Code) بود کاری که توی پروژههای بزرگ معمولاً سخت، زمانبر و پرریسکه.

برای سادهتر کردن این مسیر، به ابزار knip رسیدم. ابزار قدرتمندی که فایلها، فانکشن ها و حتی dependencyهای بلااستفاده رو شناسایی میکنه.
در عمل، knip تونست بخش زیادی از dead code ها رو شناسایی کنه، اما دو نکتهی جالب و مهم برام داشت:
- اولی مربوط به component tree بود.
یکسری کامپوننتها بهعنوان dead code تشخیص داده شده بودن، در حالی که وقتی سرچ میکردم، میدیدم یه جای دیگه دارن استفاده میشن. اما وقتی کامپوننت parent رو بررسی کردم، فهمیدم اون خودش هیچجا استفاده نشده و این باعث شده بود که child رو هم dead code بدونه. این عمق تحلیل وابستگی، برام قابل توجه بود.
- دومی تشخیص ناقص بعضی dependencyها بود.

برای مثال، tailwindcss و یکی از پلاگینهاش که در فایل CSS ایمپورت شده بودن، بهعنوان unused معرفی شدن. همینطور بعضی پلاگینهای ESLint هم به اشتباه در لیست قرار گرفته بودن. این یعنی خروجی ابزار، هرچقدر هم دقیق باشه، همچنان نیاز به بررسی انسانی داره.

این تجربه باعث شد ابزارهای تحلیل ایستا (static analysis) رو جدیتر ببینم؛ نه فقط برای حذف کد، بلکه برای درک بهتر ساختار پروژه.
https://github.com/webpro-nl/knip

@ <Mohammad Nazari/>
2
## 🟢 Entry-Level (0-2 سال)

تمرکز اصلی: Technical Fundamentals

چی ازت انتظار دارن:
- اAlgorithm و Data Structure بدونی
- کد تمیز و خوانا بنویسی
- اBug fixing و debugging
- اCode review ها رو implement کنی
- استفاده از tools مثل Git، IDE ها

مصاحبه چجوریه:
-ا LeetCode problems
- ا"Reverse این linked list رو"
-ا "Big O این کد چیه؟"
- اLive coding sessions
- شاخص اصلی: Problem-solving ability

مثال کار روزانه:
- اFeature کوچیک پیاده کنی
- اTest بنویسی
-ا Documentation update کنی
- اSenior ها کارت رو review کنن

---

## 🟡 Senior-Level (3-7 سال)

تمرکز اصلی: End-to-End Ownership

چی ازت انتظار دارن:
- اIdeation: از business requirement تا technical solution
Design: System architecture و database design
- اImplementation: کدنویسی + mentoring junior ها
Testing: Unit test, integration test، A/B testing
Deployment: CI/CD، monitoring، scaling
- اMaintenance: Performance optimization، bug triage

مصاحبه چجوریه:
- اSystem Design: "Instagram رو چجوری design می‌کنی؟"
- اBehavioral: "یه conflict تو تیم چجوری حل کردی؟"
- اTrade-offs: "SQL vs NoSQL کی استفاده می‌کنی؟"
- کمتر coding، بیشتر architecture

مثال کار روزانه:
- اProduct Manager با تو صحبت می‌کنه
-ا Technical specs می‌نویسی
- اJunior developer ها رو guide می‌کنی
- اPerformance metrics رو track می‌کنی
- اProduction issues حل می‌کنی

---

## 🔴 Principal-Level (7+ سال)

تمرکز اصلی: Leadership & Strategy

چی ازت انتظار دارن:
- اTechnical Strategy: Technology roadmap برای کل company
- اTeam Leadership: Multiple team ها رو coordinate کنی
- اMentorship: Senior engineer ها رو train کنی
- اCross-functional: Product، Business، Engineering alignment
- اInnovation: New technologies و best practices معرفی کنی
- اHiring: Technical interview ها و team building

مصاحبه چجوریه:
- ا"Company ما scale کنه چه tech stack پیشنهاد می‌دی؟"
- "چجوری team culture بسازی؟"
- "یه technical debt چجوری prioritize می‌کنی؟"
- ا"Conflict بین دو team رو چجوری حل می‌کنی؟"
- کدنویسی اصلاً نیست!

مثال کار روزانه:
- اC-level executives رو advise می‌کنی
-ا Technical RFC ها رو approve می‌کنی
- اTeam retrospective ها رو facilitate می‌کنی
- اIndustry conferences می‌ری
-ا Company hiring strategy تعیین می‌کنی

نکته مهم: هر سطح مهارت‌های سطح قبلی رو هم باید داشته باشه، فقط تمرکز عوض میشه!
2
این ریپو واقعاً مثل یه گنج پنهانه که خیلی‌ها به راحتی از کنارش رد می‌شن، بدون اینکه بدونن چه ارزش بزرگی پشتشه. اینجا بیش از ۳۰۰ تا Case Study از بیشتر از ۸۰ تا شرکت پیشرو دنیا جمع‌آوری شده؛ شرکت‌هایی مثل Netflix، Airbnb و Doordash که هر کدوم تجربۀ واقعی‌شون از ML System Design رو به اشتراک گذاشتن.

اما موضوع فقط جمع کردن تجربه‌ها نیست؛ هر کدوم از این Case Studyها یه دریچه‌ست به دنیای واقعی، جایی که می‌شه دید چطور ML توی دل محصول‌ها و فرآیندها به کار گرفته می‌شه تا کیفیت و کارایی رو چند برابر کنه. این یعنی به جای خوندن تئوری‌های خشک، شما با مثال‌های زنده و
قابل لمس سروکار دارین.

لینک ریپو:
https://github.com/Engineer1999/A-Curated-List-of-ML-System-Design-Case-Studies

<Reza Jafari/>
Forwarded from AI Labdon
🤖 علاقه‌مند به دنیای هوش مصنوعی هستی؟

🏖 دنبال می‌کنی که چطور AI داره دنیا رو متحول می‌کنه؟

🍻پس جای درستی اومدی!

🎯 در کانال ما هر روز:

🔍 جدیدترین اخبار و دستاوردهای دنیای AI

🧠 تحلیل‌ تخصصی در حوزه یادگیری ماشین، دیپ لرنینگ و مدل‌های زبانی

💼 بررسی کاربردهای هوش مصنوعی در پزشکی، صنعت، آموزش، امنیت و اقتصاد

🛠 معرفی ابزارها، دوره‌ها و منابع یادگیری

📈 بررسی ترندها و آینده‌ فناوری‌های مرتبط با هوش مصنوعی

🍄همه‌ی این‌ها به زبان ساده، خلاصه و قابل فهم برای همه علاقه‌مندان — از مبتدی تا حرفه‌ای!
👇👇👇👇👇👇

https://t.iss.one/ai_labdon
Forwarded from Notification
🔵 عنوان مقاله
Document less, share more: A modern take on test evidence

🟢 خلاصه مقاله:
در رویکردی مدرن به «شواهد آزمون»، هدف جایگزین‌کردن مدارک حجیم با نشانه‌های سبک، به‌روز و قابل مصرف است: کمتر مستندسازی کنید و بیشتر به‌اشتراک بگذارید. به‌جای گزارش‌های طولانی، از داشبوردهای زنده، یادداشت‌های کوتاه جلسه، اسکرین‌شات/ویدئوهای توضیح‌دار و لینک به لاگ‌ها و اجرای CI استفاده کنید؛ شواهد باید نیت، ریسک، نتیجه و گام‌های بعدی را روشن کند. سطح مستندسازی را با زمینه تطبیق دهید: در حوزه‌های مقرراتی اسناد رسمی لازم است، اما در اکثر تیم‌ها «شواهد بنا به نیاز» و یادداشت‌های مختصر پیوستِ استوری‌ها کافی است. برای افزایش دیده‌شدن تست، فرایند را روایت کنید: به‌روزرسانی‌های سریع در کانال‌ها، دمو، باگ‌بش و جفت‌کاری، همراه با تابلوهای ریسک/پوشش و داشبوردهای CI. اتوماسیون شواهد خام را جمع‌آوری می‌کند و انسان‌ها معنا و ریسک‌ها را خلاصه می‌کنند. معیار خوب‌بودن شواهد، نه طول آن، بلکه سرعت و کیفیت تصمیم‌هایی است که امکان‌پذیر می‌کند.

🟣لینک مقاله:
https://cur.at/rnLzzYS?m=web


👑 @software_Labdon
👌1
🔵 عنوان مقاله
CSI — Coverage, Speed and Information

🟢 خلاصه مقاله:
این مقاله یک سرواژه عملی برای تمرکز تست پیشنهاد می‌کند: CSI، مخفف Coverage (پوشش)، Speed (سرعت) و Information (اطلاعات). پوشش یعنی آزمودن آگاهانه پهنا و عمقِ نواحی پرریسک و شفاف‌کردنِ آنچه تست شده و نشده؛ سرعت یعنی رساندن بازخورد قابل اتکا در کوتاه‌ترین زمان با کوچک‌سازی دامنه، بهبود تست‌پذیری و اتوماسیون هدفمند؛ و اطلاعات یعنی ارائه بینش شفاف، قابل تصمیم‌گیری و صادقانه درباره ریسک‌ها و عدم‌قطعیت‌ها. نویسنده تأکید می‌کند که CSI یک موازنه است: بسته به موقعیت، ممکن است یکی را پررنگ‌تر کنید، اما حداقل انتظار از هر تستر این است که در برنامه‌ریزی و بازنگری کار خود، هر سه بُعد را بسنجد و به‌روشنی به ذی‌نفعان منتقل کند.

🟣لینک مقاله:
https://cur.at/D7svZsX?m=web


👑 @software_Labdon
🔵 عنوان مقاله
AI Agents and Test Suites: Lessons from the Trenches

🟢 خلاصه مقاله:
این مقاله با تکیه بر تجربه عملی جیمز کیپ نشان می‌دهد که عامل‌های هوش مصنوعی در نگه‌داری و رفع خطای تست‌ها مفیدند، اما جایگزین مهندسی منضبط نیستند. بهترین کاربردها: خلاصه‌سازی لاگ‌های طولانی، پیوند خطاها به تغییرات اخیر، پیشنهاد وصله‌های حداقلی، و تولید/بازآرایی تست‌های پوشش‌دهنده لبه‌ها. چالش‌ها: ناپایداری ناشی از زمان، تصادفی‌بودن، هم‌زمانی و وابستگی به سرویس‌های بیرونی؛ بنابراین باید محیط تست را قطعی کرد (فریز زمان، تعیین seed، استفاده از mock/fake و DI). برای ایمنی و کیفیت: تغییرات کوچک با توضیح، بازبینی انسانی، اجرای کامل تست‌ها، زمینه‌دهی دقیق به مدل و یکپارچه‌سازی در CI/CD جهت تریاژ و پیشنهاد اصلاح‌ها؛ همچنین پایش معیارهایی مانند زمان رفع، نرخ flaky و تغییر پوشش. در نهایت، با رعایت حریم خصوصی و مستندسازی الگوهای خطا، AI شتاب‌دهنده مؤثری است، نه گلوله نقره‌ای.

🟣لینک مقاله:
https://cur.at/dbtATNz?m=web


👑 @software_Labdon
1
🔵 عنوان مقاله
Flutter UI Testing with Patrol Framework

🟢 خلاصه مقاله:
این مقاله چارچوب Patrol را برای آزمون رابط کاربری اپ‌های Flutter معرفی می‌کند و نشان می‌دهد چگونه با حداقل پیکربندی آن را روی اندروید و iOS راه‌اندازی و اجرا کنید. نویسنده روند کلی افزودن بسته و ابزار خط فرمان، ایجاد تست‌های ساده، اجرای آن‌ها روی شبیه‌ساز یا دستگاه واقعی، و مشاهده لاگ‌ها و خروجی‌ها را توضیح می‌دهد. تمرکز بر قابلیت‌های عملی Patrol است؛ از جمله تعامل با عناصر بومی پلتفرم در کنار ویجت‌های Flutter، کنترل مجوزها و دیالوگ‌های سیستمی، و کاهش ناپایداری تست‌ها. در پایان، بهترین شیوه‌ها و ادغام با CI برای اجرای خودکار روی هر دو پلتفرم و گسترش تدریجی پوشش تست مطرح می‌شود.

🟣لینک مقاله:
https://cur.at/RV62fFO?m=web


👑 @software_Labdon
1
🔵 عنوان مقاله
12 Activities of Quality Management: Seeing Beyond Testing

🟢 خلاصه مقاله:
این مقاله با عنوان «۱۲ فعالیت مدیریت کیفیت: فراتر از تست‌کردن» از تیم‌ها می‌خواهد کیفیت را فقط به اجرای تست محدود نکنند. با تکیه بر توصیه‌های داریا کوتِلِنِتس، تاکید می‌کند که کیفیت یک مسئولیت مشترک است که از مرحله برنامه‌ریزی و شفاف‌سازی نیازمندی‌ها آغاز می‌شود و با بازخوردگیری و بهبود مستمر پس از انتشار ادامه می‌یابد. پیام اصلی این است: کیفیت را در جریان عادی کار ادغام کنید، با همکاری بین نقش‌ها و تصمیم‌گیری مبتنی بر داده از خطا پیشگیری کنید، چرخه‌های بازخورد و سنجه‌های معنادار بسازید، و به‌جای تکیه بر تست به‌عنوان «دروازه پایانی»، مالکیت جمعی و بهبود پیوسته را نهادینه کنید تا هم فرایند و هم تجربه مشتری بهتر شود.

🟣لینک مقاله:
https://cur.at/wfvh380?m=web


👑 @software_Labdon
2
🔵 عنوان مقاله
Using Randomization in Functional Testing

🟢 خلاصه مقاله:
تست‌های خودکار معمولاً باید قطعی و تکرارپذیر باشند، اما کمی تصادفی‌سازی می‌تواند نقص‌هایی را آشکار کند که با ورودی‌ها و ترتیب‌های ثابت دیده نمی‌شوند. با تولید ورودی‌های متنوع (مانند طول‌ها و قالب‌های متفاوت، کاراکترهای یونیکد، و مقادیر مرزی) و استفاده از رویکردهای مبتنی بر ویژگی، می‌توان فرضیات پنهان سیستم را افشا کرد. تصادفی‌سازی در ترتیب اجرای تست‌ها وابستگی‌های ناخواسته و تکیه بر وضعیت مشترک را نشان می‌دهد، و تغییر تصادفی شرایط محیطی مانند منطقهٔ زمانی، زبان، مجوزها یا تأخیر شبکه، شکنندگی‌های نهفته را برملا می‌کند. برای پرهیز از ناپایداری، باید از بذر تصادفی مشخص و قابل ثبت استفاده کرد تا سناریوها قابل بازتولید باشند، بخشی از آزمون‌های تصادفی را در CI و بخش گسترده‌تری را در اجرای شبانه انجام داد، و به‌جای مقادیر دقیق، ویژگی‌های پایدار را سنجید. به‌گفتهٔ دنیل حایموف، هدف کنار گذاشتن قطعیت نیست، بلکه تقویت آن است: تست‌های قابل تکرار را حفظ کنید و به‌صورت هدفمند تصادفی‌سازی را برای پوشش بیشتر و شکار لبه‌ها اضافه کنید.

🟣لینک مقاله:
https://cur.at/uIjVj2P?m=web


👑 @software_Labdon
2
🔵 عنوان مقاله
Tracking UI to API Connections with Playwright

🟢 خلاصه مقاله:
ایرفان مجاجیچ نشان می‌دهد که چگونه با استفاده از تابع waitForRequest در Playwright می‌توان پیوندی دقیق بین اقدامات رابط کاربری و فراخوانی‌های API برقرار کرد. به‌جای تکیه بر تاخیرهای زمانی، تست مستقیماً منتظر درخواست HTTP موردنظر می‌ماند و بدین‌ترتیب رفتار شبکه‌ای پیش‌بینی‌پذیرتر می‌شود. این کار امکان بررسی روش، آدرس و بدنه درخواست را فراهم می‌کند و با ترکیب آن با انتظار برای پاسخ یا به‌روزرسانی‌های UI، از شرایط رقابتی و خطاهای پراکنده جلوگیری می‌شود. نتیجه، تست‌های UI خواناتر، پایدارتر و قابل اعتمادتر است.

🟣لینک مقاله:
https://cur.at/axtsStz?m=web


👑 @software_Labdon
🤝1
🔵 عنوان مقاله
Automating from Console with AI Assistance

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

🟣لینک مقاله:
https://cur.at/PGplUR3?m=web


👑 @software_Labdon
1
یکی از مشکلات بزرگ کتب برنامه‌نویسی  همیشه این بوده که موضوع Encapsulation رو به شکلی تدریس کرده‌اند که انگار موضوعی است که فقط و فقط مختص به OOP هست؛ و از اون بدتر، این موضوع رو جوری جا انداختن که افراد فکر میکنند Encapsulation یعنی همان Access modifiers ها (private,public).

برای همین هست که بیشتر افراد هیچگونه تصوری از این ندارند که Encapsulation خارج از OOP چگونه است، و حتی در همون پارادایم OOP هم بدرستی نمیتونن کپسوله سازی رو پیاده سازی کنن و اجزای مختلف کدهاشون درهم و برهم هست.

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

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

موضوع Encapsulation یک فرآیند منطقی در هنگام طراحی سیستم هست که طی اون اجزای مختلف سیستم در یونیت‌های مستقل کپسوله سازی میشن؛ این فرآیند، پیش نیاز تولید کدهای ماژولار هست.  در این فرآیند کدها به شکل منطقی از هم جدا میشن، و در فاز بعدی که به سیستم ماژول میرسید، کدها متناسب با این طراحی، به شکل فیزیکی از هم جدا میشن.

متاسفانه برخی زبان‌های معروف OOP مثل جاوا یا سی پلاس پلاس، تا سال‌ها یک سیستم ماژول درست حسابی نداشتند و باعث شدند Access modifier ها در ذهن برنامه‌نویس‌ها مترادف با Encapsulation و کدهای ماژولار بشوند؛ به این شکل که در نبود اون‌ها، اصلا هیچ تصوری از اینکه Encapsulation چیست و قرار است طی آن چه اتفاقی بیفتد ندارند!

در زبانی که دارای یک سیستم ماژول خوب است، موضوع Access modifier ها چیزی هست که جزو مکانیزم‌های مربوط به سیستم ماژول اون زبان هستند. در این مدل زبان‌ها این مکانیزم‌ها جزو قابلیت‌های کمکی در زمینه دسته بندی و طبقه بندی فیزیکی کدها هستند (در کنار کمک به سایر برنامه‌نویسان در زمینه خوانایی) و باعث میشن کمتر این شبهه در ذهن برنامه‌نویس پیش بیاد که به صرف استفاده از این برچسب‌ها، داره عمل کپسوله سازی رو انجام میده.

<Amirreza Gh/>
Forwarded from AI Labdon
برگه تقلب برنامه نویسی رو از اینجا پیدا کن

▪️اگه داری برنامه نویسی رو یاد میگیری یا دنبال کار میگردی و‌ مصاحبه میری این چیت شیت ها( برگه تقلب ها) گزینه های خیلی خوبی هست برای مرور...

▪️تقریبا اکثر زبان ها و ابزارهارو پوشش میده و میتونی استفاده کنی ؛ نکته جذابش اینه که پرکابرد ترین پرامپت های ChatGPT هم داره :))

آدرس سایت:

Quickref.me
🔵 عنوان مقاله
What's NEW in Playwright? 13 Must-Know Features You Should Be Using

🟢 خلاصه مقاله:
این مطلب یک مرور ۱۶ دقیقه‌ای از جوآن اسکویول مونترو را معرفی می‌کند که ۱۳ قابلیت جدید و مهم پلی‌رایت را به‌صورت خلاصه و کاربردی توضیح می‌دهد. این مرور برای تسترها و توسعه‌دهندگانی است که می‌خواهند سریع و عملی با به‌روزرسانی‌ها آشنا شوند و بدانند هر قابلیت در پروژه‌های واقعی چه مزیتی دارد—از بهبود پایداری و ساده‌تر شدن خطایابی تا تسریع فرایندها. نتیجه آن یک جمع‌بندی موجز و مفید است تا بتوانید به‌سرعت اولویت دهید کدام قابلیت‌ها را زودتر به کار بگیرید.

🟣لینک مقاله:
https://cur.at/oPHJk1q?m=web


👑 @software_Labdon
2
🔵 عنوان مقاله
How to Test LLMs, AI Assistants & Agents — The Future of QA

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

آن‌ها به چالش‌هایی چون تعیین معیار «درستی» پاسخ، رگرسیون بین نسخه‌های مدل، و توازن میان خلاقیت و تکرارپذیری اشاره می‌کنند و مجموعه‌ای از رویکردها را طرح می‌کنند: دیتاست‌های مرجع و تست‌های رفتاری، ردتیمینگ، ارزیابی با روبریک یا مقایسه زوجی، بنچمارک‌های آفلاین در کنار A/B تست آنلاین با گاردریل‌ها، و بازبینی انسانی برای موارد مرزی. همچنین بر آزمایش انتهابه‌انتها برای ایجنت‌ها (برنامه‌ریزی، استفاده از ابزار، بازیابی از خطا) و پایش مداوم در تولید تأکید می‌شود.

جمع‌بندی بحث این است که تست هوش مصنوعی نسل بعدی QA است؛ مستلزم متریک‌های تازه، فرایندهای ارزیابی منسجم، و همکاری نزدیک میان تیم‌های QA، محصول و پژوهش تا سامانه‌هایی قابل اعتماد، ایمن و قابل پیش‌بینی در سناریوهای واقعی ساخته شوند.

🟣لینک مقاله:
https://cur.at/6J2eaHV?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Global Cache: Make Playwright BeforeAll Run Once for All Workers

🟢 خلاصه مقاله:
این مقاله نشان می‌دهد که چرا beforeAll در اجرای موازی تست‌های Playwright کافی نیست، چون معمولاً برای هر فایل یا هر کارگر اجرا می‌شود و باعث تکرار تنظیمات پرهزینه می‌گردد. نویسنده، ویتالی پوتاپوف، راهکاری عملی پیشنهاد می‌کند: یک کش سراسری سفارشی که فقط یک‌بار تولید می‌شود و همه کارگرها از آن استفاده می‌کنند. با این کار، اقلامی مثل توکن‌های احراز هویت، داده‌های اولیه یا متادیتای محیط فقط یک‌بار ساخته و سپس بین کارگرها به اشتراک گذاشته می‌شوند. او به محل نگهداری کش (حافظه، فایل، یا گام globalSetup)، مدیریت هم‌زمانی برای جلوگیری از رقابت کارگرها و پاکسازی درست منابع اشاره می‌کند. نتیجه، تست‌هایی سریع‌تر، پایدارتر و قابل پیش‌بینی‌تر در اجرای موازی است.

🟣لینک مقاله:
https://cur.at/yMncNKn?m=web


👑 @software_Labdon
🔵 عنوان مقاله
One team, one goal: The reality of introducing a unified testing strategy

🟢 خلاصه مقاله:
سام فارندل و جینا چل‌تون روایت می‌کنند چگونه از پراکندگی ابزارها و تعریف‌های متفاوت کیفیت به یک راهبرد یکپارچه آزمون رسیدند. آنها با شنیدن مسائل تیم‌ها، مجموعه‌ای از اصول مشترک مانند آزمون مبتنی بر ریسک، شیفت-چپ، هرم آزمون و سنجه‌های کیفیت واحد تدوین کردند و با حداقل استانداردها، ابزارهای پیشنهادی، خط لوله‌های CI/CD و حاکمیت سبک، تعادل بین خودمختاری تیم‌ها و یکپارچگی سازمانی را برقرار ساختند. اجرای تدریجی با پایلوت‌ها، آموزش، جامعه‌های عمل و داشبوردهای شفاف، تردیدها را کاهش داد و به بهبود سرعت بازخورد، کاهش تست‌های ناپایدار و همکاری بهتر انجامید. جمع‌بندی آنها: بر اصول بجای نسخه‌های دستوری تکیه کنید، روی جامعه‌سازی و سنجه‌های معنادار سرمایه‌گذاری کنید و راهبرد آزمون را یک محصول زنده بدانید، نه یک پروژه مقطعی.

🟣لینک مقاله:
https://cur.at/xkT0Gqj?m=web


👑 @software_Labdon
Forwarded from Bardia & Erfan
🚀 به دنیای توسعه و تکنولوژی خوش اومدی!

اگر به موضوعات زیر علاقه‌مندی:

🔹 Golang
🔹 Linux & DevOps
🔹 Software Engineering
🔹 AI & Machine Learning
🔹 فرصت‌های شغلی ریموت (خارجی و داخلی)

ما برات یه مجموعه کانال‌های تخصصی ساختیم تا همیشه به‌روز، حرفه‌ای و الهام‌بخش بمونی!
📚 یادگیری، فرصت، شبکه‌سازی و پیشرفت، همش اینجاست...

📌 از این لینک همه چنل‌هامونو یه‌جا ببین و جوین شو:

👉 https://t.iss.one/addlist/QtXiQlynEJwzODBk