Software Engineer Labdon
693 subscribers
48 photos
5 videos
6 files
1K links
👑 Software Labdon

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Cypress Dependencies Through A Docker Image

🟢 خلاصه مقاله:
برای بهبود سرعت فرآیندهای تست و توسعه، یکی از روش‌های موثر استفاده از کش کردن وابستگی‌ها در داخل یک تصویر داکر است. گلب به‌موفوتوف در مقاله‌ای جامع، راهنمای گام به گام ارائه می‌دهد که چگونه می‌توان با ساختن یک تصویر داکر حاوی تمامی وابستگی‌های لازم، فرآیند نصب و دانلود این فایل‌ها را در زمان اجرای تست‌ها کاهش داد. این نگرش، به ویژه برای تیم‌هایی که از Cypress در عملیاتهای Continuous Integration (CI) خود بهره می‌برند، بسیار کاربردی است؛ زیرا باعث صرفه‌جویی قابل توجه در زمان و منابع می‌شود و کارایی کلی فرآیند آزمایش را افزایش می‌دهد.

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

در مجموع، مطالعه این راهنما به تیم‌های توسعه و تست کمک می‌کند تا با بهره‌گیری از تصاویر داکر بهینه، فرآیندهای خود را سریع‌تر، مطمئن‌تر و مقیاس‌پذیرتر کنند. این روش نه تنها کارایی آزمایش‌های Cypress را افزایش می‌دهد بلکه باعث صرفه‌جویی در زمان و منابع می‌شود و فرآیندهای DevOps را روان‌تر می‌سازد.

#توسعه_سریع #Cypress #Docker #DevOps

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


👑 @software_Labdon
Forwarded from AI Labdon
غیررسمی/ مدیر سایت سافت98 رو دستگیر کردنوبعد از 18 روز، دیروز با وثیقه‌ی 5 میلیاردی آزاد شده.

DevTwitter
🔵 عنوان مقاله
Tailsnitch (GitHub Repo)

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

تایلسنیتش امکانات بسیار متنوعی ارائه می‌دهد تا کاربران بتوانند مطالعه دقیق‌تری بر وضعیت امنیتی خود داشته باشند. از جمله این امکانات می‌توان به فیلترهای شدت خطر، حالت اصلاح تعاملی برای تصحیح سریع مشکلات، خروجی به فرمت JSON برای ادغام با فرآیندهای CI/CD، و امکان تولید شواهد مطابقت با استاندارد SOC 2 و نگاشت‌های کنترل معیارهای عمومی اشاره کرد. این ویژگی‌ها، ابزار را بسیار قدرتمند و کاربردی برای تیم‌های امنیت سایبری و توسعه‌دهندگان زیرساخت‌های ابری ساخته است.

ارزیابی‌های این ابزار از مسائلی حیاتی آغاز می‌شود، از مسائل بحرانی مانند مجوزهای پیش‌فرض "اجازه دهید" گرفته تا مواردی کم‌اهمیت‌تر، به گونه‌ای که تمامی تهدیدهای ممکن در مسیر حفاظت از داده‌ها و منابع شبکه شناسایی و مدیریت شوند. با بهره‌گیری از تایلسنیتش، سازمان‌ها قادر خواهند بود تا قبل از وقوع حملات سایبری جدی، آسیب‌پذیری‌های خود را شناسایی و برطرف سازند و امنیت زیرساخت‌های خود را تضمین کنند.

#امنیتشبکه #تایل‌اسکیل #آزمون_امنیت #حفاظتسایبری

🟣لینک مقاله:
https://github.com/Adversis/tailsnitch?utm_source=tldrinfosec


👑 @software_Labdon
Software Engineer Labdon
Photo
#دون

واتس‌اپ و رمزنگاری چی هستن که همیشه پاول دوروف داره در موردش حرف میزنه؟
چرا پیام‌ها توی تلگرام میمونه و روی همه‌ی دستگاه‌ها میاد ولی توی واتس‌اپ حذف میشه همشون؟

خب اول باید تعریف رمزنگاری ‌E2EE یا end-to-end رو بدونید.
ساده‌ بخوام بگم اینه که اطلاعات فقط توی مبدا و مقصد قابل خوندنه.

