کامند جادویی لاراول که خیلی ها ازش بیخبر هستن
خیلی از برنامه نویسایی که تازه از php کوچ میکنن به لاراول نوشتن مایگریشن براشون یه چالشه و طول میکشه کمی تا درکش کنن.
مژده ی اینو میدم که این مشکل حل شده
اگر شما ساختار دیتابیستون رو دستی ساختید کافیه:
۱- کانفیگ دیتابیستون و رو انجام بدید و دیتابیستون رو روش اپلود کنید
۲ـ این دستور رو بزنید ٬ خود لاراول بصورت اتوماتیک واستون مایگریشن هارو میسازه.
امیدوارم آمورش مفید بودن باشه و به کارتون بیاد.️
@DevTwitter | <Mohammd Reza Hosseini/>
خیلی از برنامه نویسایی که تازه از php کوچ میکنن به لاراول نوشتن مایگریشن براشون یه چالشه و طول میکشه کمی تا درکش کنن.
مژده ی اینو میدم که این مشکل حل شده
اگر شما ساختار دیتابیستون رو دستی ساختید کافیه:
۱- کانفیگ دیتابیستون و رو انجام بدید و دیتابیستون رو روش اپلود کنید
۲ـ این دستور رو بزنید ٬ خود لاراول بصورت اتوماتیک واستون مایگریشن هارو میسازه.
امیدوارم آمورش مفید بودن باشه و به کارتون بیاد.️
@DevTwitter | <Mohammd Reza Hosseini/>
🔥25👍5❤3🍌3
یک ابزار جدید دیگه برای php
امروزه Mago یک ابزار مدرن و بسیار سریع برای توسعه PHP است که با زبان Rust نوشته شده و تمرکز اصلی آن روی افزایش کیفیت و پایداری کدهاست.
مزیت مهم Mago سرعت بالای آن است که بدون کاهش دقت، پروژههای بزرگ را هم بهراحتی تحلیل میکند.
این ابزار به توسعهدهندگان کمک میکند خطاها و باگها را قبل از اجرا شناسایی کنند، ساختار کد را استاندارد نگه دارند و بخش زیادی از اصلاحات را بهصورت خودکار انجام دهند.
ترکیب تحلیل ایستا، بررسی معنایی و قالببندی خودکار باعث میشود کدها خواناتر، قابل نگهداریتر و تیمها هماهنگتر کار کنند.
https://github.com/carthage-software/mago
@DevTwitter | <Vahid Alvandi/>
امروزه Mago یک ابزار مدرن و بسیار سریع برای توسعه PHP است که با زبان Rust نوشته شده و تمرکز اصلی آن روی افزایش کیفیت و پایداری کدهاست.
مزیت مهم Mago سرعت بالای آن است که بدون کاهش دقت، پروژههای بزرگ را هم بهراحتی تحلیل میکند.
این ابزار به توسعهدهندگان کمک میکند خطاها و باگها را قبل از اجرا شناسایی کنند، ساختار کد را استاندارد نگه دارند و بخش زیادی از اصلاحات را بهصورت خودکار انجام دهند.
ترکیب تحلیل ایستا، بررسی معنایی و قالببندی خودکار باعث میشود کدها خواناتر، قابل نگهداریتر و تیمها هماهنگتر کار کنند.
https://github.com/carthage-software/mago
@DevTwitter | <Vahid Alvandi/>
👍11🍌7❤4🔥1
حل یک مشکل واقعی ووکامرس با یک راهحل مهندسیشده
یک فروشگاه ووکامرسی با ۲۰۰۰+ محصول نیاز داشت تخفیف سراسری اعمال کند.
راهحلهای موجود یا دقت محاسبات نداشتند، یا پیشنمایش نداشتند، یا روی دیتای بزرگ تایماوت میخوردند.
بهجای دور زدن مشکل، افزونه را از صفر طراحی کردم.
تصمیمات
- طراحی مبتنی بر MVC (کد قابل نگهداری و توسعهپذیر)
- حذف خطای Floating Point در محاسبات قیمت
-نمایش زنده قبل از اعمال تغییرات (قیمت قبل/بعد، درصد، اختلاف)
-درخواست AJAX Batch Processing برای فروشگاههای بزرگ (بدون Timeout)
- سازگار با HPOS ووکامرس و استانداردهای امنیتی (Nonce)
نتیجه
- ️عملیات ۱۶ ساعته در کمتر از ۱ دقیقه
- صفر خطای محاسبات
- قابل استفاده بدون آموزش برای مدیر فروشگاه
قابلیتها
-افزایش / کاهش قیمت (درصدی / ثابت)
- مدیریت قیمت حراج + تاریخ
- فیلتر دستهبندی و محصولات تخفیفدار
- حذف انتخابی محصولات قبل از اعمال
- پشتیبانی کامل از RTL و i18n
- متنباز
کد پروژه بهصورت Open Source منتشر شده و آماده بررسی فنی است:
https://github.com/alirzaghlmpr/woo-bulk-price-discount-editor
@DevTwitter | <Alireza Gholampour/>
یک فروشگاه ووکامرسی با ۲۰۰۰+ محصول نیاز داشت تخفیف سراسری اعمال کند.
راهحلهای موجود یا دقت محاسبات نداشتند، یا پیشنمایش نداشتند، یا روی دیتای بزرگ تایماوت میخوردند.
بهجای دور زدن مشکل، افزونه را از صفر طراحی کردم.
تصمیمات
- طراحی مبتنی بر MVC (کد قابل نگهداری و توسعهپذیر)
- حذف خطای Floating Point در محاسبات قیمت
-نمایش زنده قبل از اعمال تغییرات (قیمت قبل/بعد، درصد، اختلاف)
-درخواست AJAX Batch Processing برای فروشگاههای بزرگ (بدون Timeout)
- سازگار با HPOS ووکامرس و استانداردهای امنیتی (Nonce)
نتیجه
- ️عملیات ۱۶ ساعته در کمتر از ۱ دقیقه
- صفر خطای محاسبات
- قابل استفاده بدون آموزش برای مدیر فروشگاه
قابلیتها
-افزایش / کاهش قیمت (درصدی / ثابت)
- مدیریت قیمت حراج + تاریخ
- فیلتر دستهبندی و محصولات تخفیفدار
- حذف انتخابی محصولات قبل از اعمال
- پشتیبانی کامل از RTL و i18n
- متنباز
کد پروژه بهصورت Open Source منتشر شده و آماده بررسی فنی است:
https://github.com/alirzaghlmpr/woo-bulk-price-discount-editor
@DevTwitter | <Alireza Gholampour/>
🍌32👍22🔥4👎1
یه ابزار خفن برای ساخت workflowهای پیچیده AI با Claude Code
بدون تعارف خیلی خفنه
با drag-and-drop راحت، نودهای متنوع Prompt، Sub-Agent، Skill، MCP Tool، با انواع شرط و... رو دارید میتونید راحت بیارید و سوال بپرسید و ایده بدید خودش بکشه و...
پشتیبانی از چند زبان و خوبیش اینه فارسی هم میشه استفاده کرد!
https://github.com/xPOURY4/cc-wf-studio
@DevTwitter | <POURYA/>
بدون تعارف خیلی خفنه
با drag-and-drop راحت، نودهای متنوع Prompt، Sub-Agent، Skill، MCP Tool، با انواع شرط و... رو دارید میتونید راحت بیارید و سوال بپرسید و ایده بدید خودش بکشه و...
پشتیبانی از چند زبان و خوبیش اینه فارسی هم میشه استفاده کرد!
https://github.com/xPOURY4/cc-wf-studio
@DevTwitter | <POURYA/>
❤12🍌5👍1🔥1
اکستنشنی که باعث میشه برنامه نویس بهتری بشی!
من اخیراً با یک اکستنشن فوقالعاده در VS Code آشنا شدم به اسم Blockman.
کار این ابزار اینه که به طور هوشمند، بلوکهای کد (توابع، حلقهها، تگها و...) را تفکیک میکنه و دورشون کادر میکشه
از وقتی این اکستنشن و استفاده میکنم تمرکزم روی کدی که دارم مینویسم بیشتر شده،
مخصوصا وقتی میخوام قطعه کد هارو جابجا کنم با اطمینان بیشتری این کار و انجام میدم.
شاید اولش فکر کنید شلوغ میشه، ولی وقتی باهاش کار کنید میبینید که چقدر مسیر کدخوانی و دیباگ کردن رو براتون راحت میکنه.
@DevTwitter | <Amir Mehrani/>
من اخیراً با یک اکستنشن فوقالعاده در VS Code آشنا شدم به اسم Blockman.
کار این ابزار اینه که به طور هوشمند، بلوکهای کد (توابع، حلقهها، تگها و...) را تفکیک میکنه و دورشون کادر میکشه
از وقتی این اکستنشن و استفاده میکنم تمرکزم روی کدی که دارم مینویسم بیشتر شده،
مخصوصا وقتی میخوام قطعه کد هارو جابجا کنم با اطمینان بیشتری این کار و انجام میدم.
شاید اولش فکر کنید شلوغ میشه، ولی وقتی باهاش کار کنید میبینید که چقدر مسیر کدخوانی و دیباگ کردن رو براتون راحت میکنه.
@DevTwitter | <Amir Mehrani/>
👎151❤30🍌7🔥4
قابلیت Git Worktree: سلاح مخفی کار با Code Agentها
یه مشکل کلاسیک هست که وسط یه فیچری، باید یه branch دیگه رو چک کنی. و روند git stashو switch و کارتو بکن و برگرد و unstash... خستهکنندهست.
ولی وقتی داری با agentها کار میکنی (Cursor، Claude Code و ...)، این مشکل ۱۰ برابر میشه. Agent میخواد فایلها رو عوض کنه، build بزنه، شاید خرابکاری کنه. نمیخوای working directory اصلیت رو بهم بریزه.
راهحلش میشه git worktree
مفهومش سادهست. پروژهات دو بخش داره: پوشه .git که دیتابیسته (کامیتها، برنچها، تاریخچه) و working directory که فایلهای واقعی هستن. مشکل اینه که فقط یه working directory داری، پس فقط یه branch میتونی checkout داشته باشی.
درواقع worktree یه working directory دوم میسازه که به همون .git وصله. پوشه جدا، branch جدا، ولی همون history.
فقط ۳ تا دستور لازمه:
git worktree add ../project-agent feature-branch
git worktree list
git worktree remove ../project-agent
چرا برای Agent ها عالیه؟ وقتی ClaudeCode یا ابزارهای مشابه یه agent رو توی worktree mode اجرا میکنن، یه worktree جدید میسازن، فایلهاتو کپی میکنن اونجا، agent توی isolation کامل کارشو میکنه، و آخر یه دکمه Apply میدن که merge کنی. Agent میتونه هر کاری بکنه، working directory اصلیت دستنخورده میمونه.
یه نکته مهم هم اینه که node_modules و فایلهای .env منتقل نمیشن چون توی gitignore هستن. هرچی agent ها قویتر میشن، این pattern ضروریتر میشه.
این مقاله رو هم میتونید بخونید
https://www.marcohaber.dev/blog/git-worktrees
@DevTwitter | <Hasan Nazari/>
یه مشکل کلاسیک هست که وسط یه فیچری، باید یه branch دیگه رو چک کنی. و روند git stashو switch و کارتو بکن و برگرد و unstash... خستهکنندهست.
ولی وقتی داری با agentها کار میکنی (Cursor، Claude Code و ...)، این مشکل ۱۰ برابر میشه. Agent میخواد فایلها رو عوض کنه، build بزنه، شاید خرابکاری کنه. نمیخوای working directory اصلیت رو بهم بریزه.
راهحلش میشه git worktree
مفهومش سادهست. پروژهات دو بخش داره: پوشه .git که دیتابیسته (کامیتها، برنچها، تاریخچه) و working directory که فایلهای واقعی هستن. مشکل اینه که فقط یه working directory داری، پس فقط یه branch میتونی checkout داشته باشی.
درواقع worktree یه working directory دوم میسازه که به همون .git وصله. پوشه جدا، branch جدا، ولی همون history.
فقط ۳ تا دستور لازمه:
git worktree add ../project-agent feature-branch
git worktree list
git worktree remove ../project-agent
چرا برای Agent ها عالیه؟ وقتی ClaudeCode یا ابزارهای مشابه یه agent رو توی worktree mode اجرا میکنن، یه worktree جدید میسازن، فایلهاتو کپی میکنن اونجا، agent توی isolation کامل کارشو میکنه، و آخر یه دکمه Apply میدن که merge کنی. Agent میتونه هر کاری بکنه، working directory اصلیت دستنخورده میمونه.
یه نکته مهم هم اینه که node_modules و فایلهای .env منتقل نمیشن چون توی gitignore هستن. هرچی agent ها قویتر میشن، این pattern ضروریتر میشه.
این مقاله رو هم میتونید بخونید
https://www.marcohaber.dev/blog/git-worktrees
@DevTwitter | <Hasan Nazari/>
👍16❤8🍌3🎄1
This media is not supported in your browser
VIEW IN TELEGRAM
این کورس/دوره عالی راجع به Advanced Large Language Model Agents از دانشگاه برکلی را قبلا معرفی کرده بودم. الان دیگه کامل همه مطالب از جمله اسلایدها و ویدیوها را گذاشتند. موضوعات داغ و مهم راجع به LLM ها و ایجنتها را شامل میشه.
Link: https://rdi.berkeley.edu/adv-llm-agents/sp25
@DevTwitter | <Mehdi Allahyari/>
Link: https://rdi.berkeley.edu/adv-llm-agents/sp25
@DevTwitter | <Mehdi Allahyari/>
❤10👍2🍌1
یه لیست کاربردی از منابع خوب برای بنیانگذاران استارتاپها و مدیران شرکتهای در حال رشد
https://github.com/kuchin/awesome-ceo
@DevTwitter | <Mohammad/>
https://github.com/kuchin/awesome-ceo
@DevTwitter | <Mohammad/>
🎄12❤4👍1👎1
پروژه جدید: رمزنگار لینک امن فارسی - نسخه دسکتاپ!
یک ابزار دسکتاپ قدرتمند و کاملاً آفلاین برای تبدیل لینکهای اینترنتی به متن رمزشده فارسی!
ویژگیهای کلیدی:
- رمزنگاری حرفهای با AES-256-GCM (استاندارد نظامی)
- رابط کاربری زیبا با افکتهای شیشهای
- خروجی فارسی قابل ارسال از طریق پیامک
- کاملاً آفلاین - نیاز به اینترنت ندارد
- پشتیبانی از ویندوز و لینوکس
ایدهآل برای:
- ارسال لینکهای امن در پیامک
- محافظت از لینکهای حساس با رمز عبور
- مبهمسازی لینکها در دید عموم
آدرس سایت : https://amirk1998.github.io/secure-persian-link-encoder/web/index.html
لینک
مخزن: https://github.com/amirk1998/secure-persian-link-encoder
@DevTwitter | <Amir Hossein/>
یک ابزار دسکتاپ قدرتمند و کاملاً آفلاین برای تبدیل لینکهای اینترنتی به متن رمزشده فارسی!
ویژگیهای کلیدی:
- رمزنگاری حرفهای با AES-256-GCM (استاندارد نظامی)
- رابط کاربری زیبا با افکتهای شیشهای
- خروجی فارسی قابل ارسال از طریق پیامک
- کاملاً آفلاین - نیاز به اینترنت ندارد
- پشتیبانی از ویندوز و لینوکس
ایدهآل برای:
- ارسال لینکهای امن در پیامک
- محافظت از لینکهای حساس با رمز عبور
- مبهمسازی لینکها در دید عموم
آدرس سایت : https://amirk1998.github.io/secure-persian-link-encoder/web/index.html
لینک
مخزن: https://github.com/amirk1998/secure-persian-link-encoder
@DevTwitter | <Amir Hossein/>
👍24👎8❤5🔥1
وسط ارائه نمایشگاه، اسکرین رکوردر ویندوز ناامیدم کرد. همونجا نشستم و خودم یکی بهترش رو نوشتم!
یه ابزار وببیس، رایگان و اوپنسورس برای ضبط صفحه با کیفیت 4K، وبکم شناور؛ بدون هیچ واترمارک یا نصبی آماده است. دیگه از پرداخت هزینه و محدودیت راحت میشوید.
https://github.com/Ho3seinTork/Screen-Recorder-Ht
@DevTwitter | <Diss Obedience/>
یه ابزار وببیس، رایگان و اوپنسورس برای ضبط صفحه با کیفیت 4K، وبکم شناور؛ بدون هیچ واترمارک یا نصبی آماده است. دیگه از پرداخت هزینه و محدودیت راحت میشوید.
https://github.com/Ho3seinTork/Screen-Recorder-Ht
@DevTwitter | <Diss Obedience/>
1🍌76🔥36❤9👍3
هفته گذشته تصمیم گرفتم یک ابزار Code Review مبتنی بر Ollama بسازم که بهصورت خودکار کدها را تحلیل کند.
اول با ChatGPT و سرویسهای Cloud امتحان کردم — نتیجه رضایتبخش نبود.
بعد از ۵ بار طراحی مجدد با bolt.new، بالاخره به خروجی قابل قبولی رسیدم.
https://github.com/mahmoudbarzegar/code-review-ai
به نظرم:
هوش مصنوعی جایگزین برنامهنویس نیست — بلکه کیفیت خروجی کاملاً به مهارت ما در تفکر، طراحی و تعامل درست با AI بستگی دارد.
ابزارها کامل نیستند، اما ما باید یاد بگیریم:
- چطور سوال درست بپرسیم.
- چطور prompt بهینه بنویسیم .
- چطور خروجی را ارزیابی و اصلاح کنیم.
نقش برنامهنویس حذف نشده — بلکه تخصصیتر و استراتژیکتر شده است.
@DevTwitter | <Mahmoud Barzegar/>
اول با ChatGPT و سرویسهای Cloud امتحان کردم — نتیجه رضایتبخش نبود.
بعد از ۵ بار طراحی مجدد با bolt.new، بالاخره به خروجی قابل قبولی رسیدم.
https://github.com/mahmoudbarzegar/code-review-ai
به نظرم:
هوش مصنوعی جایگزین برنامهنویس نیست — بلکه کیفیت خروجی کاملاً به مهارت ما در تفکر، طراحی و تعامل درست با AI بستگی دارد.
ابزارها کامل نیستند، اما ما باید یاد بگیریم:
- چطور سوال درست بپرسیم.
- چطور prompt بهینه بنویسیم .
- چطور خروجی را ارزیابی و اصلاح کنیم.
نقش برنامهنویس حذف نشده — بلکه تخصصیتر و استراتژیکتر شده است.
@DevTwitter | <Mahmoud Barzegar/>
❤29🍌5🎄2🔥1
استفاده از Middleware در Microsoft Agent Framework (MAF) دقیقاً همون چیزیه که ایجنتهات رو Production-ready میکنه.
توی Agent 14 نشون دادم چطور میشه بدون دست زدن به منطق اصلی ایجنت:
- قبل/بعد از tool call لاگ گرفت
- خروجی یک فانکشن رو override کرد (مثلاً Weather)
- چطور PII رو از ورودی و خروجی sanitize کرد
- چطور guardrail ساده برای محتوای خطرناک گذاشت
- حتی human-in-the-loop approval اضافه کرد
https://github.com/pournasserian/agent-framework-sample
خیلی شبیه middleware های دات نت هست. همون تفکر، ولی اینبار برای AI Agentها
@DevTwitter | <Amir Pournasserian/>
توی Agent 14 نشون دادم چطور میشه بدون دست زدن به منطق اصلی ایجنت:
- قبل/بعد از tool call لاگ گرفت
- خروجی یک فانکشن رو override کرد (مثلاً Weather)
- چطور PII رو از ورودی و خروجی sanitize کرد
- چطور guardrail ساده برای محتوای خطرناک گذاشت
- حتی human-in-the-loop approval اضافه کرد
https://github.com/pournasserian/agent-framework-sample
خیلی شبیه middleware های دات نت هست. همون تفکر، ولی اینبار برای AI Agentها
@DevTwitter | <Amir Pournasserian/>
🔥5👎4
این سایت یک نقشهٔ راهِ مختصر و مفید برایِ یادگیریِ خودآموزِ ریاضیات ارائه داده. همهٔ کتابهایِ پیشنهادی رو خودش خونده. در آخر بر حسبِ شاخهٔ مورد علاقه، مسیرهایِ مختلفی برایِ یادگیری پیشنهاد داده. محتوایِ تمیزی بود. بوکمارک کنید سرِ فرصت بخونید.
https://donkuri.github.io/learn-mathematics/
@DevTwitter | <Ayub/>
https://donkuri.github.io/learn-mathematics/
@DevTwitter | <Ayub/>
🔥20🍌2❤1
این ریپو خیلی خفنه، grouped-simd-hashtable یه پیادهسازی هشتیبل فوقسریع با استفاده از SIMD و ایدهی grouped probing ـه.
تمرکز اصلیش روی کاهش cache miss و بالا بردن throughput ـه، مخصوصاً برای workloadهای سنگین.
حتماً یه نگاه بندازید:
https://github.com/Cranot/grouped-simd-hashtable
@DevTwitter | <کروکس؛ روایت شخصی/>
تمرکز اصلیش روی کاهش cache miss و بالا بردن throughput ـه، مخصوصاً برای workloadهای سنگین.
حتماً یه نگاه بندازید:
https://github.com/Cranot/grouped-simd-hashtable
@DevTwitter | <کروکس؛ روایت شخصی/>
❤6🍌2👍1🔥1
این mu پلاگین تقریبا به طور دقیقی مسیر تم های وردپرس رو تغییر میده
ممنون میشم یه تست بزنید جهت فیدبک
https://github.com/HamxaBoustani/wandtech-theme-root-manager
@DevTwitter | <Hamxa/>
ممنون میشم یه تست بزنید جهت فیدبک
https://github.com/HamxaBoustani/wandtech-theme-root-manager
@DevTwitter | <Hamxa/>
🍌10👍3🔥1
بیشتر پروژههای PHP نه به خاطر سرعت،
بلکه به خاطر امنیت ضعیف نابود میشن
اگر PHP کار میکنی، این ۵ اصل امنیتی رو حتماً باید بلد باشی:
1- SQL Injection Prevention
هیچوقت Query خام ننویس؛ همیشه از Prepared Statements استفاده کن.
2- XSS Protection
دادهای که از کاربر میاد، همیشه باید Escape بشه.
3- Password Hashing
رمز عبور = password_hash()
نه md5، نه sha1
4- CSRF Tokens
هر فرم بدون CSRF یعنی دعوت رسمی از هکرها.
5- Input Validation & Sanitization
به کاربر اعتماد نکن؛ حتی اگه خودتی!
اگه این مفاهیم رو درست پیادهسازی کنی،
رفتن به Laravel برات خیلی سادهتر میشه
امنیت در PHP انتخابی نیست، اجباریه.
اگه میخوای بکاند واقعی بنویسی، باید از همین حالا اصول امنیت رو جدی بگیری.
پستهای بعدی: پیادهسازی عملی + مثال واقعی.
@DevTwitter | <Seyed taha Aghamir/>
بلکه به خاطر امنیت ضعیف نابود میشن
اگر PHP کار میکنی، این ۵ اصل امنیتی رو حتماً باید بلد باشی:
1- SQL Injection Prevention
هیچوقت Query خام ننویس؛ همیشه از Prepared Statements استفاده کن.
2- XSS Protection
دادهای که از کاربر میاد، همیشه باید Escape بشه.
3- Password Hashing
رمز عبور = password_hash()
نه md5، نه sha1
4- CSRF Tokens
هر فرم بدون CSRF یعنی دعوت رسمی از هکرها.
5- Input Validation & Sanitization
به کاربر اعتماد نکن؛ حتی اگه خودتی!
اگه این مفاهیم رو درست پیادهسازی کنی،
رفتن به Laravel برات خیلی سادهتر میشه
امنیت در PHP انتخابی نیست، اجباریه.
اگه میخوای بکاند واقعی بنویسی، باید از همین حالا اصول امنیت رو جدی بگیری.
پستهای بعدی: پیادهسازی عملی + مثال واقعی.
@DevTwitter | <Seyed taha Aghamir/>
👍33🍌5👎4❤1
Forwarded from Space sup
Please open Telegram to view this post
VIEW IN TELEGRAM
👎11👍2
سه مفهوم SLA، SLO و SLI
تا حالا شده گیج بشید که فرق بین SLA و SLO چیه؟یا اصلا SLI کجای بازی قرار میگیره؟برای اینکه بتونیم یک برنامه ریزی درستی داشته باشیم و یک معیار درست برای ارزیابی وضعیت سیستممون داشته باشیم باید با این مفاهیم آشنا بشیم
معیار اول SLI (چی رو میسنجیم؟)
این همون دماسنج ماست ️ معیاری که نشون میده الان وضعیت واقعی سیستم چطوره. یه جورایی یعنی چند چندیم با خودمون و یک تصویری از وضعیت سیستم داشته باشیم
مثلا چند تا ارور 500 داشتیم؟ یا چقدر طول کشید صفحه لود بشه؟
دنبال معیار کمی از سیستممون باید باشیم
مهم تریناش ایناست تقریبا
(Availability/Uptime)
Latency
Error Rate
Throughput
..
معیار دوم SLO (هدفمون چیه؟):
این “خط قرمزیه” که تیم فنی برای خودش میکشه.
مثالا “باید ۹۹٪ ریکوئستها زیر ۲۰۰ میلیثانیه جواب داده بشن”. اگه از این رد بشیم، یعنی باید دست نگه داریم و سیستم رو فیکس کنیم.
معیار سوم SLA (قولی که به مشتری دادیم):
این دیگه شوخیبردار نیست؛ قراردادیه که بستیم.
حالا نکته ی مهم ماجرا چیه ؟
همیشه SLO (هدف داخلی تیممون ) رو سختگیرانهتر از SLA (تعهد به مشتری) باید در نظر بگیریم
چرا؟
چون فاصله بین این دو تا میشه “حاشیه امن” . اگه تیممون هدف داخلی رو از دست داد، هنوز وقت هست قبل از اینکه کار به جریمه دادن به مشتری بکشه، قضیه رو جمع کرد!
بودجه خطا (Error Budget) چیه؟
با مثال بخوایم دربارش صحبت بکنیم .مثلا اگه SLO (هدف داخلی خودمون) درباره ی uptime سیستم ۹۹.۹٪ باشه . ما در ماه حدود ۴۳ دقیقه اجازه داریم سیستم پایین باشه
این ۴۳ دقیقه میشه بودجه ی خطای ما که میتونیم تو این تایم تغییراتی که میخوایم رو اعمال کنیم.
@DevTwitter | <Hossein Samadi/>
تا حالا شده گیج بشید که فرق بین SLA و SLO چیه؟یا اصلا SLI کجای بازی قرار میگیره؟برای اینکه بتونیم یک برنامه ریزی درستی داشته باشیم و یک معیار درست برای ارزیابی وضعیت سیستممون داشته باشیم باید با این مفاهیم آشنا بشیم
معیار اول SLI (چی رو میسنجیم؟)
این همون دماسنج ماست ️ معیاری که نشون میده الان وضعیت واقعی سیستم چطوره. یه جورایی یعنی چند چندیم با خودمون و یک تصویری از وضعیت سیستم داشته باشیم
مثلا چند تا ارور 500 داشتیم؟ یا چقدر طول کشید صفحه لود بشه؟
دنبال معیار کمی از سیستممون باید باشیم
مهم تریناش ایناست تقریبا
(Availability/Uptime)
Latency
Error Rate
Throughput
..
معیار دوم SLO (هدفمون چیه؟):
این “خط قرمزیه” که تیم فنی برای خودش میکشه.
مثالا “باید ۹۹٪ ریکوئستها زیر ۲۰۰ میلیثانیه جواب داده بشن”. اگه از این رد بشیم، یعنی باید دست نگه داریم و سیستم رو فیکس کنیم.
معیار سوم SLA (قولی که به مشتری دادیم):
این دیگه شوخیبردار نیست؛ قراردادیه که بستیم.
حالا نکته ی مهم ماجرا چیه ؟
همیشه SLO (هدف داخلی تیممون ) رو سختگیرانهتر از SLA (تعهد به مشتری) باید در نظر بگیریم
چرا؟
چون فاصله بین این دو تا میشه “حاشیه امن” . اگه تیممون هدف داخلی رو از دست داد، هنوز وقت هست قبل از اینکه کار به جریمه دادن به مشتری بکشه، قضیه رو جمع کرد!
بودجه خطا (Error Budget) چیه؟
با مثال بخوایم دربارش صحبت بکنیم .مثلا اگه SLO (هدف داخلی خودمون) درباره ی uptime سیستم ۹۹.۹٪ باشه . ما در ماه حدود ۴۳ دقیقه اجازه داریم سیستم پایین باشه
این ۴۳ دقیقه میشه بودجه ی خطای ما که میتونیم تو این تایم تغییراتی که میخوایم رو اعمال کنیم.
@DevTwitter | <Hossein Samadi/>
👍19❤5🔥1
كتابخانه tab رو ریلیز کردیم که خيلي كاربرديه! کاری میکنه توی ترمینال وقتی Tab میزنی، دستورها خودشون کامل شن.
اگه CLI مینویسی، شدیداً به کارت میاد
لینک گیتهابش اینجاست
https://github.com/bombshell-dev/tab
@DevTwitter | <AmirSakhravi/>
اگه CLI مینویسی، شدیداً به کارت میاد
لینک گیتهابش اینجاست
https://github.com/bombshell-dev/tab
@DevTwitter | <AmirSakhravi/>
🔥18👎7👍6❤1