برنامه search bot رو نوشتم کارش اینه می یاد از تمامی سایت های مثل libGen(اناناس ارکایو) تمامی PDF ها مرتبط به query رو دانلود می کنه همه رو RAG می کنه بعد برات تحلیل می کنه. برای استفاده پیشنهاد من استفاده از مدل خودمه.
https://github.com/raaaas/search-bot
@DevTwitter | <raa's/>
https://github.com/raaaas/search-bot
@DevTwitter | <raa's/>
👍14👎6🍌3
کتابخانهی آفلاین کد شما - CodeBank
اگر یه کتابخانهی آفلاین، سبک و هوشمند از کدها، آبجکتها و اسنیپتهای برنامهنویسی که بهت اجازه میده بهجای اینکه هر بار کدهای تکراری، سخت یا وقتگیر رو از صفر بنویسی، فقط کپی کنی و توی پروژهت استفاده کنی. CodeBank چاره ی مشکلته!
فرض کن کانکشن SQL میخوای، یه الگوریتم آماده لازم داری، یا یه Helper Function پرکاربرد — بهجای ساعتها سرچ و کدنویسی، توی چند ثانیه کد مورد نظرت رو پیدا میکنی و کارت رو راه میندازی. کاملاً آفلاین، بدون نیاز به اینترنت، همیشه در دسترس.
این پروژه هنوز کامل نیست اما همین الان قابل استفادهست و داره هر روز بزرگتر میشه. هدفم اینه که CodeBank خیلی فراتر از یه مخزن کد ساده باشه — یه مرجع کامل و دستیار روزمره برای برنامهنویسها. اگه دوستش داشتی، خوشحال میشم به ریپو ستاره بدی، فیدبک بدی یا توی توسعهش کمک کنی.
GitHub: https://github.com/Matin-dev-2010/CodeBank
@DevTwitter | <متین عباسزاده/>
اگر یه کتابخانهی آفلاین، سبک و هوشمند از کدها، آبجکتها و اسنیپتهای برنامهنویسی که بهت اجازه میده بهجای اینکه هر بار کدهای تکراری، سخت یا وقتگیر رو از صفر بنویسی، فقط کپی کنی و توی پروژهت استفاده کنی. CodeBank چاره ی مشکلته!
فرض کن کانکشن SQL میخوای، یه الگوریتم آماده لازم داری، یا یه Helper Function پرکاربرد — بهجای ساعتها سرچ و کدنویسی، توی چند ثانیه کد مورد نظرت رو پیدا میکنی و کارت رو راه میندازی. کاملاً آفلاین، بدون نیاز به اینترنت، همیشه در دسترس.
این پروژه هنوز کامل نیست اما همین الان قابل استفادهست و داره هر روز بزرگتر میشه. هدفم اینه که CodeBank خیلی فراتر از یه مخزن کد ساده باشه — یه مرجع کامل و دستیار روزمره برای برنامهنویسها. اگه دوستش داشتی، خوشحال میشم به ریپو ستاره بدی، فیدبک بدی یا توی توسعهش کمک کنی.
GitHub: https://github.com/Matin-dev-2010/CodeBank
@DevTwitter | <متین عباسزاده/>
👍22👎4🍌3
اگه antigravity بهتون خطای not eligible میده دوای دردتون پیش منه
چون روش های روسی دیگه جواب نمیده یه روش جدید براتون پیدا کردم :
https://github.com/fulldiagnose/antigravity-fixer
عشق کنید
@DevTwitter | <Reza/>
چون روش های روسی دیگه جواب نمیده یه روش جدید براتون پیدا کردم :
https://github.com/fulldiagnose/antigravity-fixer
عشق کنید
@DevTwitter | <Reza/>
❤24🍌7🔥2
اینم برای کسایی که بکند رو بهتر میخوان یاد بگیرن
https://www.youtube.com/watch?v=_PipiJ_i6Pk
@DevTwitter | <Alireza/>
https://www.youtube.com/watch?v=_PipiJ_i6Pk
@DevTwitter | <Alireza/>
1❤22🍌4👍2
صدای ویندوزهای قدیمی یادتونه؟
صدای Startup ویندوز XP، خطای Windows 98، صدای وصل شدن دستگاهها و کلی صدای خاطرهانگیز دیگه...
یک نفر همه صداهای ویندوز از Windows 3.x تا Windows 11 رو یکجا جمع کرده.
بیش از ۳۰ سال تاریخ صوتی ویندوز، در یک ریپازیتوری!
https://github.com/MCPlayer2015/all-windows-sounds
@DevTwitter | <MehrdadLinux/>
صدای Startup ویندوز XP، خطای Windows 98، صدای وصل شدن دستگاهها و کلی صدای خاطرهانگیز دیگه...
یک نفر همه صداهای ویندوز از Windows 3.x تا Windows 11 رو یکجا جمع کرده.
بیش از ۳۰ سال تاریخ صوتی ویندوز، در یک ریپازیتوری!
https://github.com/MCPlayer2015/all-windows-sounds
@DevTwitter | <MehrdadLinux/>
👍23🍌15🔥5
سرویس Cloudflare میخواد به یه مرجع صدور گواهی عمومی تبدیل بشه.
هدفشون چیه؟ میخوان گواهیهای دیجیتالی بر پایه Merkle Tree Certificates صادر کنن که در برابر حملات کامپیوترهای کوانتومی در آینده مقاوم باشه.
یعنی خیلی قبلتر از اینکه کامپیوترهای کوانتومی بتونن رمزنگاریهای فعلی رو بشکنن، Cloudflare داره امنیت سایتها رو برای نسل بعدی اینترنت تضمین میکنه.
@DevTwitter | <Behrad Javed/>
هدفشون چیه؟ میخوان گواهیهای دیجیتالی بر پایه Merkle Tree Certificates صادر کنن که در برابر حملات کامپیوترهای کوانتومی در آینده مقاوم باشه.
یعنی خیلی قبلتر از اینکه کامپیوترهای کوانتومی بتونن رمزنگاریهای فعلی رو بشکنن، Cloudflare داره امنیت سایتها رو برای نسل بعدی اینترنت تضمین میکنه.
@DevTwitter | <Behrad Javed/>
🔥67❤7👍7
This media is not supported in your browser
VIEW IN TELEGRAM
سایتی که حرصتان را درآورده با آرپیجی نابود کنید!
بازی تحت وب Destroy Any Website یک تجربه سرگرمکننده برای تخلیه عصبانیت است که به شما اجازه میدهد آدرس هر سایتی را وارد کنید و نسخه شبیهسازیشده آن را با یک کاراکتر خطی و سلاحهایی مثل آرپیجی و شعلهافکن نابود کنید. این بازی از حالت چندنفره تا ۶ نفر هم پشتیبانی میکند تا بتوانید همراه دوستانتان وارد عملیات تخریب شوید؛ البته همهچیز فقط یک شبیهسازی است و آسیبی به سایتهای واقعی وارد نمیشود.
لینک بازی:
https://destroy.spritefusion.com
@DevTwitter | <Digiato/>
بازی تحت وب Destroy Any Website یک تجربه سرگرمکننده برای تخلیه عصبانیت است که به شما اجازه میدهد آدرس هر سایتی را وارد کنید و نسخه شبیهسازیشده آن را با یک کاراکتر خطی و سلاحهایی مثل آرپیجی و شعلهافکن نابود کنید. این بازی از حالت چندنفره تا ۶ نفر هم پشتیبانی میکند تا بتوانید همراه دوستانتان وارد عملیات تخریب شوید؛ البته همهچیز فقط یک شبیهسازی است و آسیبی به سایتهای واقعی وارد نمیشود.
لینک بازی:
https://destroy.spritefusion.com
@DevTwitter | <Digiato/>
❤60🍌15👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍5👎2
پروژه OpenDots یک جایگزین متنباز و قابل self-host برای محصول Dots از OpenAI است که توسط تیم CopilotKit منتشر شده.
ایده اصلی آن ساخت همکاران هوش مصنوعی است که هر کدام نقش مشخصی دارند، بین محیط چت متنی، تماس صوتی و اسلک جابهجا میشوند و به یک محیط کامپیوتر ایزوله (شامل مرورگر اختصاصی، سیستم فایل و دسترسی به ترمینال) دسترسی دارند تا کارهای واقعی انجام دهند. این سیستم امکان ایجاد فضاهای کاری مستنداتی و کارتهای تایید انسانی (Human-in-the-Loop) قبل از ذخیره نهایی تغییرات را هم فراهم میکند.
لینک پروژه در گیتهاب:
https://github.com/CopilotKit/OpenDots
@DevTwitter | <Mehdi Allahyari/>
ایده اصلی آن ساخت همکاران هوش مصنوعی است که هر کدام نقش مشخصی دارند، بین محیط چت متنی، تماس صوتی و اسلک جابهجا میشوند و به یک محیط کامپیوتر ایزوله (شامل مرورگر اختصاصی، سیستم فایل و دسترسی به ترمینال) دسترسی دارند تا کارهای واقعی انجام دهند. این سیستم امکان ایجاد فضاهای کاری مستنداتی و کارتهای تایید انسانی (Human-in-the-Loop) قبل از ذخیره نهایی تغییرات را هم فراهم میکند.
لینک پروژه در گیتهاب:
https://github.com/CopilotKit/OpenDots
@DevTwitter | <Mehdi Allahyari/>
👍21🍌2❤1
میتونید به بیشتر از 3000000 میلیون skill از سایت زیر دسترسی داشته باشید:
https://skillsmp.com/
@DevTwitter | <Reza Shakeri/>
https://skillsmp.com/
@DevTwitter | <Reza Shakeri/>
👍29🔥3❤2
این سایتم تمام ابزار ها و چیزای مربوط به وایب کدینگ رو جمع کرده یکجا :
https://vibecodes.net
@DevTwitter | <alireza kn/>
https://vibecodes.net
@DevTwitter | <alireza kn/>
❤24🍌11👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🍌6👎1
مخزن Traycer: مرکز فرماندهی برای کدنویسی
ایجنتهایی که داری (Claude Code، Codex، Cursor و...) رو وصل میکنی و چندتا رو موازی اجرا میکنی بدون اینکه context رو از دست بدی.
انگار که یک Combo از ایجنتهات بسازی که همزمان روی یه context کار کنن!
گیتهاب:
https://github.com/traycerai/traycer
@DevTwitter | <Diego Jr/>
ایجنتهایی که داری (Claude Code، Codex، Cursor و...) رو وصل میکنی و چندتا رو موازی اجرا میکنی بدون اینکه context رو از دست بدی.
انگار که یک Combo از ایجنتهات بسازی که همزمان روی یه context کار کنن!
گیتهاب:
https://github.com/traycerai/traycer
@DevTwitter | <Diego Jr/>
🔥12❤3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
الان Open Dots معرفی شد؛ همون قابلیتها، با یکدهم هزینه!
شرکن OpenAI همین دیروز Dot رو برای کاربران Pro عرضه کرد؛ اما Open Dots متنبازه، روی مک اجرا میشه و هزینه خیلی کمتری داره.
چطور کار میکنه؟
- هر Dot مرورگر اختصاصی خودش رو داره که بهصورت امن لاگین میمونه
- به Gmail، Calendar و بیش از ۱۵۰۰ اپلیکیشن دیگه وصل میشه و میتونه براشون Trigger بسازه
- میتونید حین مکالمه بهش کار بدید و ازش بخواید انجامشون بده
- چند Dot میتونن با هم هماهنگ بشن و Reminder تنظیم کنن
ساختهشده با Composio و OpenRouter.
https://github.com/composio-community/open-dot
@DevTwitter | <امیرحسین اسلامی/>
شرکن OpenAI همین دیروز Dot رو برای کاربران Pro عرضه کرد؛ اما Open Dots متنبازه، روی مک اجرا میشه و هزینه خیلی کمتری داره.
چطور کار میکنه؟
- هر Dot مرورگر اختصاصی خودش رو داره که بهصورت امن لاگین میمونه
- به Gmail، Calendar و بیش از ۱۵۰۰ اپلیکیشن دیگه وصل میشه و میتونه براشون Trigger بسازه
- میتونید حین مکالمه بهش کار بدید و ازش بخواید انجامشون بده
- چند Dot میتونن با هم هماهنگ بشن و Reminder تنظیم کنن
ساختهشده با Composio و OpenRouter.
https://github.com/composio-community/open-dot
@DevTwitter | <امیرحسین اسلامی/>
❤13👍5
گوگل چند وقت پیش ax رو معرفی کرد که اُپن سورسه ولی کم دیدم در موردش حرف زده بشه.
مشکل kubernetes اینه که برای pod ها همونقدر که cpu و ram درخواست کرده باشن کنار میذاره، فرقی نداره مصرف واقعی چقدر باشه!
اما ایجنت بیشتر وقتش منتظره، چند ثانیه کار میکنه، یه tool call میزنه بعد دوباره منتظر تایید یا جواب میمونه! این انتظار از چند ثانیه طول میکشه تا ساعتها و...
و اگه شما هزاران ایجنت روی سرور deploy میکنید این اصلا خبر خوبی نیست چون منابع برای هر ایجنت دائمی کنار گذاشته میشه :)
حالا ax اومده و اینو با agent substrate حل کرده! وقتی ایجنت منتظره ازش یه snapshot میگیره، بعد جاشو میده به یک ایجنت دیگه، هر موقع ایجنت خواست ادامه بده، زیر ۵۰۰ میلیثانیه state قبلیش رو restore میکنه!
اینجوری روی یک سرور میشه تا صدها و یا هزاران ایجنت ران کرد!
https://github.com/google/ax
@DevTwitter | <Amir/>
مشکل kubernetes اینه که برای pod ها همونقدر که cpu و ram درخواست کرده باشن کنار میذاره، فرقی نداره مصرف واقعی چقدر باشه!
اما ایجنت بیشتر وقتش منتظره، چند ثانیه کار میکنه، یه tool call میزنه بعد دوباره منتظر تایید یا جواب میمونه! این انتظار از چند ثانیه طول میکشه تا ساعتها و...
و اگه شما هزاران ایجنت روی سرور deploy میکنید این اصلا خبر خوبی نیست چون منابع برای هر ایجنت دائمی کنار گذاشته میشه :)
حالا ax اومده و اینو با agent substrate حل کرده! وقتی ایجنت منتظره ازش یه snapshot میگیره، بعد جاشو میده به یک ایجنت دیگه، هر موقع ایجنت خواست ادامه بده، زیر ۵۰۰ میلیثانیه state قبلیش رو restore میکنه!
اینجوری روی یک سرور میشه تا صدها و یا هزاران ایجنت ران کرد!
https://github.com/google/ax
@DevTwitter | <Amir/>
❤29🔥4👍3
سایت serv00.com سرور freebsd مادام العمر با ۵۱۲ مگ رم و ۳ گیگ فضا فقط به ۳۰۰۰ نفر میده.
@DevTwitter | <Reza Shakeri/>
@DevTwitter | <Reza Shakeri/>
❤29👎14🔥3
بعضی پروژهها از یه نیاز شروع میشن، بعضیها هم از یه پست لینکدین
چند وقت پیش تو لینکدین یه پروژه دیدم که میشد باهاش نقشه ایران رو بر اساس دادهها رنگآمیزی کرد.
ایده برام خیلی جذاب بود، ولی همون موقع با خودم گفتم اگه بشه یه کم بیشتر توسعه دادش چی؟
و این شد شروع Iran Map Studio
شروع کردم به ساختن نسخهای که علاوه بر نقشه کلی ایران، بشه روی استانها و شهرستانها هم کار کرد؛
داده وارد کرد، ظاهر نقشه رو تغییر داد و در نهایت خروجی مناسب برای گزارش، ارائه، شبکههای اجتماعی و... گرفت.
کمکم چندتا چیز دیگه هم بهش اضافه شد
- ورود داده از Excel، CSV و JSON
- تنظیم رنگها و پالتهای مختلف
- تغییر فونت و اندازه نوشتهها
- فارسی و انگلیسی
- نمایش یا حذف اسم مناطق
- خروجی PNG و JPG با کیفیتهای مختلف
- و مهمتر از همه، پردازش اطلاعات کاملاً داخل مرورگر انجام میشه و دادهای به سرور ارسال نمیشه.
فعلاً این نسخه اولیشه و احتمالا هنوز کلی جا برای بهتر شدن داره.
اتفاقا یکی از دلایلی که الان منتشرش میکنم همینه
گیتهاب:
https://github.com/Hhhkarimi/IranMapStudio
نسخه آنلاین:
https://iran-map-studio.vercel.app/
اگه پروژه براتون جالب بود، یه ستاره روی GitHub خیلی بهم انرژی میده.
@DevTwitter | <Hossein Karimi/>
چند وقت پیش تو لینکدین یه پروژه دیدم که میشد باهاش نقشه ایران رو بر اساس دادهها رنگآمیزی کرد.
ایده برام خیلی جذاب بود، ولی همون موقع با خودم گفتم اگه بشه یه کم بیشتر توسعه دادش چی؟
و این شد شروع Iran Map Studio
شروع کردم به ساختن نسخهای که علاوه بر نقشه کلی ایران، بشه روی استانها و شهرستانها هم کار کرد؛
داده وارد کرد، ظاهر نقشه رو تغییر داد و در نهایت خروجی مناسب برای گزارش، ارائه، شبکههای اجتماعی و... گرفت.
کمکم چندتا چیز دیگه هم بهش اضافه شد
- ورود داده از Excel، CSV و JSON
- تنظیم رنگها و پالتهای مختلف
- تغییر فونت و اندازه نوشتهها
- فارسی و انگلیسی
- نمایش یا حذف اسم مناطق
- خروجی PNG و JPG با کیفیتهای مختلف
- و مهمتر از همه، پردازش اطلاعات کاملاً داخل مرورگر انجام میشه و دادهای به سرور ارسال نمیشه.
فعلاً این نسخه اولیشه و احتمالا هنوز کلی جا برای بهتر شدن داره.
اتفاقا یکی از دلایلی که الان منتشرش میکنم همینه
گیتهاب:
https://github.com/Hhhkarimi/IranMapStudio
نسخه آنلاین:
https://iran-map-studio.vercel.app/
اگه پروژه براتون جالب بود، یه ستاره روی GitHub خیلی بهم انرژی میده.
@DevTwitter | <Hossein Karimi/>
❤48🍌11👍10
یک API و ۴ خروجی؛ یک تغییر و ۴ دردسر!
این اتفاق زمانی میفته که SDK، CLI، Documentation و Schema رو جدا از هم نگهداری میکنیم.
مشکل اینجاست که یک تغییر کوچک در API میتونه باعث ناهماهنگی در یک یا چندتا از این منابع بشه.
شرکت Cloudflare برای حل این مشکل Forge رو منتشر کرده. ایدهاش اینه که با یک API Definition چندین خروجی بتونیم داشته باشیم و بهجای اینکه SDK یا Documentation رو دستی آپدیت کنیم، Forge اونها رو از طریق API Definition تولید میکنه.
حتی میشه این فرایند رو در CI داشت. یعنی وقتی API تغییر میکنه، Forge میتونه توی همون Pull Request خروجیهای جدید رو بسازه و Preview تحویل بده. اینطوری قبل از اینکه تغییر وارد Release بشه، میبینیم چه چیزهایی تغییر کرده.
این فقط محدود به SDK نیست. یک OpenAPI میتونه به SDK، CLI، Documentation و یا خروجیهای سفارشی تبدیل بشه.
به نظرم بخش مهم ماجرا خود Forge نیست، اینه که API باید Source of Truth باشه، نه یکی از چندین منبع. هر چیزی که از API ساخته میشه، بهتره تا جای ممکن Generated باشه، نه چیزی که یک نفر باید بعدا بهصورت دستی Sync نگهش داره.
کلادفلر این پروژه رو با لایسنس Apache 2.0 به صورت متنباز منتشر کرده:
https://github.com/cloudflare/forge
@DevTwitter | <Mehrad S/>
این اتفاق زمانی میفته که SDK، CLI، Documentation و Schema رو جدا از هم نگهداری میکنیم.
مشکل اینجاست که یک تغییر کوچک در API میتونه باعث ناهماهنگی در یک یا چندتا از این منابع بشه.
شرکت Cloudflare برای حل این مشکل Forge رو منتشر کرده. ایدهاش اینه که با یک API Definition چندین خروجی بتونیم داشته باشیم و بهجای اینکه SDK یا Documentation رو دستی آپدیت کنیم، Forge اونها رو از طریق API Definition تولید میکنه.
حتی میشه این فرایند رو در CI داشت. یعنی وقتی API تغییر میکنه، Forge میتونه توی همون Pull Request خروجیهای جدید رو بسازه و Preview تحویل بده. اینطوری قبل از اینکه تغییر وارد Release بشه، میبینیم چه چیزهایی تغییر کرده.
این فقط محدود به SDK نیست. یک OpenAPI میتونه به SDK، CLI، Documentation و یا خروجیهای سفارشی تبدیل بشه.
به نظرم بخش مهم ماجرا خود Forge نیست، اینه که API باید Source of Truth باشه، نه یکی از چندین منبع. هر چیزی که از API ساخته میشه، بهتره تا جای ممکن Generated باشه، نه چیزی که یک نفر باید بعدا بهصورت دستی Sync نگهش داره.
کلادفلر این پروژه رو با لایسنس Apache 2.0 به صورت متنباز منتشر کرده:
https://github.com/cloudflare/forge
@DevTwitter | <Mehrad S/>
👍11
آسیبپذیری جدید Docker | CVE-2026-17106
یه آسیبپذیری با نام CopyEscape در Docker پیدا شده که به قابلیت docker cp مربوط میشه.
داستان سادهش اینه :
وقتی با docker cp فایلی رو بین Container و Host جابهجا میکنیم، توی نسخههای آسیبپذیر، یک Container مخرب میتونه با استفاده از Symlink مسیر فایل رو تغییر بده و باعث بشه فایل خارج از مسیر موردنظر روی Host نوشته یا Overwrite بشه.
یعنی چیزی که قرار بوده فقط داخل یه مسیر خاص کپی بشه، ممکنه به مسیر دیگهای روی Host برسه. ️
CVE: CVE-2026-17106
Severity: High
CVSS: 7.1
نسخههای آسیبپذیر: Docker Engine قبل از 29.7.0
نسخه اصلاحشده: 29.7.0 و بالاتر
اگر Docker دارید، حتماً نسخهتون رو بررسی و در صورت امکان به نسخه اصلاحشده یا آخرین نسخه پایدار ارتقا بدید.
@DevTwitter | <Mohadeseh Heshmatian/>
یه آسیبپذیری با نام CopyEscape در Docker پیدا شده که به قابلیت docker cp مربوط میشه.
داستان سادهش اینه :
وقتی با docker cp فایلی رو بین Container و Host جابهجا میکنیم، توی نسخههای آسیبپذیر، یک Container مخرب میتونه با استفاده از Symlink مسیر فایل رو تغییر بده و باعث بشه فایل خارج از مسیر موردنظر روی Host نوشته یا Overwrite بشه.
یعنی چیزی که قرار بوده فقط داخل یه مسیر خاص کپی بشه، ممکنه به مسیر دیگهای روی Host برسه. ️
CVE: CVE-2026-17106
Severity: High
CVSS: 7.1
نسخههای آسیبپذیر: Docker Engine قبل از 29.7.0
نسخه اصلاحشده: 29.7.0 و بالاتر
اگر Docker دارید، حتماً نسخهتون رو بررسی و در صورت امکان به نسخه اصلاحشده یا آخرین نسخه پایدار ارتقا بدید.
@DevTwitter | <Mohadeseh Heshmatian/>
👍5❤4
خیلی از مهندسای نرم افزار از AI انتظار معجزه دارن، بدون اینکه ورودی درستی بهش بدن.
پرامپتنویسی برای معماری نرمافزار این نیست که بنویسیم: «یک معماری خوب برای این سیستم طراحی کن!»
اگر ورودی ما سطحی باشه، خروجی فقط تکرار کلیدواژههای ترند روز (مثل Microservices و Kafka) بدون در نظر گرفتن شرایط پروژه و تیم میشه.
برای یک خروجی کاربردی معماری، پرامپت حداقل به این ۵ بخش نیاز داریم:
۱. بخش Context: مسئله واقعی، دامنه بیزینس و مقیاس کار چیه؟
۲. بخش Role: چه نقشی از AI انتظار داری؟ (معمار ارشد، طراح امنیت، منتقد معماری؟)
۳. بخش Constraints: محدودیتها کجاست؟ (تیم ۳ نفره، بودجه محدود، ددلاین نزدیک، استک مشخص؟)
۴. بخش Task: دقیقاً چه خروجی تحلیلی مدنظرته؟ (مقایسه گزینهها، پیدا کردن نقاط شکست؟)
۵. بخش Output: ساختار خروجی چی باشه؟ (جدول مقایسه Trade-off، فرمت ADR، یا دیاگرام Mermaid؟)
اگر پرامپت ما شامل این موارد باشه میتونیم خروجی دقیق تری از AI بگیریم که در انتخاب معماری مناسب پروژه خیلی کمک کننده است.
@DevTwitter | <Amir Rahimi Nejad/>
پرامپتنویسی برای معماری نرمافزار این نیست که بنویسیم: «یک معماری خوب برای این سیستم طراحی کن!»
اگر ورودی ما سطحی باشه، خروجی فقط تکرار کلیدواژههای ترند روز (مثل Microservices و Kafka) بدون در نظر گرفتن شرایط پروژه و تیم میشه.
برای یک خروجی کاربردی معماری، پرامپت حداقل به این ۵ بخش نیاز داریم:
۱. بخش Context: مسئله واقعی، دامنه بیزینس و مقیاس کار چیه؟
۲. بخش Role: چه نقشی از AI انتظار داری؟ (معمار ارشد، طراح امنیت، منتقد معماری؟)
۳. بخش Constraints: محدودیتها کجاست؟ (تیم ۳ نفره، بودجه محدود، ددلاین نزدیک، استک مشخص؟)
۴. بخش Task: دقیقاً چه خروجی تحلیلی مدنظرته؟ (مقایسه گزینهها، پیدا کردن نقاط شکست؟)
۵. بخش Output: ساختار خروجی چی باشه؟ (جدول مقایسه Trade-off، فرمت ADR، یا دیاگرام Mermaid؟)
اگر پرامپت ما شامل این موارد باشه میتونیم خروجی دقیق تری از AI بگیریم که در انتخاب معماری مناسب پروژه خیلی کمک کننده است.
@DevTwitter | <Amir Rahimi Nejad/>
👍35🍌7❤4
هر روز ابزارهای هوش مصنوعی بهتر و بهتر کد مینویسند.
اما یک سؤال مهم وجود دارد:
اگر AI کدی تولید کند که کاملاً درست به نظر برسد، از کجا بفهمیم واقعاً درست است؟
این موضوع یکی از نکات جالب مقالهی Real Python دربارهی بررسی کدهای تولیدشده توسط AI است.
مشکل اینجاست که کد تولیدشده توسط AI لزوماً کد بدی نیست. اتفاقاً ممکن است:
- کاملاً تمیز و خوانا باشد
- از نظر Syntax مشکلی نداشته باشد
- تستهای موجود را پاس کند
- و حتی خیلی حرفهای به نظر برسد
اما با این حال، ممکن است منطق کسبوکار را اشتباه پیاده کرده باشد.
مثلاً فرض کنید از AI میخواهیم یک فرآیند Import برای چند میلیون رکورد بنویسد.
ممکن است کدی تولید کند که روی ۱۰۰ رکورد کاملاً درست کار کند؛ اما وقتی تعداد رکوردها به چند میلیون برسد، با مشکلاتی مثل مصرف زیاد حافظه، Queryهای زیاد، N+1 یا زمان اجرای بسیار بالا مواجه شویم.
پس هنگام Review کردن کد AI، فقط نباید بپرسیم:
«آیا این کد کار میکند؟»
باید سؤالهای دیگری هم بپرسیم:
- آیا دقیقاً همان چیزی را پیاده کرده که در Requirement خواسته شده؟
- اگر داده Null یا خالی باشد چه اتفاقی میافتد؟
- اگر رکورد تکراری باشد چه؟
- اگر دو درخواست همزمان اجرا شوند چه؟
- آیا Queryها روی حجم واقعی داده هم مناسب هستند؟
- آیا مشکلی از نظر Security وجود دارد؟
- آیا این کد با معماری فعلی پروژه سازگار است؟
- آیا AI چیزی را دوباره پیاده کرده که از قبل در پروژه وجود داشته؟
- آیا API یا متدی که استفاده شده واقعاً در Library یا Framework وجود دارد؟
به همین دلیل، با افزایش استفاده از AI Coding Tools، نقش Developer در حال تغییر است.
قبلاً بخش بزرگی از زمان ما صرف نوشتن کد میشد.
اما حالا میتوانیم بخش بیشتری از کدنویسی را به AI بسپاریم و زمان بیشتری را صرف فهمیدن مسئله، تصمیمگیری فنی و بررسی کد کنیم.
در واقع، یک Workflow مناسب میتواند چیزی شبیه این باشد:
- Requirement
- AI Implementation
- Automated Tests
- Code Review
- Verification
و شاید مهمترین مهارتی که در برنامهنویسی با AI باید یاد بگیریم همین باشد:
تشخیص کدی که واقعاً درست است، از کدی که فقط درست به نظر میرسد.
منبع:
https://realpython.com/review-ai-generated-code/
@DevTwitter | <Mahmoud Mohammadabadi/>
اما یک سؤال مهم وجود دارد:
اگر AI کدی تولید کند که کاملاً درست به نظر برسد، از کجا بفهمیم واقعاً درست است؟
این موضوع یکی از نکات جالب مقالهی Real Python دربارهی بررسی کدهای تولیدشده توسط AI است.
مشکل اینجاست که کد تولیدشده توسط AI لزوماً کد بدی نیست. اتفاقاً ممکن است:
- کاملاً تمیز و خوانا باشد
- از نظر Syntax مشکلی نداشته باشد
- تستهای موجود را پاس کند
- و حتی خیلی حرفهای به نظر برسد
اما با این حال، ممکن است منطق کسبوکار را اشتباه پیاده کرده باشد.
مثلاً فرض کنید از AI میخواهیم یک فرآیند Import برای چند میلیون رکورد بنویسد.
ممکن است کدی تولید کند که روی ۱۰۰ رکورد کاملاً درست کار کند؛ اما وقتی تعداد رکوردها به چند میلیون برسد، با مشکلاتی مثل مصرف زیاد حافظه، Queryهای زیاد، N+1 یا زمان اجرای بسیار بالا مواجه شویم.
پس هنگام Review کردن کد AI، فقط نباید بپرسیم:
«آیا این کد کار میکند؟»
باید سؤالهای دیگری هم بپرسیم:
- آیا دقیقاً همان چیزی را پیاده کرده که در Requirement خواسته شده؟
- اگر داده Null یا خالی باشد چه اتفاقی میافتد؟
- اگر رکورد تکراری باشد چه؟
- اگر دو درخواست همزمان اجرا شوند چه؟
- آیا Queryها روی حجم واقعی داده هم مناسب هستند؟
- آیا مشکلی از نظر Security وجود دارد؟
- آیا این کد با معماری فعلی پروژه سازگار است؟
- آیا AI چیزی را دوباره پیاده کرده که از قبل در پروژه وجود داشته؟
- آیا API یا متدی که استفاده شده واقعاً در Library یا Framework وجود دارد؟
به همین دلیل، با افزایش استفاده از AI Coding Tools، نقش Developer در حال تغییر است.
قبلاً بخش بزرگی از زمان ما صرف نوشتن کد میشد.
اما حالا میتوانیم بخش بیشتری از کدنویسی را به AI بسپاریم و زمان بیشتری را صرف فهمیدن مسئله، تصمیمگیری فنی و بررسی کد کنیم.
در واقع، یک Workflow مناسب میتواند چیزی شبیه این باشد:
- Requirement
- AI Implementation
- Automated Tests
- Code Review
- Verification
و شاید مهمترین مهارتی که در برنامهنویسی با AI باید یاد بگیریم همین باشد:
تشخیص کدی که واقعاً درست است، از کدی که فقط درست به نظر میرسد.
منبع:
https://realpython.com/review-ai-generated-code/
@DevTwitter | <Mahmoud Mohammadabadi/>
❤20👍2