بچهها اگر کارت گرافیک NVIDIA دارید و میخواهید مدلهای زبانی رو بدون کوانتیزیشن یا با حداقل کوانتیزیشن اجرا کنید، این کد رو نوشتم که با Unsloth این کار رو میکنه:
https://github.com/prp-e/unsloth_inference
البته این بخشی از یه حرکت بزرگتره، ولی خب ترجیحم این بود این بخشش رو پابلیک کنم فعلا.
@DevTwitter | <Muhammadreza Haghiri/>
https://github.com/prp-e/unsloth_inference
البته این بخشی از یه حرکت بزرگتره، ولی خب ترجیحم این بود این بخشش رو پابلیک کنم فعلا.
@DevTwitter | <Muhammadreza Haghiri/>
❤15👎9👍2🔥1
تفاوت این آموزش با بقیه به کاربردی بودنشه...
توی این ویدیو یه آموزش کامل و کاربردی از Gemini CLI رو براتون آماده کردم!
از همون اول که این ابزار چیه و چطور باید نصبش کنیم شروع میکنیم، بعد میریم سراغ کارهای عملی مثل:
- ساخت و ویرایش فایلها مستقیم با Gemini CLI
- کار با Git و اتوماسیون عملیاتهای مهم
- اتصال MCP به Gemini CLI و استفاده ازش در پروژهها
این ویدیو طوری طراحی شده که چه تازهکار باشی چه حرفهای، بتونی به راحتی Gemini CLI رو یاد بگیری و توی پروژههات استفاده کنی.
https://youtu.be/0ziloyRAsq8?si=JOXayXoKljioyNCd
@DevTwitter | <Ryan Heida/>
توی این ویدیو یه آموزش کامل و کاربردی از Gemini CLI رو براتون آماده کردم!
از همون اول که این ابزار چیه و چطور باید نصبش کنیم شروع میکنیم، بعد میریم سراغ کارهای عملی مثل:
- ساخت و ویرایش فایلها مستقیم با Gemini CLI
- کار با Git و اتوماسیون عملیاتهای مهم
- اتصال MCP به Gemini CLI و استفاده ازش در پروژهها
این ویدیو طوری طراحی شده که چه تازهکار باشی چه حرفهای، بتونی به راحتی Gemini CLI رو یاد بگیری و توی پروژههات استفاده کنی.
https://youtu.be/0ziloyRAsq8?si=JOXayXoKljioyNCd
@DevTwitter | <Ryan Heida/>
👍12❤4🔥1
اگه بخواید یه هفتهنامهی برنامهنویسی بخونید، دوست دارید کدوم روز از هفته منتشر بشه؟
Anonymous Poll
17%
شمبه و بدبختیاش
5%
یکش
6%
دوش
5%
سومش
10%
چهار
29%
اون دو روزی که میریم شمال
49%
فاقد اهمیت
❤7👍2🔥2
چرا بسیاری از تیمها ORM را کنار میگذارند و سراغ SQL خام میروند؟
اخیرا در مدیوم با تعداد زیادی از مقالهها مواجه میشوم که یک پیام مشترک دارند:
«ما ORM را کنار گذاشتیم و به SQL خام مهاجرت کردیم — و دیگر برنمیگردیم.»
نکته جالب اینجاست که این تصمیمها معمولاً از سر عشق به SQL گرفته نشدهاند، بلکه از دل دردسرهای ORM زاده شدهاند.
در چند مقالهی اخیر که مطالعه کردم، تیمهای مختلفی با تکنولوژیهای مختلف (از Java + Postgres گرفته تا Go + SQLAlchemy) تجربهی مهاجرت از ORM را به اشتراک گذاشتهاند — نه فقط برای بهبود سرعت، بلکه برای بازگشت به شفافیت، کنترل و عقلانیت.
مشکل کجا بود؟ چرا ORM جوابگو نبود؟
اگرچه ORM در شروع پروژهها خیلی مفید است (خصوصاً برای CRUDهای سریع و MVPها)، اما با رشد سیستم، مشکلاتی کمکم خود را نشان میدهند:
* معضل N+1 Query
کوئریهایی که ساده به نظر میرسند، در باطن دهها یا صدها درخواست اضافه تولید میکنند.
* کدهای پیچیده اما غیرشفاف
برای کوئریهای پیچیدهتر مثل Window Function، CTE یا Join چندجدولی، باید به انواع annotationها، chainهای مبهم، یا زبانهای خاص ORM (مثل JPQL) متوسل شد — که در نهایت باز هم میرسیم به نوشتن SQL، فقط با دردسر بیشتر.
* ضعف در دیباگ و پروفایلینگ
در ORM، بهسختی میشود فهمید دقیقاً چه کوئریای به دیتابیس رفته. این یعنی دیباگِ کندیها تقریباً کورکورانه است.
* ناسازگاری با مدل واقعی دادهها
دیتابیس با row و index و join کار میکند؛ ORM با کلاس و رابطه شیگرایانه. این تطبیق، بهویژه در سیستمهای پیچیده، منجر به کدهایی میشود که بیشتر شبیه «جنگیدن با ORM» هستند.
چرا SQL خام یک تفاوت واقعی ایجاد کرد؟
بعد از مهاجرت، همه تیمها روی این دستاوردها تأکید داشتند:
* کنترل کامل
میدانیم چه کوئری نوشتهایم، چه زمانی اجرا میشود، و چگونه میتوان آن را بهینه کرد.
* شفافیت
کوئری واضح است، بدون «جادوی مخفی». این یعنی همه تیم — از جونیور تا لید — متوجه میشود چه اتفاقی میافتد.
* هماهنگی بیشتر با منطق دامنه
بهجای تعریف business logic در repository و annotation، همهچیز در لایههای مشخص خدماتی و use-case محور قرار میگیرد.
* استفاده کامل از قدرت دیتابیس
ویژگیهایی مثل Window Function، CTE، JSONB و Partial Index که در ORM اغلب یا پشتیبانی نمیشوند یا با پیچیدگی زیاد ممکناند، در SQL خام بهراحتی قابل استفادهاند.
نگهداری و مقیاسپذیری چطور مدیریت شد؟
برای جلوگیری از بینظمی، تیمها:
* کوئریها را در فایلهای جدا و نسخهدار نگه داشتند
* از template و query loaderهای سبک استفاده کردند
* روی هر کوئری تست (یا حداقل EXPLAIN) نوشتند
* قواعد ساده ولی سختگیرانهای برای امنیت (مثل پارامترگذاری) اعمال کردند
در نتیجه، برخلاف تصور اولیه، نگهداشت SQL خام هم قابل مدیریت و حتی لذتبخش شد.
کی باید ORM را کنار گذاشت؟
تجربهی مشترک تیمها نشان میدهد:
* برای پروژههای کوچک، MVPها یا پنلهای ادمین، ORM عالی است.
* اما در پروژههای دادهمحور، با ترافیک بالا، کوئریهای پیچیده و نیاز به کنترل عملکرد، ORM بهجای کمک، تبدیل به مانع میشود.
جمعبندی
بسیاری از ما با ORMها بزرگ شدهایم اما آیا هنوز ORM بهترین ابزار ماست؟ یا فقط آسانترین است؟
در دنیایی که عملکرد، شفافیت و کنترل ارزش بیشتری از سرعت اولیه دارند، شاید وقت آن است که دوباره به SQL خام یا ترکیب آن با ORm فکر کنیم — این بار با بلوغ بیشتر و ابزارهای بهتر.
@DevTwitter | <Mojtaba Banaie/>
اخیرا در مدیوم با تعداد زیادی از مقالهها مواجه میشوم که یک پیام مشترک دارند:
«ما ORM را کنار گذاشتیم و به SQL خام مهاجرت کردیم — و دیگر برنمیگردیم.»
نکته جالب اینجاست که این تصمیمها معمولاً از سر عشق به SQL گرفته نشدهاند، بلکه از دل دردسرهای ORM زاده شدهاند.
در چند مقالهی اخیر که مطالعه کردم، تیمهای مختلفی با تکنولوژیهای مختلف (از Java + Postgres گرفته تا Go + SQLAlchemy) تجربهی مهاجرت از ORM را به اشتراک گذاشتهاند — نه فقط برای بهبود سرعت، بلکه برای بازگشت به شفافیت، کنترل و عقلانیت.
مشکل کجا بود؟ چرا ORM جوابگو نبود؟
اگرچه ORM در شروع پروژهها خیلی مفید است (خصوصاً برای CRUDهای سریع و MVPها)، اما با رشد سیستم، مشکلاتی کمکم خود را نشان میدهند:
* معضل N+1 Query
کوئریهایی که ساده به نظر میرسند، در باطن دهها یا صدها درخواست اضافه تولید میکنند.
* کدهای پیچیده اما غیرشفاف
برای کوئریهای پیچیدهتر مثل Window Function، CTE یا Join چندجدولی، باید به انواع annotationها، chainهای مبهم، یا زبانهای خاص ORM (مثل JPQL) متوسل شد — که در نهایت باز هم میرسیم به نوشتن SQL، فقط با دردسر بیشتر.
* ضعف در دیباگ و پروفایلینگ
در ORM، بهسختی میشود فهمید دقیقاً چه کوئریای به دیتابیس رفته. این یعنی دیباگِ کندیها تقریباً کورکورانه است.
* ناسازگاری با مدل واقعی دادهها
دیتابیس با row و index و join کار میکند؛ ORM با کلاس و رابطه شیگرایانه. این تطبیق، بهویژه در سیستمهای پیچیده، منجر به کدهایی میشود که بیشتر شبیه «جنگیدن با ORM» هستند.
چرا SQL خام یک تفاوت واقعی ایجاد کرد؟
بعد از مهاجرت، همه تیمها روی این دستاوردها تأکید داشتند:
* کنترل کامل
میدانیم چه کوئری نوشتهایم، چه زمانی اجرا میشود، و چگونه میتوان آن را بهینه کرد.
* شفافیت
کوئری واضح است، بدون «جادوی مخفی». این یعنی همه تیم — از جونیور تا لید — متوجه میشود چه اتفاقی میافتد.
* هماهنگی بیشتر با منطق دامنه
بهجای تعریف business logic در repository و annotation، همهچیز در لایههای مشخص خدماتی و use-case محور قرار میگیرد.
* استفاده کامل از قدرت دیتابیس
ویژگیهایی مثل Window Function، CTE، JSONB و Partial Index که در ORM اغلب یا پشتیبانی نمیشوند یا با پیچیدگی زیاد ممکناند، در SQL خام بهراحتی قابل استفادهاند.
نگهداری و مقیاسپذیری چطور مدیریت شد؟
برای جلوگیری از بینظمی، تیمها:
* کوئریها را در فایلهای جدا و نسخهدار نگه داشتند
* از template و query loaderهای سبک استفاده کردند
* روی هر کوئری تست (یا حداقل EXPLAIN) نوشتند
* قواعد ساده ولی سختگیرانهای برای امنیت (مثل پارامترگذاری) اعمال کردند
در نتیجه، برخلاف تصور اولیه، نگهداشت SQL خام هم قابل مدیریت و حتی لذتبخش شد.
کی باید ORM را کنار گذاشت؟
تجربهی مشترک تیمها نشان میدهد:
* برای پروژههای کوچک، MVPها یا پنلهای ادمین، ORM عالی است.
* اما در پروژههای دادهمحور، با ترافیک بالا، کوئریهای پیچیده و نیاز به کنترل عملکرد، ORM بهجای کمک، تبدیل به مانع میشود.
جمعبندی
بسیاری از ما با ORMها بزرگ شدهایم اما آیا هنوز ORM بهترین ابزار ماست؟ یا فقط آسانترین است؟
در دنیایی که عملکرد، شفافیت و کنترل ارزش بیشتری از سرعت اولیه دارند، شاید وقت آن است که دوباره به SQL خام یا ترکیب آن با ORm فکر کنیم — این بار با بلوغ بیشتر و ابزارهای بهتر.
@DevTwitter | <Mojtaba Banaie/>
👍59👎33❤13🔥2
درحال حاضر طرح هایی که انیمیشن داشته باشن از نظر تجربه کاربری و ui ux بهتر نسبت به سایت های بی انیمیشن خیلی جلوتر هستن
سایت motion یکی از بهترین ها برای انیمیشن های فرانت اند هستش که میتونیم اون رو در JS خام - React - Vue به راحتی استفاده کنیم
و همچنین یکی از نقطه قوت های دیگه Motion هم documents قوی و راحت اون هستش که کار باهاش رو خیلی آسون میکنه
آدرس سایت: https://motion.dev/
@DevTwitter | <arvin Fa/>
سایت motion یکی از بهترین ها برای انیمیشن های فرانت اند هستش که میتونیم اون رو در JS خام - React - Vue به راحتی استفاده کنیم
و همچنین یکی از نقطه قوت های دیگه Motion هم documents قوی و راحت اون هستش که کار باهاش رو خیلی آسون میکنه
آدرس سایت: https://motion.dev/
@DevTwitter | <arvin Fa/>
❤43👍2🔥1
این ریپو واقعاً مثل یه گنج پنهانه که خیلیها به راحتی از کنارش رد میشن، بدون اینکه بدونن چه ارزش بزرگی پشتشه. اینجا بیش از ۳۰۰ تا Case Study از بیشتر از ۸۰ تا شرکت پیشرو دنیا جمعآوری شده؛ شرکتهایی مثل Netflix، Airbnb و Doordash که هر کدوم تجربۀ واقعیشون از ML System Design رو به اشتراک گذاشتن.
اما موضوع فقط جمع کردن تجربهها نیست؛ هر کدوم از این Case Studyها یه دریچهست به دنیای واقعی، جایی که میشه دید چطور ML توی دل محصولها و فرآیندها به کار گرفته میشه تا کیفیت و کارایی رو چند برابر کنه. این یعنی به جای خوندن تئوریهای خشک، شما با مثالهای زنده و
قابل لمس سروکار دارین.
لینک ریپو:
https://github.com/Engineer1999/A-Curated-List-of-ML-System-Design-Case-Studies
@DevTwitter | <Reza Jafari/>
اما موضوع فقط جمع کردن تجربهها نیست؛ هر کدوم از این Case Studyها یه دریچهست به دنیای واقعی، جایی که میشه دید چطور ML توی دل محصولها و فرآیندها به کار گرفته میشه تا کیفیت و کارایی رو چند برابر کنه. این یعنی به جای خوندن تئوریهای خشک، شما با مثالهای زنده و
قابل لمس سروکار دارین.
لینک ریپو:
https://github.com/Engineer1999/A-Curated-List-of-ML-System-Design-Case-Studies
@DevTwitter | <Reza Jafari/>
❤33👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
بچه ها این شبیه سازی سیاه چاله رو صفر تا صد خودم انجام دادم تو پایتون. و میتونم بهتون بگم فیزیکش به شدت دقیقه و سعی کردم همه چیو توش لحاظ کنم.
کدش رو هم تو گیتهاب گذاشتم.
اگه ستاره بید و حمایتم کنید ممنون میشم، واقعا پاره شدم سر این پروژه.
https://github.com/amirh0ss3in/Gargantua
@DevTwitter | <کاپیتان ویلیام/>
کدش رو هم تو گیتهاب گذاشتم.
اگه ستاره بید و حمایتم کنید ممنون میشم، واقعا پاره شدم سر این پروژه.
https://github.com/amirh0ss3in/Gargantua
@DevTwitter | <کاپیتان ویلیام/>
🔥160👎7❤6👍4
فکت بامزه: HTTP یه کد 418 داره که میشه "I'm a teapot" که توی دروغ آپریل در سال ۱۹۹۸ به استاندارد ها اضافه شده و پیغامش اینه:
I'm a teapot and I can't brew coffee
من یک قوری چای هستم و نمیتونم قهوه دم کنم
@DevTwitter | <Mohammad Mousavi/>
I'm a teapot and I can't brew coffee
من یک قوری چای هستم و نمیتونم قهوه دم کنم
@DevTwitter | <Mohammad Mousavi/>
👍60🔥17❤4👎2
یک دوره خیلی خوب از کمپانی Databricks در مورد MLOps که در قالب ۱۰ تا ویدیو در یوتیوب هست. خیلی خوبند.
Youtube: https://youtube.com/playlist?list=PL_MIDuPM12MOcQQjnLDtWCCCuf1Cv-nWL
@DevTwitter | <Mehdi Allahyari/>
Youtube: https://youtube.com/playlist?list=PL_MIDuPM12MOcQQjnLDtWCCCuf1Cv-nWL
@DevTwitter | <Mehdi Allahyari/>
👍13🔥4
اینجا میتونید کاملاً رایگان از بیش از ۵۰۰ مدل AI از جمله مدلهای خفن و گرون o1-pro و Claude 4.1 Opus استفاده کنید. فقط کافیه بعد از هر پاسخ یه بازخورد کوچیک بدید.
https://yupp.ai/
@DevTwitter | <Ayub/>
https://yupp.ai/
@DevTwitter | <Ayub/>
🔥34👎6❤2
یکی از بزرگترین چالش فارسی زبانان حل کردم!
افزونه متنباز نوشتم ، اشتباهات رایج کیبورد (مثل \vs\,gds به پرسپولیس) و فینگلیش را به صورت آنی اصلاح میکند. این ابزار به عنوان دستیار دانش به ویکیپدیا و گوگل متصل است.
https://github.com/AmirMotefaker/Farsi-Smart-Assistant
@DevTwitter | <Amir Motefaker/>
افزونه متنباز نوشتم ، اشتباهات رایج کیبورد (مثل \vs\,gds به پرسپولیس) و فینگلیش را به صورت آنی اصلاح میکند. این ابزار به عنوان دستیار دانش به ویکیپدیا و گوگل متصل است.
https://github.com/AmirMotefaker/Farsi-Smart-Assistant
@DevTwitter | <Amir Motefaker/>
🔥70👎23👍11❤2
بعد از چند روز استفاده از browser جدید perplexity :
چندین بار از agent اش برای خرید کمک گرفتم، خودش صفحات وبسایت های مختلف رو باز میکرد، review هارو میخوند و در آخر یه ایده خوب بهم میداد.
ایجنت اش میتونه راحت کنترل صفحه رو به دست بگیره و کارای طولانی رو انجام بده
به نظر من هنوز سرعت چیزی هست که باید روش کار بشه. البته کلا agent اش خیلی خوب وارد این browser شده.
@DevTwitter | <Mani/>
چندین بار از agent اش برای خرید کمک گرفتم، خودش صفحات وبسایت های مختلف رو باز میکرد، review هارو میخوند و در آخر یه ایده خوب بهم میداد.
ایجنت اش میتونه راحت کنترل صفحه رو به دست بگیره و کارای طولانی رو انجام بده
به نظر من هنوز سرعت چیزی هست که باید روش کار بشه. البته کلا agent اش خیلی خوب وارد این browser شده.
@DevTwitter | <Mani/>
👎22❤11👍8🔥2
اگر لپتاپ MSI دارید و میخواین معادل لینوکسی MSI Center رو نصب کنید این جا رو چک کنید. من خودم استفاده میکنم چند روزه و اکثر قابلیت های نسخه ویندوزی رو داره و اکیم.
https://github.com/dmitry-s93/MControlCenter
@DevTwitter | <Amir.local/>
https://github.com/dmitry-s93/MControlCenter
@DevTwitter | <Amir.local/>
🔥18
This media is not supported in your browser
VIEW IN TELEGRAM
به کمک ابزار AI اوپن سورس زیر میتونید تصاویر چهره تار و بی کیفیت رو بازسازی کنید.
Website: http://restorephotos.io
Github: https://github.com/Nutlope/restorePhotos
@DevTwitter | <Diego Jr/>
Website: http://restorephotos.io
Github: https://github.com/Nutlope/restorePhotos
@DevTwitter | <Diego Jr/>
❤15👍1🔥1
در چند هفته گذشته کمی وقت داشتم و پروژه متنباز «بینا» رو به نسخه اول رسوندم. «بینا» نرمافزاری برای تست visual regression فرانتاند است و میتونه جایگزین سرویسهای ابری مثل Chromatic باشه (با این کار سالانه ۱/۸ تا ۳۵هزار دلار کاهش هزینه خواهید داشت)
https://github.com/Overding/Beena
@DevTwitter | <Arash Milani />
https://github.com/Overding/Beena
@DevTwitter | <Arash Milani />
🔥17❤3👍1
اجرای کدهای پایتون در داتنت با جادوی CSnakes!
و این یعنی تمام ۱.۵ میلیون مدل روی HuggingFace را میتوان با همان پرفورمنس و بدون نیاز به کشیدن لایههای REST در دسترس است.
https://www.youtube.com/watch?v=fDbCqalegNU
@DevTwitter | < uɒɹɥəɯ/>
و این یعنی تمام ۱.۵ میلیون مدل روی HuggingFace را میتوان با همان پرفورمنس و بدون نیاز به کشیدن لایههای REST در دسترس است.
https://www.youtube.com/watch?v=fDbCqalegNU
@DevTwitter | < uɒɹɥəɯ/>
👍24👎7❤5🔥2
یک نرم افزار پایتونی برای تبدیل pdf به وُیس نوشتم که میتونید از طریق لینک زیر دانلود کنید:
https://github.com/silverspiderofficial/pdf_to_voice
@DevTwitter | <silverspider/>
https://github.com/silverspiderofficial/pdf_to_voice
@DevTwitter | <silverspider/>
❤38👍7👎2🔥1
فرض کنید یه جدول با میلیونها رکورد داریم و باید کاربر رو بر اساس شماره موبایل پیدا کنیم.
بدون ایندکس، دیتابیس کل جدول رو خط به خط میگرده.
با ایندکس، دیتابیس میتونه در چند میلیثانیه رکورد رو پیدا کنه چون از الگوریتمهایی مثل Binary Search استفاده میکنه.
تصاویر اسلایدها رو ببینید:
اسلاید 1 (بدون ایندکس – روش بد):این حالت روی دیتابیس بزرگ خیلی کند میشه چون اسکن خطی انجام میشه.
اسلاید 2 (با ایندکس – روش درست) :همین ایندکس ساده باعث میشه دیتابیس خیلی سریعتر رکورد رو پیدا کنه.
گاهی وقتا بهینهسازی لازم فقط همینقدر سادهست: یه ایندکس درست روی ستون مهم.
این تغییر کوچیک میتونه بین اپلیکیشن کند و اپلیکیشن سریع تفاوت رو مشخص کنه.
@DevTwitter | <Saber Qadimi/>
بدون ایندکس، دیتابیس کل جدول رو خط به خط میگرده.
با ایندکس، دیتابیس میتونه در چند میلیثانیه رکورد رو پیدا کنه چون از الگوریتمهایی مثل Binary Search استفاده میکنه.
تصاویر اسلایدها رو ببینید:
اسلاید 1 (بدون ایندکس – روش بد):این حالت روی دیتابیس بزرگ خیلی کند میشه چون اسکن خطی انجام میشه.
اسلاید 2 (با ایندکس – روش درست) :همین ایندکس ساده باعث میشه دیتابیس خیلی سریعتر رکورد رو پیدا کنه.
گاهی وقتا بهینهسازی لازم فقط همینقدر سادهست: یه ایندکس درست روی ستون مهم.
این تغییر کوچیک میتونه بین اپلیکیشن کند و اپلیکیشن سریع تفاوت رو مشخص کنه.
@DevTwitter | <Saber Qadimi/>
👍49❤12👎6🔥1