ScreenURL یه سرویس APIمحوره که با یه درخواست ساده، از هر URL عمومی اسکرینشات میگیره. رندر زیر ۲ ثانیه، پشتیبانی از PNG و JPEG، و امکان کپچر full-page تا رزولوشن 4K از ویژگیهای اصلیشه. پلن رایگان ماهی ۱۰۰ اسکرینشات میده و نیازی به کارت اعتباری نداره. برای پیشنمایش لینکها، تست خودکار، مانیتورینگ سایت و مستندسازی بهکار میاد.
تیم Vitest یه پیشنهاد جالب داده: اضافه کردن فلگ `--framework` به Vitest که بهت اجازه میده بهجای Vite از ابزارهای دیگهای مثل esbuild، Rsbuild، Webpack، Node خالص، Deno یا Bun استفاده کنی. هدف اینه که Vitest از وابستگی سفتوسختش به Vite جدا بشه و به یه تسترانر واقعاً عمومی تبدیل بشه. کاربرهای فعلی هیچ تغییری حس نمیکنن چون Vite همچنان گزینه پیشفرض باقی میمونه.
هوش مصنوعی در حوزههای مختلف نرمافزاری موفق بوده چون با APIهای تمیز و قراردادهای مشخص کار میکنه، اما زیستشناسی و کشف دارو چنین ساختاری ندارن. هر مرحله از کشف دارو — از پیدا کردن هدف درمانی تا طراحی مولکول تا کارآزمایی بالینی — پر از ابهام، فرضیههای احتمالاتی و وابستگیهای پنهانه. این «مشکل API فازی» اصلیترین دلیلیه که ML در داروسازی خیلی سختتر از بقیه حوزههاست. با این حال، ایدههای جدیدی مثل «سلول مجازی» و مدلهای مقیاسپذیر دارن این حوزه رو از نو هیجانزده میکنن.
لاراول ۱۳.۸ متدهای جدیدی برای بررسی یکجای همه صفها معرفی کرده که دیگه نیازی به چندین فراخوانی جداگانه نیست. علاوه بر این، رویدادهای جدید برای توقف و ازسرگیری worker، متد assertSessionMissingInput برای تست، و پشتیبانی از enum نوع SortDirection در query builder هم اضافه شدن. قابلیتهایی مثل فیلتر محیطی برای دستور schedule:list و اکشنهای سفارشی برای کلیدهای خارجی هم در این نسخه گنجونده شدن.
باوجود هیاهوی زیاد دربارهی ایجنتهای کدنویسی هوش مصنوعی، مهندسهای باتجربهای مثل سازندهی Sentry و Linear میگن که این ابزارها واقعاً سرعت بهبود محصول رو بالا نبرده. دادهها نشون میده بهرهوری به شکل K توزیع شده: مهندسهای ارشد سود میبرن، ولی جونیورها یا جا زدن یا بدتر شدن. اصل مشکل اینه که خط کد یه هزینهست، نه یه دارایی؛ هرچی کد بیشتر تولید بشه، پیچیدگی بیشتری ایجاد میشه که نگهداریش سختتره. حتی خود Anthropic با Claude Code که کاملاً با Claude نوشته شده، نتونسته شکاف رقابتی معناداری با رق
تست نوشتن برای پروژههای فرانتاند بدون Node یا هر runtime سمت سرور دیگهای یه چالش قدیمیه. توی این مقاله نویسنده نشون میده که چطور میشه کامپوننتهای Vue رو مستقیم توی تب مرورگر با کمک QUnit تست کرد. با یه تابع mountComponent، دادههای fixture و یه waitFor() ساده، میشه تستهای integration واقعی نوشت بدون اینکه به Playwright یا ابزارهای سنگین نیاز داشت.
Edit-R1 یه فریمورک جدید برای ویرایش تصویر با یادگیری تقویتیه که به جای یه امتیاز کلی، دستورالعملها رو به اصول جداگانه تجزیه میکنه و هر بخش رو مستقل ارزیابی میکنه. قلب این سیستم یه مدل پاداش مبتنی بر استدلال زنجیرهوار (CoT) به اسم Edit-RRM هست که خیلی دقیقتر از مدلهای قبلیه. این رویکرد روی مدلهایی مثل FLUX.1-kontext هم آزمایش شده و نتایج قابل توجهی داشته. با افزایش پارامترها از ۳ میلیارد به ۷ میلیارد، عملکرد سیستم به طور مداوم بهتر میشه.
نیک نیسی از WorkOS تعریف میکنه که چطور دو ابزار هوش مصنوعی ساخت، ولی بعد از مدتی متوجه شد هیچ راهی برای سنجش کیفیت خروجیشون نداره. راهحلش نوشتن یه سیستم ارزیابی (eval) بود؛ چیزی فراتر از تستهای معمولی. تستهای سنتی برای رفتار قطعی طراحی شدن، ولی LLMها هر بار خروجی متفاوتی میدن و باید با نرخ موفقیت سنجیده بشن، نه pass/fail ساده. این مقاله داستان ساختن دو سیستم eval کاملاً متفاوت برای دو مشکل متفاوته که یه درس مشترک داشتن.
Buildkite یه پلتفرم CI/CD سریع و مقیاسپذیره که برای تیمهای نرمافزاری طراحی شده. این سرویس ابزارهایی مثل Pipeline، Test Engine، و Package Registry رو یهجا جمع کرده تا فرآیند تحویل نرمافزار رو سریعتر و مطمئنتر کنه. Buildkite یه پلن آزمایشی ۳۰ روزه بدون نیاز به کارت اعتباری ارائه میده که همه قابلیتها توش باز هستن. پلنهای قیمتگذاری از رایگان تا Enterprise در دسترسه و برای تیمهای بزرگ گزینههای حرفهای مثل SCIM، SAML، و لاگهای حسابرسی هم داره.
وقتی به AI میگی یه فیچر بساز، همهچیز خوب به نظر میرسه — تا یادت بیاد یه edge case مهم رو فراموش کردی، یا ببینی از offset pagination به جای cursor استفاده کرده. این چرخهی بیپایان «درست کن، اشتباه جدید، دوباره درست کن» همون چیزیه که نویسنده بهش میگه AI Psychosis. راهحل پیشنهادیش اینه که قبل از کدنویسی، اسپکهای دقیق به فرمت YAML بنویسی — رویکردی که بهش «Specsmaxxing» میگه. برای این کار هم یه ابزار اوپنسورس به اسم Acai.sh ساخته که کمک میکنه اسپک بنویسی، کد بسازی، بررسی کنی و ایتریت کنی.
Agent Skills یه پروژهست که سعی میکنه رفتار ایجنتهای کدنویس هوش مصنوعی رو به سطح یه مهندس ارشد برسونه. مشکل اینه که این ایجنتها بهصورت پیشفرض مستقیم میرن سراغ نوشتن کد، بدون اینکه اسپک بنویسن، تست بزنن یا اصلاً scope کار رو مشخص کنن. این پروژه با تعریف «اسکیل» بهشکل فایلهای مارکداون گردشی، ایجنت رو مجبور میکنه همون مراحلی رو طی کنه که یه مهندس باتجربه طی میکنه. پروژه با بیش از ۲۶ هزار ستاره، نشون میده که این دغدغه برای خیلیها آشناست.
استفاده از هوش مصنوعی در تیمهای توسعه نرمافزار فقط به پرامپتنویسی ختم نمیشه؛ اصل مهمتر اینه که AI هر چیزی که در تیم وجود داره — چه خوب، چه بد — رو تقویت میکنه. اگه فرایندهای بررسی کد و استانداردهای مستندسازی داشته باشی، سرعت و کیفیت هر دو بالا میره. ولی اگه بدون اینا وارد بشی، AI فقط بینظمیات رو سریعتر میکنه. این مقاله به تیملیدها کمک میکنه بدونن AI باید چه کدی بنویسه، چه چیزی رو خودشون بنویسن، و چطور واقعاً بسنجن که این سرعت ارزش داره یا نه.
Datadog Synthetic Monitoring ابزاریه که بهت کمک میکنه قبل از اینکه کاربران واقعی با مشکل روبرو بشن، خطاها و مشکلات عملکردی رو شناسایی کنی. این سرویس با شبیهسازی رفتار کاربر در مسیرهای مختلف اپلیکیشن، دید کاملی از تجربه کاربری بهت میده. به این ترتیب تیمهای فنی میتونن سریعتر مشکلات رو پیدا و برطرف کنن و کیفیت سرویس رو بالا نگه دارن.
Alchemy یه ابزار Infrastructure as Code هست که بهت اجازه میده کل زیرساخت ابریات رو با تایپاسکریپت و بهصورت یه برنامهی واحد تعریف کنی. با سه دستور plan، deploy و destroy میتونی منابع Cloudflare مثل R2 Bucket، KV Namespace و Worker رو راهاندازی یا پاک کنی. این ابزار روی Effect ساخته شده، پالیسیهای IAM رو تایپچک میکنه و لوپهای فیدبک سریع داره. نسخهی فعلی v2.0.0-beta.28 هست و از قابلیتهایی مثل تستهای ephemeral، CI/CD با پیشنمایش per-PR و دواپمنت محلی هم پشتیبانی میکنه.
تست نرمافزار فقط نوشتن چند unit test ساده نیست — روشهای پیشرفتهتری وجود دارن که میتونن باگهایی رو پیدا کنن که بههیچوجه بهشون فکر نمیکردی. از تزریق تصادفی بودن به تستها گرفته تا تکنیک «swarm testing» و «buggification»، هر کدوم از این رویکردها بخشهای کور پوشش تست رو روشن میکنن. این مقاله یه منوی کامل از بهترین تکنیکهای تست نرمافزاره که میشه هم دستی و هم با کمک ابزارهایی مثل Hypothesis یا AFL++ ازشون استفاده کرد.
تیم کرسر توضیح داده چطور بهصورت مداوم روی harness ایجنتشون کار میکنه تا مدلهای مختلف رو هوشمندتر، سریعتر و کارآمدتر کنه. اصل کار اینه که بهجای guardrailهای ثابت، context پویا بدن و اجازه بدن مدل خودش اطلاعات لازم رو بکشه. برای سنجش کیفیت هم از ترکیب بنچمارک، A/B تست آنلاین، و متریکهایی مثل "نرخ نگهداری کد" استفاده میکنن. یه بخش مهم دیگه هم ردیابی و رفع خطاهای ابزارهاست که اگه کنترل نشن، میتونن کل session رو خراب کنن.
بنچمارک SpatialBench نشون میده مدلهای جدید GPT-5.5 و Opus 4.7 در تحلیل زیستشناسی فضایی سریعتر شدن ولی دقتشون عملاً تغییری نکرده. GPT-5.5 زمان اجرا رو نصف کرده ولی دقتش از 57.4٪ به 57.6٪ رسیده که تفاوت معناداری نیست. بررسی دستی مسیر تحلیل مدلها نشون میده که اشکالات اساسی در قضاوت زیستشناختی هنوز باقیه؛ از جمله pseudoreplication، نرمالسازی اشتباه، و خوشهبندی بدون تصحیح batch.
وقتی چند پروسه تست بهصورت موازی اجرا میشن و همه میخوان از یه دیتابیس مشترک استفاده کنن، کارها خراب میشه. یه راهحل ساده با file lock میشه این تداخل رو از بین برد. یه کلاس PHP کوچیک با flock میتونه دسترسی به دیتابیس رو ترتیببندی کنه تا هر پروسه نوبتی وارد بشه. این روش مخصوصاً برای feature testهایی که واقعاً با دیتابیس کار میکنن خیلی به درد میخوره.
یه روش هوشمندانه برای کاهش چشمگیر زمان اجرای تستهای PHP روی GitHub Actions اینه که تستسوییت رو به چند بخش مساوی تقسیم کنی و هر بخش رو روی یه job جداگانه اجرا کنی. تیم Oh Dear با همین تکنیک، زمان اجرای تستهاشون رو از ۱۶ دقیقه به فقط ۴ دقیقه رسوندن. این کار با استفاده از matrix strategy در GitHub Actions و یه اسکریپت PHP سفارشی انجام میشه که تستها رو با گزینه --filter به صورت موازی اجرا میکنه. ابزار Pest هم با آپشن --list-tests این امکان رو میده که لیست کامل تستها رو بگیری و به قطعههای مس
نویسنده مقاله در حال توسعه یه اپلیکیشن گزارشساز بوده و از همون اول یه گزینهی --dry-run بهش اضافه کرده. این فلگ باعث میشه بدون اینکه هیچ تغییری توی سیستم ایجاد بشه، بتونی ببینی اگه دستور رو اجرا کنی دقیقاً چه اتفاقی میافته. در عمل خیلی بیشتر از چیزی که انتظار داشت بهش کمک کرد؛ هم برای چک سریع وضعیت، هم برای تست رفتار اپلیکیشن بدون اتلاف وقت. تنها نقطه ضعفش اینه که یه کم کد رو شلوغتر میکنه، ولی در کل ارزشش رو داره.