Abolfazl Devs
前往频道在 Telegram
Other Channels: Perfect Dev Post: @dev_perfects GitHub Trending: @github_trending_daily Daily Poems: @iipoem https://github.com/ixabolfazl DM: @k_abolfazl
显示更多未指定国家未指定类别
2 451
订阅者
无数据24 小时
+327 天
+8130 天
帖子存档
2 451
این روزا مشغول خوندن کتاب
Fundamentals of Software Architecture
هستم
الان که دیگه ایجنت ها و AI تقریبا دارن کد ها رو میزنند و به قول منیجر سابق:
Code is solvedیکی از چیزای که مهم تر میشه و یادگیریش نیاز هست، داشتن تفکر معماری و توانایی تصمیمگیری درست تو طراحی معماری و دیزاین سیستم هستش نسخه جدید این کتاب کاربرد هوش مصنوعی تو معماری هم اضافه کرده که میتونه جالب و کاربردی باشه👌 📍@abolfazl_devs
2 451
این یکی از پروژه های قدیمی خودم هست که مجددا راه اندازی شده اگه نظر یا پیشنهادی داشتید میتونید بهم پیام بدید🤝
2 451
📌 کانال Dev Perfects مطالب مفید و منتخب رو از بهترین کانالهای حوزهی برنامهنویسی، تکنولوژی و هوش مصنوعی جمعآوری میکنه و یکجا در اختیارتون میذاره
👈 اگه به برنامهنویسی و تکنولوژی علاقهمندی، حتما جوین شو!👇👇
🔗 @dev_perfects
🔗 @dev_perfects
🔗 @dev_perfects
2 451
Repost from Mahi in Tech
اولین نسخهی «قیچی» منتشر شد! ✂️
راستش چند وقتی هست که پیامکهای تبلیغاتی و اسپم، شدیدا اعصابم رو خرد میکرد و دیگه با دلار ۲۷۰ تومنی، تحملِ حواسپرتی برای اساماسِ کد تخفیف ۵ هزار تومنی اسنپ و یا به خصوص وصایای امام 🍌 ممکن نبود.
برای همین تصمیم گرفتم پروژهای رو که اولین کامیتش مربوط به ۲ سال پیش بود و بعد از اون هم دیگه ادامه پیدا نکرد، بالاخره به سرانجام برسونم.
«قیچی» یک اپلیکیشن مدیریت پیامک اندرویدی هست که با MAUI + ML.NET توسعه داده شده و تنها یک هدف داره: خفه کردن پیامکهای اسپم و تبلیغاتی. قیچی به عنوان اپلیکیشن پیشفرض گوشیتون تنظیم میشه و دقیقاً همون کاری رو میکنه که هر SMS Manager دیگهای انجام میده؛ با این تفاوت که یک مدل ML خیلی سبک هم داخلش تعبیه شده که هدفش تشخیص پیامکهای تبلیغاتی در کسری از میلیثانیه و بهصورت کاملا آفلاین روی دیوایس شخص هست.
بنابراین هیچ دادهای به سمت سرور ارسال نمیشه و همهچیز کاملا آفلاین و امنه. ضمن اینکه تمام بخشهای پروژه اعم از دیتاست، سورس اپلیکیشن و مدل ML اپنسورس هستن و بیلد برنامه هم مستقیما توسط GitHub Actions گرفته میشه. یعنی اینطوری بگم که خیالتون از هر بابت راحت باشه.
دیتاست فعلی در حال حاضر خیلی جامع نیست و حدود ۶ هزار پیامِ لیبلخورده رو شامل میشه؛ اما طبق برآورد و تستهایی که داشتم، همین دیتاست کوچیک هم (که از منابع مختلفی جمعآوری شده) تا حد خوبی جوابگوی نیاز برنامه است.
همچنین داخل برنامه این امکان تعبیه شده که شما بهصورت گزینشی (و با حذف خودکار یا دستیِ اطلاعات حساس)، پیامکهای تبلیغاتی یا پیامکهای غیرتبلیغاتیای که به اشتباه تبلیغ تشخیص داده شدن رو گزارش کنید تا این دیتاست به مرور زمان کاملتر بشه و عملکرد مدل ارتقا پیدا کنه. (اگر هم نکردین چالشی نیست، خودم میکنم 😭)
نسخهی فعلی در واقع حداقل نسخهی قابل ارائه هست و احتمالا باگهای زیادی خواهد داشت. ولی خب از اونجایی که مورد استفادهی روزمرهی خودم هست، به مرور زمان بهبود پیدا میکنه.
🔗 سورس پروژه و توضیحات تکمیلی:
https://github.com/MahdiyarGHD/GheychiApp
📥 دانلود نسخهی اولیه از گیتهاب:
https://github.com/MahdiyarGHD/GheychiApp/releases
اگر دوست داشتید، با گزارش باگ، مشارکت در توسعه یا حتی یک ⭐️ روی گیتهاب میتونید کمک کنید قیچی بهتر بشه.
2 451
📢 بروزرسانی رباتها🔥
رباتهای دانلود از اینستاگرام و دانلود از توییتر (X) بروزرسانی شدند.
در این آپدیت، پایداری و عملکرد ربات ها بهبود پیدا کرده و خطاها و باگهای گزارششده و همچین مشکلات مربوط به دانلود و پردازش درخواست ها برطرف شدهاند.
🔴 ربات دانلود از اینستاگرام
👉 @ig_dl_bot
🔵 ربات دانلود از توییتر (X)
👉 @twittdl_bot
2 451
Repost from Mahi in Tech
وقتی صحبت از پیادهسازی Rate Limiting (مخصوصا مدلهایی مثل Token Bucket یا Leaky Bucket) میشه، معمولا اولین چالش، مدیریت State هست؛ اینکه همزمان باید تعداد توکنهای باقیمونده و زمان آخرین Refresh رو نگه داریم و حواسمون به Race Condition هم باشه.
الگوریتم GCRA (Generic Cell Rate Algorithm) که توی سیستمهای توزیعشده استفاده میشه، این مسئله رو با یک ترفند ریاضی خیلی ساده حل کرده: حذف مفهوم توکن و جابجایی همهچیز به بردار زمان.
ایده اصلی اینه: به جای اینکه چک کنیم کاربر چند تا توکن داره یا شمارنده رو ریست کنیم، یک متغیر عددی به اسم TAT (Theoretical Arrival Time) نگه میداریم؛ یعنی «زمان تئوریک رسیدن درخواست بعدی».
منطق کارکرد به چه صورته؟
فرض کنید لیمیت سیستم، ۱ درخواست در ثانیه باشه و به کاربر اجازه دادید تا سقف ۳ درخواست هم ترافیک ناگهانی (Burst) داشته باشه:
هر بار که یک درخواست تایید میشه، TAT به اندازهی فاصلهی زمانی مجاز بین درخواستها، به آینده هل داده میشه.
اگر کاربر چند درخواست پشت سر هم بفرسته، TAT جلوتر و جلوتر میره. در واقع داریم میزان «جلو افتادن» جریان درخواستها از نرخ مجاز رو اندازه میگیریم، و تا وقتی فاصلهی بین زمان فعلی و TAT از محدودهی مجاز Burst بیشتر نشده باشه، درخواستها تایید میشن.
اگر این فاصله از محدودهی مجاز عبور کنه، کاربر درجا خطای 429 میگیره و مهمتر اینکه TAT هم برای درخواست ردشده تغییر نمیکنه.
به محض اینکه کاربر چند ثانیه دست نگه داره، زمان فعلی به TAT نزدیکتر میشه و عملاً ظرفیت Burst بهصورت خودکار آزاد میشه؛ بدون اینکه هیچ Job پسزمینهای نیاز باشه یا کدی برای ریست کردن شمارندهها اجرا بشه.
در سادهترین حالت، منطق چیزی شبیه به اینه:
if now < TAT - tolerance:
reject
else:
TAT = max(now, TAT) + interval
accept
و قبل از آپدیت، بررسی میکنیم که آیا TAT در محدودهی مجاز قرار داره یا نه. نکتهی مهم اینه که مقدار دقیق این محدوده به نحوهی تعریف Burst/Tolerance در پیادهسازی بستگی داره.
چرا این مدل جذابه؟
۱. استیت تکمقداری: کل وضعیت هر کاربر فقط یک عدد ساده (Timestamp) هست که توی ردیس میتونه به صورت یک String ساده ذخیره بشه.
۲. اجرای اتمیک و جلوگیری از Race Condition: خود GCRA بهتنهایی Race Condition رو حذف نمیکنه؛ چیزی که این مشکل رو حل میکنه، اجرای اتمیک کل منطق Check + Update هست. مثلا میتونیم این کار رو با یک اسکریپت چند خطی Lua داخل Redis انجام بدیم، بدون اینکه چند دستور جداگانه بین Read و Write داشته باشیم.
۳. مدیریت تمیز TTL: چون زمان موردنیاز برای نگه داشتن State قابل محاسبه است، میتونیم TTL کلید رو بر اساس زمانی تنظیم کنیم که TAT و محدودهی Burst دیگه برای تصمیمگیری لازم نیستن. در نتیجه، کلیدها بهصورت خودکار expire میشن و نیازی به Job یا فرآیند جداگانه برای پاکسازی State نداریم.
در نهایت، جذابیت اصلی GCRA این هست که به جای نگه داشتن چند متغیر مثل Token Count، Last Refill و Timestamp، کل State رو به یک مفهوم زمانی تبدیل میکنه.2 451
📥 دانلود از توییتر بدون خارج شدن از توییتر (ویژه کاربران iOS)
با این روش میتونید توییتها و ویدیوهای توییتر رو مستقیماً از داخل خود توییتر دانلود کنید، بدون اینکه لازم باشه لینک توییت رو دستی کپی کنید و برای ربات بفرستید!
ابتدا ربات دانلودر توییتر رو استارت کنید:
@twittdl_bot
سپس دستور زیر رو برای ربات ارسال کنید:
/shortcut
ربات یه لینک اختصاصی بهتون میده. لینک رو کپی کنید.
در ادامه فایل شورتکات زیر رو دانلود و اجرا کنید.
بعد از باز شدن فایل، برنامه Shortcuts رو انتخاب کنید.
وقتی برنامه Shortcuts باز شد، قسمت YourLink رو پیدا کنید و متن موجود رو پاک کنید.
حالا لینکی که از ربات دریافت کردید رو جایگزین YourLink کنید و از برنامه Shortcuts خارج بشید.
حالا وارد Twitter/X بشید و توییت موردنظرتون رو باز کنید:
1️⃣ روی Share بزنید.
2️⃣ از لیست اشتراکگذاری، TwitterDL رو انتخاب کنید.
3️⃣ در اولین اجرا، iOS ازتون اجازه دسترسی به لینک رو میگیره؛ گزینه Always Allow رو بزنید.
4️⃣ در ادامه، ربات توییت رو داخل تلگرام براتون ارسال میکنه.
🔘 این شورتکات فقط برای iOS طراحی شده و مخصوص کاربران آیفونه
📍@abolfazl_devs2 451
یکی از رو مخ ترین چیزای مک اینه که اگه زبان کیبورد فارسی باشه اعدادش هم فارسی میشه حتی numpad!
خیلی جاها که عدد فارسی قبول نمیکنن این قشنگ میره رو مخ آدم🥴
یه layout قدیمی از کیبورد فارسی پیدا کردم و این اعداد رو درستش کردم
اگه شماهم این مشکلو دارید میتونید ازش استفاده کنید👇
https://github.com/ixabolfazl/MacOS-Persian-Keyboard-with-Latin-Numbers
📍@abolfazl_devs
2 451
Repost from localhost
قسمت 127.0.0.9 از مجموعه پادکست لوکال هاست.
پروژه Hermes چیست و چرا این روزها همه درباره آن صحبت میکنند؟ آیا نسل بعدی هوش مصنوعی قرار است فقط پاسخ بدهد یا واقعاً برای ما کار انجام دهد؟ در این قسمت از لوکال هاست، درباره AI Agentها، آینده اتوماسیون و پروژه Hermes صحبت میکنیم.@localhost_ir
2 451
اگه با Ollama، LM Studio، 9Router یا APIهای سازگار با OpenAI کار میکنید، Nano Chat UI به دردتون میخوره
Nano Chat UIیک رابط کاربری سبک، ساده و بدون نیاز به نصب که فقط با یک فایل HTML اجرا میشه و میتونید بهراحتی به مدلهای هوش مصنوعی لوکال یا ابری متصل بشید.
✨ امکانات:
▪️اتصال به APIهای سازگار با OpenAI (Ollama، LM Studio، 9Router، OpenAI و...)
▪️پشتیبانی از مدل لوکال Chrome (Gemini Nano)
▪️ذخیره خودکار تاریخچه چتها و Providerها + Import/Export
▪️پشتیبانی کامل از فارسی و رابط راستچین (RTL)
▪️بدون نصب و بدون هیچ وابستگی؛ فقط یک فایل HTML
نحوه استفاده:
فایل HTML را از ریپازیتوری GitHub دانلود کنید.
فایل را در مرورگر باز کنید.
از بخش Settings یک Provider جدید اضافه کنید.
Base URL و در صورت نیاز API Key را وارد کنید.
روی Test Connection بزنید تا مدلها بهصورت خودکار شناسایی شوند.
مدلهای موردنظر را انتخاب و ذخیره کنید و شروع به چت کنید.
📥 لینک ریپو:
https://github.com/ixabolfazl/nano-chat-ui
اگر این پروژه براتون مفید بود، خوشحال میشم با دادن ⭐ به ریپازیتوری ازش حمایت کنید.
📍@abolfazl_devs
2 451
اگر نیاز دارید متن، کد، لاگ یا هر یادداشتی رو سریع با دیگران به اشتراک بگذارید، میتونید از Recopy استفاده کنید 👇
🔗 recopy.ir
✅ بدون نیاز به ثبتنام
✅ سریع، ساده، سبک و امن
✅ اشتراکگذاری متن و کد با لینک مستقیم و یا با یک کد 6 رقمی
❓کاربردش چیه؟
تا حالا شده روی یک سیستم متن یا کد داشته باشی و بخوای اون رو به سیستم دیگه یا موبایلت منتقل کنی، اما هیچ پیامرسان، ایمیل یا ابزار انتقال فایل در دسترس نباشه؟👇
کافیه متن رو داخل recopy.ir قرار بدی؛ بعدش یک کد ۶ رقمی دریافت میکنی و تو سیستم مقصد فقط با وارد کردن اون کد میتونی متن رو سریع بازیابی کنی!
📍@abolfazl_devs
2 451
Repost from N/a
خیلی وقت بود میخواستم یه سایت برای شعرها و فال حافظ راه بندازم و فرصت نمیشد ولی بالاخره امروز کاملش کردم
با این سایت میتونید خیلی راحت فال حافظ بگیرید و به غزلیات حافظ دسترسی داشته باشید 👇
https://faalyar.ir
خوشحال میشم امتحانش کنید و نظرتون رو شناس یا ناشناس بهم بگید 🤝
2 451
اگه دوست دارید ریپو های ترند روز گیت هاب (اونایی که در اون روز بیشترین استار رو گرفتن) رو تو یه کانال تلگرام داشته باشید و همیشه از آخرین ترند ها باخبر باشید، این کانال هر روز ریپازیتوری های ترند اون روز گیتهاب رو میزاره👇
https://t.me/github_trending_daily
🔗 ixAbolfazl 🤯 (@ixabolfazl)
📲 @twittdl_bot
2 451
اگه دوست دارید ریپو های ترند روز گیت هاب (اونایی که در اون روز بیشترین استار رو گرفتن) رو تو یه کانال تلگرام داشته باشید و همیشه از آخرین ترند ها باخبر باشید، این کانال هر روز ریپازیتوری های ترند اون روز گیتهاب رو میزاره👇
https://t.me/github_trending_daily
🔗 ixAbolfazl 🤯 (@ixabolfazl)
📲 @twittdl_bot
2 451
رو لینک زیر بزنید.
به ازای هر پنج تا رفرال 3 تا تون کوین میده 👇
https://t.me/gramevents_bot?startapp=ref_75120
اگه نتونستید تو کانالش عضو بشید با این لینک اد کنید:
https://t.me/addlist/vIkfhz7Lf41hOGM0
2 451
سرور مجازی مفت!
از اینجا میتونید ارزون ترین سرور ها رو پیدا کنید:
https://serverhunter.com
بعضی سرور ها قیمت سالانش کلا 3 دلاره و کریپتو هم قبول میکنن👌
📌توجه: قبل از خرید حتما نظرات فروشنده رو بخونید و بعد خرید کنید.
📍@abolfazl_devs
2 451
🚀 روشهای رایگان برای اتصال به اینترنت آزاد
1- کلاینت شیر و خورشید:
روی اکثر اپراتورها با کمی صبر وصل میشود.
📥لینک دانلود شیر و خورشید
2- کانفیگ رایگان در Hiddify:
• آخرین نسخه Hiddify را نصب کنید.
• برنامه را باز کنید.
• روی دکمه ➕ بالای صفحه بزنید.
• گزینه «رایگان» را انتخاب کنید.
• سپس روی «مهسا» بزنید.
• به کانفیگی که اضافه میشود متصل شوید.
📥لینک دانلود Hiddify
3- رباتهای دریافت سابسکرایب موقت
مراحل:
• وارد ربات زیر شوید:
@vpnsave
• استارت را بزنید.
• روی دکمه اول بزنید و عضو کانال شوید.
• برگردید و دکمه تأیید عضویت را بزنید.
• در پیام جدید، گزینه اول را انتخاب کنید.
• یک لینک سابسکرایب دریافت میکنید.
این لینک را میتوانید داخل Hiddify یا Haap اضافه کرده و استفاده کنید.
رباتهای مشابه:
@VPNGhoulnishBot
@WhiteGhostVPN_bot
@venuraxvpnbot
@WhiteDNS_Installer_Bot
4- برنامه Windscribe
• برنامه Windscribe را نصب کنید.
• بعد از ثبتنام، ۱۰ گیگ حجم رایگان دریافت میکنید.
برای اینکه سریع تر وصل بشید سرور فرانسه و پروتکل TCP رو انتخاب کنید.
این پست را برای دوستانتان هم بفرستید تا بتوانند راحتتر متصل شوند ❤️
📍 @abolfazl_devs
