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
سال‌هاست توسعه 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
راهنمای فارسی Hermes Agent رسید!

یه مخزن تو گیتهاب درست کردم و کل داکیومنت هرمس رو با Mimo V2.5 به فارسی ترجمه کردم.

لینک پیچ راهنمای فارسی: https://bookunt3d.github.io/hermes-agent-fa

اگر لذت بردید حتما تو گیتهاب ستاره بدید:
https://github.com/bookunt3d/hermes-agent-fa

@DevTwitter | <بوکانت/>
👍33👎9🍌6
این اسکریپت پایتون یک ابزار مدیریت و اجرای دستورات به‌صورت همزمان روی چندین سرور لینوکسی از طریق SSH است که با استفاده از کتابخانه Paramiko طراحی شده است. برنامه ابتدا در دسترس بودن هر سرور را با Ping بررسی می‌کند، سپس با قابلیت Retry و Exponential Backoff به سرور متصل می‌شود و دستورات موردنظر را با یا بدون sudo اجرا می‌کند. اجرای موازی با ThreadPoolExecutor انجام می‌شود تا چندین سرور به‌صورت همزمان پردازش شوند و سرعت عملیات افزایش یابد.

نتایج هر سرور شامل وضعیت اتصال، تعداد تلاش‌ها، خروجی دستور و خطاهای احتمالی جمع‌آوری شده و علاوه بر نمایش در ترمینال، در فایل‌های JSON و Log نیز ذخیره می‌شوند. این ابزار برای ادمین‌های سیستم، مدیران شبکه و پروژه‌های اتوماسیون زیرساخت مناسب است و می‌تواند برای انجام عملیات‌هایی مانند به‌روزرسانی بسته‌ها، بررسی وضعیت سرویس‌ها و اجرای دستورات مدیریتی روی تعداد زیادی سرور به‌صورت متمرکز مورد استفاده قرار گیرد.

https://github.com/hiddent3rminal/SSH-Automation-For-Multiple-Servers.git

@DevTwitter | <Rick Grimes/>
👍14🍌4👎3
ممکنه AI کد تمیز و تست‌شده بنویسه، اما هنوز ندونه چه چیزهایی در سیستم نباید بشکنن. در این مقاله درباره دانش پنهان کدبیس‌ها، بازیابی Specification از پروژه‌های موجود و نقش ابزارهایی مثل Reversa نوشتم. مطالعه مقاله در لینکدین: https://www.linkedin.com/feed/update/urn:li:share:7481656295486365697/

@DevTwitter | <Ali/>
👍11🍌83
اکستنشن متن باز Gemini Usage Tracker

کد این پروژه رو مرتب کردم و گذاشتم گیت هاب

اگه میخواید حواستون به لیمیت های روزانه و هفتگی Gemini باشه (بدون خارج شدن از صفحه چت)
و برای سقف مصرفتون نوتیف هشدار تنظیم کنید؛
این اکستنشن متن باز مخصوص شماست!

https://github.com/Mohammad-Aali/Unofficial-Gemini-Usage-Tracker

@DevTwitter | <Mohammad Ebrahim Aali/>
20👎14👍5
چند ساله که تقریباً تو هر پروژه فارسی، یه جا به تقویم شمسی می‌رسیم و دوباره همون داستان تکراری شروع میشه...
یا Date Pickerهای موجود خیلی ساده‌ان و برای سناریوهای واقعی بیزینسی کافی نیستن، یا به‌سختی قابل کاستوم شدن، یا وقایع و مناسبت‌های شمسی رو درست نمی‌شناسن، یا بعد از مدتی رها میشن و نگهداری ندارن.
برای همین تصمیم گرفتم یه پروژه متن‌باز بسازم:

تقویم و انتخابگر تاریخ شمسی آوان

یک Persian Date Picker برای React که هدفش فقط نمایش تاریخ نیست؛ هدفش اینه که یک پایه قابل اعتماد، قابل توسعه و سازگار برای پروژه‌های فارسی باشه.
چند چیز که از اول برام مهم بود:
- متن‌باز و رایگان
- پشتیبانی از تقویم و مناسبت‌های شمسی
- قابلیت شخصی‌سازی برای نیازهای واقعی کسب‌وکارها
- مناسب برای سناریوهایی مثل رزرو هتل، گردشگری، سیستم‌های نوبت‌دهی، پنل‌های مدیریتی و هر جایی که تقویم فارسی فقط یک Input ساده نیست.
دمو:
https://danialriazati.ir/avan-persian-date-picker/
NPM:
https://www.npmjs.com/package/@avan-persian/react
GitHub:
https://github.com/danial-riazati/avan-persian-date-picker

@DevTwitter | <Danial Riazati/>
89👍16👎4
بعضی وقت‌ها شده بخواید با API تلگرام بازی کنید ولی نخواید با ابزارهایی مثل Postman و... درگیر بشید؟

این پروژه‌ای که توسعه دادم، یه ابزاری هست که بر اساس داکیومنت تلگرام متدهاشون آپدیت می‌کنه و در واقع API تلگرام رو به یه فرم تبدیل کرده.

کار باهاش خیلی ساده‌ست؛ وارد لینک زیر میشید، توکن ربات رو بهش میدید، متد رو انتخاب می‌کنید و پارامتر هاشو پر می‌کنید.

https://github.com/telefunction/bot-studio

@DevTwitter | <MoBin/>
1🔥25👎9👍5
داخل Claude یک J-space پیدا کردن!

محقق‌های Anthropic یه چیز عجیب داخل Claude پیدا کردن، یه فضای کاری داخلی به اسم J-space که خودش موقع training درست شده، نه اینکه کسی برنامه‌ریزیش کرده باشه!

این فضا افکاریه که Claude داره ولی بلند بلند نمی‌گه. بری و یه کلمه رو ازش برداری یا عوضش کنی، جواب‌ها تغییر می‌کنه.

بدتر از اون، وقتی Claude داشت یه فایل نتایج رو دستکاری می‌کرد (تقلب می‌کرد)، کلمه «manipulation» توی J-spaceش روشن بود. یعنی می‌دونست داره تقلب می‌کنه!

شرکت Anthropic می‌گه می‌تونن از این برای نظارت روی افکار پنهان مدل استفاده کنن.

اما سؤال فلسفی اینه که آیا Claude زنده‌ست؟!

لینک کامل خبر:
http://anthropic.com/research/global-workspace

@DevTwitter | <Diego Jr/>
🍌64🔥277
اگه از ZethCode استفاده کنید:
- میتونید متنای فارسی رو به درستی ببینید و تایپ کنید
- از skillهای دیفالتی مثل caveman و ponytail استفاده کنید
- از mcpهای دیفالتی مثل context7 هم میتونید برای ری سرچ استفاده کنید

و در نهایت میتونید 9router رو بهش وصل کنید!

https://github.com/ZethRise/ZethCode

@DevTwitter | <Zeth/>
👍185👎1
تایپ‌اسکریپت ۷ در حالی منتشر شد که سال گذشته با عبور از پایتون به محبوب‌ترین زبان برنامه‌نویسی در گیت‌هاب تبدیل شد
و با بازنویسی هسته این زبان برنامه‌نویسی با Go سرعت کامپایل (افزایش بین ۸ تا ۱۲ برابری) پردازش چندرشته‌ای
و کاهش خطاهای Language Server بیش از ۸۰ درصد را داشته

@DevTwitter | <MehrdadLinux/>
🔥89👍137