DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
مدتی بود تو چند تا پروژه Django درگیر محدود کردن دسترسی بعضی مسیرها بر اساس IP و hostname بودم؛
به‌خصوص وقتی Kubernetes و چند تا سرویس داخلی وسط میاد و مدیریت این چیزها با Nginx و Security Group کم‌کم پیچیده می‌شه.

برای همین یه پکیج ساده و منعطف نوشتم به اسم django-ip-access-middleware که این کار رو از داخل خود Django هندل کنه:

کنترل دسترسی بر اساس IP و بازه‌های CIDR (از داخل دیتابیس، بدون ری‌استارت)

تعریف hostnameهای مجاز از طریق env

تشخیص خودکار هم‌شبکه بودن کلاینت و سرور (مناسب Kubernetes)

تعریف قوانین دسترسی بر اساس مسیر:

- exact
- startswith / endswith
- regex

قابل استفاده هم برای APIها و هم پروژه‌های Django معمولی (template-based)

ایده اصلی اینه که به‌جای درگیر شدن با لایه‌های زیرین، تصمیم بگیریم: چه IP یا سرویسی به کدوم مسیر دسترسی داشته باشه، مستقیماً از داخل Django.

این پکیج هنوز جا برای بهتر شدن داره و خوشحال می‌شم اگر:
روی پروژه‌های واقعی امتحانش کنی
باگ یا ایده‌ای داشتی Issue بزنی
یا برای بهبودها (تست، داکیومنت، فیچر جدید) PR بدی

نصب: pip install django-ip-access-middleware

سورس‌کد
https://github.com/mhmohamad1380/django-ip-access-middleware

@DevTwitter | <Mohammad Hosseini/>
👍17🍌43🔥1
آموزش راه اندازی اپلیکیشن لاراولی در سریعترین زمان ممکن با laravel installer
همیشه به نظر من بهترین روش برپایی یک اپلیکیشن لاراولی داکر است اما این روش خیلی ساده و کاربردی میتونه یه جاهایی بدرد بخوره که یا محیط اجرای داکر موجود نیست یا زمان پیکره بندی .
یک ویدئو در کانال یوتیوب شخصی من

https://www.youtube.com/watch?v=RcwMhRdulNg&feature=youtu.be

@DevTwitter | <Abolfazl Sabagh/>
110🔥4👍3
رقیبمون با یه محصول "زشت" بازار رو گرفت؛ در حالی که ما درگیر خوشگل کردن دکمه‌ها بودیم!

چند سال پیش توی پروژه‌ای بودم که مدیرش عاشق کلمه پرفکت بود. هر دوشنبه جلسه میذاشتیم. روی وایت‌برد ایده‌های شاهکار مینوشتیم. "این دکمه انیمیشن داشته باشه."، "اون گزارش باید خروجی اکسل و PDF همزمان بده."، "UI باید در حد اپل باشه."

ما داشتیم برای ایده‌آل میجنگیدیم. احساس میکردیم قراره تاریخ‌سازی میکنیم.

نتیجه؟ یه فاجعه‌ی تمام‌عیار.

۶ ماه گذشت و ما هنوز داشتیم دکمه‌ها رو پولیش میکردیم. یه روز صبح بیدار شدیم و دیدیم رقیبمون با یه محصول "نصفه و نیمه"، "زشت" و "باگ‌دار" اومد بالا.

ما خندیدیم: "این چیه؟ آبروریزیه!" ولی بازار نخندید. بازار خرید.

چرا؟ چون وقتی ما داشتیم توی آزمایشگاه روی "کمال‌گرایی" کار میکردیم، اونا داشتن توی "بازار" فیدبک میگرفتن. اونا باگ‌هاشون رو با مشتری حل کردن، ما باگ‌هامون رو با تخیلاتمون.

به این پدیده میگن: Feature Creep (خزش ویژگی). این قاتلیه که با لباس شیک کیفیت میاد تو شرکتت و استارتاپت رو خفه میکنه.

رید هافمن (بنیان‌گذار لینکدین) یه جمله‌ داره که میگه: "اگر از اولین نسخه محصولتان شرمنده نیستید، یعنی خیلی دیر لانچ کرده‌اید."

محصول کامل، محصولیه که مرده. محصول زنده، ناقصه ولی داره کار میکنه.

درس امروز: هر فیچری که قبل از لانچ (فقط برای خوشگل‌تر شدن) اضافه میکنی، یه میخ جدید به تابوت محصولته.

