DevTwitter | توییت برنامه نویسی
30.3K subscribers
5K photos
394 videos
6 files
4.79K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://xn--r1a.website/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
قابلیت اضافه کردن جستجوی معنایی (Semantic Search) به وب سایتتون
یعنی به جای جستجوی دقیق کلمه "interدثا" معنی و مفهوم جمله را درک و متن‌های مرتبط با اون را پیدا کنه
یک مدل تعبیه‌سازی متن (Embedding Model) جدید Ternlight با اندازه‌ی (۷ مگابایت) کارش همینه
https://ternlight-demo.vercel.app

@DevTwitter | <MehrdadLinux/>
🔥266👍4
اگه با docker کار می‌کنید، احتمالاً درگیر زدن پشت‌سرهمِ دستوراتی مثل docker ps و docker logs --tail 50 هستید تا چندتا کانتینر رو همزمان مدیریت کنید. این کار هم خسته‌کننده‌ست و هم ترمینال رو به هم می‌ریزه.

ابزار Lazydocker دقیقاً برای حل همین مشکل ساخته شده؛ یه TUI برای داکر و داکر کامپوز که تمام کارها رو با شورت‌کات‌های کیبورد براتون انجام می‌ده.

- بدون switch کردن: همه چیز از مصرف منابع (RAMو CPU) تا لاگ کانتینرها به صورت زنده توی یه داشبورد یکپارچه نشون داده می‌شه.
- سرعت بالا با کیبورد: لاگ دیدن، ری‌استارت کردن یا پاک کردن کانتینرها فقط با زدن یک دکمه کیبورد انجام میشه (بدون نیاز به موس).
- پشتیبانی کامل از Compose: سرویس‌های داکر کامپوز رو هم به خوبی می‌شناسه و مدیریت می‌کنه.
- بدون کانفیگ: با زبان Go نوشته شده و فقط یه فایل اجرایی باینریه؛ نیازی به نصب سرور یا دیپندنسی اضافه نداره.

و خلاصه این ابزار سرعت کارتون رو چند برابر می‌کنه.

گیتهاب Lazydocker + آموزش نصبش: https://github.com/jesseduffield/lazydocker

@DevTwitter | <Matin SenPai/>
🍌1514🔥5
#کوته_نیوز

دانشگاه آزاد (سامانه‌ی وادانا) هک شده.

@DevTwitter
🍌92🔥10👍4
مدتی بود که از OpenCode استفاده میکردم و مشکلاتی توش دیدم که MiMoCode اونارو برطرف کرده. ولی خب خود MiMoCode هم یکسری مشکلاتی داشت در کنار مزایاش که تصمیم گرفتم رفعشون کنم
فورکش اوپن سورس شده، میتونید از npm یا بخش release خود GitHub دانلود و استفاده کنید

https://github.com/ZethRise/ZethCode

@DevTwitter | <GloryMajor/>
14👍6👎6
اگر با AI به صورت همزمان با git worktree روی کد کار می‌کنید، این onorca.dev برای شماست.

کلی امکانات ریز اما کاربردی داره و واقعاً توصیه می‌کنم. رایگانه و اپن‌سورس و به صورت فعال توسعه داده می‌شه. باعث شد اون محصول روی ترمینال که قبلاً استفاده می‌کردم رو بگذارم کنار.

@DevTwitter | <Hamed/>
17👎3👍2
لینوکس Mint با دسکتاپ Mate بر پایه اوبونتو، یه توزیع سبک و سریع و پایداره که برای نصبش درگیر هیچ پیچیدگی و چالشی نمیشید!
همه چیز دم دسته و در ساده ترین حالت ممکن خودشه!
تمام نرم افزارها سریع باز میشن و پردازنده و حافظه در بهینه ترین حالت ممکن درگیر هستن.
بنظرم برای سیستم قدیمیم کار درستی کردم که سراغ دسکتاپهای Gnome و KDE نرفتم!
از همه مهمتر تجربه کار با هرمس برای من بهتر و سریعتر شده که خیلی برام دلپذیره.

