وقتی غولها هم زمین میخورند!
قطعی گسترده اخیر سرویسهای کلادفلر (Cloudflare) که ناشی از یک تغییر پیکربندی (Configuration Change) بود، یک واقعیت قاطع را به ما یادآوری کرد: قابلیت اطمینان ۱۰۰ درصدی یک توهم است.
موفقیت در دنیای فناوری، در طراحی برای شکست (Design for Failure) و توانایی بازگشت سریع و شفاف است.
۴ درس عملیاتی حیاتی برای افزایش پایداری سیستم (Resilience)
این واقعه، یک مطالعه موردی ارزشمند برای هر سازمان در حال رشدی است که بر روی سیستمهای توزیعشده (Distributed Systems) کار میکند:
۱. کاهش دامنه خطا (Blast Radius Reduction)
چالش: انتشار سریع یک خطای پیکربندی در کل شبکه.
استراتژی: پیادهسازی سختگیرانه انتشار تدریجی (Canary Deployments) و تقسیمبندی منطقی شبکه (Segmentation).
نکته کاربردی: مطمئن شوید که خطاهای پیکربندی در یک "منطقه کوچک" محبوس شده و پیش از گسترش به تمام نقاط، آزمایش شوند. فرآیندهای انتشار خود را مجدداً بررسی کنید.
۲. اهمیت شفافیت و ارتباطات بحران (Crisis Comms)
چالش: بیاعتمادی مشتریان در زمان سکوت.
استراتژی: از یک کانال ارتباطی ثانویه و کاملاً ایزوله (مانند یک صفحه وضعیت روی زیرساخت متفاوت) استفاده کنید.
نکته کاربردی: صداقت فنی را در اولویت قرار دهید. بهروزرسانیهای مکرر و فنی، حتی اگر کوتاه باشند ("ما هنوز در حال بررسی هستیم")، اعتماد را حفظ میکنند.
۳. مقاومت در برابر شکستهای آبشاری (Cascading Failures)
چالش: تبدیل یک مشکل کوچک به یک بحران گسترده.
استراتژی: حذف وابستگیهای متقابل (Decoupling) بین سرویسهای حیاتی. اطمینان حاصل کنید که شکست یک سرویس فرعی، سرویس اصلی را از کار نیندازد.
نکته کاربردی: پیادهسازی مدارهای قطع کننده (Circuit Breakers) در کد، که در صورت شکست یک سرویس وابسته، درخواست را دور زده یا پاسخ از پیش تعیین شده (Failover) ارائه دهند.
۴. یادگیری پس از واقعه (Blameless Post-Mortem)
چالش: تکرار مشکلات بدون تحلیل عمیق.
استراتژی: بلافاصله یک تحلیل بدون سرزنش (Blameless Post-Mortem) آغاز کنید.
نکته کاربردی: تمرکز بر درک دلایل ریشهای و بهبود فرآیندها، نه پیدا کردن مقصر. انتشار سریع و عمیق گزارش فنی (مانند کاری که کلادفلر انجام داد)، به بازگرداندن اعتماد و آموزش جامعه فنی کمک میکند.
اقدام کلیدی برای رهبران
این رویداد را به عنوان یک هشدار (Wake-Up Call) ببینید. آیا استراتژیهای انتشار و طرحهای ارتباطی شما میتوانند در برابر یک خطای غیرمنتظره داخلی مقاومت کنند؟
"در دسترس بودن ۱۰۰ درصدی یک رؤیاست، بازگشت سریع و شفافیت ۱۰۰ درصدی یک تعهد است."
<Alireza DavoodiNia/>
قطعی گسترده اخیر سرویسهای کلادفلر (Cloudflare) که ناشی از یک تغییر پیکربندی (Configuration Change) بود، یک واقعیت قاطع را به ما یادآوری کرد: قابلیت اطمینان ۱۰۰ درصدی یک توهم است.
موفقیت در دنیای فناوری، در طراحی برای شکست (Design for Failure) و توانایی بازگشت سریع و شفاف است.
۴ درس عملیاتی حیاتی برای افزایش پایداری سیستم (Resilience)
این واقعه، یک مطالعه موردی ارزشمند برای هر سازمان در حال رشدی است که بر روی سیستمهای توزیعشده (Distributed Systems) کار میکند:
۱. کاهش دامنه خطا (Blast Radius Reduction)
چالش: انتشار سریع یک خطای پیکربندی در کل شبکه.
استراتژی: پیادهسازی سختگیرانه انتشار تدریجی (Canary Deployments) و تقسیمبندی منطقی شبکه (Segmentation).
نکته کاربردی: مطمئن شوید که خطاهای پیکربندی در یک "منطقه کوچک" محبوس شده و پیش از گسترش به تمام نقاط، آزمایش شوند. فرآیندهای انتشار خود را مجدداً بررسی کنید.
۲. اهمیت شفافیت و ارتباطات بحران (Crisis Comms)
چالش: بیاعتمادی مشتریان در زمان سکوت.
استراتژی: از یک کانال ارتباطی ثانویه و کاملاً ایزوله (مانند یک صفحه وضعیت روی زیرساخت متفاوت) استفاده کنید.
نکته کاربردی: صداقت فنی را در اولویت قرار دهید. بهروزرسانیهای مکرر و فنی، حتی اگر کوتاه باشند ("ما هنوز در حال بررسی هستیم")، اعتماد را حفظ میکنند.
۳. مقاومت در برابر شکستهای آبشاری (Cascading Failures)
چالش: تبدیل یک مشکل کوچک به یک بحران گسترده.
استراتژی: حذف وابستگیهای متقابل (Decoupling) بین سرویسهای حیاتی. اطمینان حاصل کنید که شکست یک سرویس فرعی، سرویس اصلی را از کار نیندازد.
نکته کاربردی: پیادهسازی مدارهای قطع کننده (Circuit Breakers) در کد، که در صورت شکست یک سرویس وابسته، درخواست را دور زده یا پاسخ از پیش تعیین شده (Failover) ارائه دهند.
۴. یادگیری پس از واقعه (Blameless Post-Mortem)
چالش: تکرار مشکلات بدون تحلیل عمیق.
استراتژی: بلافاصله یک تحلیل بدون سرزنش (Blameless Post-Mortem) آغاز کنید.
نکته کاربردی: تمرکز بر درک دلایل ریشهای و بهبود فرآیندها، نه پیدا کردن مقصر. انتشار سریع و عمیق گزارش فنی (مانند کاری که کلادفلر انجام داد)، به بازگرداندن اعتماد و آموزش جامعه فنی کمک میکند.
اقدام کلیدی برای رهبران
این رویداد را به عنوان یک هشدار (Wake-Up Call) ببینید. آیا استراتژیهای انتشار و طرحهای ارتباطی شما میتوانند در برابر یک خطای غیرمنتظره داخلی مقاومت کنند؟
"در دسترس بودن ۱۰۰ درصدی یک رؤیاست، بازگشت سریع و شفافیت ۱۰۰ درصدی یک تعهد است."
<Alireza DavoodiNia/>
🔵 عنوان مقاله
The New QA Mindset: Testing AI and LLMs
🟢 خلاصه مقاله:
تست محصولات مبتنی بر AI و بهویژه LLMs با نرمافزارهای کلاسیک فرق اساسی دارد: خروجیها قطعی نیستند و به داده، پرامپت و زمینه وابستهاند. در نتیجه بهجای «صحت دقیق»، باید کیفیت رفتاری، آستانهها و شواهد آماری را سنجید. این رویکرد مستلزم تعریف معیارهای روشن، ساخت دیتاستهای ارزیابی باکیفیت، اتکا به human-in-the-loop برای برچسبگذاری و تفسیر موارد مرزی، و پوشش سناریوهای متنوع و حتی مخرب (مانند prompt injection) است. جنبههای ایمنی، سوگیری، توهینآمیز بودن، حریم خصوصی و جلوگیری از hallucination به معیارهای پذیرش تبدیل میشوند. علاوه بر ارزیابی آفلاین، باید آزمایشهای آنلاین، مانیتورینگ مستمر، فیدبکلوپ و طبقهبندی خطا برای اولویتبندی اصلاحات وجود داشته باشد. توصیه کلیدی Vladimir Josifoski این است که داده، پرامپت و سیاستها را بهعنوان مصنوعات قابلتست در نظر بگیرید، از ارزیابی آماری و پیوسته بهره ببرید، و هرجا لازم است قضاوت انسانی را وارد کنید تا کیفیت واقعی تضمین شود.
#AI #LLMs #QA #AITesting #QualityAssurance #MachineLearning #PromptEngineering
🟣لینک مقاله:
https://cur.at/8mbcLve?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
The New QA Mindset: Testing AI and LLMs
🟢 خلاصه مقاله:
تست محصولات مبتنی بر AI و بهویژه LLMs با نرمافزارهای کلاسیک فرق اساسی دارد: خروجیها قطعی نیستند و به داده، پرامپت و زمینه وابستهاند. در نتیجه بهجای «صحت دقیق»، باید کیفیت رفتاری، آستانهها و شواهد آماری را سنجید. این رویکرد مستلزم تعریف معیارهای روشن، ساخت دیتاستهای ارزیابی باکیفیت، اتکا به human-in-the-loop برای برچسبگذاری و تفسیر موارد مرزی، و پوشش سناریوهای متنوع و حتی مخرب (مانند prompt injection) است. جنبههای ایمنی، سوگیری، توهینآمیز بودن، حریم خصوصی و جلوگیری از hallucination به معیارهای پذیرش تبدیل میشوند. علاوه بر ارزیابی آفلاین، باید آزمایشهای آنلاین، مانیتورینگ مستمر، فیدبکلوپ و طبقهبندی خطا برای اولویتبندی اصلاحات وجود داشته باشد. توصیه کلیدی Vladimir Josifoski این است که داده، پرامپت و سیاستها را بهعنوان مصنوعات قابلتست در نظر بگیرید، از ارزیابی آماری و پیوسته بهره ببرید، و هرجا لازم است قضاوت انسانی را وارد کنید تا کیفیت واقعی تضمین شود.
#AI #LLMs #QA #AITesting #QualityAssurance #MachineLearning #PromptEngineering
🟣لینک مقاله:
https://cur.at/8mbcLve?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
QAlogy
The New QA Mindset: Testing AI and LLMs - QAlogy
For years, QA engineers have tested deterministic systems — applications that behave predictably when given specific inputs. But with the rise of AI-driven apps and large language models (LLMs), the rules have changed. The systems we’re testing today are…
🔵 عنوان مقاله
Deepfake attacks surged 50x. Are your security defenses ready? (Sponsor)
🟢 خلاصه مقاله:
**
حملههای deepfake بهگفته Persona حدود 50 برابر افزایش یافتهاند، اما 85٪ از CISOs هنوز برنامه واکنش به حادثه متناسب با GenAI ندارند. اکنون مسئله امنیت نیروی کار این نیست که آیا هدف قرار میگیرید یا نه، بلکه این است که چقدر آمادهاید. راهکار Workforce IDV از Persona هویت کارمندان، پیمانکاران و تأمینکنندگان را در چند ثانیه بررسی میکند، فرایندهای دستی را خودکار میسازد و جلوی حملات جعل هویت را پیش از گسترش میگیرد. این سامانه با ادغام در پشته امنیتی موجود (از جمله IAM، HRIS، MDM و SIEM/SOAR) میتواند در لحظات کلیدی مانند استخدام، تغییر نقش یا رویدادهای پرریسک، تأیید هویت را بهصورت هوشمند فعال کند و به ایجاد برنامههای واکنش سازگار با GenAI کمک کند. جمعبندی: با بهروزرسانی رانبوکها، آموزش تیمها، اجرای اصول Zero Trust و استفاده از تأیید هویت مقاوم در برابر deepfake، آمادگی خود را افزایش دهید؛ Persona برای اطمینان از اینکه چه کسی واقعاً پشت هر درخواست دسترسی است، طراحی شده است.
#Deepfake #WorkforceSecurity #IdentityVerification #GenAI #CISO #ZeroTrust #SecurityStack #Impersonation
🟣لینک مقاله:
https://withpersona.com/solutions/workforce-idv?utm_source=tldr&utm_medium=paid-email&utm_audience=a&utm_campaign=acq_gen_ds_wf-idv_tldr-wf-idv-lp
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Deepfake attacks surged 50x. Are your security defenses ready? (Sponsor)
🟢 خلاصه مقاله:
**
حملههای deepfake بهگفته Persona حدود 50 برابر افزایش یافتهاند، اما 85٪ از CISOs هنوز برنامه واکنش به حادثه متناسب با GenAI ندارند. اکنون مسئله امنیت نیروی کار این نیست که آیا هدف قرار میگیرید یا نه، بلکه این است که چقدر آمادهاید. راهکار Workforce IDV از Persona هویت کارمندان، پیمانکاران و تأمینکنندگان را در چند ثانیه بررسی میکند، فرایندهای دستی را خودکار میسازد و جلوی حملات جعل هویت را پیش از گسترش میگیرد. این سامانه با ادغام در پشته امنیتی موجود (از جمله IAM، HRIS، MDM و SIEM/SOAR) میتواند در لحظات کلیدی مانند استخدام، تغییر نقش یا رویدادهای پرریسک، تأیید هویت را بهصورت هوشمند فعال کند و به ایجاد برنامههای واکنش سازگار با GenAI کمک کند. جمعبندی: با بهروزرسانی رانبوکها، آموزش تیمها، اجرای اصول Zero Trust و استفاده از تأیید هویت مقاوم در برابر deepfake، آمادگی خود را افزایش دهید؛ Persona برای اطمینان از اینکه چه کسی واقعاً پشت هر درخواست دسترسی است، طراحی شده است.
#Deepfake #WorkforceSecurity #IdentityVerification #GenAI #CISO #ZeroTrust #SecurityStack #Impersonation
🟣لینک مقاله:
https://withpersona.com/solutions/workforce-idv?utm_source=tldr&utm_medium=paid-email&utm_audience=a&utm_campaign=acq_gen_ds_wf-idv_tldr-wf-idv-lp
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Withpersona
Seamless Workforce Identity Verification | Persona
Protect against phishing and reduce your IT burden by verifying employees' identities via Persona's workforce identity verification solution. Learn more.
🔥1
🔵 عنوان مقاله
Terra Security (Product Launch)
🟢 خلاصه مقاله:
Terra Security یک پلتفرم continuous penetration testing مبتنی بر agentic-AI عرضه کرده که با بهکارگیری swarm از AI agents، تاکتیکهای واقعی مهاجمان را شبیهسازی میکند تا قبل از سوءاستفاده، آسیبپذیریها شناسایی شوند. این سامانه ارزیابیها را متناسب با فناوری و ریسک هر سازمان و در مقیاس گسترده انجام میدهد و سطحهای مختلف مانند وباپلیکیشنها، APIها، سرویسهای ابری، پیکربندی هویت و شبکه را بهصورت پیوسته پوشش میدهد. خروجی شامل اولویتبندی ریسک با شواهد اثر و راهنمای رفع است و بعد از اصلاح، بهصورت خودکار دوباره تست میکند. این راهکار ضمن تکمیل تستهای دستی سنتی، سرعت کشف و رفع را افزایش میدهد و با هزینه و زمان کمتر، وضعیت امنیتی سازمان را بهطور مداوم بهبود میبخشد.
#Cybersecurity #PenTesting #AI #AgenticAI #ContinuousSecurity #DevSecOps #VulnerabilityManagement #ProductLaunch
🟣لینک مقاله:
https://www.terra.security/?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Terra Security (Product Launch)
🟢 خلاصه مقاله:
Terra Security یک پلتفرم continuous penetration testing مبتنی بر agentic-AI عرضه کرده که با بهکارگیری swarm از AI agents، تاکتیکهای واقعی مهاجمان را شبیهسازی میکند تا قبل از سوءاستفاده، آسیبپذیریها شناسایی شوند. این سامانه ارزیابیها را متناسب با فناوری و ریسک هر سازمان و در مقیاس گسترده انجام میدهد و سطحهای مختلف مانند وباپلیکیشنها، APIها، سرویسهای ابری، پیکربندی هویت و شبکه را بهصورت پیوسته پوشش میدهد. خروجی شامل اولویتبندی ریسک با شواهد اثر و راهنمای رفع است و بعد از اصلاح، بهصورت خودکار دوباره تست میکند. این راهکار ضمن تکمیل تستهای دستی سنتی، سرعت کشف و رفع را افزایش میدهد و با هزینه و زمان کمتر، وضعیت امنیتی سازمان را بهطور مداوم بهبود میبخشد.
#Cybersecurity #PenTesting #AI #AgenticAI #ContinuousSecurity #DevSecOps #VulnerabilityManagement #ProductLaunch
🟣لینک مقاله:
https://www.terra.security/?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
www.terra.security
Terra Security | Agentic AI Continuous PTaaS (Penetration Testing as a Service)
Don't lose sleep over pen testing; our expert testers will ensure your systems are secure during the test while focusing their time on the most important assets.
🔵 عنوان مقاله
Epistemic Testing, Chapter 2 — Is that a Test or an Experiment?
🟢 خلاصه مقاله:
در ادامهی یادداشت قبلی، Masoud Bahrami با رویکردی معرفتشناختی مرز میان «تست» و «آزمایش» را روشن میکند و میپرسد: هر بار که میگوییم در حال «تست» هستیم، واقعا تست میکنیم یا آزمایش؟ او توضیح میدهد که تست برای راستیآزمایی یک ادعا/الزام مشخص در شرایط کنترلشده با اوراکل و معیارهای پذیرش روشن و هدف کاهش سریعِ ریسکهای شناختهشده بهکار میرود؛ در حالیکه آزمایش برای کشف مجهولات، شکلدهی/اصلاح فرضیهها، تحمل ابهام و سنجش سیگنالها از طریق تکرار و اندازهگیری طراحی میشود. فصل به کیفیت شواهد نیز میپردازد: تکرارپذیری، ابطالپذیری، دقت اندازهگیری و هزینهی کسب اطلاعات. یک تست خوب شامل ادعا، شرایط، اوراکل و قاعدهی توقف است؛ یک آزمایش خوب فرضیه، متغیرها، طرح ابزار/اندازهگیری و معیار بهروزرسانی باورها را صریح میکند. در هر دو، شفافسازی مفروضات، سوگیریها و تهدیدهای اعتبار ضروری است. راهنمای عملی فصل: پیش از اجرا بپرسید در پی تأیید هستیم یا کشف؛ فرضیه/ادعا چیست؛ چه چیزی شواهد معتبر محسوب میشود و کدام اوراکل/متریک بهکار میرود؛ ریسک هدف کدام است؛ و معیار توقف/ادامه/تغییر مسیر چیست. پیام نهایی: با نامگذاری درست فعالیت و اتخاذ ذهنیت معرفتشناختی، «تست» و «آزمایش» را مکمل هم برای تصمیمگیری بهتر و یادگیری سریعتر بهکار بگیرید.
#EpistemicTesting #SoftwareTesting #ExperimentVsTest #QualityAssurance #Evidence #Hypothesis #MasoudBahrami
🟣لینک مقاله:
https://cur.at/4sqUvVw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Epistemic Testing, Chapter 2 — Is that a Test or an Experiment?
🟢 خلاصه مقاله:
در ادامهی یادداشت قبلی، Masoud Bahrami با رویکردی معرفتشناختی مرز میان «تست» و «آزمایش» را روشن میکند و میپرسد: هر بار که میگوییم در حال «تست» هستیم، واقعا تست میکنیم یا آزمایش؟ او توضیح میدهد که تست برای راستیآزمایی یک ادعا/الزام مشخص در شرایط کنترلشده با اوراکل و معیارهای پذیرش روشن و هدف کاهش سریعِ ریسکهای شناختهشده بهکار میرود؛ در حالیکه آزمایش برای کشف مجهولات، شکلدهی/اصلاح فرضیهها، تحمل ابهام و سنجش سیگنالها از طریق تکرار و اندازهگیری طراحی میشود. فصل به کیفیت شواهد نیز میپردازد: تکرارپذیری، ابطالپذیری، دقت اندازهگیری و هزینهی کسب اطلاعات. یک تست خوب شامل ادعا، شرایط، اوراکل و قاعدهی توقف است؛ یک آزمایش خوب فرضیه، متغیرها، طرح ابزار/اندازهگیری و معیار بهروزرسانی باورها را صریح میکند. در هر دو، شفافسازی مفروضات، سوگیریها و تهدیدهای اعتبار ضروری است. راهنمای عملی فصل: پیش از اجرا بپرسید در پی تأیید هستیم یا کشف؛ فرضیه/ادعا چیست؛ چه چیزی شواهد معتبر محسوب میشود و کدام اوراکل/متریک بهکار میرود؛ ریسک هدف کدام است؛ و معیار توقف/ادامه/تغییر مسیر چیست. پیام نهایی: با نامگذاری درست فعالیت و اتخاذ ذهنیت معرفتشناختی، «تست» و «آزمایش» را مکمل هم برای تصمیمگیری بهتر و یادگیری سریعتر بهکار بگیرید.
#EpistemicTesting #SoftwareTesting #ExperimentVsTest #QualityAssurance #Evidence #Hypothesis #MasoudBahrami
🟣لینک مقاله:
https://cur.at/4sqUvVw?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Masoud Bahrami
Epistemic Testing, Chapter 2 – Is that a Test or an Experiment? | Masoud Bahrami
Chapter 2 of Epistemic Testing dives deep into the philosophy and practice of testing. I'll show you why separating experiments from tests clarifies verification, boosts reusability, and turns fragile belief into measurable trust. The Experiment Prepares…
Zero To Production In Rust - DevTwitter.pdf
2.4 MB
Zero To Production In Rust
An Opinionated Introduction To Backend Development
- By Luca Palmieri
- 433 Pages
An Opinionated Introduction To Backend Development
- By Luca Palmieri
- 433 Pages
Practical Machine Learning with Rust - DevTwitter.pdf
4 MB
Practical MachineLearning with Rust
Creating Intelligent Applications in Rust
- 1st edition
- By Joydeep Bhattacharjee
- 362 Pages
- 2020
Creating Intelligent Applications in Rust
- 1st edition
- By Joydeep Bhattacharjee
- 362 Pages
- 2020
Programming WebAssembly with Rust - DevTwitter.pdf
3.4 MB
Programming WebAssembly with Rust
Unified Development for Web, Mobile, and Embedded Applications
- 1st edition
- By Kevin Hoffman
- 228 Pages
- 2019
Unified Development for Web, Mobile, and Embedded Applications
- 1st edition
- By Kevin Hoffman
- 228 Pages
- 2019
Programming Rust - DevTwitter.pdf
8.3 MB
Programming Rust
Fast, Safe Systems Development
- 2nd edition
- By Jim Blandy, Jason Orendorff, and Leonora F.S. Tindall
- 1207 Pages
- 2021
Fast, Safe Systems Development
- 2nd edition
- By Jim Blandy, Jason Orendorff, and Leonora F.S. Tindall
- 1207 Pages
- 2021
🔵 عنوان مقاله
Mozilla Firefox Gets New Anti-Fingerprinting Defenses (2 minute read)
🟢 خلاصه مقاله:
این تغییرات جدید در Firefox 145 از سوی Mozilla با هدف کاهش ردیابی مبتنی بر fingerprinting ارائه شده و بنا به اعلام شرکت، احتمال ردیابی کاربران را به حدود ۲۰٪ میرساند. این نسخه درخواستهایی را که به کشف فونتهای نصبشده، جزئیات سختافزار، تعداد هستههای پردازنده، پشتیبانی multi-touch و ابعاد dock/taskbar مربوطاند مسدود میکند. عرضه اولیه این قابلیتها برای کاربران Private Browsing که گزینه Enhanced Tracking Protection را روی حالت Strict گذاشتهاند انجام میشود و سطح قابلتوجهی از کاهش سطح اثرانگشت را فراهم میکند.
#Mozilla #Firefox #Privacy #AntiFingerprinting #TrackingProtection #PrivateBrowsing #Cybersecurity
🟣لینک مقاله:
https://www.bleepingcomputer.com/news/security/mozilla-firefox-gets-new-anti-fingerprinting-defenses/?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Mozilla Firefox Gets New Anti-Fingerprinting Defenses (2 minute read)
🟢 خلاصه مقاله:
این تغییرات جدید در Firefox 145 از سوی Mozilla با هدف کاهش ردیابی مبتنی بر fingerprinting ارائه شده و بنا به اعلام شرکت، احتمال ردیابی کاربران را به حدود ۲۰٪ میرساند. این نسخه درخواستهایی را که به کشف فونتهای نصبشده، جزئیات سختافزار، تعداد هستههای پردازنده، پشتیبانی multi-touch و ابعاد dock/taskbar مربوطاند مسدود میکند. عرضه اولیه این قابلیتها برای کاربران Private Browsing که گزینه Enhanced Tracking Protection را روی حالت Strict گذاشتهاند انجام میشود و سطح قابلتوجهی از کاهش سطح اثرانگشت را فراهم میکند.
#Mozilla #Firefox #Privacy #AntiFingerprinting #TrackingProtection #PrivateBrowsing #Cybersecurity
🟣لینک مقاله:
https://www.bleepingcomputer.com/news/security/mozilla-firefox-gets-new-anti-fingerprinting-defenses/?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
BleepingComputer
Mozilla Firefox gets new anti-fingerprinting defenses
Mozilla announced a major privacy upgrade in Firefox 145 that reduces even more the number of users vulnerable to digital fingerprinting.
❤1
Forwarded from AI Labdon
مدل opus 4.5 دیروز اومد. بینظیره. بهترین مدل دنیا برای coding با اختلاف زیاد.
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
❤2
🔵 عنوان مقاله
Our Journey Through Optimising Cypress End-to-End Tests
🟢 خلاصه مقاله:
** این مقاله به قلم Omer Keskinkilic مجموعهای از تجربههای عملی برای بهینهسازی تستهای انتهابهانتها با Cypress ارائه میکند. محورها سهگانهاند: طراحی درست تست، افزایش سرعت اجرا و نگهداری بلندمدت.
در طراحی، تمرکز بر پایداری و خوانایی است: استفاده از selectorهای پایدار مانند data-test، کوچک و متمرکز نگهداشتن سناریوها، استخراج گامهای تکراری به custom commandها و پرهیز از waitهای دلخواه با همگامسازی قطعی مبتنی بر وضعیت.
برای سرعت، توصیهها شامل استفاده هدفمند از cy.intercept برای stub کردن ضروری، seed کردن داده، میانبر زدن ورود با cy.session، تقسیم مجموعه به smoke و full، موازیسازی در CI با Cypress Dashboard، اجرای headless و کش وابستگیها و محدود کردن خروجیها به شکستهاست.
در نگهداری، ساختار پوشه و نامگذاری یکدست، کمکهزینههای DRY بهجای page objectهای سنگین، مدیریت سریع flakyها (با retry بهعنوان چاره موقت)، استفاده از TypeScript برای اطمینان بیشتر در utilityها و commandها، و پیکربندی محیط از طریق cypress.config.js و متغیرهای محیطی پیشنهاد میشود. با اجرای تدریجی این نکات، مجموعه تستهای Cypress پایدارتر، سریعتر و قابل اتکاتر میشود.
#Cypress #E2E #TestAutomation #QA #JavaScript #CI #CypressDashboard #Performance
🟣لینک مقاله:
https://cur.at/YjuFkp3?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Our Journey Through Optimising Cypress End-to-End Tests
🟢 خلاصه مقاله:
** این مقاله به قلم Omer Keskinkilic مجموعهای از تجربههای عملی برای بهینهسازی تستهای انتهابهانتها با Cypress ارائه میکند. محورها سهگانهاند: طراحی درست تست، افزایش سرعت اجرا و نگهداری بلندمدت.
در طراحی، تمرکز بر پایداری و خوانایی است: استفاده از selectorهای پایدار مانند data-test، کوچک و متمرکز نگهداشتن سناریوها، استخراج گامهای تکراری به custom commandها و پرهیز از waitهای دلخواه با همگامسازی قطعی مبتنی بر وضعیت.
برای سرعت، توصیهها شامل استفاده هدفمند از cy.intercept برای stub کردن ضروری، seed کردن داده، میانبر زدن ورود با cy.session، تقسیم مجموعه به smoke و full، موازیسازی در CI با Cypress Dashboard، اجرای headless و کش وابستگیها و محدود کردن خروجیها به شکستهاست.
در نگهداری، ساختار پوشه و نامگذاری یکدست، کمکهزینههای DRY بهجای page objectهای سنگین، مدیریت سریع flakyها (با retry بهعنوان چاره موقت)، استفاده از TypeScript برای اطمینان بیشتر در utilityها و commandها، و پیکربندی محیط از طریق cypress.config.js و متغیرهای محیطی پیشنهاد میشود. با اجرای تدریجی این نکات، مجموعه تستهای Cypress پایدارتر، سریعتر و قابل اتکاتر میشود.
#Cypress #E2E #TestAutomation #QA #JavaScript #CI #CypressDashboard #Performance
🟣لینک مقاله:
https://cur.at/YjuFkp3?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
Our Journey Through Optimising Cypress End-to-End Tests
The purpose of automated tests is not to find bugs. It’s to give you confidence to make changes. — Gojko Adžić
🔵 عنوان مقاله
Scaling Mobile UI Testing with AI
🟢 خلاصه مقاله:
این مقاله نشان میدهد چگونه با تکیه بر AI میتوان مجموعه آزمونهای رابط کاربری موبایل را تا بیش از ۱۰هزار مورد گسترش داد، بدون افت در پایداری یا سرعت اجرا. Atakan Karslı تجربهای عملی را روایت میکند که در آن با بهرهگیری از AI برای تولید و نگهداشت آزمونها، اولویتبندی سناریوهای مهم، کاهش خطاهای ناپایدار (flakiness) و اجرای موازی روی دستگاههای متعدد، هم نرخ موفقیت بالا حفظ شده و هم زمان اجرای کلی کنترل شده است. پیام اصلی مقاله این است که با چرخه بازخورد مداوم، شناسایی و ترمیم آزمونهای شکننده، و تمرکز بر ارزش پوشش بهجای تعداد صرف، میتوان مقیاسپذیری واقعی در UI Testing بهدست آورد و در عین حال سرعت انتشار و اعتماد تیم مهندسی را افزایش داد.
#MobileTesting #UIAutomation #AIinTesting #Scalability #TestAutomation #ContinuousIntegration #QualityEngineering #MobileCI
🟣لینک مقاله:
https://cur.at/LvtHiTY?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Scaling Mobile UI Testing with AI
🟢 خلاصه مقاله:
این مقاله نشان میدهد چگونه با تکیه بر AI میتوان مجموعه آزمونهای رابط کاربری موبایل را تا بیش از ۱۰هزار مورد گسترش داد، بدون افت در پایداری یا سرعت اجرا. Atakan Karslı تجربهای عملی را روایت میکند که در آن با بهرهگیری از AI برای تولید و نگهداشت آزمونها، اولویتبندی سناریوهای مهم، کاهش خطاهای ناپایدار (flakiness) و اجرای موازی روی دستگاههای متعدد، هم نرخ موفقیت بالا حفظ شده و هم زمان اجرای کلی کنترل شده است. پیام اصلی مقاله این است که با چرخه بازخورد مداوم، شناسایی و ترمیم آزمونهای شکننده، و تمرکز بر ارزش پوشش بهجای تعداد صرف، میتوان مقیاسپذیری واقعی در UI Testing بهدست آورد و در عین حال سرعت انتشار و اعتماد تیم مهندسی را افزایش داد.
#MobileTesting #UIAutomation #AIinTesting #Scalability #TestAutomation #ContinuousIntegration #QualityEngineering #MobileCI
🟣لینک مقاله:
https://cur.at/LvtHiTY?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
Scaling Mobile UI Testing with AI
Picture a Formula 1 race: the driver gets all the glory — the podium, the champagne, the headlines. But everyone in racing knows the truth…
🔵 عنوان مقاله
The Invisible Forces of Testing
🟢 خلاصه مقاله:
این مطلب با عنوان The Invisible Forces of Testing به قلم Taras Mankovski نشان میدهد که تصمیمهای ما در تست تنها حاصل ابزارها و چکلیستها نیست، بلکه تحت تاثیر «نیروهای نامرئی» قرار دارد. او با مثال توضیح میدهد چگونه هرمهای آزمون تعادل میان unit، integration و end-to-end را بر اساس ریسک، زمان و معماری تعیین میکنند؛ چگونه حلقههای بازخورد سریع و قابلاعتماد یادگیری را شتاب میدهند و حلقههای کند یا flaky اعتماد را کاهش میدهند؛ و چگونه مرزهای واضح میان مولفهها، قراردادها و وابستگیها تستپذیری را بهبود میبخشند. نتیجهگیری او این است که با رویکرد systems thinking و همراستاسازی با ریسک محصول و اهداف تحویل، میتوان آگاهانهترین و موثرترین انتخابها را در استراتژی تست انجام داد.
#SoftwareTesting #TestingPyramid #FeedbackLoops #QualityEngineering #TestStrategy #SystemsThinking #QA
🟣لینک مقاله:
https://cur.at/43H9lzA?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
The Invisible Forces of Testing
🟢 خلاصه مقاله:
این مطلب با عنوان The Invisible Forces of Testing به قلم Taras Mankovski نشان میدهد که تصمیمهای ما در تست تنها حاصل ابزارها و چکلیستها نیست، بلکه تحت تاثیر «نیروهای نامرئی» قرار دارد. او با مثال توضیح میدهد چگونه هرمهای آزمون تعادل میان unit، integration و end-to-end را بر اساس ریسک، زمان و معماری تعیین میکنند؛ چگونه حلقههای بازخورد سریع و قابلاعتماد یادگیری را شتاب میدهند و حلقههای کند یا flaky اعتماد را کاهش میدهند؛ و چگونه مرزهای واضح میان مولفهها، قراردادها و وابستگیها تستپذیری را بهبود میبخشند. نتیجهگیری او این است که با رویکرد systems thinking و همراستاسازی با ریسک محصول و اهداف تحویل، میتوان آگاهانهترین و موثرترین انتخابها را در استراتژی تست انجام داد.
#SoftwareTesting #TestingPyramid #FeedbackLoops #QualityEngineering #TestStrategy #SystemsThinking #QA
🟣لینک مقاله:
https://cur.at/43H9lzA?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Freestyle Testing
The Invisible Forces of Testing
Testing conversations are shaped by three metaphors — the Pyramid, Feedback Loops, and Boxes. Understanding how these forces interact helps us design test harnesses suited to our context rather than following arbitrary rules.
👍1
🔵 عنوان مقاله
How to Migrate Flaky XPath to Stable Native Locators in Appium
🟢 خلاصه مقاله:
** این مقاله بهقلم Josphine Job نشان میدهد چرا استفاده از XPath در Appium اغلب شکننده و کند است و چگونه میتوان با مهاجرت به locatorهای native (مانند accessibility id و resource-id) پایداری و سرعت تستهای موبایل را افزایش داد. نویسنده روشهای عملی برای جایگزینی XPath، افزودن شناسههای پایدار با همکاری تیم توسعه و نگهداری آسانتر Page Objectها را توضیح میدهد. بخش مهم دیگر، نوشتن locatorهای native بهصورت cross-platform برای iOS و Android است تا با اتکا به نامگذاری یکسان در accessibility label یا testID، تستها در هر دو پلتفرم پایدار بمانند و فقط در صورت نیاز از fallbackهای اختصاصی استفاده شود. همچنین استفاده درست از noReset برای اجرای سریعتر و fullReset برای محیطهای تمیز و قابلتکرار تشریح میشود تا در مجموع، شکنندگی تستها کاهش یافته و اجرای آنها سریعتر و قابل اتکا گردد.
#Appium #MobileTesting #XPath #TestAutomation #Android #iOS #QA #Automation
🟣لینک مقاله:
https://cur.at/zxuVQ2?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
How to Migrate Flaky XPath to Stable Native Locators in Appium
🟢 خلاصه مقاله:
** این مقاله بهقلم Josphine Job نشان میدهد چرا استفاده از XPath در Appium اغلب شکننده و کند است و چگونه میتوان با مهاجرت به locatorهای native (مانند accessibility id و resource-id) پایداری و سرعت تستهای موبایل را افزایش داد. نویسنده روشهای عملی برای جایگزینی XPath، افزودن شناسههای پایدار با همکاری تیم توسعه و نگهداری آسانتر Page Objectها را توضیح میدهد. بخش مهم دیگر، نوشتن locatorهای native بهصورت cross-platform برای iOS و Android است تا با اتکا به نامگذاری یکسان در accessibility label یا testID، تستها در هر دو پلتفرم پایدار بمانند و فقط در صورت نیاز از fallbackهای اختصاصی استفاده شود. همچنین استفاده درست از noReset برای اجرای سریعتر و fullReset برای محیطهای تمیز و قابلتکرار تشریح میشود تا در مجموع، شکنندگی تستها کاهش یافته و اجرای آنها سریعتر و قابل اتکا گردد.
#Appium #MobileTesting #XPath #TestAutomation #Android #iOS #QA #Automation
🟣لینک مقاله:
https://cur.at/zxuVQ2?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
How to Migrate Flaky XPath to Stable Native Locators in Appium
How brittle locator strategy breaks your mobile tests and what actually works when the easiest option is the worst one.
🔵 عنوان مقاله
Why Your 97% Test Coverage Is a Lie
🟢 خلاصه مقاله:
Ran Algawi یادآوری میکند که درصد بالای test coverage الزاماً به معنای کیفیت یا ایمنی نیست؛ این عدد فقط اجرای خطوط کد را میسنجد، نه درستی رفتار یا توان کشف خطا. پوشش بالا میتواند با تستهای سطحی و خوشبینانه به دست آید و شاخههای خطا، لبهها و مسائل یکپارچهسازی را نادیده بگیرد؛ بنابراین ریسکهای همروندی، عملکرد و امنیت باقی میمانند. راه مؤثرتر، فرهنگِ تفکر سیستمی و پرسشگری است: شناسایی حالتهای خرابی، تمرکز بر رفتار و سناریوهای واقعی، تستهای قراردادی و اکتشافی، و تقویت مشاهدهپذیری و بازخورد محیط تولید. coverage فقط یک سیگنال است نه هدف؛ اثربخشی را با شاخصهایی مثل خطاهای گریزان، زمان کشف/بازیابی و کیفیت طراحی تست بسنجید. نتیجه نهایی: بهجای تعقیب «۹۷٪»، روی کاهش ریسک واقعی و ساخت اعتماد سرمایهگذاری کنید.
#TestCoverage #SoftwareTesting #QualityEngineering #RiskBasedTesting #QA #SoftwareEngineering #DevOps
🟣لینک مقاله:
https://cur.at/5eqX2tW?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Why Your 97% Test Coverage Is a Lie
🟢 خلاصه مقاله:
Ran Algawi یادآوری میکند که درصد بالای test coverage الزاماً به معنای کیفیت یا ایمنی نیست؛ این عدد فقط اجرای خطوط کد را میسنجد، نه درستی رفتار یا توان کشف خطا. پوشش بالا میتواند با تستهای سطحی و خوشبینانه به دست آید و شاخههای خطا، لبهها و مسائل یکپارچهسازی را نادیده بگیرد؛ بنابراین ریسکهای همروندی، عملکرد و امنیت باقی میمانند. راه مؤثرتر، فرهنگِ تفکر سیستمی و پرسشگری است: شناسایی حالتهای خرابی، تمرکز بر رفتار و سناریوهای واقعی، تستهای قراردادی و اکتشافی، و تقویت مشاهدهپذیری و بازخورد محیط تولید. coverage فقط یک سیگنال است نه هدف؛ اثربخشی را با شاخصهایی مثل خطاهای گریزان، زمان کشف/بازیابی و کیفیت طراحی تست بسنجید. نتیجه نهایی: بهجای تعقیب «۹۷٪»، روی کاهش ریسک واقعی و ساخت اعتماد سرمایهگذاری کنید.
#TestCoverage #SoftwareTesting #QualityEngineering #RiskBasedTesting #QA #SoftwareEngineering #DevOps
🟣لینک مقاله:
https://cur.at/5eqX2tW?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
Why Your 97% Test Coverage Is a Lie
A friend recently shared a story about a payment bug that double-charged customers. During their post-mortem, someone pulled up the metrics…
👍1
🔵 عنوان مقاله
Hacking With AI SASTs: An Overview of “AI Security Engineers”/“LLM Security Scanners” for Penetration Testers and Security Teams (12 minute read)
🟢 خلاصه مقاله:
این مقاله نسل تازه ابزارهای AI SAST که با عناوینی مثل “AI Security Engineers” و “LLM Security Scanners” معرفی میشوند را برای استفادهی تسترهای نفوذ و تیمهای امنیتی بررسی میکند. سه محصول Almanax، Corgea و ZeroPath Security ارزیابی شدهاند.
روش ارزیابی در سه گام بوده است: ۱) بازیابی و ایندکس کد برای حفظ زمینهی میانفایلی، ۲) اسکن کد برای کشف آسیبپذیریها و الگوهای ناامن، و ۳) کاهش خطاهای مثبت کاذب، حذف موارد تکراری و تعیین شدت با اولویتبندی مناسب. علاوه بر این، سهولت استفاده از رابط کاربری و تجربهی کاربری نیز سنجیده شده است.
نتیجه نهایی: ZeroPath بهترین عملکرد را در میان گزینههای بررسیشده داشته، Corgea در رتبهی دوم قرار گرفته و Almanax عقبتر بوده است. جمعبندی نویسنده این است که AI SAST میتواند سرعت و مقیاس کار امنیتی را افزایش دهد، اما ارزش واقعی آن به دقت ایندکس، کیفیت اسکن، کاهش نویز و کاربری روزمره وابسته است.
#AppSec #AISAST #LLMSecurity #PenTesting #SAST #CodeScanning #SecurityTools #VulnerabilityManagement
🟣لینک مقاله:
https://joshua.hu/llm-engineer-review-sast-security-ai-tools-pentesters?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Hacking With AI SASTs: An Overview of “AI Security Engineers”/“LLM Security Scanners” for Penetration Testers and Security Teams (12 minute read)
🟢 خلاصه مقاله:
این مقاله نسل تازه ابزارهای AI SAST که با عناوینی مثل “AI Security Engineers” و “LLM Security Scanners” معرفی میشوند را برای استفادهی تسترهای نفوذ و تیمهای امنیتی بررسی میکند. سه محصول Almanax، Corgea و ZeroPath Security ارزیابی شدهاند.
روش ارزیابی در سه گام بوده است: ۱) بازیابی و ایندکس کد برای حفظ زمینهی میانفایلی، ۲) اسکن کد برای کشف آسیبپذیریها و الگوهای ناامن، و ۳) کاهش خطاهای مثبت کاذب، حذف موارد تکراری و تعیین شدت با اولویتبندی مناسب. علاوه بر این، سهولت استفاده از رابط کاربری و تجربهی کاربری نیز سنجیده شده است.
نتیجه نهایی: ZeroPath بهترین عملکرد را در میان گزینههای بررسیشده داشته، Corgea در رتبهی دوم قرار گرفته و Almanax عقبتر بوده است. جمعبندی نویسنده این است که AI SAST میتواند سرعت و مقیاس کار امنیتی را افزایش دهد، اما ارزش واقعی آن به دقت ایندکس، کیفیت اسکن، کاهش نویز و کاربری روزمره وابسته است.
#AppSec #AISAST #LLMSecurity #PenTesting #SAST #CodeScanning #SecurityTools #VulnerabilityManagement
🟣لینک مقاله:
https://joshua.hu/llm-engineer-review-sast-security-ai-tools-pentesters?utm_source=tldrinfosec
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Joshua.Hu Joshua Rogers’ Scribbles
Hacking with AI SASTs: An overview of ‘AI Security Engineers’ / ‘LLM Security Scanners’ for Penetration Testers and Security Teams
Note: This post is complemented by a presentation I gave at KazHackStan 2025. The slides (which were prepared fewer than 24 hours before the actual presentation) for that talk can be found here, or in pptx format here.
❤1
🔵 عنوان مقاله
If you have 100 pages, do you create 100 Page Objects?
🟢 خلاصه مقاله:
اگر در یک اپلیکیشن ۱۰۰ صفحه دارید، آیا باید ۱۰۰ تا Page Objects بسازید؟ Đinh Công Cảnh یادآوری میکند که Page Objects قرار نیست نقشهی یکبهیک از UI باشند؛ آنها باید رفتارهای پایدار و معنادار برای کاربر را کپسوله کنند تا تستها خوانا و مقاوم در برابر تغییرات ظاهری بمانند. بهجای پیروی کورکورانه از ساختار DOM، مرزها را بر اساس «قصد و کار» تعریف کنید: احراز هویت، جستوجو، افزودن به سبد، تسویهحساب. اجزای تکرارشونده مثل ناوبری، سربرگ، فیلترها، جدولها و مودالها را به صورت component objectهای قابلاستفادهمجدد جدا کنید.
قانون سرانگشتی این است که تعداد Page Objects را نه با تعداد صفحات، بلکه با انسجام مسئولیتها و میزان تغییرپذیری تعیین کنید: گاهی یک صفحه به چند object کوچکتر (فرم، لیست، ویجت سبد) نیاز دارد، و گاهی چند صفحه با رفتار مشابه یک object مشترک را به اشتراک میگذارند. نامگذاری را هدفمحور کنید و جزییات تعاملی و locatorهای پایدار را در خود Page Objects نگه دارید تا تستها در سطح دامنهٔ کسبوکار بیان شوند. از الگوهای مکمل مثل Screenplay Pattern هم میتوان در دامنههای پیچیده بهره گرفت.
نتیجه اینکه عدد «۱۰۰» پاسخی ندارد؛ معیار واقعی، نگهداشتپذیری و کاهش اثر موجی تغییرات UI است. پیام اصلی Đinh Công Cảnh درباره شمردن objectها نیست، بلکه ساختن انتزاعهای درست است تا تستها سریعتر تغییر کنند، واضحتر بمانند و سختتر بشکنند.
#PageObjects #TestAutomation #UITesting #DesignPatterns #Selenium #QA #SoftwareTesting #Maintainability
🟣لینک مقاله:
https://cur.at/vvybnfG?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
If you have 100 pages, do you create 100 Page Objects?
🟢 خلاصه مقاله:
اگر در یک اپلیکیشن ۱۰۰ صفحه دارید، آیا باید ۱۰۰ تا Page Objects بسازید؟ Đinh Công Cảnh یادآوری میکند که Page Objects قرار نیست نقشهی یکبهیک از UI باشند؛ آنها باید رفتارهای پایدار و معنادار برای کاربر را کپسوله کنند تا تستها خوانا و مقاوم در برابر تغییرات ظاهری بمانند. بهجای پیروی کورکورانه از ساختار DOM، مرزها را بر اساس «قصد و کار» تعریف کنید: احراز هویت، جستوجو، افزودن به سبد، تسویهحساب. اجزای تکرارشونده مثل ناوبری، سربرگ، فیلترها، جدولها و مودالها را به صورت component objectهای قابلاستفادهمجدد جدا کنید.
قانون سرانگشتی این است که تعداد Page Objects را نه با تعداد صفحات، بلکه با انسجام مسئولیتها و میزان تغییرپذیری تعیین کنید: گاهی یک صفحه به چند object کوچکتر (فرم، لیست، ویجت سبد) نیاز دارد، و گاهی چند صفحه با رفتار مشابه یک object مشترک را به اشتراک میگذارند. نامگذاری را هدفمحور کنید و جزییات تعاملی و locatorهای پایدار را در خود Page Objects نگه دارید تا تستها در سطح دامنهٔ کسبوکار بیان شوند. از الگوهای مکمل مثل Screenplay Pattern هم میتوان در دامنههای پیچیده بهره گرفت.
نتیجه اینکه عدد «۱۰۰» پاسخی ندارد؛ معیار واقعی، نگهداشتپذیری و کاهش اثر موجی تغییرات UI است. پیام اصلی Đinh Công Cảnh درباره شمردن objectها نیست، بلکه ساختن انتزاعهای درست است تا تستها سریعتر تغییر کنند، واضحتر بمانند و سختتر بشکنند.
#PageObjects #TestAutomation #UITesting #DesignPatterns #Selenium #QA #SoftwareTesting #Maintainability
🟣لینک مقاله:
https://cur.at/vvybnfG?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
Medium
If you have 100 pages, do you create 100 Page Objects?
An interview question you may encounter
خداحافظ گیتهاب، سلام کدبرگ: کوچ بزرگ ریپازیتوری اصلی زیگ
زبان برنامهنویسی زیگ (Zig) رسماً ریپازیتوری اصلی خود را از گیتهاب به کدبرگ (Codeberg) منتقل کرد. این تصمیم که از مدتها قبل مورد بحث بود، نشاندهنده تعهد زیگ به تمرکززدایی، متنباز بودن واقعی و دوری از وابستگی به پلتفرمهای متمرکز تحت مالکیت شرکتهای بزرگ است. کدبرگ یک پلتفرم غیرانتفاعی مبتنی بر جامعه است که بر اساس Gitea (یک فورک متنباز از گیتهاب) ساخته شده و بر ارزشهای آزادی نرمافزار و حریم خصوصی کاربران تاکید دارد.
انتقال شامل ریپازیتوری اصلی زیگ (ziglang/zig) و همچنین سایر ریپازیتوریهای مرتبط با اکوسیستم زیگ است. این اقدام با هدف تقویت کنترل جامعه بر توسعه زیگ و کاهش خطرات ناشی از تغییرات سیاستی یا مالکیت گیتهاب انجام شده است. اندرو کلی، رهبر پروژه زیگ، در بیانیهای اعلام کرد که این انتقال گامی حیاتی برای تضمین آیندهای پایدار و مستقل برای زیگ است.
این تصمیم پس از بررسی دقیق گزینههای مختلف و نظرسنجی از جامعه زیگ اتخاذ شد. کدبرگ به دلیل تعهد به متنباز بودن، حریم خصوصی و عدم وابستگی به سرمایهگذاری خطرپذیر، به عنوان بهترین گزینه انتخاب شد. اگرچه گیتهاب همچنان یک پلتفرم محبوب و قدرتمند است، نگرانیها در مورد مالکیت مایکروسافت و احتمال تغییر سیاستها باعث شد تا زیگ به دنبال جایگزینی مستقلتر باشد.
فرآیند انتقال به تدریج انجام شده و شامل انتقال کد، تاریخچه، مسائل (issues) و درخواستهای ادغام (pull requests) است. تیم زیگ ابزارهایی را برای تسهیل انتقال برای توسعهدهندگانی که در این پروژه مشارکت دارند، ارائه کرده است. این انتقال ممکن است در کوتاهمدت باعث ایجاد اختلالاتی شود، اما انتظار میرود در بلندمدت به نفع پایداری و استقلال زیگ باشد.
این اقدام زیگ بازتابی از یک روند رو به رشد در بین پروژههای متنباز است که به دنبال کاهش وابستگی به پلتفرمهای متمرکز و تقویت کنترل جامعه بر توسعه خود هستند. این انتقال میتواند الهامبخش سایر پروژهها برای بررسی جایگزینهای متنباز و تمرکززدایی شده باشد.
چرا این مطلب مهم است؟
انتقال ریپازیتوری زیگ از گیتهاب به کدبرگ نشاندهنده یک تغییر پارادایم در دنیای متنباز است. این حرکت نه تنها استقلال و پایداری زیگ را تضمین میکند، بلکه الگویی برای سایر پروژهها ارائه میدهد که به دنبال کنترل بیشتر بر سرنوشت خود هستند. این تصمیم میتواند تاثیر قابل توجهی بر آینده توسعه نرمافزار متنباز و توزیع قدرت در اکوسیستم فناوری داشته باشد. این رویداد نشان میدهد که جامعه متنباز به طور فزایندهای نسبت به تمرکز و کنترل شرکتهای بزرگ حساس است و به دنبال جایگزینهای مستقلتر و پایدارتر است.
مطلب در ویرگول:
https://vrgl.ir/2aNZB
@| <Alireza DavoodiNia/>
زبان برنامهنویسی زیگ (Zig) رسماً ریپازیتوری اصلی خود را از گیتهاب به کدبرگ (Codeberg) منتقل کرد. این تصمیم که از مدتها قبل مورد بحث بود، نشاندهنده تعهد زیگ به تمرکززدایی، متنباز بودن واقعی و دوری از وابستگی به پلتفرمهای متمرکز تحت مالکیت شرکتهای بزرگ است. کدبرگ یک پلتفرم غیرانتفاعی مبتنی بر جامعه است که بر اساس Gitea (یک فورک متنباز از گیتهاب) ساخته شده و بر ارزشهای آزادی نرمافزار و حریم خصوصی کاربران تاکید دارد.
انتقال شامل ریپازیتوری اصلی زیگ (ziglang/zig) و همچنین سایر ریپازیتوریهای مرتبط با اکوسیستم زیگ است. این اقدام با هدف تقویت کنترل جامعه بر توسعه زیگ و کاهش خطرات ناشی از تغییرات سیاستی یا مالکیت گیتهاب انجام شده است. اندرو کلی، رهبر پروژه زیگ، در بیانیهای اعلام کرد که این انتقال گامی حیاتی برای تضمین آیندهای پایدار و مستقل برای زیگ است.
این تصمیم پس از بررسی دقیق گزینههای مختلف و نظرسنجی از جامعه زیگ اتخاذ شد. کدبرگ به دلیل تعهد به متنباز بودن، حریم خصوصی و عدم وابستگی به سرمایهگذاری خطرپذیر، به عنوان بهترین گزینه انتخاب شد. اگرچه گیتهاب همچنان یک پلتفرم محبوب و قدرتمند است، نگرانیها در مورد مالکیت مایکروسافت و احتمال تغییر سیاستها باعث شد تا زیگ به دنبال جایگزینی مستقلتر باشد.
فرآیند انتقال به تدریج انجام شده و شامل انتقال کد، تاریخچه، مسائل (issues) و درخواستهای ادغام (pull requests) است. تیم زیگ ابزارهایی را برای تسهیل انتقال برای توسعهدهندگانی که در این پروژه مشارکت دارند، ارائه کرده است. این انتقال ممکن است در کوتاهمدت باعث ایجاد اختلالاتی شود، اما انتظار میرود در بلندمدت به نفع پایداری و استقلال زیگ باشد.
این اقدام زیگ بازتابی از یک روند رو به رشد در بین پروژههای متنباز است که به دنبال کاهش وابستگی به پلتفرمهای متمرکز و تقویت کنترل جامعه بر توسعه خود هستند. این انتقال میتواند الهامبخش سایر پروژهها برای بررسی جایگزینهای متنباز و تمرکززدایی شده باشد.
چرا این مطلب مهم است؟
انتقال ریپازیتوری زیگ از گیتهاب به کدبرگ نشاندهنده یک تغییر پارادایم در دنیای متنباز است. این حرکت نه تنها استقلال و پایداری زیگ را تضمین میکند، بلکه الگویی برای سایر پروژهها ارائه میدهد که به دنبال کنترل بیشتر بر سرنوشت خود هستند. این تصمیم میتواند تاثیر قابل توجهی بر آینده توسعه نرمافزار متنباز و توزیع قدرت در اکوسیستم فناوری داشته باشد. این رویداد نشان میدهد که جامعه متنباز به طور فزایندهای نسبت به تمرکز و کنترل شرکتهای بزرگ حساس است و به دنبال جایگزینهای مستقلتر و پایدارتر است.
مطلب در ویرگول:
https://vrgl.ir/2aNZB
@| <Alireza DavoodiNia/>
ویرگول
خداحافظ گیتهاب، سلام کدبرگ: کوچ بزرگ ریپازیتوری اصلی زیگ - ویرگول
زبان برنامهنویسی زیگ (Zig) رسماً ریپازیتوری اصلی خود را از گیتهاب به کدبرگ (Codeberg) منتقل کرد. این تصمیم که از مدتها قبل مورد بحث بود،…
تجربه ی آشنایی با Gateway و معماری Microservices :
توی چند روز اخیر موقعیتی پیش اومد که با گیت وی و معماری میکرو سرویس آشنا شدم و با خودم گفتم یه خلاصه ای ازش رو اینجا بذارم.
میکروسرویس چیه؟
میکروسرویس یعنی شکستن یک سیستم بزرگ به چند سرویس کوچکتر و مستقل.
هر سرویس کار خودش رو انجام میده، جداگانه توسعه و دیپلوی میشه و فقط از طریق API با بقیه صحبت میکنه.
نتیجه؟ مقیاسپذیری بهتر، مدیریت سادهتر و توسعه سریعتر.
گیت وی چیه؟
گیت وی نقطه ورودی تمام درخواستهای کلاینت به سمت سرویسهاست.
یعنی بهجای اینکه مستقیماً به چند سرویس مختلف API بزنیم، همهچیز از یک “دروازه” عبور میکنه.
++ گیت وی مسئول کارهایی مثل:
- روت کردن درخواستها به سرویس درست
- مدیریت احراز هویت و توکن
- محدودیت سرعت، لاگگیری و امنیت
- سادهسازی ارتباط فرانت با پشتصحنه
مزایای Gateway :
- یک ورودی مشترک برای همه سرویسها => سادهتر شدن ارتباط
- مدیریت یکپارچه امنیت، توکنها و قوانین
- امکان ورژنبندی و روتینگ هوشمند
- جمع شدن لاگها و مانیتورینگ در یک نقطه
️ معایب / چالشها:
- اگر Gateway مشکل داشته باشه، کل سیستم تحتتأثیره
- دیباگ سختتره چون درخواستها قبل از رسیدن به سرویس تغییر میکنن
- پیچیدگی در تنظیم و قوانین روتینگ (با تمام وجودم این موضوع رو درک کردم (: )
- وابستگی زیاد سیستم به این نقطهی مرکزی
در کل برای منی که هیچ تجربه و دانشی از بک اند نداشتم ، درسته یکم سخت بود برام ولی یادگیری این چیز ها باعث شد دید بهتری داشته باشم.
r | <Ali Joshany/>
توی چند روز اخیر موقعیتی پیش اومد که با گیت وی و معماری میکرو سرویس آشنا شدم و با خودم گفتم یه خلاصه ای ازش رو اینجا بذارم.
میکروسرویس چیه؟
میکروسرویس یعنی شکستن یک سیستم بزرگ به چند سرویس کوچکتر و مستقل.
هر سرویس کار خودش رو انجام میده، جداگانه توسعه و دیپلوی میشه و فقط از طریق API با بقیه صحبت میکنه.
نتیجه؟ مقیاسپذیری بهتر، مدیریت سادهتر و توسعه سریعتر.
گیت وی چیه؟
گیت وی نقطه ورودی تمام درخواستهای کلاینت به سمت سرویسهاست.
یعنی بهجای اینکه مستقیماً به چند سرویس مختلف API بزنیم، همهچیز از یک “دروازه” عبور میکنه.
++ گیت وی مسئول کارهایی مثل:
- روت کردن درخواستها به سرویس درست
- مدیریت احراز هویت و توکن
- محدودیت سرعت، لاگگیری و امنیت
- سادهسازی ارتباط فرانت با پشتصحنه
مزایای Gateway :
- یک ورودی مشترک برای همه سرویسها => سادهتر شدن ارتباط
- مدیریت یکپارچه امنیت، توکنها و قوانین
- امکان ورژنبندی و روتینگ هوشمند
- جمع شدن لاگها و مانیتورینگ در یک نقطه
️ معایب / چالشها:
- اگر Gateway مشکل داشته باشه، کل سیستم تحتتأثیره
- دیباگ سختتره چون درخواستها قبل از رسیدن به سرویس تغییر میکنن
- پیچیدگی در تنظیم و قوانین روتینگ (با تمام وجودم این موضوع رو درک کردم (: )
- وابستگی زیاد سیستم به این نقطهی مرکزی
در کل برای منی که هیچ تجربه و دانشی از بک اند نداشتم ، درسته یکم سخت بود برام ولی یادگیری این چیز ها باعث شد دید بهتری داشته باشم.
r | <Ali Joshany/>
Forwarded from AI Labdon
قابلیتِ جالبِ Gemini 3 که با Banana Pro میسر هست !
مثلا اگر یک ویدئو آموزشی ۲۰ دقیقه ای یوتیوب دارید و وقت ندارید کامل ببینید و میخواید خلاصه ش رو به صورت یک پوستر گرافیکی ( اینفوگرافیک ) داشته باشید !
آموزش نحوه استفاده از این قابلیت :
۱ لینک ویدئو یوتیوب رو Copy میکنید .
۲ وارد Gemini میشید .
۳ لینک کپی شده رو Paste میکنید و ازش بخواید که ویدئو رو آنالیز و بررسی کنه .
۴ بعد از اینکه بررسی کرد ، حالا این پرامپت وارد کنید !
مثلا اگر یک ویدئو آموزشی ۲۰ دقیقه ای یوتیوب دارید و وقت ندارید کامل ببینید و میخواید خلاصه ش رو به صورت یک پوستر گرافیکی ( اینفوگرافیک ) داشته باشید !
آموزش نحوه استفاده از این قابلیت :
۱ لینک ویدئو یوتیوب رو Copy میکنید .
۲ وارد Gemini میشید .
۳ لینک کپی شده رو Paste میکنید و ازش بخواید که ویدئو رو آنالیز و بررسی کنه .
۴ بعد از اینکه بررسی کرد ، حالا این پرامپت وارد کنید !
Prompt : Generate an image of an infographic explaining the concept presented in the video.❤3