@DevTwitter | <Hossein Moradi/>
1👍14416🔥3🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
تقویم شمسی برای Blazor به صورت RazorComponent نه پکیج
چون کدش دست خودتون هست میتونید با تم سایت تون هماهنگ کنید.

فقط کافیه کامپوننت رو توی پروژه‌تون کپی و استفاده کنید.
لینگ گیت هاب:
https://github.com/azade1490/PersianCalendarBlazor
دوتا کامپوننت تقویم هست ، یکی با انتخاب تاریخ بسته میشه و اون یکی سه تا دکمه‌‌ی تاریخ امروز ، انصراف و تایید داره.

با پیشتیبانی از سال کبیسه
با استفاده از کلاس PersianCalender
بدون جاوااسکریپت، بدون Bootstrap
فقط html و css و سی‌شارپ
مناسب Blazor Server و WASM


@DevTwitter | <Mahnaz Azad/>
18🍌8👍2👎1
بزرگترین درسی که در سِمت CTO آموختم:
اصول Clean Code اغلب دروغ هستند!

این یک اعتراف است: من سال‌ها به تیمم اجازه نمی‌دادم کدی بنویسند که برای بیزینس حیاتی بود، فقط چون از نظر فنی "تمیز" نبود.

​من یک CTO وسواسی بودم که برای رعایتِ قوانین SOLID یا داشتن یک معماری بی‌نقص، سرعت رسیدن به بازار (Time-to-Market) را قربانی می‌کردم.
ما تبدیل شده بودیم به تیمی که سریع‌ترین کدهای تاریخ را برای محصولی نوشت که هنوز مشتری نداشت!

​کمال‌گرایی فنی (Technical Perfectionism) در فاز MVP، قتلِ خاموش استارتاپ‌هاست.
کتاب‌های معروف مهندسی نرم‌افزار به ما "چگونه خوب کد زدن" را یاد می‌دهند، اما هیچوقت نمی‌گویند "چه زمانی باید به عمد بد کد بزنیم."

​بدهی فنی، اما این‌بار آگاهانه:
​امروز، دیدگاه من ۱۸۰ درجه تغییر کرده است. به جای وسواس روی "Clean Code"، تمرکز من روی "کد تاکتیکی" است.

​تصمیم‌گیری به عنوان یک CTO، مدیریت تریدآف (Trade-off) است. من بدهی فنی (Tech Debt) را نه به عنوان یک شکست، بلکه به عنوان یک ابزار استراتژیک می‌بینم:

​بدهی ناآگاهانه: نوشتن کد کثیف از روی تنبلی یا بی‌دانشی (این غیرقابل بخشش است و باید حذف شود).

​بدهی آگاهانه (وام بیزینسی): ما آگاهانه، کیفیت نگهداری را فدای سرعت عرضه می‌کنیم. این شبیه به گرفتن وام تجاری با نرخ بهره مشخص است. ما باید سریع به بازار برسیم، و قول می‌دهیم که وقتی ارزش (Value) اثبات شد، اصل و سود این وام را با Refactoring پس دهیم.

​ سه حقیقت تلخ مهندسی
​کتاب Clean Code به ما یاد داد تمیز بنویسیم، اما یاد نداد "کی" تمیز بنویسیم.
​کتاب Clean Code رابرت مارتین مقدس است، اما "Time-to-Market" مقدس‌تر.
​اگر استارتاپ هستید، معماریِ "Good Enough" (به اندازه کافی خوب)، تنها معماری درستی است که نیاز دارید.

​اگر تیم شما ۶ هفته وقت می‌گذارد تا زیرساختی بسازد که توانایی مدیریت ۵ میلیون کاربر را دارد، در حالی که شما ۱۰ کاربر هم ندارید، شما در حال "بیش‌مهندسی" (Over-engineering) هستید.

​من امروز یک کد کثیف که ارزش را به سرعت می‌رساند را به یک شاهکار معماری که هفته‌ها طول کشیده، ترجیح می‌دهم.


@DevTwitter | <Bijan Biria/>
👍8722👎5
یک پروژه متن‌باز با ASP.NET Core هست که برای ساخت یک فضای ابری شخصی و ساده طراحی شده.
هدف اینه که یه نمونه واقعی و تمیز برای مدیریت فایل‌ها و پوشه‌ها داشته باشیم در بستر وب .

داخلش می‌تونی:
مدیریت فایل و پوشه داشته باشی،
فضای مصرفی رو کنترل کنی،
توضیحات برای هر فایل بنویسی


