چند وقت پیش یه ایده دیدم که تبدیلش کردم به یه اکستنشن new tab کروم!
یه تقویم مینیمال، شبیه به جدول کامیتهای گیتهاب — برای اینکه ببینی چقدر از سال گذشته. (البته پروژه فانه)
درحین دولوپ کردنش ویدیو گرفتم و گذاشتمش تو گیت هابم
https://www.youtube.com/watch?v=c_33pa216Kk
@DevTwitter | <Nafas Ebrahimi/>
یه تقویم مینیمال، شبیه به جدول کامیتهای گیتهاب — برای اینکه ببینی چقدر از سال گذشته. (البته پروژه فانه)
درحین دولوپ کردنش ویدیو گرفتم و گذاشتمش تو گیت هابم
https://www.youtube.com/watch?v=c_33pa216Kk
@DevTwitter | <Nafas Ebrahimi/>
یک برنامه جالبی وجود داره که به شما اجازه میده بدون هیچ دانش برنامه نویسی، مدلهای زبانی بزرگ رو دانلود و به رایگان استفاده کنید.
همچنین امکان تغییر پارامترهای مدل هم وجود داره
https://github.com/nomic-ai/gpt4all
@DevTwitter | <Ali/>
همچنین امکان تغییر پارامترهای مدل هم وجود داره
https://github.com/nomic-ai/gpt4all
@DevTwitter | <Ali/>
کلی AI Fun Fact API ای که داشتم درست میکردم رو بهبود دادم و الان قابلیت های انتخاب موضوع فکت و زبان رو هم داره.
اگه کسی ایده ای داره، میخواد استفاده کنه یا کانتریبیوت کنه این گیتهابشه:
https://github.com/amirparsadd/facts-api
@DevTwitter | <Amirparsa Baghdadi/>
اگه کسی ایده ای داره، میخواد استفاده کنه یا کانتریبیوت کنه این گیتهابشه:
https://github.com/amirparsadd/facts-api
@DevTwitter | <Amirparsa Baghdadi/>
چند وقت پیش من یه پوشه ساز نوشتم که به نظرم برای کسایی که سریال زیاد می بینند و می خوان که همه ی قسمت های سریال شون مرتب و پوشه بندی شده باشه خیلی کاربردی هست.
https://github.com/aydakikio/FolderMaker
@DevTwitter | <Loanly/>
https://github.com/aydakikio/FolderMaker
@DevTwitter | <Loanly/>
با قابلیت جدید Chrome میتونی مستقیماً داخل CSS از if() استفاده کنی — بدون نیاز به JS یا Sass!
یه قدم بزرگ برای انعطافپذیری و قدرت بیشتر توی طراحی استایلها
https://developer.chrome.com/blog/new-in-chrome-137#if
@DevTwitter | <Ali Montazeri/>
یه قدم بزرگ برای انعطافپذیری و قدرت بیشتر توی طراحی استایلها
https://developer.chrome.com/blog/new-in-chrome-137#if
@DevTwitter | <Ali Montazeri/>
میسترال از Mistral Code رونمایی کرد؛ رقیب GitHub Copilot و Cursor
استارتاپ فرانسوی میسترال از ابزار جدید خود با نام Mistral Code رونمایی کرد؛ دستیار هوش مصنوعی مختص کدنویسی برای برنامهنویسان که با هدف رقابت با ابزارهای هوش مصنوعی برنامهنویسی دیگر ازجمله GitHub Copilot و Cursor توسعه یافته است.
استارتاپ Mistral Code به مجموعهای از مدلهای اختصاصی این شرکت ازجمله Codestral ،Codestral Embed ،Devstral و Mistral Medium دسترسی دارد. قابلیتهای آن برای توسعهدهندگان نیز شامل مواردی ازجمله تکمیل کد، بازنویسی چندمرحلهای، جستجوی هوشمند در کد، تعامل متنی با کاربر و تحلیل خروجی ترمینال میشود.
همچنین این ابزار که براساس پروژه متنباز Continue توسعه یافته، از بیش از ۸۰ زبان برنامهنویسی پشتیبانی میکند و درحالحاضر بهصورت بتای خصوصی برای ویژوال استودیو کد و پلتفرمهای JetBrains در دسترس قرار گرفته است.
@DevTwitter | <دیجیاتو/>
استارتاپ فرانسوی میسترال از ابزار جدید خود با نام Mistral Code رونمایی کرد؛ دستیار هوش مصنوعی مختص کدنویسی برای برنامهنویسان که با هدف رقابت با ابزارهای هوش مصنوعی برنامهنویسی دیگر ازجمله GitHub Copilot و Cursor توسعه یافته است.
استارتاپ Mistral Code به مجموعهای از مدلهای اختصاصی این شرکت ازجمله Codestral ،Codestral Embed ،Devstral و Mistral Medium دسترسی دارد. قابلیتهای آن برای توسعهدهندگان نیز شامل مواردی ازجمله تکمیل کد، بازنویسی چندمرحلهای، جستجوی هوشمند در کد، تعامل متنی با کاربر و تحلیل خروجی ترمینال میشود.
همچنین این ابزار که براساس پروژه متنباز Continue توسعه یافته، از بیش از ۸۰ زبان برنامهنویسی پشتیبانی میکند و درحالحاضر بهصورت بتای خصوصی برای ویژوال استودیو کد و پلتفرمهای JetBrains در دسترس قرار گرفته است.
@DevTwitter | <دیجیاتو/>
شهر عجیبیه.
اومده از فایل ویدیویی به عنوان دیتابیس استفاده کرده و ادعا میکنه از vector database و traditional database سرعت و عملکرد بهتری داره و برای حافظه چتبات گزینه خوبی به حساب میاد:
https://github.com/Olow304/memvid
@DevTwitter | <Sajad Ziaee/>
اومده از فایل ویدیویی به عنوان دیتابیس استفاده کرده و ادعا میکنه از vector database و traditional database سرعت و عملکرد بهتری داره و برای حافظه چتبات گزینه خوبی به حساب میاد:
https://github.com/Olow304/memvid
@DevTwitter | <Sajad Ziaee/>
احتمالا در جریان هستید که یک os ویژه پیدا کردن بانتی اومده اگه خواستید مجموعه ابزار هاشو ببینید تو لینک زیر میتونید پیدا کنید
https://bountyos.github.io/available-tools.html
@DevTwitter | <Payam Taheri/>
https://bountyos.github.io/available-tools.html
@DevTwitter | <Payam Taheri/>
Media is too big
VIEW IN TELEGRAM
دیروز 11 labs از نسخه سوم مدل متن به گفتار خودش معرفی کرد که از بیش از ۷۰ زبان پشتیبانی میکنه همچنین فارسی!
ازش یه تست ریز گرفتم. به نظر خیلی خوب میاد
https://elevenlabs.io/v3
@DevTwitter | <Mani/>
ازش یه تست ریز گرفتم. به نظر خیلی خوب میاد
https://elevenlabs.io/v3
@DevTwitter | <Mani/>
دو ابزار جدید براتون دارم:
1. Zarinpal Link Generator
اسکریپت PHP 7.4+ برای ساخت خودکار لینک پرداخت زرینپال بدون نیاز به کد مالیاتی یا اینماد، با تنظیمات ساده، پشتیبانی از هاستهای اشتراکی و ارتباط cURL REST API
https://github.com/arash-aryapour/zarinpal-link-generator
2. Zarinpal Transaction Checker
اسکریپتی برای بررسی تراکنشها مستقیماً از پنل کاربری با استفاده از session cookie، مناسب توسعهدهندهها و فروشگاهها
https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
اگر دنبال راهی سریع و امن برای مانیتور تراکنش ها هستید این ابزار عالیه.
@DevTwitter | <Arash Aryapour/>
1. Zarinpal Link Generator
اسکریپت PHP 7.4+ برای ساخت خودکار لینک پرداخت زرینپال بدون نیاز به کد مالیاتی یا اینماد، با تنظیمات ساده، پشتیبانی از هاستهای اشتراکی و ارتباط cURL REST API
https://github.com/arash-aryapour/zarinpal-link-generator
2. Zarinpal Transaction Checker
اسکریپتی برای بررسی تراکنشها مستقیماً از پنل کاربری با استفاده از session cookie، مناسب توسعهدهندهها و فروشگاهها
https://github.com/arash-aryapour/Zarinpal-Transaction-Checker
اگر دنبال راهی سریع و امن برای مانیتور تراکنش ها هستید این ابزار عالیه.
@DevTwitter | <Arash Aryapour/>
همیشه یه
json schema editor
لازم داشتم که باهاش بتونم پارامتر لازم برای
Structured Response
ایپیآی چتجیبیتی رو بسازم ولی هیچکدومشون اون چیزی نبودن که میخواستم
پس با هوشمصنوعی یکی ساختم
https://amir9480.github.io/json-schema-builder/
@DevTwitter | <Amir/>
json schema editor
لازم داشتم که باهاش بتونم پارامتر لازم برای
Structured Response
ایپیآی چتجیبیتی رو بسازم ولی هیچکدومشون اون چیزی نبودن که میخواستم
پس با هوشمصنوعی یکی ساختم
https://amir9480.github.io/json-schema-builder/
@DevTwitter | <Amir/>
نسخهی جدید PHP 8.5 تو راهه :)
چند قابلیت جدید و بهبود جالب توی این نسخه:
* توابع array_first() و array_last() برای دسترسی سریعتر به اولین و آخرین عنصر آرایهها (البته array_last تفاوت خاصی با end() نداره)
* امکان استفاده از Closure و Callable در const
* ویژگی [#[\NoDiscard]] برای مشخصکردن اینکه مقدار return باید استفاده بشه
* بهبود نمایش خطاها با Error Backtraces v2
* توابع جدید get_error_handler() و get_exception_handler()
* بهبود performance در cURL و کلاس Directory
نسخه 8.5 شاید تغییرات انقلابی نداشته باشه، ولی تجربهی برنامهنویسی رو بهتر و تمیزتر میکنه.
البته هنوز خبری از generic types درستوحسابی نیست و PHP کاملاً type-safe نشده
منبع:
https://wiki.php.net/rfc#php_85
@DevTwitter | <Milad Niroee/>
چند قابلیت جدید و بهبود جالب توی این نسخه:
* توابع array_first() و array_last() برای دسترسی سریعتر به اولین و آخرین عنصر آرایهها (البته array_last تفاوت خاصی با end() نداره)
* امکان استفاده از Closure و Callable در const
* ویژگی [#[\NoDiscard]] برای مشخصکردن اینکه مقدار return باید استفاده بشه
* بهبود نمایش خطاها با Error Backtraces v2
* توابع جدید get_error_handler() و get_exception_handler()
* بهبود performance در cURL و کلاس Directory
نسخه 8.5 شاید تغییرات انقلابی نداشته باشه، ولی تجربهی برنامهنویسی رو بهتر و تمیزتر میکنه.
البته هنوز خبری از generic types درستوحسابی نیست و PHP کاملاً type-safe نشده
منبع:
https://wiki.php.net/rfc#php_85
@DevTwitter | <Milad Niroee/>
برای بار اول هست یه ابزار با TS میزنم و تو NPM پابلیش میکنم.
به کمک این میتونید مطمئن بشید ترتیب ستون های دیتابیس دقیقا طبق ترتیب Prisma Schema هستش.
چیز ریزی هست ولی به خوانایی دیتابیس خیلی کمک میکنه.
صفر تا صد لایبری Vibe Coding و با Agent بوده
https://github.com/SamadiPour/prisma-reorder
@DevTwitter | <ٔNobody/>
به کمک این میتونید مطمئن بشید ترتیب ستون های دیتابیس دقیقا طبق ترتیب Prisma Schema هستش.
چیز ریزی هست ولی به خوانایی دیتابیس خیلی کمک میکنه.
صفر تا صد لایبری Vibe Coding و با Agent بوده
https://github.com/SamadiPour/prisma-reorder
@DevTwitter | <ٔNobody/>
همه ما توی لاراول با Closure کار میکنیم، ولی واقعا میتونیم توضیح بدیم چی هست؟
چه توی route تعریف کردن، چه داخل collection، چه middleware یا حتی queue، همیشه داریم از Closure استفاده میکنیم.
اما بیاید خیلی ساده ببینیم Closure چیه؟
یه تابع بینام (anonymous function) هست که میتونی:
توی متغیر ذخیرهاش کنی
به یه تابع دیگه پاس بدی
ولی واقعا چه فایدهای داره؟
اینو با یه مثال ساده نشونت میدم:
فرض کن میخوای یه آرایه از عددها رو فیلتر کنی. مثلا فقط عددهای زوج رو نگه داری.
بدون Closure مجبور بودیم برای هر منطق یه تابع جداگانه بنویسیم ، مثلا برای فیلتر اعداد زوج یه تابع ، برای فیلتر اعداد فرد یه تابع دیگه و ...
اما با Closure ما یک تابع عمومی مینویسیم و فقط منطق هامون رو بهش تزریق می کنیم.
زمانی که از Closure استفاده می کنیم ، تابع filter دیگه کاری به نوع فیلتر نداره، فقط میپرسه:
«میخوای این آیتم رو نگه دارم یا نه؟ تو بگو!»
و این قدرت Closure هست:
تعریف منطق دلخواه،
تزریق رفتار به تابع عمومی،
ساده، تمیز، قابلتست
@DevTwitter | <Babak Mirhosseini/>
چه توی route تعریف کردن، چه داخل collection، چه middleware یا حتی queue، همیشه داریم از Closure استفاده میکنیم.
اما بیاید خیلی ساده ببینیم Closure چیه؟
یه تابع بینام (anonymous function) هست که میتونی:
توی متغیر ذخیرهاش کنی
به یه تابع دیگه پاس بدی
ولی واقعا چه فایدهای داره؟
اینو با یه مثال ساده نشونت میدم:
فرض کن میخوای یه آرایه از عددها رو فیلتر کنی. مثلا فقط عددهای زوج رو نگه داری.
بدون Closure مجبور بودیم برای هر منطق یه تابع جداگانه بنویسیم ، مثلا برای فیلتر اعداد زوج یه تابع ، برای فیلتر اعداد فرد یه تابع دیگه و ...
اما با Closure ما یک تابع عمومی مینویسیم و فقط منطق هامون رو بهش تزریق می کنیم.
زمانی که از Closure استفاده می کنیم ، تابع filter دیگه کاری به نوع فیلتر نداره، فقط میپرسه:
«میخوای این آیتم رو نگه دارم یا نه؟ تو بگو!»
و این قدرت Closure هست:
تعریف منطق دلخواه،
تزریق رفتار به تابع عمومی،
ساده، تمیز، قابلتست
@DevTwitter | <Babak Mirhosseini/>
یه نوار قلب از وردپرستون بگیرین
اگر A نگرفتین بهتره تو فکر محکمکاری باشین اما اگر گرفتین هم کاملا از امنیت سایتتون مطمئن نباشین
https://labs.cloudbric.com/wafer
@DevTwitter | <Mohsen Ghiasi/>
اگر A نگرفتین بهتره تو فکر محکمکاری باشین اما اگر گرفتین هم کاملا از امنیت سایتتون مطمئن نباشین
https://labs.cloudbric.com/wafer
@DevTwitter | <Mohsen Ghiasi/>
بعد از ۶ سال کار کردن تو برنامه نویسی
یه تجربه شخصی در برنامهنویسی که همیشه جواب داده...
در مسیر توسعه نرمافزار، کم نیستند لحظاتی که بعد از ساعتها تمرکز و تلاش، با باگی مواجه میشیم که نهتنها بیمنطق به نظر میرسه، بلکه هر چی بیشتر تحلیلش میکنیم، کمتر میفهمیمش.
در چنین شرایطی، ذهن ما وارد حالت "تحلیل بیشازحد" میشه. شروع میکنیم به گشتن لایهلایهی کد، فرضیهسازیهای عجیب، و شک کردن به همهچیز
— جز یک چیز: اینکه شاید خودمون خستهایم.
من بارها به این نقطه رسیدم. و هر بار که این اتفاق افتاده، یک راهحل ساده اما موثر جواب داده:
مکث. فاصله گرفتن. قطع ارتباط موقت با کد.
یه پیادهروی ساده، یه چرت کوتاه یا حتی عوض کردن محیط میتونه اثر عجیبی داشته باشه. مغز وقتی استراحت کنه، دوباره مسئله رو میبینه — این بار شفافتر، با دید بازتر.
و خیلی وقتها، باگی که ساعتها دنبالش بودم، ظرف ۵ دقیقه حل شده.
این تجربه رو نوشتم چون باور دارم:
1- عمیقتر شدن همیشه به معنی نزدیکتر شدن به جواب نیست.
2- گاهی باید عقب رفت تا درست دید.
@DevTwitter | <Mohammadreza Momeni/>
یه تجربه شخصی در برنامهنویسی که همیشه جواب داده...
در مسیر توسعه نرمافزار، کم نیستند لحظاتی که بعد از ساعتها تمرکز و تلاش، با باگی مواجه میشیم که نهتنها بیمنطق به نظر میرسه، بلکه هر چی بیشتر تحلیلش میکنیم، کمتر میفهمیمش.
در چنین شرایطی، ذهن ما وارد حالت "تحلیل بیشازحد" میشه. شروع میکنیم به گشتن لایهلایهی کد، فرضیهسازیهای عجیب، و شک کردن به همهچیز
— جز یک چیز: اینکه شاید خودمون خستهایم.
من بارها به این نقطه رسیدم. و هر بار که این اتفاق افتاده، یک راهحل ساده اما موثر جواب داده:
مکث. فاصله گرفتن. قطع ارتباط موقت با کد.
یه پیادهروی ساده، یه چرت کوتاه یا حتی عوض کردن محیط میتونه اثر عجیبی داشته باشه. مغز وقتی استراحت کنه، دوباره مسئله رو میبینه — این بار شفافتر، با دید بازتر.
و خیلی وقتها، باگی که ساعتها دنبالش بودم، ظرف ۵ دقیقه حل شده.
این تجربه رو نوشتم چون باور دارم:
1- عمیقتر شدن همیشه به معنی نزدیکتر شدن به جواب نیست.
2- گاهی باید عقب رفت تا درست دید.
@DevTwitter | <Mohammadreza Momeni/>
معماری مقیاسپذیر برای دیپلوی Laravel با Load Balancer
در این مدل معماری ما از چند سرور برای اجرای اپلیکیشن استفاده میکنیم تا هم پرفورمنس افزایش پیدا کنه، هم در برابر خطاها مقاومتر باشیم.
معماری کلی:
- Load Balancer (مثل Nginx / HAProxy / AWS ELB)
- چندین Instance از Laravel روی پورت یا سرور مختلف
- دیتابیس مرکزی (مثلاً MySQL یا PostgreSQL)
- کش مرکزی با Redis یا Memcached
- اشتراکگذاری فایلها و sessionها با NFS یا S3
مراحل پیادهسازی:
نصب PHP، Nginx و سایر روی هر سرور
دیپلوی Laravel روی چند سرور یا پورت
تنظیم nginx برای هر سرور تا درخواستها به درستی به اپلیکیشن برسن
راهاندازی دیتابیس و کش روی سرور جدا برای دسترسی همه Instanceها
کانفیگ Load Balancer برای پخش درخواستها بین سرورها
فرانتاند چطور به API وصل میشه؟
فقط کافیه به IP یا دامنه Load Balancer درخواست بزنه.با این روش طبق الگوریتم هایی که برای کانفیگ nginx سرور لودبالانسر تنظیم میکنیم میتونیم درخواست ها رو طبق الگوریتم به سرور مربوطه ارسال کنیم.
میتونین دیاگرام رو هم ببینین تا ارتباطشون رو بهتر درک کنین.
@DevTwitter | <Saber Qadimi/>
در این مدل معماری ما از چند سرور برای اجرای اپلیکیشن استفاده میکنیم تا هم پرفورمنس افزایش پیدا کنه، هم در برابر خطاها مقاومتر باشیم.
معماری کلی:
- Load Balancer (مثل Nginx / HAProxy / AWS ELB)
- چندین Instance از Laravel روی پورت یا سرور مختلف
- دیتابیس مرکزی (مثلاً MySQL یا PostgreSQL)
- کش مرکزی با Redis یا Memcached
- اشتراکگذاری فایلها و sessionها با NFS یا S3
مراحل پیادهسازی:
نصب PHP، Nginx و سایر روی هر سرور
دیپلوی Laravel روی چند سرور یا پورت
تنظیم nginx برای هر سرور تا درخواستها به درستی به اپلیکیشن برسن
راهاندازی دیتابیس و کش روی سرور جدا برای دسترسی همه Instanceها
کانفیگ Load Balancer برای پخش درخواستها بین سرورها
فرانتاند چطور به API وصل میشه؟
فقط کافیه به IP یا دامنه Load Balancer درخواست بزنه.با این روش طبق الگوریتم هایی که برای کانفیگ nginx سرور لودبالانسر تنظیم میکنیم میتونیم درخواست ها رو طبق الگوریتم به سرور مربوطه ارسال کنیم.
میتونین دیاگرام رو هم ببینین تا ارتباطشون رو بهتر درک کنین.
@DevTwitter | <Saber Qadimi/>