مثال
بدون رمزنگاری E2EE:
نامه‌مینویسی، میدی به پستچی، پستچی نامه رو باز می‌کنه و می‌خونه، در نهایت میفرسته برای مقصد.

با رمزنگاری E2EE:
نامه‌رو می‌نویسی، میذاری توی یه جعبه و قفلش می‌کنی، میدی به پستچی، پستچی دیگه نمی‌تونه بازش کنه، نامه رو می‌بره مقصد، دوستت با کلیدی که داره جعبه رو باز می‌کنه و نامه رو می‌خونه.

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


تو سال 2016 واتس‌اپ اومد گفت که ما به شکل پیشفرض رمزنگاری E2EE (end-to-end) برای چت‌ها، تماس‌ها، گروه‌ها و حتی بک‌آپ‌ها در نظر گرفتیم.
یعنی تمام اطلاعات شما رمزنگاری میشه و هیچ کس حتی خودمون بهش دسترسی نداریم.
خب راست میگن (به ظاهر)، چون کلید اون پیام رو ندارن که بخوان بخوننش.
پس واتس‌اپ به محتوای پیام‌های شما دسترسی نداره، ولی metadataها رو میخونه و قطعا نگهداری می‌کنه (و البته میفروشه)، متادیتاها میشه این که شما با کی، چه زمانی حرف زدی و امثال این‌ها.

از اونطرف، تلگرام به طور پیشفرض رمزنگاری E2EE نداره، یعنی همین پیام‌های چنل، گروه‌ها، چت‌ها و غیره، همه توی سرور‌های تلگرام ذخیره میشن و تلگرام بهش دسترسی داره، (البته که ادعا داره که از این دسترسی سوءاستفاده نمی‌کنه).
پس چرا تلگرام ادعاش میشه نسبت به واتس‌اپ؟
خب چون تلگرام یک secret chat داره که E2EE واقعی داره.
یعنی چت‌های شما همه قابل خوندن هستن جز اونهایی که secret chat هستن.

خب الان به این سوال پاسخ می‌دیم که چرا واتس‌اپ چت‌ها رو حذف می‌کنه و تلگرام نگه‌میداره.
در واقع واتساپ چیزی رو حذف نمی‌کنه، صرفا نگهشون نمیداره،
چرا نگه نمیداره؟ به همون دلیل E2EE، پیام‌ها اصلا توی سرور‌های واتس اپ ذخیره نمیشن، اگرم ذخیره بشن بعد از این که شما توی یه دستگاه دیگه لاگین کردی، اون پیام‌ها قابل رمزگشایی نیستن.
و ما دقیقا همین رو توی secret chat تلگرام هم می‌بینیم. پیام‌ها توی secret chat توی چند تا دستگاه قابل مشاهده نیستن، بعد از لاگین مجدد پیام‌های secret chat حذف شدن خودکار.

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

چرا الان این بحث داغ شده دوباره؟
اخیرا یه شکایت جمعی علیه متا/واتس‌اپ تو آمریکا مطرح شده که ادعا می‌کنه واتس‌اپ علی‌رغم ادعاش، می‌تونه پیام‌ها رو ذخیره کنه، تحلیل کنه و دسترسی داشته باشه.
پاول دوروف با پستی که توی X گذاشت و تایید ایلان ماسک، این خبر رو داغ تر کردن.

دوروف داره میگه ما مشکل امنیتی پیدا کردیم توی رمزنگاری واتس‌اپ.

در حال حاضر واتس‌اپ و سیگنال رمزنگاری E2EE پیشفرض دارن، تلگرام فقط در حالت Secret Chat این رمزنگاری رو داره.

لازمه بدونید ایتا، روبیکا و بله که من بررسی کردم کلا قابلیت secret chat و رمزنگاری E2EE رو ندارن.

DevTwitter
🔵 عنوان مقاله
Software Acceleration and Desynchronization

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

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

خلاصه اینکه، در مسیر توسعه نرم‌افزار، یافتن نقطه تعادل درست اهمیت حیاتی دارد. تیم‌های فنی باید استراتژی‌هایی را به کار گیرند که بتوانند سرعت را حفظ کنند بدون اینکه از استانداردهای کیفیت خود صرف‌نظر نمایند. این مقاله ارزشمند فرید هبرت، نگاهی عمیق و متعادل به این موضوع حیاتی است و توصیه‌هایی مفید را برای همگان ارائه می‌دهد که چگونه می‌توان در کنار افزایش بهره‌وری، امنیت و صحت نرم‌افزار را تضمین کرد.