پروژه intentionally ساده نگه داشته شده تا با مشارکت بقیه بهتر بشه با معماری mvc توسعه داده شده اگر حوصله و وقت داشتید فورک بگیرید تا رو ایراداتش کار کنیم

https://github.com/mohammadfpage/Personal-Cloud-Drive


@DevTwitter | <Mohammad/>
126🍌11👍2🔥2
رابط کاربری وقت نکردم درست کنم و هنوز رو ترمیناله، ولی ورژن ۱.۰ رو گفتم آپلود کنم حالا که باگ‌هاشو درست کردم. راهنمای کامل نوشتم و برای اجراش اگر روی ویندوز هستید WSL نیاز دارید.
رابط کاربری درست کنم براش، ورژن پورتابل هم برای ویندوز درست می‌کنم براش.

https://github.com/Bloody-Crow/UltraDownloader

@DevTwitter | <Bloody Crow of Painhurts />
👍10👎9🔥3🍌3
#کوته_نیوز

گیتهاب self-runner رو پولی کرد
0.002 دلار به ازای هر دقیقه

@DevTwitter
🍌84👎63🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
اگه دنبال یه راه راحت و استاندارد برای وصل کردن ایجنت‌های هوش مصنوعی به فرانت‌اند اپلیکیشن‌تون هستید، این AG-UI رو از دست ندید!
چی هست؟ یک لایبرری سبک و event-based هست که کار تعامل بین ایجنت و کاربر (مثل استریم ریل‌تایم و مدیریت استیت) رو خیلی ساده می‌کنه. خوراکِ ساختن اپ‌های ایجنت‌محور و خفنه. بخصوص وقتی که ایجنت ابزارهای مختلف را صدا میکنه خیلی راحت میتونید تمام این وضعیت ها را سمت فرانت اند توی UI نشون بدید. من یک chat app نوشتم باهاش که نشون میده چطور tool calls توی UI نشون داده میشند. البته فقط شبیه سازی کردم ولی راحت میتونید فاکشن واقعی را کال کنید. میتونید کد این اپ که نوشتم را بسط بدید و کلی چیز دیگه بهش اضافه کنید.
AG-UI Github: https://github.com/ag-ui-protocol/ag-ui
اینم گیت هاب خودم:
https://github.com/mallahyari/agentic-chat-ui

@DevTwitter | <Mehdi Allahyari/>
10👍4🍌2
این اتفاقی که برای یوتیوبر‌های فارسی افتاد نشون داد که شما حتی اگر خارج از ایران هم باشی، بازم در امان نیستی!

@DevTwitter
👍131🍌294👎2
سایت System Design یکی از بهترین منابع برای فهم طراحی سیستم‌های بزرگیه که هر روز استفاده می‌کنیم.
خودم تقریبا هر روز یکی از مطالبش رو می‌خونم و واقعا دید خوبی برای پیاده‌سازی نرم‌افزار می‌ده؛
از WhatsApp و YouTube تا Instagram و Redis و ...

https://newsletter.systemdesign.one/

@DevTwitter | <Mohammad/>
👍3010🔥2
وقتی میکروسرویس‌ها بدون API Management وارد Production می‌شن…

خیلی از تیم‌ها با هیجان می‌رن سمت معماری Microservices؛
سرویس‌ها کوچک می‌شن، تیم‌ها مستقل می‌شن، deploy سریع‌تر می‌شه…
اما یه سؤال مهم معمولاً جا می‌مونه:

چه کسی قراره این همه API رو مدیریت کنه؟
اینجاست که API Management از یک ابزار لوکس تبدیل می‌شه به یک ضرورت.
در معماری Monolith، کنترل دسترسی، rate limit، versioning و monitoring معمولاً داخل خود اپلیکیشن پیاده‌سازی می‌شه.

اما در معماری Microservices، تکرار این موارد داخل هر سرویس یعنی کد تکراری، رفتارهای ناسازگار، policyهای امنیتی متفاوت و دردسر در نگهداری

دقیقاً اینجا API Management وارد بازی می‌شه:
- یک نقطه‌ی مرکزی برای Authentication و Authorization
- اعمال Rate Limiting و Throttling به‌صورت یکپارچه
- مدیریت Versioning بدون دست‌زدن به سرویس‌ها
- امکان Observability متمرکز (Logs، Metrics، Traces)
- محافظت از سرویس‌ها در برابر traffic ناخواسته یا مخرب

