زیرساخت داده باز یا ODI یه رویکرد معماریه که به سازمانها اجازه میده دادههاشون رو یه بار توی فرمتهای باز ذخیره کنن و از هر ابزار، موتور پردازشی یا سیستم هوش مصنوعیای استفاده کنن، بدون اینکه به یه vendor خاص وابسته بشن. مشکل اصلی معماریهای سنتی اینه که ذخیرهسازی، پردازش و ابزارها رو به هم گره میزنن و بزرگ شدن رو گرون و سخت میکنن. ODI این لایهها رو از هم جدا میکنه تا هر کدوم بتونن مستقل تکامل پیدا کنن. این رویکرد بهخصوص با رشد workloadهای هوش مصنوعی اهمیت بیشتری پیدا کرده.
تیم Neon با معماری لیکبیس یه گلوگاه قدیمی پستگرس رو حل کرده و توان نوشتن رو تا ۵ برابر بهبود داده، اون هم بدون هیچ ریسکی برای دوام دادهها.
بیشتر بحثهای AI سازمانی روی مدلها و GPUها متمرکزه، ولی ارزش واقعی جای دیگهای ساخته میشه: در دادههای عملیاتی، آنتولوژی، و گرافهای زمینهای. اتلسین و سرویسناو هر دو همین مسیر رو رفتن و الان با Context Engine و Teamwork Graph، محور هوش مصنوعی مدیریت IT شدن. این دو پلتفرم از دو طرف مختلف چرخه توسعه نرمافزار به یه مقصد مشترک رسیدن و رقابتشون برای تسلط بر گراف زمینهای سازمانی داره شکل جدیتری به خودش میگیره.
Laravel ClickHouse یه درایور دیتابیس کامله که ClickHouse رو به لاراول وصل میکنه و از Eloquent، Query Builder، Schema Builder و Migration پشتیبانی میکنه. ClickHouse یه دیتابیس ستونمحور اپنسورسه که برای کارهای آنالیتیکی طراحی شده و میتونه میلیاردها ردیف رو در ثانیه پردازش کنه. این پکیج قابلیتهای خاص ClickHouse مثل کلازهای FINAL، ARRAY JOIN و SAMPLE رو هم به Query Builder اضافه میکنه. علاوه بر این، با یه هلپر Parallel میشه چندین کوئری رو به صورت همزمان و آسنکرون اجرا کرد.
IBM و Oracle در چهلمین سالگرد همکاری استراتژیکشان، یک سری قابلیتهای جدید در حوزه هوش مصنوعی عاملی و هایبرید کلاد معرفی کردن. از جمله این تحولات میشه به امکان خرید Red Hat Enterprise Linux مستقیم از Oracle Cloud Infrastructure، اتصال Oracle Fusion ERP به IBM Maximo، و عرضه سرویسهای مدیریتشده جدید از طریق IBM Consulting اشاره کرد. هدف اصلی این همکاری کمک به سازمانهاست که بدون گیر کردن در پیچیدگیهای مهاجرت، بتونن عملیاتشون رو با AI مدرن کنن و به مقیاس برسونن.
در این اپیزود از سری «Ship AI with Laravel»، بهجای پیادهسازی دستی semantic search با embeddings و pgvector، اسناد مستقیماً به سرویس هوش مصنوعی آپلود میشن و ابزار FileSearch از SDK کار جستجو رو انجام میده. یه دستور Artisan ساخته میشه که یک vector store به اسم «SupportAI Knowledge Base» میسازه و پنج سند مارکداون رو درش آپلود میکنه. ایجنت ساپورت هم FileSearch رو در کنار ابزار KnowledgeSearch قبلی داره تا بسته به نوع سوال، از هر کدوم استفاده کنه. نکته مهم اینه که FileSearch توکنبر هست و نیا
توربوپافر نسل سوم موتور جستجوی برداری خودش (ANN v3) رو معرفی کرده که میتونه روی یک ایندکس واحد تا ۱۰۰ میلیارد وکتور رو پوشش بده. هدف اصلی این سیستم رسیدن به تأخیر p99 کمتر از ۲۰۰ میلیثانیه با بیش از ۱۰۰۰ کوئری در ثانیهست. معماری turbopuffer بر پایه یه لایه بیحالت (stateless) روی object storage ساخته شده که شامل یه سلسلهمراتب کش و لایه محاسباتیه. برای بهینهسازی از اول، تیم از مفاهیمی مثل arithmetic intensity و roofline model وام گرفتن تا بفهمن کجای سیستم گلوگاه اصلیه.
SQLite احتمالاً بیشتر از تمام موتورهای پایگاه داده دیگر روی کره زمین استفاده میشه. از هر گوشی اندروید و آیفون گرفته تا ویندوز، مک، فایرفاکس، کروم، اسکایپ، و حتی سیستمهای چندرسانهای خودروها، همه و همه از SQLite بهره میبرن. تعداد دستگاههای هوشمند فعال بیش از ۴ میلیارد تاست و هر کدوم صدها فایل SQLite دارن، پس احتمالاً بیش از یک تریلیون پایگاه داده SQLite در حال حاضر فعال هستن. این کتابخانه کوچیک و سریع رقیب جدیای برای عنوان «پرکاربردترین ماژول نرمافزاری تاریخ» محسوب میشه.
لاراول ۱۳.۸ متدهای جدیدی برای بررسی یکجای همه صفها معرفی کرده که دیگه نیازی به چندین فراخوانی جداگانه نیست. علاوه بر این، رویدادهای جدید برای توقف و ازسرگیری worker، متد assertSessionMissingInput برای تست، و پشتیبانی از enum نوع SortDirection در query builder هم اضافه شدن. قابلیتهایی مثل فیلتر محیطی برای دستور schedule:list و اکشنهای سفارشی برای کلیدهای خارجی هم در این نسخه گنجونده شدن.
CData یه پلتفرم جامع اتصال دادهست که بیش از ۳۵۰ سیستم مختلف رو از Snowflake و Salesforce گرفته تا SAP و MongoDB به هم وصل میکنه. این پلتفرم هم برای توسعهدهندهها (با ODBC، JDBC، ADO.NET و Python) و هم برای ابزارهای BI مثل Tableau و Power BI کانکتور داره. تازهترین حرکت CData اینه که با پروتکل MCP، اتصال ابزارهای هوش مصنوعی مثل Claude و Microsoft Copilot رو به دادههای سازمانی ممکن میکنه. Palantir Technologies هم اخیراً همکاریش رو با بخش Embedded این شرکت گسترش داده تا اتصال داده توی Foundry
نشون دادن یه محتوای یکسان به همه کاربرا دیگه جواب نمیده. در این مقاله یاد میگیریم چطور یه موتور پیشنهاد محتوای هوشمند با لاراول، MongoDB و وکتور امبدینگ بسازیم که بهجای تگ و کلیدواژه، بر اساس «معنا» محتوا پیشنهاد میده. مثلاً کاربری که داره پست «شروع با لاراول API» رو میخونه، پستهایی مثل «احراز هویت در لاراول API» رو هم پیشنهاد میگیره؛ نه بهخاطر تشابه کلمات، بلکه بهخاطر نزدیکی مفهومی. این سیستم از مدل رایگان BAAI/bge-small-en-v1.5 روی Hugging Face و MongoDB Vector Search استفاده میکنه.
Laravel Chronicle یه پکیج لاراول هست که به جای نوشتن ساده ردیفهای لاگ در دیتابیس، یه زنجیره هش رمزنگاریشده با SHA-256 میسازه. هر رکورد جدید شامل هش رکورد قبلیشه، پس اگه کسی حتی یه ورودی رو ویرایش یا حذف کنه، زنجیره میشکنه و Chronicle بهت خبر میده. علاوه بر این، میشه در لحظههای مشخص چکپوینت امضاشده ثبت کرد یا کل دفتر لاگ رو به صورت یه دیتاست مستقل و قابل تأیید export کرد. این پکیج برای سیستمهایی که نیاز به لاگهای حسابرسی قابل اعتماد دارن، مثل گردشکارهای انطباق، سوابق مالی یا لاگهای ا
یه ایجنت هوش مصنوعی با استفاده از یه توکن ریلوِی که روی سیستم کاربر ذخیره بود، مستقیم به API رفت و دیتابیس پروداکشن رو کامل پاک کرد. ریلوِی بعد از این اتفاق تغییرات مهمی توی API و سیستم احراز هویتش داد تا همچین فاجعهای دوباره نیفته. حالا همهی حذفها بهجای اجرای آنی، ۴۸ ساعت تأخیر دارن و قابل بازگشتن. این ماجرا نشون میده که دادن دسترسی بدون محدودیت به ایجنتهای AI چقدر میتونه خطرناک باشه.
جستجوی دودویی (Binary Search) یه الگوریتم کلاسیک و سریعه، ولی آیا میشه ازش هم سریعتر رفت؟ نویسنده این مقاله با ترکیب جستجوی چهارتایی (Quaternary Search) و دستورالعملهای SIMD پردازنده، الگوریتمی به اسم SIMD Quad ساخته که روی آرایههای مرتبشده از اعداد ۱۶ بیتی کار میکنه. بنچمارکها نشون میدن این الگوریتم در تمام سناریوها سریعتر از جستجوی دودویی استانداردیه و روی پردازندههای Intel گاهی بیش از دو برابر سرعت داره. ایده اصلی اینه که پردازندههای مدرن ظرفیت پردازش موازی دارن که الگوریتمهای کلا
Laravel Schema Sentinel یه پکیج لاراوله که وقتی دیتابیس واقعیات از migrationهات فاصله میگیره (schema drift)، سریع بهت خبر میده. این ابزار یه shadow database از migrationها میسازه، اون رو با دیتابیس زنده مقایسه میکنه و حتی میتونه یه migration اصلاحی هم برات تولید کنه. قابلیتهایی مثل مقایسه cross-environment، داشبورد بصری Livewire و جلوگیری خودکار از اجرای migrate در صورت وجود drift از ویژگیهای جالب این پکیجن. لاراول ۱۱ تا ۱۳ رو پشتیبانی میکنه.
Honker یه افزونه SQLite هست که امکانات NOTIFY/LISTEN شبیه به Postgres رو به SQLite اضافه میکنه. با این ابزار میشه صف کار، پابساب دائمی، و استریم رویدادها رو مستقیم توی همون فایل .db داشت، بدون نیاز به Redis، Celery یا هیچ برنامه واسطهای. عملیاتهای بیزینسی و صف پیامها توی یه تراکنش اتفاق میافتن، یعنی اگه rollback بشه، هر دو باهم برمیگردن. Honker از طریق یه افزونه قابل بارگذاری SQLite کار میکنه و برای Python، Node.js، Go، Ruby، Rust، Bun و Elixir باینینگ داره.
Route Binding یکی از قابلیتهای لاراوله که خیلی راحت ازش استفاده میکنیم، ولی کمتر پیش میاد بدونیم دقیقاً پشت صحنه چی میگذره. وقتی یه مسیر مثل /users/{user} تعریف میکنی و User $user رو در کنترلر type-hint میزنی، لاراول بهصورت خودکار مدل رو برات میآره. این اتفاق نه توی کنترلر، بلکه خیلی زودتر و در لایهی میانافزار SubstituteBindings رخ میده. این مقاله کل مسیر از URI خام تا تحویل مدل به کنترلر رو مرحلهبهمرحله توضیح میده و نشون میده explicit binding و implicit binding هر کدوم چه مسیری رو طی
اگه توی Laravel Forge از SQLite استفاده میکنی و zero-downtime deployment داری، احتمالاً با یه مشکل جدی روبرویی: هر بار که دیپلوی میکنی، کل دیتابیست پاک میشه! دلیلش اینه که Forge هر ریلیز رو توی یه پوشه جداگانه میریزه و یه symlink رو جابهجا میکنه. چون فایل database.sqlite داخل پوشه ریلیز قرار داره، با هر دیپلوی از دسترس خارج میشه. راهحل اینه که فایل دیتابیس رو به داخل storage/ منتقل کنی؛ چون این پوشه از قبل بهعنوان shared path توسط Forge مدیریت میشه و بین ریلیزها پایدار میمونه.
وقتی چند پروسه تست بهصورت موازی اجرا میشن و همه میخوان از یه دیتابیس مشترک استفاده کنن، کارها خراب میشه. یه راهحل ساده با file lock میشه این تداخل رو از بین برد. یه کلاس PHP کوچیک با flock میتونه دسترسی به دیتابیس رو ترتیببندی کنه تا هر پروسه نوبتی وارد بشه. این روش مخصوصاً برای feature testهایی که واقعاً با دیتابیس کار میکنن خیلی به درد میخوره.
وقتی کاربر یه سبد خرید با چند آیتم ارسال میکنه، اعتبارسنجی هر product_id با Rule::exists بهصورت پیشفرض باعث N+1 کوئری میشه؛ یعنی برای هر آیتم یه SELECT جداگانه اجرا میشه. لاراول یه راهحل تمیز داره: دادههای موردنیاز رو قبل از اجرای rules() در متد prepareForValidation() با یه کوئری واحد prefetch کن و بعد هر آیتم رو در حافظه چک کن. اینطوری هم N+1 حذف میشه و هم پیغام خطا دقیقاً روی همون فیلد خاص (مثلاً items.2.product_id) نشون داده میشه.