تا حالا شده یک فیچر بزنید که کل دیتاش لود شده، ولی تا کاربر یک چیزی سرچ میکنه یا فیلتر رو تغییر میده، صفحه برای چند ثانیه Freeze میشه؟ Spinnerها قفل میکنند، Inputها لگ میزنند و کلاً Application حس سنگینی میده.
برای حل این چالش، سراغ یک تغییر معماری جالب توی فرانتاند رفتم تا پردازشهای سنگین محاسباتی را کاملاً بفرستم توی Background. اینطوری Main Thread کاملا آزاد موند تا بدون حتی یک فریم افت کیفیت، به کارش ادامه بده و UI مثل روز اول روان شد.
توی این مقاله جدیدی که نوشتم، سیر تا پیاز این سناریو، دلیل این که چرا Debouncing کافی نیست و چالشهای این ساختار را کاملاً باز کردم. یک دمو واقعی هم براش ساختم که میتوانید تفاوت پرفورمنس را با چشم ببینید. پیشنهاد میکنم این مقاله را بخوانید:
Demo: https://webworker-vs-main-thread.netlify.app/
Github: https://github.com/MiladSadeghi/webworker-vs-main-thread
https://www.linkedin.com/pulse/main-thread-vs-web-workers-milad-sadeghi-hqbie/
@DevTwitter | <Milad Sadeghi/>
برای حل این چالش، سراغ یک تغییر معماری جالب توی فرانتاند رفتم تا پردازشهای سنگین محاسباتی را کاملاً بفرستم توی Background. اینطوری Main Thread کاملا آزاد موند تا بدون حتی یک فریم افت کیفیت، به کارش ادامه بده و UI مثل روز اول روان شد.
توی این مقاله جدیدی که نوشتم، سیر تا پیاز این سناریو، دلیل این که چرا Debouncing کافی نیست و چالشهای این ساختار را کاملاً باز کردم. یک دمو واقعی هم براش ساختم که میتوانید تفاوت پرفورمنس را با چشم ببینید. پیشنهاد میکنم این مقاله را بخوانید:
Demo: https://webworker-vs-main-thread.netlify.app/
Github: https://github.com/MiladSadeghi/webworker-vs-main-thread
https://www.linkedin.com/pulse/main-thread-vs-web-workers-milad-sadeghi-hqbie/
@DevTwitter | <Milad Sadeghi/>
❤28👍9🍌8
هایپ MCP دیگه از بین رفته و کامیونیتی داره میره سمت استفاده از ابزارهای CLI و یکی از بزرگترین دلایلش مصرف توکن کمتر به واسطه کامندهایی مثل grep، jq، pipe، tail و... هست چون دیگه نیاز نیست کل متن یا فایل خونده بشه!
۱. کامند grep که برای جستجوی یه کلمه خاص تو متن استفاده میشه. وقتی agent این کامند رو ران میکنه، فقط لاینهایی رو میبینه که اون کلمه یا regex داخلشون هست!
۲. کامند jq: فیلتر کردن بر اساس یک فیلد یا ساختار schema از فایل json، مثلا این کامند فقط فیلد name رو از این json میکشه بیرون:
cat data.json | jq '.name'
۳. کامند tail برای دیدن انتهای فایل خصوصا log ها زیاد استفاده میشه. به صورت پیشفرض ۱۰ تا خط آخر رو برمیگردونه ولی میشه با فلگ -n بهش عدد دلخواه داد:
tail -n 50 app.log
۴. پایپ pipe() که باحالترینشه، خروجی یک دستور رو مستقیم به ورودی دستور بعدی میفرسته که قابلیت chaining تا بی نهایت رو داره :)
cat largefile.txt | grep "failed"
اینا دستورات مهمی هست که تو محیط ترمینالی ایجنتها زیاد ازش استفاده میکنن و بد نیست در موردش بدونیم!
@DevTwitter | <Amir/>
۱. کامند grep که برای جستجوی یه کلمه خاص تو متن استفاده میشه. وقتی agent این کامند رو ران میکنه، فقط لاینهایی رو میبینه که اون کلمه یا regex داخلشون هست!
۲. کامند jq: فیلتر کردن بر اساس یک فیلد یا ساختار schema از فایل json، مثلا این کامند فقط فیلد name رو از این json میکشه بیرون:
cat data.json | jq '.name'
۳. کامند tail برای دیدن انتهای فایل خصوصا log ها زیاد استفاده میشه. به صورت پیشفرض ۱۰ تا خط آخر رو برمیگردونه ولی میشه با فلگ -n بهش عدد دلخواه داد:
tail -n 50 app.log
۴. پایپ pipe() که باحالترینشه، خروجی یک دستور رو مستقیم به ورودی دستور بعدی میفرسته که قابلیت chaining تا بی نهایت رو داره :)
cat largefile.txt | grep "failed"
اینا دستورات مهمی هست که تو محیط ترمینالی ایجنتها زیاد ازش استفاده میکنن و بد نیست در موردش بدونیم!
@DevTwitter | <Amir/>
❤45🍌16👍6
یه پروژه آموزشی خیلی جالب توسط huggingface به تازگی منتشر شده که با مطالعهاش یاد میگیرین چطوری coding agent بسازین.
ریپوی گیتهابش:
https://github.com/huggingface/tau
@DevTwitter | <Mehrdad Ameri/>
ریپوی گیتهابش:
https://github.com/huggingface/tau
@DevTwitter | <Mehrdad Ameri/>
👍29❤7
اگر میخواهید Skillهای بهتری برای Claude بسازید، این راهنما را از دست ندهید
انتروپیک مجموعهای از بهترین روشها و تجربههای خود را در یک فایل Markdown منتشر کرده است
کافی است آن را در اختیار Agent خود قرار دهید تا Skillهایی بسیار حرفهایتر و قدرتمندتر بسازد
https://code.claude.com/docs/en/skills
@DevTwitter | <Davinci/>
انتروپیک مجموعهای از بهترین روشها و تجربههای خود را در یک فایل Markdown منتشر کرده است
کافی است آن را در اختیار Agent خود قرار دهید تا Skillهایی بسیار حرفهایتر و قدرتمندتر بسازد
https://code.claude.com/docs/en/skills
@DevTwitter | <Davinci/>
👍22🔥3🍌2
برای استفاده کاملاً رایگان از مدلهای پیشرفته AI، بدون محدودیتهای عجیبوغریب، این ترکیب رو تست کردم و واقعاً عالیه:
OpenCode + Cloudflare Workers AI
وارد Cloudflare بشید:
https://cloudflare.com
از مسیر AI → Workers AI → REST API، Account ID رو بردارید و یک API Token بسازید.
بعد داخل OpenCode:
https://opencode.ai
Provider رو روی Cloudflare Workers بذارید و Account ID و API Token رو وارد کنید.
مزیتش اینه که محدود به یک مدل نیستید؛ چندین مدل مختلف در دسترسه و میتونید مستقیم داخل OpenCode بینشون سوییچ کنید.
@DevTwitter | <Pedram/>
OpenCode + Cloudflare Workers AI
وارد Cloudflare بشید:
https://cloudflare.com
از مسیر AI → Workers AI → REST API، Account ID رو بردارید و یک API Token بسازید.
بعد داخل OpenCode:
https://opencode.ai
Provider رو روی Cloudflare Workers بذارید و Account ID و API Token رو وارد کنید.
مزیتش اینه که محدود به یک مدل نیستید؛ چندین مدل مختلف در دسترسه و میتونید مستقیم داخل OpenCode بینشون سوییچ کنید.
@DevTwitter | <Pedram/>
🍌24❤14👎2
This media is not supported in your browser
VIEW IN TELEGRAM
این ریپو خیلی عالیه . یک برنامه دیکته صوتی (تبدیل گفتار به متن) اپن سروس برای سیستمعامل مک (macOS) همراه با بهبوددهنده هوش مصنوعی روی خود دستگاه. ورژن ویندوز هم به زودی. این اپ ورژن اپن سورس و رایگان WisprFlow هست ی جورایی.
چندین مدل را هم میتونید باهاش استفاده کنید و بسته به مدل فارسی را هم پشتیبانی میکنه.
Github: https://github.com/altic-dev/FluidVoice
@DevTwitter | <Mehdi Allahyari/>
چندین مدل را هم میتونید باهاش استفاده کنید و بسته به مدل فارسی را هم پشتیبانی میکنه.
Github: https://github.com/altic-dev/FluidVoice
@DevTwitter | <Mehdi Allahyari/>
👍8🔥5❤3
من واسه کارهای شرکت اکانت پرو cursor دارم و خیلی خوبه.
برای پروژه های سادهی شخصی هم میخواستم یه اکانت پرو بخرم که دیدم نیازی نیست.
با ترکیب افزونه
Continue - open-source AI code agent (vscode)
و
https://github.com/tashfeenahmed/freellmapi
تقریبا نیازم کاملا رایگان برطرف شده (تا حالا مشکلی ندیدم)
https://github.com/tashfeenahmed/freellmapi
@DevTwitter | <سهیل/>
برای پروژه های سادهی شخصی هم میخواستم یه اکانت پرو بخرم که دیدم نیازی نیست.
با ترکیب افزونه
Continue - open-source AI code agent (vscode)
و
https://github.com/tashfeenahmed/freellmapi
تقریبا نیازم کاملا رایگان برطرف شده (تا حالا مشکلی ندیدم)
https://github.com/tashfeenahmed/freellmapi
@DevTwitter | <سهیل/>
🍌41❤13👍6
تو این ویدیو سورس کد بازی انقلابی و خاطره انگیر Half Life 2 رو با هم بررسی می کنیم. کدبیس سی پلاس پلاسی که برای ۲۰ ساله پیشه ! تو این ویدیو راجع به معماری ها هایی که استفاده کردن، به خصوص سیستم تصمیم گیری و تفکر NPC های بازی، با هم گپ میزنیم.
https://youtube.com/watch?v=gI0IwbvX9h4
@DevTwitter | <Rouzbeh Sabzehei/>
https://youtube.com/watch?v=gI0IwbvX9h4
@DevTwitter | <Rouzbeh Sabzehei/>
3👍37❤13🔥3
کتابخانه Baleio یک چارچوب مدرن و کاملاً ناهمگام (Async) برای توسعه رباتهای اپلیکیشن بله است که از aiogram الهام گرفته شده است. این فریمورک شامل امکاناتی مانند روترها، فیلترها، FSM، تزریق وابستگی، سازندههای کیبورد و مدلهای تایپشده بر پایه Pydantic v2 میباشد. اگر با aiogram 3.x آشنا باشید، کار با Baleio برای شما بسیار ساده و آشنا خواهد بود.
ویژگیها:
- کاملاً Async و با عملکرد بالا
- فیلترهای پیشرفته برای مدیریت پیامها
- پشتیبانی از دکمهها (Inline و Reply)
- سیستم مدیریت حالتها (FSM)
- پشتیبانی از پرداخت و سایر قابلیتهای کاربردی برای رباتها
نصب کتابخونه:
https://pypi.org/project/baleio/
مستندات پروژه:
https://ehsndvr.github.io/baleio/
https://github.com/ehsndvr/baleio
@DevTwitter | <Ehsan/>
ویژگیها:
- کاملاً Async و با عملکرد بالا
- فیلترهای پیشرفته برای مدیریت پیامها
- پشتیبانی از دکمهها (Inline و Reply)
- سیستم مدیریت حالتها (FSM)
- پشتیبانی از پرداخت و سایر قابلیتهای کاربردی برای رباتها
نصب کتابخونه:
https://pypi.org/project/baleio/
مستندات پروژه:
https://ehsndvr.github.io/baleio/
https://github.com/ehsndvr/baleio
@DevTwitter | <Ehsan/>
1🍌120❤25👎13
این mcp جدید با نام
https://context7.com
رو دریابید. آخرین داکیومنتهای زبانها و پکیجهای معروف برنامهنویسی رو در اختیار مدل هوش مصنوعی میذاره و میتونید با یک مدل سبک کدهای حرفهای بنویسید
@DevTwitter | <مسعود کاویانی/>
https://context7.com
رو دریابید. آخرین داکیومنتهای زبانها و پکیجهای معروف برنامهنویسی رو در اختیار مدل هوش مصنوعی میذاره و میتونید با یک مدل سبک کدهای حرفهای بنویسید
@DevTwitter | <مسعود کاویانی/>
❤21👎12👍10
اگه مثل من با tmux کار میکنید حتما herdr.dev رو یه نگاه بندازید. این روزا که از agentها استفاده میکنیم، کار کردن با herdr میتونه براتون جذاب باشه.
@DevTwitter | <Mohsen Khodabakhshi/>
@DevTwitter | <Mohsen Khodabakhshi/>
👍17🔥3👎2
اگه با Claude Code کار میکنید، این ابزار کلاد رو به یک برنامهنویس سنیور باهوش ولی تنبل تبدیل میکنه!
یعنی با کمترین میزان کد و تولید توکن، بهترین نتیجه و ایدهآلترین خروجی رو بهتون میده.
76.000 Star
4.000 Fork
https://github.com/DietrichGebert/ponytail
@DevTwitter | <Saeid/>
یعنی با کمترین میزان کد و تولید توکن، بهترین نتیجه و ایدهآلترین خروجی رو بهتون میده.
76.000 Star
4.000 Fork
https://github.com/DietrichGebert/ponytail
@DevTwitter | <Saeid/>
❤28👍9👎6
#کوته_نیوز
سیتنا یه تایملاین از تپههای مختلف هر بانک منتشر کرده که دیدنش خالی از لطف نیست
@DevTwitter
سیتنا یه تایملاین از تپههای مختلف هر بانک منتشر کرده که دیدنش خالی از لطف نیست
@DevTwitter
❤26👍8🍌2
قابلیت اضافه کردن جستجوی معنایی (Semantic Search) به وب سایتتون
یعنی به جای جستجوی دقیق کلمه "interدثا" معنی و مفهوم جمله را درک و متنهای مرتبط با اون را پیدا کنه
یک مدل تعبیهسازی متن (Embedding Model) جدید Ternlight با اندازهی (۷ مگابایت) کارش همینه
https://ternlight-demo.vercel.app
@DevTwitter | <MehrdadLinux/>
یعنی به جای جستجوی دقیق کلمه "interدثا" معنی و مفهوم جمله را درک و متنهای مرتبط با اون را پیدا کنه
یک مدل تعبیهسازی متن (Embedding Model) جدید Ternlight با اندازهی (۷ مگابایت) کارش همینه
https://ternlight-demo.vercel.app
@DevTwitter | <MehrdadLinux/>
🔥26❤6👍4
اگه با docker کار میکنید، احتمالاً درگیر زدن پشتسرهمِ دستوراتی مثل docker ps و docker logs --tail 50 هستید تا چندتا کانتینر رو همزمان مدیریت کنید. این کار هم خستهکنندهست و هم ترمینال رو به هم میریزه.
ابزار Lazydocker دقیقاً برای حل همین مشکل ساخته شده؛ یه TUI برای داکر و داکر کامپوز که تمام کارها رو با شورتکاتهای کیبورد براتون انجام میده.
- بدون switch کردن: همه چیز از مصرف منابع (RAMو CPU) تا لاگ کانتینرها به صورت زنده توی یه داشبورد یکپارچه نشون داده میشه.
- سرعت بالا با کیبورد: لاگ دیدن، ریاستارت کردن یا پاک کردن کانتینرها فقط با زدن یک دکمه کیبورد انجام میشه (بدون نیاز به موس).
- پشتیبانی کامل از Compose: سرویسهای داکر کامپوز رو هم به خوبی میشناسه و مدیریت میکنه.
- بدون کانفیگ: با زبان Go نوشته شده و فقط یه فایل اجرایی باینریه؛ نیازی به نصب سرور یا دیپندنسی اضافه نداره.
و خلاصه این ابزار سرعت کارتون رو چند برابر میکنه.
گیتهاب Lazydocker + آموزش نصبش: https://github.com/jesseduffield/lazydocker
@DevTwitter | <Matin SenPai/>
ابزار Lazydocker دقیقاً برای حل همین مشکل ساخته شده؛ یه TUI برای داکر و داکر کامپوز که تمام کارها رو با شورتکاتهای کیبورد براتون انجام میده.
- بدون switch کردن: همه چیز از مصرف منابع (RAMو CPU) تا لاگ کانتینرها به صورت زنده توی یه داشبورد یکپارچه نشون داده میشه.
- سرعت بالا با کیبورد: لاگ دیدن، ریاستارت کردن یا پاک کردن کانتینرها فقط با زدن یک دکمه کیبورد انجام میشه (بدون نیاز به موس).
- پشتیبانی کامل از Compose: سرویسهای داکر کامپوز رو هم به خوبی میشناسه و مدیریت میکنه.
- بدون کانفیگ: با زبان Go نوشته شده و فقط یه فایل اجرایی باینریه؛ نیازی به نصب سرور یا دیپندنسی اضافه نداره.
و خلاصه این ابزار سرعت کارتون رو چند برابر میکنه.
گیتهاب Lazydocker + آموزش نصبش: https://github.com/jesseduffield/lazydocker
@DevTwitter | <Matin SenPai/>
🍌15❤14🔥5
🍌92🔥10👍4
مدتی بود که از OpenCode استفاده میکردم و مشکلاتی توش دیدم که MiMoCode اونارو برطرف کرده. ولی خب خود MiMoCode هم یکسری مشکلاتی داشت در کنار مزایاش که تصمیم گرفتم رفعشون کنم
فورکش اوپن سورس شده، میتونید از npm یا بخش release خود GitHub دانلود و استفاده کنید
https://github.com/ZethRise/ZethCode
@DevTwitter | <GloryMajor/>
فورکش اوپن سورس شده، میتونید از npm یا بخش release خود GitHub دانلود و استفاده کنید
https://github.com/ZethRise/ZethCode
@DevTwitter | <GloryMajor/>
❤14👍6👎6
اگر با AI به صورت همزمان با git worktree روی کد کار میکنید، این onorca.dev برای شماست.
کلی امکانات ریز اما کاربردی داره و واقعاً توصیه میکنم. رایگانه و اپنسورس و به صورت فعال توسعه داده میشه. باعث شد اون محصول روی ترمینال که قبلاً استفاده میکردم رو بگذارم کنار.
@DevTwitter | <Hamed/>
کلی امکانات ریز اما کاربردی داره و واقعاً توصیه میکنم. رایگانه و اپنسورس و به صورت فعال توسعه داده میشه. باعث شد اون محصول روی ترمینال که قبلاً استفاده میکردم رو بگذارم کنار.
@DevTwitter | <Hamed/>
❤17👎3👍2
لینوکس Mint با دسکتاپ Mate بر پایه اوبونتو، یه توزیع سبک و سریع و پایداره که برای نصبش درگیر هیچ پیچیدگی و چالشی نمیشید!
همه چیز دم دسته و در ساده ترین حالت ممکن خودشه!
تمام نرم افزارها سریع باز میشن و پردازنده و حافظه در بهینه ترین حالت ممکن درگیر هستن.
بنظرم برای سیستم قدیمیم کار درستی کردم که سراغ دسکتاپهای Gnome و KDE نرفتم!
از همه مهمتر تجربه کار با هرمس برای من بهتر و سریعتر شده که خیلی برام دلپذیره.
@DevTwitter | <بوکانت/>
همه چیز دم دسته و در ساده ترین حالت ممکن خودشه!
تمام نرم افزارها سریع باز میشن و پردازنده و حافظه در بهینه ترین حالت ممکن درگیر هستن.
بنظرم برای سیستم قدیمیم کار درستی کردم که سراغ دسکتاپهای Gnome و KDE نرفتم!
از همه مهمتر تجربه کار با هرمس برای من بهتر و سریعتر شده که خیلی برام دلپذیره.
@DevTwitter | <بوکانت/>
👍57👎34🍌13
یک راهنمای جامع برای ایمنسازی سرور linux
این مخزن یک چکلیست عملی ارزشمند برای امن سازی سرور های لینوکسی است
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
@DevTwitter | <MehrdadLinux/>
این مخزن یک چکلیست عملی ارزشمند برای امن سازی سرور های لینوکسی است
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
@DevTwitter | <MehrdadLinux/>
❤22👍5