نکته مهم اینه که API Manager جای Microservice رو نمی‌گیره،
بلکه مثل یک قرارداد پایدار بین سرویس‌ها و مصرف‌کننده‌ها عمل می‌کنه.
تجربه‌ی من این بوده:
هر چقدر تعداد سرویس‌ها بیشتر می‌شه، نبود API Management هزینه‌ی بیشتری به تیم تحمیل می‌کنه — چه از نظر امنیت، چه پایداری، چه سرعت توسعه. Microservices بدون API Management قابل اجرا هست…
اما به‌سختی قابل رشد و نگهداریه.


@DevTwitter | <Mobin Mokhtarzadeh/>
👍24🍌64🔥2
توی پروژه‌هایی که از API مدل‌های Ai استفاده می‌کنم، همیشه با یه چالش تکراری روبرو میشم: نیاز به انعطاف‌پذیری بالای کد برای اینکه بتونم به‌راحتی مدل یا provider جدیدی رو به پروژه وصل کنم، در حالی که ساختار header، body یا نحوه احراز هویت هر سرویس کاملاً می تونه متفاوت باشه.

برای حل این مسئله، یه کتابخونه کوچک ساختم که به کمک یک کانفیگ ساده، امکان اتصال به هر provider دلخواهی رو فراهم می‌کنه. علاوه بر این، سیستم تمپلیت‌های آماده داره و همینطور مکانیزم retry خودکار که برای سناریوهای production مناسبه.

اسم پروژه Callix هست و از طریق گیت هاب یا حتی مخزن رسمی Rust می تونید بهش دسترسی داشته باشید.

https://crates.io/crates/callix
https://github.com/naseridev/callix

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

@DevTwitter | <Nima Naseri/>
👍118🍌3
اگه توی پروژه‌های Laravel تون به یه لیست آماده و تمیز از استان‌ها، شهرستان‌ها و شهرهای ایران نیاز داشتید،
می‌تونید از پکیج اوپن‌سورسی که برای اینکار ساختم، استفاده کنید

Laravel Iran Cities
ساده برای استفاده (شامل مدل ها و Seeder)
مناسب فرم‌ها، ثبت‌نام، آدرس‌دهی و…
قابل توسعه و شخصی‌سازی

سورس‌کد در گیت‌هاب:
https://github.com/sadegh19b/laravel-iran-cities

اگر به دردتون خورد بدید یا توی پروژه‌هاتون استفاده کنید.

@DevTwitter | <Sadegh Barzegar/>
26👍7🔥3🍌1
امروز می‌خوام درباره یکی از کتابخونه‌هایی صحبت کنم که واقعاً دید من رو نسبت به State Management در React تغییر داده.

والتیو (Valtio) بر پایه‌ی مفهوم Proxy-based State ساخته شده و مدیریت استیت رو به شکل خیلی ساده و قابل فهمی ارائه می‌ده. دیگه خبری از boilerplateهای سنگین، reducerهای طولانی یا پیچیدگی‌های غیرضروری نیست؛ فقط یک آبجکت جاوااسکریپتی و ری‌اکتیویتی واقعی.

چیزی که Valtio رو متمایز می‌کنه:
رندر مجدد فقط برای کامپوننت‌های مرتبط با تغییر استیت انجام می‌شه
کدها تمیزتر، خواناتر و نگهداریشون راحت‌تر می‌شه
تجربه توسعه‌دهنده (DX) به‌طور محسوسی بهتر می‌شه

اگه تو پروژه‌هات دنبال سادگی، عملکرد بهتر و تمرکز بیشتر روی منطق اصلی هستی، Valtio قطعاً ارزش بررسی رو داره.
اگه قبلاً باهاش کار کردین یا نظری درباره آینده‌ی state management در React دارین، خوشحال می‌شم تو کامنت‌ها باهم گپ بزنیم

لینک سایت: https://valtio.dev


@DevTwitter | <Soheil Ghanbary/>
👎10👍43🔥1
وقتشه که استفاده از Exception برای کنترل فلو (Control Flow) در لاراول را متوقف کنیم.
پترن Railway-Oriented Programming (ROP) یک شیوه مدرن برای مدیریت خطاهاست که از دنیای Functional Programming وارد شده. به جای پرتاب Exception و امیدوار بودن به اینکه یه جایی اون رو Catch کنیم، می‌تونیم عملیات‌ها را به صورت زنجیره‌ای از موفقیت‌ها و شکست‌ها مدل کنیم.
در این مقاله، ROP و طرز فکر پشت اون و نحوه پیاده‌سازی کاملش در لاراول را با استفاده از Result Types توضیح دادم.
مطالعه کامل مقاله
https://medium.com/@mmtaheri.dev/railway-oriented-programming-in-laravel-exceptions-are-not-your-business-3499a9feb790