#توسعه_نرم‌افزار #کیفیت #سرعت #مدیریت_مشکلات

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


👑 @software_Labdon
🔵 عنوان مقاله
The Fallacy of Example-Based Testing

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

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

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

#تست_نرم‌افزار #کیفیت_سیستم #درک_کامل #رویکردهای_تستی

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


👑 @software_Labdon
🔵 عنوان مقاله
Common mistakes in REST API Testing with Rest Assured

🟢 خلاصه مقاله:
در دنیای امروز، آزمایش عملکردی و کارایی API‌ها نقش کلیدی در تضمین کیفیت نرم‌افزار دارد. یکی از ابزارهای محبوب و کارآمد در این حوزه، Rest Assured است که به توسعه‌دهندگان امکان می‌دهد تست‌های مربوط به REST API‌ها را به شکل ساده و مؤثر انجام دهند. اما در طی این فرآیند، چندین خطای رایج ممکن است رخ دهد که عدم آگاهی از آن‌ها می‌تواند نتیجه نهایی کار را تحت تأثیر قرار دهد و منجر به عدم اطمینان در صحت API شود.

در ادامه، برخی از اشتباهات متداول هنگام تست API با Rest Assured را بررسی می‌کنیم و نکات مهمی را برای انجام این فرآیند به درستی، با مثال‌هایی قابل درک و کاربردی، ارائه می‌دهیم. آگاهی از این اشتباهات و روش‌های پیشگیری از آن‌ها، به توسعه‌دهندگان کمک می‌کند تا آزمون‌های دقیق‌تر و قابل اعتمادتری انجام دهند و درنتیجه، کیفیت محصول نهایی را ارتقاء دهند.

توصیه‌های کاربردی در این مقاله به شما کمک می‌کند تا فرآیند تست API را به شکل اصولی و حرفه‌ای پیش ببرید و از وقوع خطاهای بی‌پایه جلوگیری کنید. با رعایت این نکات، می‌توانید از صحت کارکرد API خود اطمینان حاصل کرده و مشکلات احتمالی را زودتر شناسایی و برطرف سازید.
#تستAPI #RestAssured #کیفیت_نرم‌افزار #آزمایش_کاربردی

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


👑 @software_Labdon
🔵 عنوان مقاله
Shifting Left — Our Storybook-First UI, Page-level Tests, MSW and the Storybook Test Harness

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

در این مقاله، سیوات روش‌های مختلفی را بررسی می‌کند، از جمله تمرکز بر «شِفت چپ» (Shift Left) در فرآیند تست، یعنی انجام آزمایش‌های اولیه در مراحل اولیه توسعه، که باعث کاهش خطاها و صرفه‌جویی در زمان می‌شود. او همچنین به اهمیت تست‌های سطح صفحه (Page-level Tests) اشاره می‌کند، که به تیم‌ها این امکان را می‌دهد تا صحت عملکرد کل صفحات و کامپوننت‌ها را قبل از نهایی‌سازی بررسی کنند. بهره‌گیری از ابزارهای مدرن مانند MSW (Mock Service Worker) هم در این فرآیند نقش مهمی دارد، چرا که به شبیه‌سازی سرویس‌های خارجی و کاهش وابستگی به سرورهای زنده کمک می‌کند و روند تست را سریع‌تر و مطمئن‌تر می‌سازد.

در پایان، سیوات توضیح می‌دهد که چگونه ترکیب این روش‌ها و ابزارها، باعث شکل‌گیری یک قالب آزمایشی مؤثر در قالب «شوت‌باکس» (Storybook Test Harness) شده است؛ ابزاری قدرتمند که توسعه‌دهندگان می‌توانند به سرعت و به طور مستقل، کامپوننت‌ها را آزمایش و اصلاح کنند. این رویکرد نه تنها فرآیند توسعه را تسهیل می‌کند، بلکه تضمین می‌کند که رابط کاربری نهایی بدون خطا و کارآمد باشد، و در نتیجه، تجربه کاربری بهتری را برای کاربران نهایی فراهم می‌آورد.

#تست #توسعه_نرم‌افزار #پیشرو #کد_هوشمند

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


👑 @software_Labdon