@DevTwitter | <بوکانت/>
👍56👎34🍌13
یک راهنمای جامع برای ایمن‌سازی سرور linux
این مخزن یک چک‌لیست عملی ارزشمند برای امن سازی سرور های لینوکسی است
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server

@DevTwitter | <MehrdadLinux/>
22👍5
یک دایرکتوری عالی با بیش از 190 ابزار اوپن‌سورس که مستقیم در مرورگر اجرا می‌شوند بدون نیاز به ثبت‌نام و نصب
http://fcksignups.com

@DevTwitter | <Davinci/>
31👍5👎2
این آدما رو می‌شناسید؟

اینا اعضای یه شرکت به اسم Nullsoft هستن. همین تیم و به خصوص دو نفر به اسم‌های Justin Frankel و Dmitry Boldyrev بودن که نرم‌افزار محبوب Winamp رو به وجود آوردن.

گفتم شاید بخواید سازنده‌های اون شاهکار بی‌تکرار رو از نزدیک ببینید...

@DevTwitter | <Behrad Javed/>
👍4934👎2
در دیجی‌کالا چطور خروجی اپ‌های iOS رو برای تست میزبانی می‌کنیم
حدود یک سال پیش یه سؤال ذهنم رو مشغول کرد: چرا کاری که Diawi انجام می‌ده رو خودمون انجام ندیم؟
هر بار برای رسوندن یه بیلد Ad Hoc به دست تیم تست، وابسته بودیم به یه سرویس ثالث؛ لینک‌هایی که منقضی می‌شدن، محدودیت حجم فایل، و این نگرانی که فایل نصبی اپ روی سرور یه شرکت دیگه بنشینه.
از همون‌جا ایده‌ی «میزبان» (Mizban) شکل گرفت: یه راه‌حل ساده و self-hosted برای هاست کردن خروجی‌های iOS (و Android) و نصب مستقیم روی دستگاه، بدون واسطه.
نتیجه‌ش این شد:
- حذف کامل وابستگی به Diawi و سرویس‌های مشابه
- بدون محدودیت حجم فایل و بدون انقضای لینک
- استخراج خودکار متادیتای اپ (نام، ورژن، Bundle ID، آیکون)
- گروه‌بندی بیلدها بر اساس Bundle ID
- دیپلوی به‌صورت static site، بدون نیاز به بک‌اند
- نصب مستقیم iOS از طریق itms-services:// و دانلود مستقیم برای Android
خوشحالم که بعد از حدود یک سال استفاده‌ی داخلی، نسخه‌ی ابتدایی «میزبان» رو به‌صورت متن‌باز (MIT) در اختیار عموم قرار دادیم:
https://github.com/mberneti/mizban

@DevTwitter | <Mohammadreza Berneti/>
🍌30👍22🔥6
سال‌هاست توسعه PHP بین دو دنیا تقسیم شده است

یا یک فریمورک که همه‌چیز را باید از صفر بسازی، یا یک CMS که آزادی توسعه را محدود می‌کند.

اما اگر مجبور نباشیم یکی از این دو را انتخاب کنیم، چه؟ پینوکس ۳ از همین سؤال متولد شد.

ایده ساده است: پروژه PHP خود را توسعه بده آن را به یک بسته قابل نصب .pinx تبدیل کن و روی هر پینوکس، به‌سادگی نصب یا به‌روزرسانی کن.

هدف پینوکس ساختن یک فربمورک دیگه نیست هدفش ساده‌تر کردن توسعه، انتشار و استقرار پروژه های PHP است.

از یک پروژه شخصی تا یک محصول بزرگ، پینوکس برای همه ساخته شده است. روی لوکال، داکر، هاست اشتراکی، سرور مجازی یا اختصاصی هر جا PHP اجرا شود، پینوکس هم اجرا می‌شود.