@DevTwitter | <Mohammad Mahdi Taheri/>
👍106🔥2👎1
یک منبع داکر روی گیت‌هاب آماده کردم که همه چیزای مهم رو شامل میشه:

cheat sheet – Docker | Docker Compose

sample: Django، FastAPI، Node.js، Nginx، PostgreSQL، Redis

advanced topic : security, monitoring, networking, Prometheus, private registry, Grafana

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

GitHub:
https://github.com/sajadnezamabadi/docker-cheat-sheet

@DevTwitter | <Sajad NezamAbadi/>
1🍌226👍5🔥1
یکی از هوش مصنوعی هایی که
شدیدا پیشنهاد میکنم راجبش مطالعه کنید مدل MiniMax M2 است در کارایی واقعا سریع و مقرون‌به‌صرفه عمل میکنه

فکر کنید یک مدل Ai دارید که:
پشتیبانی از ۱۹۶ هزار توکن در یک پنجره متنی داره که امکان پردازش متن‌های بسیار طولانی را فراهم می‌کنه

این مدل MiniMax M2 شامل ۲۰۰ میلیارد است که خیلی خفن میتونه از متن های طولانی پشتیبانی کنه

- کد نویسی قابل قبولی داره
از نوشتن کد تا تست و استقرار نهایی
و تبدیل کردنش به یک اتومیشن پیشرفته برای انجام های کار

در تولید ویدئو حرف برای گفتن داره
ویدئوهای واقع‌گرا با حرکات طبیعی دست و چهره می‌سازه ( این خیلی مهمه )
سرعتش واقعا جالبه
- ویدیوهارو میتونه ۱۲۸۰×۷۲۰ پیکسل با ۲۵ فریم در ثانیه تولید کنه

لینک‌ گیت هابشون : https://github.com/MiniMax-AI/MiniMax-M2

@DevTwitter | <POURYA/>
21👍4🍌4
This media is not supported in your browser
VIEW IN TELEGRAM
الان دیگه میتونید مدلهای LLM و VLM کوچک را fine tune و روی موبایل اجرا کنید.
Doc: https://docs.unsloth.ai/new/deploy-llms-phone

@DevTwitter | <Mehdi Allahyari/>
🔥15👎2👍1🍌1
Forwarded from Space sup
📱 ChatGPT Premium🛍

⚫️فعال سازی اشتراک بر روی ایمیل شخصی شما.

⚫️تمام سفارش‌ها دارای ضمانت تعویض و بازگشت وجه فوری هستند.

⚫️تخفیف فعلی به دلیل آفر رسمی سایت می‌باشد و برای مدت محدود فعال است.

⚫️پرداخت بعد از تحویل.

💲قیمت اشتراک

🟠 3️⃣4️⃣9️⃣🔤

🙂جهت مشاوره و خرید سریع کلیک‎ کنید

❤️ در کانال ما عضو شوید
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6👍2🍌1
یک مستند بینظیر اومده روی یوتیوب به اسم "The Thinking Game". ماجراش چیه؟

اگه مستند "AlphaGo" را دیده باشید و یادتون باشه میدونید چقدر خفن بود! حالا همون تیم سازنده، ۵ سال رفتن تو دلِ DeepMind تا نشون بدن اونجا واقعا چه خبره. داستان از زندگی عجیب و غریب demis hassabis شروع می‌شه و می‌رسه به تلاش شبانه‌روزی تیمی که می‌خواد معمای «هوش» و «حیات» رو حل کنه.

از کل‌کل سرِ بازی‌های استراتژیک پیچیده تا لحظات تلخ و شیرین حل کردن معمای ۵۰ ساله protein folding problem/«تاشدگی پروتئین» با AlphaFold. این مستند قشنگ نشون می‌ده که مسیر رسیدن به هوش مصنوعی کلی (AGI) چقدر پر از چالش و هیجانه. اگه به تکنولوژی و آینده علاقه دارید، حتما ببینید و لذتش را ببرید.
Youtube:
https://youtu.be/d95J8yzvjbQ?si=C7smoIgbMt_oEsDg

@DevTwitter | <Mehdi Allahyari/>
🔥289👍3