بحث $tries در Jobهای لاراول دوباره داغ شده و معمولاً وقتی عددهای بزرگی مثل ۶۰ یا ۱۰۰ دیده میشود، سریع برچسب «طراحی بد» میخورد.
اما واقعیت کمی دقیقتر از این قضاوت ساده است.
در حالت عادی، استفاده از $tries بزرگ میتواند نشانهی این باشد که داریم یک مشکل ریشهای را با retry پنهان میکنیم. این اتفاق معمولاً در Jobهایی میافتد که یا idempotent نیستند یا مرز خطاهایشان مشخص نیست.
اما در بعضی سناریوها، retry کاملاً منطقی است.
مثلاً وقتی Job با یک سرویس خارجی یا API بیرونی کار میکند. در این شرایط، در دسترس نبودن موقت سرویس چیز عجیبی نیست و retry با فاصلهی زمانی حسابشده میتواند درخواست را در اجرای بعدی موفق کند.
یک الگوی جالب این است که $tries > 1 را همراه با $maxExceptions = 1 استفاده کنیم.
در این حالت Job فقط زمانی دوباره اجرا میشود که خودمان بهصورت کنترلشده release() را صدا بزنیم و اگر یک exception غیرمنتظره رخ دهد، Job وارد چرخهی retry بیپایان نمیشود.
نکتهی مهم اینجاست که retry زیاد بدون backoff یعنی مصرف منابع بدون حل مسئله. retry محدود، همراه با backoff منطقی یعنی سیستم مقاوم و قابل اتکا.
در نهایت، مسئله این نیست که $tries چند است.
مسئله این است که آیا retry بخشی از طراحی آگاهانهی سیستم است یا فقط واکنشی عجولانه به خطاها.
@DevTwitter | <Mohammad Javad Ranjbar/>
اما واقعیت کمی دقیقتر از این قضاوت ساده است.
در حالت عادی، استفاده از $tries بزرگ میتواند نشانهی این باشد که داریم یک مشکل ریشهای را با retry پنهان میکنیم. این اتفاق معمولاً در Jobهایی میافتد که یا idempotent نیستند یا مرز خطاهایشان مشخص نیست.
اما در بعضی سناریوها، retry کاملاً منطقی است.
مثلاً وقتی Job با یک سرویس خارجی یا API بیرونی کار میکند. در این شرایط، در دسترس نبودن موقت سرویس چیز عجیبی نیست و retry با فاصلهی زمانی حسابشده میتواند درخواست را در اجرای بعدی موفق کند.
یک الگوی جالب این است که $tries > 1 را همراه با $maxExceptions = 1 استفاده کنیم.
در این حالت Job فقط زمانی دوباره اجرا میشود که خودمان بهصورت کنترلشده release() را صدا بزنیم و اگر یک exception غیرمنتظره رخ دهد، Job وارد چرخهی retry بیپایان نمیشود.
نکتهی مهم اینجاست که retry زیاد بدون backoff یعنی مصرف منابع بدون حل مسئله. retry محدود، همراه با backoff منطقی یعنی سیستم مقاوم و قابل اتکا.
در نهایت، مسئله این نیست که $tries چند است.
مسئله این است که آیا retry بخشی از طراحی آگاهانهی سیستم است یا فقط واکنشی عجولانه به خطاها.
@DevTwitter | <Mohammad Javad Ranjbar/>
❤19👎1
❤87👍46👎29🔥4
Forwarded from DevTwitter Ads.
ولی من به خودم قول داده بودم
اگه یه روز به بالاترین سطح زبان انگلیسی برسم،
هر کمکی از دستم برمیاد انجام بدم…
و چند روز پیش نتیجه آزمون آیلتسم اومد :)
نمره 9 آکادمیک.
حالا تمام تجربهها، نکتهها و روشهایی
که بتونه تو رو از زبان بیسیک مدرسه به مکالمه روان و بدون استرس برسونه رو توی یک کانال جمع کردم.
امیدوارم به کارت بیاد ❤️
– محمدرضا
لینک کانال:
https://news.1rj.ru/str/myieltsfiles/617
اگه یه روز به بالاترین سطح زبان انگلیسی برسم،
هر کمکی از دستم برمیاد انجام بدم…
و چند روز پیش نتیجه آزمون آیلتسم اومد :)
نمره 9 آکادمیک.
حالا تمام تجربهها، نکتهها و روشهایی
که بتونه تو رو از زبان بیسیک مدرسه به مکالمه روان و بدون استرس برسونه رو توی یک کانال جمع کردم.
امیدوارم به کارت بیاد ❤️
– محمدرضا
لینک کانال:
https://news.1rj.ru/str/myieltsfiles/617
👎86🔥4❤2
چرا لایبریری qs توی فرانتاند خیلی بهدردبخوره؟
اگه توی پروژههای فرانتاند با Query String سر و کار داری،
لایبریری qs یکی از اون لایبریریهای کوچیک اما خیلی کاربردیه
مزیتهای اصلی qs:
- تبدیل راحت Object به Query String
- پشتیبانی از دادههای تو در تو (nested objects & arrays)
- خوانایی و کنترل بیشتر نسبت به URLSearchParams
- سازگاری عالی با Axios و API-based پروژهها
- جلوگیری از باگهای ریز توی serialize / parse کردن دیتا
مثال کاربردی:
وقتی state پیچیده داری و میخوای URL رو sync کنی (فیلترها، pagination، search و …)،
qs کارت رو خیلی تمیز و حرفهای راه میندازه.
انتخاب ابزار درست، یعنی کد تمیزتر و تجربه توسعه بهتر.
@DevTwitter | <sobhan rahimi/>
اگه توی پروژههای فرانتاند با Query String سر و کار داری،
لایبریری qs یکی از اون لایبریریهای کوچیک اما خیلی کاربردیه
مزیتهای اصلی qs:
- تبدیل راحت Object به Query String
- پشتیبانی از دادههای تو در تو (nested objects & arrays)
- خوانایی و کنترل بیشتر نسبت به URLSearchParams
- سازگاری عالی با Axios و API-based پروژهها
- جلوگیری از باگهای ریز توی serialize / parse کردن دیتا
مثال کاربردی:
وقتی state پیچیده داری و میخوای URL رو sync کنی (فیلترها، pagination، search و …)،
qs کارت رو خیلی تمیز و حرفهای راه میندازه.
انتخاب ابزار درست، یعنی کد تمیزتر و تجربه توسعه بهتر.
@DevTwitter | <sobhan rahimi/>
👎33❤9👍3
ابزار TurboLLM رو ساختم
یک inference engine برای مدل های local ساختم که خودکار quantization های 8-bit , 4-bit , 2-bit و حتی 1-bit رو انجام بده
البته 1بیت مطلق که نداریم - 1.58bit داریم
خلاصه که برید استفاده کنید
برای بعدش میخوام یسری چیزا با cuda اضافه کنم.
https://github.com/Mahdi-Rashidiyan/TurboLLM
@DevTwitter | <Mahdi Rashidiyan/>
یک inference engine برای مدل های local ساختم که خودکار quantization های 8-bit , 4-bit , 2-bit و حتی 1-bit رو انجام بده
البته 1بیت مطلق که نداریم - 1.58bit داریم
خلاصه که برید استفاده کنید
برای بعدش میخوام یسری چیزا با cuda اضافه کنم.
https://github.com/Mahdi-Rashidiyan/TurboLLM
@DevTwitter | <Mahdi Rashidiyan/>
👎31❤10👍2
داستان همین آشغالی هست که ملت با اون ویندوز و آفیس فعال میکنند بخون!
یک شهروند ۲۹ ساله لیتوانیایی به اتهام آلوده کردن ۲.۸ میلیون سیستم با بدافزار سارق کلیپبورد (clipboard-stealing malware) که به صورت ابزار KMSAuto برای فعالسازی غیرقانونی ویندوز و آفیس جا زده شده بود دستگیر شد.
این فرد پس از درخواست کره جنوبی و هماهنگی اینترپل از گرجستان به کره جنوبی استرداد شد.
بر اساس گزارش آژانس پلیس ملی کره متهم از ابزار KMSAuto برای فریب قربانیان استفاده کرد تا فایل اجرایی مخربی را دانلود کنند که محتویات کلیپبورد را برای آدرسهای ارزهای دیجیتال اسکن میکرد و آنها را با آدرسهای تحت کنترل مهاجم جایگزین میکرد که به آن «بدافزار کلیپر» (clipper malware) گفته میشود.
از آوریل ۲۰۲۰ تا ژانویه ۲۰۲۳، هکر ۲.۸ میلیون نسخه از این بدافزار را در سراسر جهان توزیع کرد و موفق شد داراییهای دیجیتال به ارزش تقریبی ۱.۷ میلیارد وون کرهای (۱.۲ میلیون دلار) را در ۸۴۰۰ تراکنش از کاربران ۳۱۰۰ آدرس دارایی دیجیتال سرقت کند.
تحقیقات در اوت ۲۰۲۰ آغاز شد و پس از شناسایی مظنون، در دسامبر ۲۰۲۴ عملیات بازرسی در لیتوانی انجام و ۲۲ قلم شامل لپتاپ و تلفن همراه مصادره شد. متهم سرانجام در آوریل ۲۰۲۵ هنگام سفر از لیتوانی به گرجستان دستگیر شد. پلیس کره جنوبی هشدار داد که استفاده از نرمافزارهای غیرقانونی میتواند سیستمها را در معرض بدافزار قرار دهد و توصیه کرد از فعالکنندههای غیررسمی محصولات نرمافزاری و فایلهای اجرایی بدون امضای دیجیتال خودداری شود.
@DevTwitter | <Teegra/>
یک شهروند ۲۹ ساله لیتوانیایی به اتهام آلوده کردن ۲.۸ میلیون سیستم با بدافزار سارق کلیپبورد (clipboard-stealing malware) که به صورت ابزار KMSAuto برای فعالسازی غیرقانونی ویندوز و آفیس جا زده شده بود دستگیر شد.
این فرد پس از درخواست کره جنوبی و هماهنگی اینترپل از گرجستان به کره جنوبی استرداد شد.
بر اساس گزارش آژانس پلیس ملی کره متهم از ابزار KMSAuto برای فریب قربانیان استفاده کرد تا فایل اجرایی مخربی را دانلود کنند که محتویات کلیپبورد را برای آدرسهای ارزهای دیجیتال اسکن میکرد و آنها را با آدرسهای تحت کنترل مهاجم جایگزین میکرد که به آن «بدافزار کلیپر» (clipper malware) گفته میشود.
از آوریل ۲۰۲۰ تا ژانویه ۲۰۲۳، هکر ۲.۸ میلیون نسخه از این بدافزار را در سراسر جهان توزیع کرد و موفق شد داراییهای دیجیتال به ارزش تقریبی ۱.۷ میلیارد وون کرهای (۱.۲ میلیون دلار) را در ۸۴۰۰ تراکنش از کاربران ۳۱۰۰ آدرس دارایی دیجیتال سرقت کند.
تحقیقات در اوت ۲۰۲۰ آغاز شد و پس از شناسایی مظنون، در دسامبر ۲۰۲۴ عملیات بازرسی در لیتوانی انجام و ۲۲ قلم شامل لپتاپ و تلفن همراه مصادره شد. متهم سرانجام در آوریل ۲۰۲۵ هنگام سفر از لیتوانی به گرجستان دستگیر شد. پلیس کره جنوبی هشدار داد که استفاده از نرمافزارهای غیرقانونی میتواند سیستمها را در معرض بدافزار قرار دهد و توصیه کرد از فعالکنندههای غیررسمی محصولات نرمافزاری و فایلهای اجرایی بدون امضای دیجیتال خودداری شود.
@DevTwitter | <Teegra/>
👎44👍13❤1🔥1
معرفی یک پروژه اوپنسورس جالب برای دنیای Agentic AI
پروژه Acontext یک Context Data Platform برای ساخت AI Agentهای «یادگیرنده» است.
ایدهی اصلیش خیلی ساده ولی مهمه:
ایجنتها نباید Stateless باشن.
و Acontext به ایجنتها کمک میکنه:
کانتکست، مکالمهها و آرتیفکتها رو ذخیره کنن
رفتار و خروجیهاشون رو مانیتور کنن
از تسکهای تکرارشون Skill / SOP بسازن
به مرور زمان بهتر تصمیم بگیرن
در واقع، Acontext داره نقش «حافظه بلندمدت + observability» رو برای AI agentها بازی میکنه؛ چیزی که توی سیستمهای Agent-محور خیلی کمبودش حس میشه.
داشبورد و CLI
API + SDK (Python / TypeScript)
Cloud-native
Apache 2.0 (اوپنسورس واقعی)
گیتهاب:
https://github.com/memodb-io/Acontext
اگر روی AI Agent، workflowهای خودکار یا سیستمهای agentic کار میکنید، حتماً ارزش دیدن داره
@DevTwitter | <Amir Pournasserian/>
پروژه Acontext یک Context Data Platform برای ساخت AI Agentهای «یادگیرنده» است.
ایدهی اصلیش خیلی ساده ولی مهمه:
ایجنتها نباید Stateless باشن.
و Acontext به ایجنتها کمک میکنه:
کانتکست، مکالمهها و آرتیفکتها رو ذخیره کنن
رفتار و خروجیهاشون رو مانیتور کنن
از تسکهای تکرارشون Skill / SOP بسازن
به مرور زمان بهتر تصمیم بگیرن
در واقع، Acontext داره نقش «حافظه بلندمدت + observability» رو برای AI agentها بازی میکنه؛ چیزی که توی سیستمهای Agent-محور خیلی کمبودش حس میشه.
داشبورد و CLI
API + SDK (Python / TypeScript)
Cloud-native
Apache 2.0 (اوپنسورس واقعی)
گیتهاب:
https://github.com/memodb-io/Acontext
اگر روی AI Agent، workflowهای خودکار یا سیستمهای agentic کار میکنید، حتماً ارزش دیدن داره
@DevTwitter | <Amir Pournasserian/>
👎23👍5❤2
دوره ی تست نفوذ، Georgia Weidman بصورت رایگان از طریق یوتیوب قابل دسترس هستش.
https://youtube.com/playlist?list=PLZqCalOsI0EAkYZOs_A0aCicSQ5NINtoZ
ایشون نویسنده کتاب "Penetration Testing: A Hands-On Introduction to Hacking" هستن.
https://www.amazon.com/Penetration-Testing-Hands-Introduction-Hacking/dp/1593275641
@DevTwitter | <OnHexGroup/>
https://youtube.com/playlist?list=PLZqCalOsI0EAkYZOs_A0aCicSQ5NINtoZ
ایشون نویسنده کتاب "Penetration Testing: A Hands-On Introduction to Hacking" هستن.
https://www.amazon.com/Penetration-Testing-Hands-Introduction-Hacking/dp/1593275641
@DevTwitter | <OnHexGroup/>
👎20❤7
ریپازیتوری Auto-Deep-Research یه دستیار شخصی AI خودکار است — نسخهی اوپنسورس و کمهزینه از Deep Research شرکت OpenAI که با استفاده از فریمورک AutoAgent ساخته شده.
ویژگیهای کلیدی:
- عملکرد خوب توی بنچمارکهای AI و قابل رقابت با گزینههای تجاری
- پشتیبانی از انواع مدلهای LLM مثل OpenAI، Anthropic، DeepSeek، Huggingface و …
- تعامل انعطافپذیر با مدلها (Function-calling و بدون Function-calling)
- پشتیبانی از آپلود فایل برای تعامل دادهها
- هزینهی پایین با استفاده از API Keyهای خودت بهجای پرداخت اشتراک پرهزینه
- راهاندازی با یک دستور ساده — zero-config و آماده به کار!
https://github.com/HKUDS/Auto-Deep-Research
@DevTwitter | <Amir Pournasserian/>
ویژگیهای کلیدی:
- عملکرد خوب توی بنچمارکهای AI و قابل رقابت با گزینههای تجاری
- پشتیبانی از انواع مدلهای LLM مثل OpenAI، Anthropic، DeepSeek، Huggingface و …
- تعامل انعطافپذیر با مدلها (Function-calling و بدون Function-calling)
- پشتیبانی از آپلود فایل برای تعامل دادهها
- هزینهی پایین با استفاده از API Keyهای خودت بهجای پرداخت اشتراک پرهزینه
- راهاندازی با یک دستور ساده — zero-config و آماده به کار!
https://github.com/HKUDS/Auto-Deep-Research
@DevTwitter | <Amir Pournasserian/>
👎15👍5
Forwarded from DevTwitter Ads.
زیرساختی مطمئن، در داخل و خارج از کشور
10+ موقعیت در ایران 🇮🇷
40+ کشور جهان 🇩🇪🇳🇱🇦🇪🇹🇷🇺🇸🇬🇧🇨🇦
🔴 امکان خرید در دوره ساعتی، ماهانه و سالانه
🔴 شروع قیمت از:
499 تومان ساعتی - 324,000 تومان ماهانه
🔴 تحویل خودکار و فوری
برای خرید سرور اینجا کلیک کن:
Server.ir/tw
10+ موقعیت در ایران 🇮🇷
40+ کشور جهان 🇩🇪🇳🇱🇦🇪🇹🇷🇺🇸🇬🇧🇨🇦
🔴 امکان خرید در دوره ساعتی، ماهانه و سالانه
🔴 شروع قیمت از:
499 تومان ساعتی - 324,000 تومان ماهانه
🔴 تحویل خودکار و فوری
برای خرید سرور اینجا کلیک کن:
Server.ir/tw
👎20🔥1
معرفی Ultimate MCP Server for Multimodal AI
https://lightning.ai/akshay-ddods/environments/ultimate-mcp-server-for-multimodal-ai
یه سرور کامل برای AI چندرسانهای که با Lightning و ابزارهای مدرن ساخته شده:
فراهم کردن محیط آماده و بهینه برای پروژههای مولتیمدیا (متن، تصویر، صدا، ویدیو) با LLMها و مدلهای بصری.
در این محیط میتونی:
- مدلهای چندرسانهای رو راحت اجرا کنی
- با کمترین کانفیگ شروع به کار کنی
- تمام dependencies و pipelineهای ضروری رو از قبل آماده داشته باشی
@DevTwitter | <Amir Pournasserian/>
https://lightning.ai/akshay-ddods/environments/ultimate-mcp-server-for-multimodal-ai
یه سرور کامل برای AI چندرسانهای که با Lightning و ابزارهای مدرن ساخته شده:
فراهم کردن محیط آماده و بهینه برای پروژههای مولتیمدیا (متن، تصویر، صدا، ویدیو) با LLMها و مدلهای بصری.
در این محیط میتونی:
- مدلهای چندرسانهای رو راحت اجرا کنی
- با کمترین کانفیگ شروع به کار کنی
- تمام dependencies و pipelineهای ضروری رو از قبل آماده داشته باشی
@DevTwitter | <Amir Pournasserian/>
👎15❤1👍1
امروز coolify رو روی سرور شخصی نصب کردم. یه ابزار open-source برای دیپلوی اپ روی سرور خودت. مدیریت سرور و سرویس هاشو راحت میکنه.
برای پروژههای شخصی یا تیم کوچیک گزینه خوبیه. فقط باید حواست باشه که سرور رو خودت باید نگه داری - اگه وقتش رو نداری یا scale سنگین لازمه، شاید ارزشش رو نداشته باشه.
https://coolify.io
گزینه های دیگه مثل dokploy و اینا هم هست ولی این از بقیه شون بهتر بود بنظرم.
@DevTwitter | <Hossein Nazari/>
برای پروژههای شخصی یا تیم کوچیک گزینه خوبیه. فقط باید حواست باشه که سرور رو خودت باید نگه داری - اگه وقتش رو نداری یا scale سنگین لازمه، شاید ارزشش رو نداشته باشه.
https://coolify.io
گزینه های دیگه مثل dokploy و اینا هم هست ولی این از بقیه شون بهتر بود بنظرم.
@DevTwitter | <Hossein Nazari/>
👎9🔥2
هر چنل پروکسیای که دارید رو بفرستید تو دایرکت
همشو لیست کنم بذارم تو چنل
ففط تو دایرکت بفرستید به ادمین پیام ندید
t.me/DevTwitter?direct
همشو لیست کنم بذارم تو چنل
ففط تو دایرکت بفرستید به ادمین پیام ندید
t.me/DevTwitter?direct
❤5👎1
Forwarded from Space sup
Please open Telegram to view this post
VIEW IN TELEGRAM
👎15
تا حالا شده با خطای معروف Allowed memory size exhausted توی PHP یا زبانهای دیگه روبرو بشید؟
همون لحظهای که اسکریپت تصمیم میگیره دیگه جا نداره! امروز میخوام خیلی کوتاه درباره دلیل اصلی این ماجرا، یعنی حافظه Heap صحبت کنم.
وقتی ما کدی مینویسیم، سیستمعامل دو نوع حافظه اصلی در اختیارمون میذاره: Stack و Heap.
استک (Stack): مثل یک دفترچه یادداشت کوچیکه که خیلی سریع و منظم کار میکنه. متغیرهای ساده و موقتیِ داخل توابع (مثل $i توی حلقهها) اونجا میرن و سریع هم پاک میشن.
هیپ (Heap): اما داستان هیپ متفاوته. این همون انبار بزرگ و بینظمیه که برای کارهای سنگین رزرو شده.
چرا Heap برای ما وبدولوپرها (مخصوصا PHP کارها) مهمه؟
هر بار که شما:
۱. یک آبجکت جدید میسازید (new User())
۲. یک آرایه بزرگ از دیتابیس فچ میکنید
۳. یا یک فایل سنگین رو توی متغیر لود میکنید
در واقع دارید از فضای Heap خرج میکنید. برخلاف Stack که خودش تمیزکاری میکنه، مدیریت Heap پیچیدهتره.
در PHP، ما Garbage Collector (GC) داریم که وظیفهاش اینه که دور بزنه و متغیرهایی که دیگه استفاده نمیشن رو از Heap پاک کنه. اما…
اگر ما حواسمون نباشه و رفرنسهای تودرتو یا بیخودی ایجاد کنیم، GC گیج میشه و حافظه آزاد نمیشه! نتیجه؟ پر شدن RAM و کرش کردن اسکریپتهای طولانی (مثل Worker های لاراول یا Cron Job ها).
خلاصه اینکه، هوای Heap رو داشته باشید تا اونم هوای سرورهای شما رو داشته باشه!
@DevTwitter | <Taha Zargar/>
همون لحظهای که اسکریپت تصمیم میگیره دیگه جا نداره! امروز میخوام خیلی کوتاه درباره دلیل اصلی این ماجرا، یعنی حافظه Heap صحبت کنم.
وقتی ما کدی مینویسیم، سیستمعامل دو نوع حافظه اصلی در اختیارمون میذاره: Stack و Heap.
استک (Stack): مثل یک دفترچه یادداشت کوچیکه که خیلی سریع و منظم کار میکنه. متغیرهای ساده و موقتیِ داخل توابع (مثل $i توی حلقهها) اونجا میرن و سریع هم پاک میشن.
هیپ (Heap): اما داستان هیپ متفاوته. این همون انبار بزرگ و بینظمیه که برای کارهای سنگین رزرو شده.
چرا Heap برای ما وبدولوپرها (مخصوصا PHP کارها) مهمه؟
هر بار که شما:
۱. یک آبجکت جدید میسازید (new User())
۲. یک آرایه بزرگ از دیتابیس فچ میکنید
۳. یا یک فایل سنگین رو توی متغیر لود میکنید
در واقع دارید از فضای Heap خرج میکنید. برخلاف Stack که خودش تمیزکاری میکنه، مدیریت Heap پیچیدهتره.
در PHP، ما Garbage Collector (GC) داریم که وظیفهاش اینه که دور بزنه و متغیرهایی که دیگه استفاده نمیشن رو از Heap پاک کنه. اما…
اگر ما حواسمون نباشه و رفرنسهای تودرتو یا بیخودی ایجاد کنیم، GC گیج میشه و حافظه آزاد نمیشه! نتیجه؟ پر شدن RAM و کرش کردن اسکریپتهای طولانی (مثل Worker های لاراول یا Cron Job ها).
خلاصه اینکه، هوای Heap رو داشته باشید تا اونم هوای سرورهای شما رو داشته باشه!
@DevTwitter | <Taha Zargar/>
👎24
هزینهی LLMها رو حدسی حساب نکن!
ریپو tokencost یه پروژهی اوپنسورس کاربردیه که کمک میکنه قبل از اجرای درخواست بفهمی استفاده از هر مدل LLM چقدر برات هزینه داره.
چی کار میکنه؟
محاسبه دقیق تعداد توکنها
تخمین هزینه دلاری prompt و completion
پشتیبانی از مدلهای مختلف (OpenAI، Anthropic، Bedrock و …)
مناسب برای agentها و سیستمهای production
برای کسایی که دارن AI agent یا workflow جدی میسازن، این ابزار واقعاً ضروریه
کنترل هزینه و معماری بهتر.
https://github.com/AgentOps-AI/tokencost
@DevTwitter | <Amir Pournasserian/>
ریپو tokencost یه پروژهی اوپنسورس کاربردیه که کمک میکنه قبل از اجرای درخواست بفهمی استفاده از هر مدل LLM چقدر برات هزینه داره.
چی کار میکنه؟
محاسبه دقیق تعداد توکنها
تخمین هزینه دلاری prompt و completion
پشتیبانی از مدلهای مختلف (OpenAI، Anthropic، Bedrock و …)
مناسب برای agentها و سیستمهای production
برای کسایی که دارن AI agent یا workflow جدی میسازن، این ابزار واقعاً ضروریه
کنترل هزینه و معماری بهتر.
https://github.com/AgentOps-AI/tokencost
@DevTwitter | <Amir Pournasserian/>
👎26👍3❤2
Annotate Studio v1.0.0
یک ابزار قدرتمند و سریع برای حاشیهنویسی و ویرایش PDF است که با فناوریهای مدرن ساخته شده و هم برای کاربران حرفهای و هم دانشجویان طراحی شده است.
امکانات اصلی:
• رندرینگ شتابگرفته با سختافزار با نرخ فریم بالای ۶۰ FPS
• ابزارهای رسم حرفهای شامل قلم، هایلایتر، اشکال و متن
•پاککن هوشمند با تشخیص و تفکیک استروکها
• پشتیبانی از چند صفحه با جابهجایی روان
• خروجی بهصورت PDF یا فایل پروژه
• حالت تاریک برای کار طولانیمدت و راحتتر
عملکرد:
برنامه با NextJS (JS & TS)
و Rust توسعه داده شده
دسترسی برای پلتفرمها:
ویندوز (نصاب NSIS)
macOS (پردازندههای Intel و Apple Silicon)
لینوکس (DEB، RPM، AppImage)
کد منبع:
https://github.com/annotate-studio/annotate-studio
@DevTwitter | <Beni/>
یک ابزار قدرتمند و سریع برای حاشیهنویسی و ویرایش PDF است که با فناوریهای مدرن ساخته شده و هم برای کاربران حرفهای و هم دانشجویان طراحی شده است.
امکانات اصلی:
• رندرینگ شتابگرفته با سختافزار با نرخ فریم بالای ۶۰ FPS
• ابزارهای رسم حرفهای شامل قلم، هایلایتر، اشکال و متن
•پاککن هوشمند با تشخیص و تفکیک استروکها
• پشتیبانی از چند صفحه با جابهجایی روان
• خروجی بهصورت PDF یا فایل پروژه
• حالت تاریک برای کار طولانیمدت و راحتتر
عملکرد:
برنامه با NextJS (JS & TS)
و Rust توسعه داده شده
دسترسی برای پلتفرمها:
ویندوز (نصاب NSIS)
macOS (پردازندههای Intel و Apple Silicon)
لینوکس (DEB، RPM، AppImage)
کد منبع:
https://github.com/annotate-studio/annotate-studio
@DevTwitter | <Beni/>
👎19
یه ریپو آماده کردم برای راهاندازی n8n به شکل Production-Ready با معماری Queue Mode روی Docker Compose — مناسب وقتی میخواید راحت Scale کنید.
ویژگیها
- PostgreSQL 17 + PgBouncer (Connection Pooling)
- Redis (Queue)
- Webhook Worker جدا
- Resource limits و تنظیمات مناسب پروداکشن
- Security best practices
Scale Horizental با یک دستور:
docker compose up -d --scale worker=5
۵ ورکر × ۱۰ همزمانی = ۵۰ workflow همزمان
ویژگیهای Enterprise (فعال شده):
SSO (LDAP/SAML) & MFA
Advanced Execution Filters & Log Streaming
Project Roles & Advanced Permissions
Source Control & Workflow Diffs
نصب و راهاندازی (Zero-Config):
اسکریپت setup.sh تمام سکرتها و کانفیگهای محیطی را به صورت خودکار جنریت میکند:
مستندات و سورس کد:
https://github.com/ChosoMeister/scalable-n8n-production-ready
@DevTwitter | <Mustafa Tayefi/>
ویژگیها
- PostgreSQL 17 + PgBouncer (Connection Pooling)
- Redis (Queue)
- Webhook Worker جدا
- Resource limits و تنظیمات مناسب پروداکشن
- Security best practices
Scale Horizental با یک دستور:
docker compose up -d --scale worker=5
۵ ورکر × ۱۰ همزمانی = ۵۰ workflow همزمان
ویژگیهای Enterprise (فعال شده):
SSO (LDAP/SAML) & MFA
Advanced Execution Filters & Log Streaming
Project Roles & Advanced Permissions
Source Control & Workflow Diffs
نصب و راهاندازی (Zero-Config):
اسکریپت setup.sh تمام سکرتها و کانفیگهای محیطی را به صورت خودکار جنریت میکند:
git clone https://github.com/ChosoMeister/scalable-n8n-production-ready.git
cd scalable-n8n-production-ready
chmod +x setup.sh && ./setup.sh
docker compose up -d
مستندات و سورس کد:
https://github.com/ChosoMeister/scalable-n8n-production-ready
@DevTwitter | <Mustafa Tayefi/>
👎20❤2