دیگه پیچیدگی انتشار، نصب و به‌روزرسانی پروژه از دوش برنامه‌نویس برداشته میشه تا فاصله بین نوشتن کد و رسیدن آن به دست کاربر ساده‌تر بشه

با یک Star از پروژه حمایت کنید
github.com/pinoox/pinoox

@DevTwitter | <Yoosef Alipouri/>
🍌2720👎6
یکی از قابلیت‌های کمتر شناخته‌شده‌ی Laravel.
به جای حدس زدن اینکه یک تغییر باعث بهبود عملکرد شده یا نه، باید اندازه‌گیری کنی.
خیلی اوقات ما تغییراتی توی کد میدیم و براساس تجربیات دیگران یا داکیومنت حس می‌کنیم سریع‌تر شده.

گاهی جواب نمیده، ساعت‌ها وقت صرف Refactor می‌کنیم اما در نهایت تفاوت عملکرد یا ناچیزه یا حتی بدتر از قبل!
با Benchmark می‌تونی دو یا چند پیاده‌سازی مختلف رو کنار هم اجرا کنی و زمان واقعی اجرای هر کدوم رو ببینی.

این دقیقا تفاوت بین Optimization و Guessing هست. بهینه‌سازی واقعی با احساس انجام نمی‌شه، با داده انجام می‌شه.
اگر تا امروز از Benchmark استفاده نکردی، احتمالا ارزش داره توی پروژه بعدیت امتحانش کنی

@DevTwitter | <Ehsan Rezaei/>
23👍6👎1
چالش Race Condition: رقابت بین درخواست‌های همزمان در مایکروسرویس‌ها:

ما از مایکروسرویس استفاده می کنیم تا از مزایای همزمانی بهره ببریم پس باید سعی کنیم چالش‌هاشو با روشی حل کنیم که باعث «کاهش همزمانی» نشود.

فرض می‌کنیم ۱۰ درخواست همزمان داریم،
روش‌های جلوگیری از Race Condition:

۱- استفاده از Redis Lock:
اولین درخواست پاسخ داده می‌شود و به ۹ تای دیگر خطای 429 Too Many Requests داده می‌شود که باعث از دست رفتن درخواست‌ها می‌شود.

۲- استفاده از RowVersion:
اولین درخواست پاسخ داده می‌شود و ۹ تای دیگر از دیتابیس خطای DbUpdateConcurrencyException دریافت می‌کنند که باعث از دست رفتن درخواست‌ها می‌شود.

۳- ایجاد صف در Redis:
با استفاده از ListRightPushAsync همه‌ی درخواست‌های همزمان را در یک لیست در Redis ثبت می‌کنیم و سپس توسط یک BackgroundService، یکی یکی با متد ListLeftPopAsync از لیست می‌خوانیم و پاسخ می‌دهیم.
مزیت این روش نسبت به دو روش قبلی این است که باعث از دست رفتن درخواست‌ها نمی‌شود ولی به دلیل استفاده از صف، باعث «کاهش همزمانی» می‌شود.

۴- استفاده از Concurrency Limiter در Asp.net:
با اضافه کردن سرویس AddRateLimiter پردازش همزمان را به یک درخواست محدود می‌کنیم و ۹ تای دیگر را در صف قرار می‌گیرند، که به دلیل استفاده از صف، باعث «کاهش همزمانی» می‌شود.


@DevTwitter | <Mahnaz Azad/>
27👍6👎3
مدتی میشه که مشغول یادگیری Golang هستم و تصمیم گرفته بودم از همون ابتدا پروژه محور پیش برم؛ برای همین تصمیم گرفتم یه API Gateway بنویسم.

اصلی ترین دلیلی که این پروژه رو شروع کردم یادگیری و تسلط بیشتر روی زبان Golang بودش،

اما خیلی بیشتر از چیزی که فکر میکردم دانش و اطلاعات بهم اضافه کرد.
از نحوه پیاده سازی Rate limiter و الگوریتم‌های مختلفش گرفته، سازوکار Reverse Proxy، طراحی Load Balancer هوشمند با Health Check همزمان، و نکات Graceful Shutdown آشنا شدم
البته هنوز یه سری فیچر ها هستش که در آینده حتما اضافشون میکنم (JWT Authentication، intelligent caching و ...)

لینک ریپوی پروژه
https://github.com/LigerTheTextRovert/nexus

@DevTwitter | <Abolfazl Samarghandi/>
36👍8🔥5
اگه نیاز دارید که OCR یا استخراج اطلاعات از فایلهای PDF در اسکیل بالا انجام بدید بهترین راه اینه که pipeline خودتون را داشته باشید با مدلهای اپن سورس. اینجوری هم هزینه بسیار پایین میاد و هم اینکه از لحاظ امنیت و privacy دیگه نگران نیستید که اطلاعات بره روی cloud یک شرکت دیگه.
این بلاگ را بخونید که هزینه این کار برای ۱۱۶۰۰۰ صفحه کمتر از ۵ دلار شده در مقایسه با ۱۱۶۰ دلار اگه از Azure استفاده میکردند.
Blg: https://blueguardrails.com/en/blog/high-throughput-vlm-ocr

@DevTwitter | <Mehdi Allahyari/>
👍317🍌4
دیروز کنجکاو شدم رفتم سمت سروش پلاس و مهندسی معکوسش کردم، از mtproto استفاده میکنه.

با معماری تلگرام یه مقدار فرق داشت ولی telethon رو ادیت کردم و تبدیلش کردم به کلاینت سروش پلاس، بعدش هم تو گیت هاب منتشرش کردم.

github.com/shayanheidari01/SPlusthon

اگه دوست داشتید مخزن گیت‌هاب رو ستاره بزنید

@DevTwitter | <Shayan/>
🍌116🔥22👍7
برای زیرنویس فارسی یوتیوب ابزار زیاد هست اما خیلی‌ها API پولی می‌خوان به سرم زد یه راه ساده‌تر بسازم با این اکستنشن زیرنویس اصلی رو JSON می‌گیری می‌دی به هر مدل AI برای ترجمه JSON فارسی رو آپلود می‌کنی تمام

https://github.com/Omidzamani11/omid-youtube-fa-subtitle


@DevTwitter | <Omid Zamani/>
40🍌6👎2
می‌خواید از Amazon Kiro (Claude AI با AWS Builder ID) استفاده کنید اما کارت بین‌المللی و شماره خارجی ندارید؟ این ابزار راه‌حل شماست. با یک Gmail ساده، صدها حساب AWS Builder ID بسازید و با kiro به Claude دسترسی نامحدود داشته باشید — کاملاً رایگان

https://github.com/decolua/9router


@DevTwitter | <JaVaD/>
19👎4🔥1
به‌تازگی OpenAI آکادمی خود را با مجموعه‌ای از دوره‌های جدید به‌روزرسانی کرده است
حالا می‌توانید یاد بگیرید چطور از chatgpt در محیط کار استفاده کنید از سلامت و تولید محتوا گرفته تا تحلیل داده و ده‌ها حوزه دیگر

https://openai.com/academy/chatgpt-for-work/

@DevTwitter | <Davinci/>
16🍌4👍2
اگه پروژه‌ای رو با هرمس شروع می‌کنید، تمام مشخصات، اهداف، و ساختار پروژه‌تون رو داخل فایل hermes.md قرار بدید.
تو مصرف توکنتون صرفه‌جویی میشه، چون هرمس هربار میخواد دستور شما رو اجرا کنه قبلش این فایل رو مرور میکنه.
هرجا هم خواستید میتونید با خود هرمس آپدیتش کنید.

@DevTwitter | <Saeid/>
👍285