https://w3schools.com
بچه ها این سایت برای یادگیری برنامه نویسی خیلی عالیه
نکته ای که متمایزش میکنه از بقیه 1-اکثر زبان های برنامه نویسی رو داره 2-ازت سوال میپرسه و عملی تمرینت میده
ترجیحا پایتون یا سی شارپ یادبگیرید (مرگ بر جاوااسکریپت)
@DevTwitter | <MaHdI/>
بچه ها این سایت برای یادگیری برنامه نویسی خیلی عالیه
نکته ای که متمایزش میکنه از بقیه 1-اکثر زبان های برنامه نویسی رو داره 2-ازت سوال میپرسه و عملی تمرینت میده
ترجیحا پایتون یا سی شارپ یادبگیرید (مرگ بر جاوااسکریپت)
@DevTwitter | <MaHdI/>
👎131🍌63👍16❤5
لیستی از پروژههای پیشنهادی GenAI که میتونه بهتون کمک کنه رزومه بهتری در این حوزه داشته باشید، از دستش ندید!
https://github.com/aishwaryanr/awesome-generative-ai-guide/blob/main/resources/60_ai_projects.md
@DevTwitter | <zhiwar/>
https://github.com/aishwaryanr/awesome-generative-ai-guide/blob/main/resources/60_ai_projects.md
@DevTwitter | <zhiwar/>
👍12🍌2
تاحالا با cli hashtag هوشمصنوعی qwen کار کردین؟
خب نصبش که خیلی راحته:
حالا تو ویندوز command prompt رو باز میکنید و به شاخه پروژه میرید
اونجا دستور qwen رو میزنید و عملیات لاگین رو با جیمیلتون انجام میدید
بعد از لاگین فقط کافیه بهش بگید که چیکار کنه
این cli هوشمصنوعی عالیه، حتی خیلی بهتر از gemini گوگل
من یک پروژه کامل رو با این cli نوشتم (laravel inertia)
بک و فرانت رو همزمان پشتیبانی میکنه
حتی کارهایی که من ازش نمیخواستم و به ذهن منم نمیرسید رو خودش انجام میداد
قبل از هر تغییری هم که بخواد ایجاد کنه، از شما سوال میکنه که آیا موافق هستید یا نه
@DevTwitter | <sina Khaghani/>
خب نصبش که خیلی راحته:
npm install -g @qwen-code/qwen-codeحالا تو ویندوز command prompt رو باز میکنید و به شاخه پروژه میرید
اونجا دستور qwen رو میزنید و عملیات لاگین رو با جیمیلتون انجام میدید
بعد از لاگین فقط کافیه بهش بگید که چیکار کنه
این cli هوشمصنوعی عالیه، حتی خیلی بهتر از gemini گوگل
من یک پروژه کامل رو با این cli نوشتم (laravel inertia)
بک و فرانت رو همزمان پشتیبانی میکنه
حتی کارهایی که من ازش نمیخواستم و به ذهن منم نمیرسید رو خودش انجام میداد
قبل از هر تغییری هم که بخواد ایجاد کنه، از شما سوال میکنه که آیا موافق هستید یا نه
@DevTwitter | <sina Khaghani/>
❤24👎4👍3🍌3
من یه ربات تلگرام ساختم برای دانلود فایلها از کانالها.
باهاش میتونید:
- همه فایلهای یه کانال رو دانلود کنید
- بر اساس نوع فایل فیلتر کنید (عکس، PDF، ویدیو و ...)
- تعداد فایلهایی که میخواین دانلود بشه رو مشخص کنید
یه اسکریپت ساده که با Python و Telethon نوشته شده
لینک گیت هاب:
https://github.com/erfanghorbanee/Telegram-File-Downloader
@DevTwitter | <Erfan/>
باهاش میتونید:
- همه فایلهای یه کانال رو دانلود کنید
- بر اساس نوع فایل فیلتر کنید (عکس، PDF، ویدیو و ...)
- تعداد فایلهایی که میخواین دانلود بشه رو مشخص کنید
یه اسکریپت ساده که با Python و Telethon نوشته شده
لینک گیت هاب:
https://github.com/erfanghorbanee/Telegram-File-Downloader
@DevTwitter | <Erfan/>
❤52👍6👎3🔥2
سرویسی که گفت: “من دیگه نمیکشم…” و ما رفتیم سراغ Go!
چند ماه پیش متوجه شدم که بار روی یکی از سرویسهامون که مسئولیت محاسبه قیمت، تخفیف و موجودی کالا را برعهده داشت، عجیب بالا رفته.
هی باید بهش ریسورس اضافه میکردیم و هی فاکتور پشتفاکتور… هی سعی می کردیم کد های سمت node js رو باز نویسی کنیم اما باز مشکل وجود داشت
اما یک جایی ایستادم و به مانیتور زل زدم:
«واقعاً تا کی Scale out ؟ تا کی پول بریزیم برای پادهای بیشتر؟»
با بررسی لاگ های کمی که تو سیستم داشتیم و کمی تعمل بیشتر دیدم مشکل ما فقط زبان نیست بلکه دید طراحی ما برای همچین فشاری آماده نشده بود.
و دیدم که مشکل فقط «بار زیاد» نیست؛ مشکل این بود که مدلِ اجرا (single-threaded event loop + heavy allocations) با الگوی کاری سرویس (محاسبهٔ همزمان قیمت/تخفیف/موجودی) همخوانی نداشت.
هرچقدر پاد اضافه میکردیم، هزینه افزایش مییافت اما مشکل اصلی — CPU-bound hot path و فشار GC — همچنان پابرجا بود.
وقتی اینطوری باشه، مهاجرت به runtimeی که برای concurrency و low-overhead execution طراحی شده (مثل Go) یک انتخاب فنی معقول و قابل دفاعه.
پس تصمیم گرفتم همهچیز را با Go دوباره بسازم؛
اما نه صرفاً rewrite — بلکه یک refactor درست در مون
اول از همه، متریکها را جمع کردم.(این کار برای شروع کار حیاتیه)
p95، مصرف CPU، ترافیک همزمان، صف درخواستها…
میخواستم دقیقاً بفهمم کجا درد میکنیم.
بعد شروع کردم به بازطراحی معماری:
سرویس باید کاملاً Stateless میشد
هر درخواست باید موازی و بدون dependency محلی قابل پاسخ باشد
عملیات سنگین محاسبات تخفیف باید Pipeline بشود
با کمک goroutineها و channelها در خواست ها را موازی و سبک تقسیم کردم و شد یک پازل برای گرفتن جواب نهایی
درخواستها را تقسیم کردم، هرکدام موازی، هرکدام سبک، و در نهایت مثل قطعات پازل کنار هم جواب نهایی را ساختیم.
می خواستم برم سمت gRPC که محدودیت زمان اجازه نداد پس رفتم سمت DB و ایندکس گزاری های بهنر و جدا کردن read , write از هم
کش کویری هم اورد وسط و بعد هم از ردیس واسه کش کمک گرفتم
برای invalidate کردن قیمت و موجودی هم معماری event driven کمک گرفتم (حالا هی بگید چرا مهمه بدونیمش)
خوب گفتیم قبل از این که سرور بیاد پایین بفهیم چه خبره تو سیستم… پس یک logging , metrics هم توی سیستم گذاشتم حتی گوروتین ها رو همو پروفایل کردم که oberservity رو افزایش بدم
خلاصه بعد از این کارها . latency تا ۶۰ درصد در پیک ها پایین امد…مصرف cpu قابل حدس شد و هزینه ها به شدت کم شد و بچه های محصول خوشحال (البته بعدش یک عالمه فیچر امد سمتمون)
در کل باید به " performance از همان ابتدای طراحی معماری فکر کرد"
@DevTwitter | <Hessam Zaheri/>
چند ماه پیش متوجه شدم که بار روی یکی از سرویسهامون که مسئولیت محاسبه قیمت، تخفیف و موجودی کالا را برعهده داشت، عجیب بالا رفته.
هی باید بهش ریسورس اضافه میکردیم و هی فاکتور پشتفاکتور… هی سعی می کردیم کد های سمت node js رو باز نویسی کنیم اما باز مشکل وجود داشت
اما یک جایی ایستادم و به مانیتور زل زدم:
«واقعاً تا کی Scale out ؟ تا کی پول بریزیم برای پادهای بیشتر؟»
با بررسی لاگ های کمی که تو سیستم داشتیم و کمی تعمل بیشتر دیدم مشکل ما فقط زبان نیست بلکه دید طراحی ما برای همچین فشاری آماده نشده بود.
و دیدم که مشکل فقط «بار زیاد» نیست؛ مشکل این بود که مدلِ اجرا (single-threaded event loop + heavy allocations) با الگوی کاری سرویس (محاسبهٔ همزمان قیمت/تخفیف/موجودی) همخوانی نداشت.
هرچقدر پاد اضافه میکردیم، هزینه افزایش مییافت اما مشکل اصلی — CPU-bound hot path و فشار GC — همچنان پابرجا بود.
وقتی اینطوری باشه، مهاجرت به runtimeی که برای concurrency و low-overhead execution طراحی شده (مثل Go) یک انتخاب فنی معقول و قابل دفاعه.
پس تصمیم گرفتم همهچیز را با Go دوباره بسازم؛
اما نه صرفاً rewrite — بلکه یک refactor درست در مون
اول از همه، متریکها را جمع کردم.(این کار برای شروع کار حیاتیه)
p95، مصرف CPU، ترافیک همزمان، صف درخواستها…
میخواستم دقیقاً بفهمم کجا درد میکنیم.
بعد شروع کردم به بازطراحی معماری:
سرویس باید کاملاً Stateless میشد
هر درخواست باید موازی و بدون dependency محلی قابل پاسخ باشد
عملیات سنگین محاسبات تخفیف باید Pipeline بشود
با کمک goroutineها و channelها در خواست ها را موازی و سبک تقسیم کردم و شد یک پازل برای گرفتن جواب نهایی
درخواستها را تقسیم کردم، هرکدام موازی، هرکدام سبک، و در نهایت مثل قطعات پازل کنار هم جواب نهایی را ساختیم.
می خواستم برم سمت gRPC که محدودیت زمان اجازه نداد پس رفتم سمت DB و ایندکس گزاری های بهنر و جدا کردن read , write از هم
کش کویری هم اورد وسط و بعد هم از ردیس واسه کش کمک گرفتم
برای invalidate کردن قیمت و موجودی هم معماری event driven کمک گرفتم (حالا هی بگید چرا مهمه بدونیمش)
خوب گفتیم قبل از این که سرور بیاد پایین بفهیم چه خبره تو سیستم… پس یک logging , metrics هم توی سیستم گذاشتم حتی گوروتین ها رو همو پروفایل کردم که oberservity رو افزایش بدم
خلاصه بعد از این کارها . latency تا ۶۰ درصد در پیک ها پایین امد…مصرف cpu قابل حدس شد و هزینه ها به شدت کم شد و بچه های محصول خوشحال (البته بعدش یک عالمه فیچر امد سمتمون)
در کل باید به " performance از همان ابتدای طراحی معماری فکر کرد"
@DevTwitter | <Hessam Zaheri/>
👍63❤16👎4🍌3
کتاب Apprenticeship Patterns راهنماییه برای برنامهنویسهایی که میخوان از یه تازهکار، تبدیل به یه حرفهای واقعی بشن.
این ترجمه فارسی، نسخهای روان و کاربردیه از کتاب اصلیه و بهت کمک میکنه مسیر رشد شخصی و فنیت رو آگاهانه طی کنی.
اگه دنبال اینی بدونی چطور باید یاد بگیری، چطور تجربه کسب کنی و چطور خودت رو بسازی، این کتاب دقیقاً همونه که باید بخونی.
github.com/hheydarian/apprenticeship-patterns-persian
@DevTwitter <Hamed Heydarian/>
این ترجمه فارسی، نسخهای روان و کاربردیه از کتاب اصلیه و بهت کمک میکنه مسیر رشد شخصی و فنیت رو آگاهانه طی کنی.
اگه دنبال اینی بدونی چطور باید یاد بگیری، چطور تجربه کسب کنی و چطور خودت رو بسازی، این کتاب دقیقاً همونه که باید بخونی.
github.com/hheydarian/apprenticeship-patterns-persian
@DevTwitter <Hamed Heydarian/>
1🔥20❤3👍2
توی پروژههای Django معمولاً وقتی میخوای فیلترهای داینامیک بسازی (مثلاً برای API یا صفحه جستجو)، مدیریت query stringها یه دردسر تکراریه.
برای همین یه پکیج نوشتم به اسم django-query-string-parser که کارش اینه query string رو مستقیم تبدیل کنه به Q object، با یه سینتکس خوانا و امن.
چند تا قابلیت مهمش:
- پشتیبانی از عملگرهای مختلف مثل :, !=, >, <, >=, <=, ~=
- ترکیب منطقی با AND / OR و پرانتز
- تعریف فیلدهای مجاز (whitelist) برای امنیت بیشتر
- پشتیبانی از استرینگ، عدد، بولین و null
- خروجی نهایی: یه Q object تمیز برای .filter() یا .exclude()
به درد جاهایی میخوره که بخوای فیلترهای پیچیده ولی قابل خواندن بسازی — مثل APIها، داشبوردها یا پنل ادمین.
نصب:
pip install django-query-string-parser
گیتهاب:
https://github.com/sepehr-mohseni/django-query-string-parser
@DevTwitter | <Nima Naseri/>
برای همین یه پکیج نوشتم به اسم django-query-string-parser که کارش اینه query string رو مستقیم تبدیل کنه به Q object، با یه سینتکس خوانا و امن.
چند تا قابلیت مهمش:
- پشتیبانی از عملگرهای مختلف مثل :, !=, >, <, >=, <=, ~=
- ترکیب منطقی با AND / OR و پرانتز
- تعریف فیلدهای مجاز (whitelist) برای امنیت بیشتر
- پشتیبانی از استرینگ، عدد، بولین و null
- خروجی نهایی: یه Q object تمیز برای .filter() یا .exclude()
به درد جاهایی میخوره که بخوای فیلترهای پیچیده ولی قابل خواندن بسازی — مثل APIها، داشبوردها یا پنل ادمین.
نصب:
pip install django-query-string-parser
گیتهاب:
https://github.com/sepehr-mohseni/django-query-string-parser
@DevTwitter | <Nima Naseri/>
👍17❤5👎4🔥1
منطق پشت کلاستر این CockroachDB چقدر قشنگه.
نوعی دیتابیس SQL که به صورت Master Master کلاستر میشه و از پروتکل RAFT استفاده میکنه.
اما چی!؟ ، مگه RAFT ساختارش به صورت Master Slave ایی تعریف نمیشد؟ پس چجوری توی دیتابیس Master Master داره استفاده میشه؟
شاید اونجوری که CockroachDB میگه اصلا Master Master ایی در کار نیست یا تعریف ما متفاوته .
خلاصه اگه علاقه مند هستین چجوری توی CockroachDB ما RAFT داریم، خوشحال میشم مقاله ایی رو که نوشتم مطالعه کنین، حدودا هم ۵ دقیقه وقتتون رو میگیره.
https://medium.com/@parsagheiratian/the-mentality-behind-cockroachdb-0ed524fcc7ec
@DevTwitter | <Parsa Gheiratian/>
️️
نوعی دیتابیس SQL که به صورت Master Master کلاستر میشه و از پروتکل RAFT استفاده میکنه.
اما چی!؟ ، مگه RAFT ساختارش به صورت Master Slave ایی تعریف نمیشد؟ پس چجوری توی دیتابیس Master Master داره استفاده میشه؟
شاید اونجوری که CockroachDB میگه اصلا Master Master ایی در کار نیست یا تعریف ما متفاوته .
خلاصه اگه علاقه مند هستین چجوری توی CockroachDB ما RAFT داریم، خوشحال میشم مقاله ایی رو که نوشتم مطالعه کنین، حدودا هم ۵ دقیقه وقتتون رو میگیره.
https://medium.com/@parsagheiratian/the-mentality-behind-cockroachdb-0ed524fcc7ec
@DevTwitter | <Parsa Gheiratian/>
️️
👍10👎3❤2🔥1
به اون کاری که امروز کردی نگو "ریفکتور" (Refactor). اگه تست نداره، اون فقط یه "گندکاریِ تمیزه".
این فقط یه جملهی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ️ تو یه پروژهی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکهتیکهاش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفهای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد. کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطقهای تجاری پنهان و وابستگیهای زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کمبهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.
این "تلهی کد تمیز"ئه. مهمترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.
تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تستهای مشخصهیابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همهی باگهاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.
@DevTwitter | <Hossein Moradi/>
این فقط یه جملهی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ️ تو یه پروژهی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکهتیکهاش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفهای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد. کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطقهای تجاری پنهان و وابستگیهای زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کمبهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.
این "تلهی کد تمیز"ئه. مهمترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.
تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تستهای مشخصهیابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همهی باگهاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.
@DevTwitter | <Hossein Moradi/>
👍81👎11❤9🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
این پروژه اپن سورس جالب strix رو یه نگاه بندازین. یه جورایی انگار یه تیم هکر هوش مصنوعی اپنسورس استخدام کردین که شبانهروزی حواسشون به اپلیکیشنهاتون هست.
این ایجنتهای AI دقیقاً مثل هکرهای واقعی رفتار میکنن. کد شما رو به صورت داینامیک اجرا میکنن، آسیبپذیریها رو پیدا میکنن و برای اینکه ثابت کنن الکی نمیگن، براتون PoC (اثبات مفهومی) واقعی میسازن.
بهترین بخشش اینه که دیگه از شر اون همه false positive (هشدارهای الکی) که ابزارهای اسکن استاتیک میدن خلاص میشید. Strix واقعاً باگ رو پیدا میکنه و بهتون نشون میده.
یه جعبه ابزار کامل هکری هم داره:
- پراکسی HTTP
- اتوماسیون مرورگر
- محیط ترمینال
- و حتی رانتایم پایتون
تازه، میتونه تو CI/CD شما هم ادغام بشه و جلوی کدهای آسیبپذیر رو قبل از اینکه اصلاً به پروداکشن برسن بگیره.
به جای اینکه هفتهها منتظر تست نفوذ دستی بمونید، با Strix میتونید تو چند ساعت یه تست کامل بگیرید.
Github: https://github.com/usestrix/strix
@DevTwitter | <Mehdi Allahyari/>
این ایجنتهای AI دقیقاً مثل هکرهای واقعی رفتار میکنن. کد شما رو به صورت داینامیک اجرا میکنن، آسیبپذیریها رو پیدا میکنن و برای اینکه ثابت کنن الکی نمیگن، براتون PoC (اثبات مفهومی) واقعی میسازن.
بهترین بخشش اینه که دیگه از شر اون همه false positive (هشدارهای الکی) که ابزارهای اسکن استاتیک میدن خلاص میشید. Strix واقعاً باگ رو پیدا میکنه و بهتون نشون میده.
یه جعبه ابزار کامل هکری هم داره:
- پراکسی HTTP
- اتوماسیون مرورگر
- محیط ترمینال
- و حتی رانتایم پایتون
تازه، میتونه تو CI/CD شما هم ادغام بشه و جلوی کدهای آسیبپذیر رو قبل از اینکه اصلاً به پروداکشن برسن بگیره.
به جای اینکه هفتهها منتظر تست نفوذ دستی بمونید، با Strix میتونید تو چند ساعت یه تست کامل بگیرید.
Github: https://github.com/usestrix/strix
@DevTwitter | <Mehdi Allahyari/>
❤15👍6👎3🔥1
نمی دونم این چقدر به کار بقیه میاد ولی اگر Vibe-Coding می کنید و ایجنت کلی روی پروژتون کامنت های بیخود نوشت می تونید با استفاده از این اسکریپت پایتونی که نوشتم کامنت هایی که نیاز ندارید رو پاک کنید
https://github.com/naseridev/vibecleaner
@DevTwitter | <Nima Naseri/>
https://github.com/naseridev/vibecleaner
@DevTwitter | <Nima Naseri/>
👎31👍14🔥1
امسال Black Hat 2025 اروپا در انگلستان برگزار میشود.
میدونیم که تب استفاده از AI الان زیاد است که این قاعدتا بد نیست و در این کنفرانس هم چندین AI در زمینه کمک به امنیت معرفی خواهند شدند که زودتر از کنفرانس میتوانید، آن ها را نصب و آزمایش کنید.
https://medium.com/@Ethansalan/black-hat-europe-2025-arsenal-8-ai-security-tools-transforming-cybersecurity-ccd08c472aaa
@DevTwitter | <VAHID NAMENI/>
میدونیم که تب استفاده از AI الان زیاد است که این قاعدتا بد نیست و در این کنفرانس هم چندین AI در زمینه کمک به امنیت معرفی خواهند شدند که زودتر از کنفرانس میتوانید، آن ها را نصب و آزمایش کنید.
https://medium.com/@Ethansalan/black-hat-europe-2025-arsenal-8-ai-security-tools-transforming-cybersecurity-ccd08c472aaa
@DevTwitter | <VAHID NAMENI/>
❤7🍌6
به MVC میگه Clean Architecture !!
شاید من معنی Clean Architecture را بد متوجه شدم.
https://youtube.com/watch?v=H9Blu0kWdZE
@DevTwitter | <Babak.uk/>
شاید من معنی Clean Architecture را بد متوجه شدم.
https://youtube.com/watch?v=H9Blu0kWdZE
@DevTwitter | <Babak.uk/>
👎30👍8🍌5❤1
کشف نوع جدیدی از حملهی سایبری: وقتی الگوهای ترافیک، راز گفتگوی شما با چتباتها را لو میدهند!
باورتان میشود که هکرها میتوانند از گفتگوهای شما با چت چیپیتی (یا هر هوش مصنوعی مشابهی) مطلع شوند؟ البته این موضوع شرایط خاصی دارد که در ادامه توضیح میدهیم:
مایکروسافت در یک گزارشی پژوهشی جدید از یک حمله جدید با نام «Whisper Leak» خبر داده که میتواند بدون شکستن رمزنگاری، موضوع مکالمات کاربران با مدلهای زبانی بزرگ (LLM) را شناسایی کند.
این حمله، به خاطر ضعف در پروتکلهای رمزنگاری مانند HTTPS نیست، بلکه یک حملهی تحلیل ترافیک (Side-Channel) محسوب میشود.
بر اساس این گزارش، زمانی که کاربر با یک چتبات هوش مصنوعی گفتگو میکند و پاسخها به صورت استریم (تکهتکه و لحظهای) ارسال میشوند، الگوهای قابل تحلیلی در ترافیک شبکه شکل میگیرد؛ از جمله:
- اندازه بستههای داده
- فاصله زمانی میان ارسال بستهها
گروه تحقیقاتی مایکروسافت نشان داده که یک مهاجم ناظر بر ترافیک رمزنگاریشده (برای مثال در سطح اپراتور، شبکه سازمانی، یا وایفای عمومی) میتواند با استفاده از این الگوها و با کمک مدلهای یادگیری ماشینی، تشخیص دهد که آیا مکالمه کاربر درباره یک موضوع حساس مشخص است یا خیر؛ بدون آنکه به متن واقعی گفتگو دسترسی داشته باشد.
در این مدل حمله، مهاجم بهدنبال تشخیص مستقیم محتوای پیامها نیست، بلکه بررسی میکند آیا گفتگو حول محور موضوعاتی خاص مانند مسائل سیاسی، مالی و… میچرخد یا نه.
آزمایشها نشان دادهاند که در برخی سناریوها، دقت این تشخیص به حدود ۹۸ درصد میرسد. این موضوع بهویژه از منظر حریم خصوصی نگرانکننده است.
مایکروسافت تأکید میکند که این یافتهها به معنی ناامن بودن رمزنگاری نیست، بلکه نشان میدهد نحوه پیادهسازی استریم پاسخ در سرویسهای هوش مصنوعی میتواند اطلاعات فرادادهای (متادیتا) حساسی را افشا کند.
توصیههایی برای کاربران و سازمانها
- از اتصال به وایفای عمومی یا شبکههای غیرقابلاعتماد خودداری کنند.
- استفاده از VPN معتبر میتواند تحلیل ترافیک را برای مهاجم دشوارتر کند.
- استفاده از حالتهایی که پاسخها را یکجا و غیر استریمی ارسال میکنند، به کاهش الگوهای قابل تحلیل کمک میکند.
- سازمانها و نهادها هنگام بهکارگیری LLMها (ابری یا داخلی) باید حملات مبتنی بر تحلیل ترافیک را نیز در مدل تهدید خود لحاظ کرده، تستهای امنیتی تکمیلی انجام دهند و از مکانیزمهای دفاعی مناسب استفاده کنند.
این گزارش بار دیگر نشان میدهد که در عصر هوش مصنوعی، حفاظت از حریم خصوصی تنها به رمزنگاری محتوا محدود نمیشود و الگوهای رفتاری ترافیک نیز میتوانند به منبع افشای اطلاعات تبدیل شوند.
جالبتر اینجا است که اینجا از یک هوش مصنوعی برای رمزگشایی از یک هوش مصنوعی دیگر استفاده میشود!
@DevTwitter | <NooshDaroo/>
باورتان میشود که هکرها میتوانند از گفتگوهای شما با چت چیپیتی (یا هر هوش مصنوعی مشابهی) مطلع شوند؟ البته این موضوع شرایط خاصی دارد که در ادامه توضیح میدهیم:
مایکروسافت در یک گزارشی پژوهشی جدید از یک حمله جدید با نام «Whisper Leak» خبر داده که میتواند بدون شکستن رمزنگاری، موضوع مکالمات کاربران با مدلهای زبانی بزرگ (LLM) را شناسایی کند.
این حمله، به خاطر ضعف در پروتکلهای رمزنگاری مانند HTTPS نیست، بلکه یک حملهی تحلیل ترافیک (Side-Channel) محسوب میشود.
بر اساس این گزارش، زمانی که کاربر با یک چتبات هوش مصنوعی گفتگو میکند و پاسخها به صورت استریم (تکهتکه و لحظهای) ارسال میشوند، الگوهای قابل تحلیلی در ترافیک شبکه شکل میگیرد؛ از جمله:
- اندازه بستههای داده
- فاصله زمانی میان ارسال بستهها
گروه تحقیقاتی مایکروسافت نشان داده که یک مهاجم ناظر بر ترافیک رمزنگاریشده (برای مثال در سطح اپراتور، شبکه سازمانی، یا وایفای عمومی) میتواند با استفاده از این الگوها و با کمک مدلهای یادگیری ماشینی، تشخیص دهد که آیا مکالمه کاربر درباره یک موضوع حساس مشخص است یا خیر؛ بدون آنکه به متن واقعی گفتگو دسترسی داشته باشد.
در این مدل حمله، مهاجم بهدنبال تشخیص مستقیم محتوای پیامها نیست، بلکه بررسی میکند آیا گفتگو حول محور موضوعاتی خاص مانند مسائل سیاسی، مالی و… میچرخد یا نه.
آزمایشها نشان دادهاند که در برخی سناریوها، دقت این تشخیص به حدود ۹۸ درصد میرسد. این موضوع بهویژه از منظر حریم خصوصی نگرانکننده است.
مایکروسافت تأکید میکند که این یافتهها به معنی ناامن بودن رمزنگاری نیست، بلکه نشان میدهد نحوه پیادهسازی استریم پاسخ در سرویسهای هوش مصنوعی میتواند اطلاعات فرادادهای (متادیتا) حساسی را افشا کند.
توصیههایی برای کاربران و سازمانها
- از اتصال به وایفای عمومی یا شبکههای غیرقابلاعتماد خودداری کنند.
- استفاده از VPN معتبر میتواند تحلیل ترافیک را برای مهاجم دشوارتر کند.
- استفاده از حالتهایی که پاسخها را یکجا و غیر استریمی ارسال میکنند، به کاهش الگوهای قابل تحلیل کمک میکند.
- سازمانها و نهادها هنگام بهکارگیری LLMها (ابری یا داخلی) باید حملات مبتنی بر تحلیل ترافیک را نیز در مدل تهدید خود لحاظ کرده، تستهای امنیتی تکمیلی انجام دهند و از مکانیزمهای دفاعی مناسب استفاده کنند.
این گزارش بار دیگر نشان میدهد که در عصر هوش مصنوعی، حفاظت از حریم خصوصی تنها به رمزنگاری محتوا محدود نمیشود و الگوهای رفتاری ترافیک نیز میتوانند به منبع افشای اطلاعات تبدیل شوند.
جالبتر اینجا است که اینجا از یک هوش مصنوعی برای رمزگشایی از یک هوش مصنوعی دیگر استفاده میشود!
@DevTwitter | <NooshDaroo/>
👍15🔥8❤6🍌3
فقط در ۷۶ دقیقه، خلاصهی تمام دانستههای مهندسی هوش مصنوعی
اگه واقعا میخوای بفهمی AI Engineering یعنی چی، این ویدیو رو از دست نده.
نه یه آموزش سطحیه، نه یه ویدیوی تبلیغاتی.
یه خلاصهی فشرده از مفاهیمیه که هر کسی که با هوش مصنوعی کار میکنه باید بدونه، اونم فقط توی ۷۶ دقیقه.
در این ویدیو دربارهی چیزهایی صحبت میشه که نگاهت رو به AI برای همیشه تغییر میدن
چرا نباید از صفر مدل بسازی (و چطور باید از مدلهای آماده استفاده کنی)
چطور (Self-supervised learning) همهچیز رو عوض کرده
چرا دادههای آموزشی همیشه سوگیرانهان و چطور باید باهاش کنار بیای
چرا طولانیتر بودن پرامپت همیشه به معنی نتیجهی بهتر نیست
اینکه مدل بزرگتر الزاماً مدل هوشمندتر نیست
چطور یه پرامپت خوب میتونه جای هفتهها فاینتیونینگ رو بگیره RAG چیه و چرا باید جزو ابزار اصلی هر تیم AI باشه
اگه توی مسیر ساخت محصول، رهبری تیم یا توسعهی پروژههای هوش مصنوعی هستی،
این ویدیو احتمالاً یکی از مفیدترین ۷۶ دقیقههایی خواهد بود که میگذرونی.
https://www.youtube.com/watch?v=JV3pL1_mn2M
@DevTwitter | <Mohsen Rad/>
اگه واقعا میخوای بفهمی AI Engineering یعنی چی، این ویدیو رو از دست نده.
نه یه آموزش سطحیه، نه یه ویدیوی تبلیغاتی.
یه خلاصهی فشرده از مفاهیمیه که هر کسی که با هوش مصنوعی کار میکنه باید بدونه، اونم فقط توی ۷۶ دقیقه.
در این ویدیو دربارهی چیزهایی صحبت میشه که نگاهت رو به AI برای همیشه تغییر میدن
چرا نباید از صفر مدل بسازی (و چطور باید از مدلهای آماده استفاده کنی)
چطور (Self-supervised learning) همهچیز رو عوض کرده
چرا دادههای آموزشی همیشه سوگیرانهان و چطور باید باهاش کنار بیای
چرا طولانیتر بودن پرامپت همیشه به معنی نتیجهی بهتر نیست
اینکه مدل بزرگتر الزاماً مدل هوشمندتر نیست
چطور یه پرامپت خوب میتونه جای هفتهها فاینتیونینگ رو بگیره RAG چیه و چرا باید جزو ابزار اصلی هر تیم AI باشه
اگه توی مسیر ساخت محصول، رهبری تیم یا توسعهی پروژههای هوش مصنوعی هستی،
این ویدیو احتمالاً یکی از مفیدترین ۷۶ دقیقههایی خواهد بود که میگذرونی.
https://www.youtube.com/watch?v=JV3pL1_mn2M
@DevTwitter | <Mohsen Rad/>
🔥17❤9👍3🍌1
وقتی نیاز شخصیات میشه محصول ۵۰۰ میلیون دلاری
سپتامبر ۲۰۲۴، یه برنامهنویس به اسم Boris Cherny تازه به Anthropic جوین شده بود. داشت با مدل Claude ور میرفت که خودش رو با APIهاشون بیشتر آشنا کنه. اولین ابزارش یه چیز خیلی ساده بود: یه برنامه ترمینال که بهش میگفتی الان چه آهنگی داری گوش میدی! خیلی basic، خیلی شخصی، ولی جالب بود. بعد یه روز یهو به ذهن Boris خطور کرد که چرا فقط AppleScript؟ چرا نذاریم فایلسیستم رو ببینه؟ چرا نذاریم bash commands بزنه؟
همین که این قابلیتها رو اضافه کرد، دنیاش عوض شد. Claude شروع کرد به explore کردن کد، خوندن فایلها، دنبال کردن importها، و پیدا کردن جوابها. Boris خودش میگه: "این همون لحظهای بود که فهمیدم یه چیز بزرگ داره میشه." ابزاری که برای خودش ساخته بود، یهو تبدیل شد به چیزی که همکاراش هم میخواستن ازش استفاده کنن. تا روز پنجم، ۵۰٪ تیم مهندسی Anthropic داشتن باهاش کار میکردن!
حالا Claude Code یه ماشین درآمدزایی ۵۰۰ میلیون دلاری شده. یه تیم کامل داره، features جدید هر روز اضافه میشه، و داستانش شبیه همون چیزیه که Ken Thompson درباره Unix گفته بود:
"Unix was built for me. I didn't build it as an operating system for other people, I built it to do games, and to do my stuff."
یعنی Unix هم اول یه ابزار شخصی بود، بعد شد اساس سیستمعاملهای امروزی.
نکته داستان چیه؟ وقتی چیزی میسازی که واقعاً نیاز خودت رو رفع کنه، احتمالش خیلی زیاده که برای دیگرانی که نیاز مشابه دارن هم مفید باشه. Boris داشت یه مشکل شخصی حل میکرد، نه یه محصول تعریفشده. تیم Claude Code الانم با همین فلسفه کار میکنه: کمترین کد ممکن، سادهترین معماری، و اجازه بده مدل کارشو بکنه. حتی ۹۰٪ کد Claude Code با خود Claude Code نوشته شده! پس دفعه بعد که احساس میکنی یه ابزاری لازمه، نشین منتظر شرکتها یا استارتاپها. خودت بساز. شاید امروز فقط برای خودته، ولی فردا میشه یکی از بهترین ابزارهای دنیا.
https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built
@DevTwitter | <Hossein Nazari/>
سپتامبر ۲۰۲۴، یه برنامهنویس به اسم Boris Cherny تازه به Anthropic جوین شده بود. داشت با مدل Claude ور میرفت که خودش رو با APIهاشون بیشتر آشنا کنه. اولین ابزارش یه چیز خیلی ساده بود: یه برنامه ترمینال که بهش میگفتی الان چه آهنگی داری گوش میدی! خیلی basic، خیلی شخصی، ولی جالب بود. بعد یه روز یهو به ذهن Boris خطور کرد که چرا فقط AppleScript؟ چرا نذاریم فایلسیستم رو ببینه؟ چرا نذاریم bash commands بزنه؟
همین که این قابلیتها رو اضافه کرد، دنیاش عوض شد. Claude شروع کرد به explore کردن کد، خوندن فایلها، دنبال کردن importها، و پیدا کردن جوابها. Boris خودش میگه: "این همون لحظهای بود که فهمیدم یه چیز بزرگ داره میشه." ابزاری که برای خودش ساخته بود، یهو تبدیل شد به چیزی که همکاراش هم میخواستن ازش استفاده کنن. تا روز پنجم، ۵۰٪ تیم مهندسی Anthropic داشتن باهاش کار میکردن!
حالا Claude Code یه ماشین درآمدزایی ۵۰۰ میلیون دلاری شده. یه تیم کامل داره، features جدید هر روز اضافه میشه، و داستانش شبیه همون چیزیه که Ken Thompson درباره Unix گفته بود:
"Unix was built for me. I didn't build it as an operating system for other people, I built it to do games, and to do my stuff."
یعنی Unix هم اول یه ابزار شخصی بود، بعد شد اساس سیستمعاملهای امروزی.
نکته داستان چیه؟ وقتی چیزی میسازی که واقعاً نیاز خودت رو رفع کنه، احتمالش خیلی زیاده که برای دیگرانی که نیاز مشابه دارن هم مفید باشه. Boris داشت یه مشکل شخصی حل میکرد، نه یه محصول تعریفشده. تیم Claude Code الانم با همین فلسفه کار میکنه: کمترین کد ممکن، سادهترین معماری، و اجازه بده مدل کارشو بکنه. حتی ۹۰٪ کد Claude Code با خود Claude Code نوشته شده! پس دفعه بعد که احساس میکنی یه ابزاری لازمه، نشین منتظر شرکتها یا استارتاپها. خودت بساز. شاید امروز فقط برای خودته، ولی فردا میشه یکی از بهترین ابزارهای دنیا.
https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built
@DevTwitter | <Hossein Nazari/>
👍47❤15🔥4👎1
کمپانی OpenAI مدل GPT-5-Codex-Mini را معرفی کرد؛ کدنویسی با هزینه کمتر
کمپانی OpenAI نسخه جدیدی از مدل کدنویسی خود با نام GPT-5-Codex-Mini را معرفی کرده است که نسخهای کوچکتر و مقرونبهصرفهتر نسبت به GPT-5-Codex محسوب میشود. این مدل امکان چهار برابر استفاده بیشتر را با کاهش جزئی در قابلیتها فراهم میکند و در بنچمارک SWE-bench Verified امتیاز ٧١.٣ درصد کسب کرده است. عملکرد آن در مقایسه با نسخه اصلی قابلتوجه و رضایتبخش ارزیابی شده است.
مدل GPT-5-Codex برای بهبود توانایی در کارهای واقعی مهندسی نرمافزار طراحی شده بود و وظایفی مانند ایجاد پروژههای جدید، افزودن قابلیتها، تستهای تازه و بازسازی گسترده کد را پوشش میداد. نسخه مینی برای وظایف سبکتر یا زمانی که توسعهدهندگان به محدودیتهای مدل اصلی نزدیک میشوند توصیه شده است. این مدل اکنون در CLI و افزونه IDE در دسترس است و پشتیبانی API آن نیز بهزودی فعال خواهد شد.
@DevTwitter | <Digiato/>
کمپانی OpenAI نسخه جدیدی از مدل کدنویسی خود با نام GPT-5-Codex-Mini را معرفی کرده است که نسخهای کوچکتر و مقرونبهصرفهتر نسبت به GPT-5-Codex محسوب میشود. این مدل امکان چهار برابر استفاده بیشتر را با کاهش جزئی در قابلیتها فراهم میکند و در بنچمارک SWE-bench Verified امتیاز ٧١.٣ درصد کسب کرده است. عملکرد آن در مقایسه با نسخه اصلی قابلتوجه و رضایتبخش ارزیابی شده است.
مدل GPT-5-Codex برای بهبود توانایی در کارهای واقعی مهندسی نرمافزار طراحی شده بود و وظایفی مانند ایجاد پروژههای جدید، افزودن قابلیتها، تستهای تازه و بازسازی گسترده کد را پوشش میداد. نسخه مینی برای وظایف سبکتر یا زمانی که توسعهدهندگان به محدودیتهای مدل اصلی نزدیک میشوند توصیه شده است. این مدل اکنون در CLI و افزونه IDE در دسترس است و پشتیبانی API آن نیز بهزودی فعال خواهد شد.
@DevTwitter | <Digiato/>
❤13👎8👍3
اگر داتنت کار هستی و علاقه داری هوش مصنوعی رو تو پروژههات استفاده کنی، این پست مال توعه!
همه میدونیم که هوش مصنوعی داره با سرعت وارد همه حوزهها میشه، اما ترکیبش با توسعه Backend در داتنت واقعا یه سطح بالاتر از کار روزمرهست.
یکی از ابزارهایی که حتما باید بشناسید، MCP یا Model Context Protocol هست.
پروتکل MCP یه پروتکل استاندارد برای ارتباط بین مدلهای زبانی (LLM) و ابزارها یا منابع خارجیه.
با MCP میتونیم:
مدلهای زبانی رو به APIها، دیتابیسها یا ابزارهای دلخواه وصل کنیم.
چند ابزار مختلف رو با هم چین کنیم و فرآیندهای پیچیده بسازیم.
مطمئن باشیم که ارتباط بین Agent و ابزارها استاندارد، قابل اطمینان و قابل توسعه هست.
به زبان ساده:
پروتکل MCP پلیه بین هوش مصنوعی و دنیای واقعی دادهها.
چرا تو داتنت کاربردیه؟
با Microsoft Agent Framework در داتنت، شما میتونید:
- ایجنتهای هوشمند بسازید که قادرن چندمرحلهای تصمیم بگیرن.
- ابزارهای خارجی (Tools) رو به Agent اضافه کنید، مثل جستجوی اطلاعات شرکتها، گرفتن جزئیات، تحلیل و جمعبندی.
- با MCP، Agent رو مستقل از API خاص بسازید، فقط با رعایت پروتکل JSON-RPC.
- فرآیندهای پیچیده هوشمندانه بسازید: جستجو → تحلیل → پاسخ به کاربر.
مثال کاربردی
فرض کنید میخواید یه چتبات تجاری هوشمند بسازید که اطلاعات شرکتهای ایرانی رو از Rasmio بگیره و تحلیل کنه، کد نوشته شده در عکس با Microsoft Agent Framework و MCP.
جمعبندی
ابزار MCP یه ابزار فوقالعاده برای هر کسیه که میخواد:
- هوش مصنوعی رو به پروژههای واقعی داتنت بیاره
- ایجنتهای چندمرحلهای و هوشمند بسازه
- دادهها و ابزارهای خارجی رو به راحتی با AI ترکیب کنه
نکته نهایی:
اگه دنبال یه راهکار مدرن، استاندارد و قدرتمند برای AI در .NET هستید، MCP بهترین گزینهست.
با همین ابزار میتونید از یک CLI ساده تا یک سیستم هوشمند تجاری واقعی بسازید.
@DevTwitter | <nahid moradi/>
همه میدونیم که هوش مصنوعی داره با سرعت وارد همه حوزهها میشه، اما ترکیبش با توسعه Backend در داتنت واقعا یه سطح بالاتر از کار روزمرهست.
یکی از ابزارهایی که حتما باید بشناسید، MCP یا Model Context Protocol هست.
پروتکل MCP یه پروتکل استاندارد برای ارتباط بین مدلهای زبانی (LLM) و ابزارها یا منابع خارجیه.
با MCP میتونیم:
مدلهای زبانی رو به APIها، دیتابیسها یا ابزارهای دلخواه وصل کنیم.
چند ابزار مختلف رو با هم چین کنیم و فرآیندهای پیچیده بسازیم.
مطمئن باشیم که ارتباط بین Agent و ابزارها استاندارد، قابل اطمینان و قابل توسعه هست.
به زبان ساده:
پروتکل MCP پلیه بین هوش مصنوعی و دنیای واقعی دادهها.
چرا تو داتنت کاربردیه؟
با Microsoft Agent Framework در داتنت، شما میتونید:
- ایجنتهای هوشمند بسازید که قادرن چندمرحلهای تصمیم بگیرن.
- ابزارهای خارجی (Tools) رو به Agent اضافه کنید، مثل جستجوی اطلاعات شرکتها، گرفتن جزئیات، تحلیل و جمعبندی.
- با MCP، Agent رو مستقل از API خاص بسازید، فقط با رعایت پروتکل JSON-RPC.
- فرآیندهای پیچیده هوشمندانه بسازید: جستجو → تحلیل → پاسخ به کاربر.
مثال کاربردی
فرض کنید میخواید یه چتبات تجاری هوشمند بسازید که اطلاعات شرکتهای ایرانی رو از Rasmio بگیره و تحلیل کنه، کد نوشته شده در عکس با Microsoft Agent Framework و MCP.
جمعبندی
ابزار MCP یه ابزار فوقالعاده برای هر کسیه که میخواد:
- هوش مصنوعی رو به پروژههای واقعی داتنت بیاره
- ایجنتهای چندمرحلهای و هوشمند بسازه
- دادهها و ابزارهای خارجی رو به راحتی با AI ترکیب کنه
نکته نهایی:
اگه دنبال یه راهکار مدرن، استاندارد و قدرتمند برای AI در .NET هستید، MCP بهترین گزینهست.
با همین ابزار میتونید از یک CLI ساده تا یک سیستم هوشمند تجاری واقعی بسازید.
@DevTwitter | <nahid moradi/>
❤21👎12🔥2👍1
اگر مثل من حوصله ندارید که فرانت بزنید
برید
https://stitch.withgoogle.com
یه سری توضیحات بدید براتون UI طراحی میکنه که هم فیگما میده و هم html
بعد html صفحات رو دانلود کنید.
حالا Vue, React... هرچی که میخواید رو init کنید.
به واسطهی cursor, Cline,Kilo... بگید که تبدیل کنه براتون
@DevTwitter | <Mahmoud Eskandari/>
برید
https://stitch.withgoogle.com
یه سری توضیحات بدید براتون UI طراحی میکنه که هم فیگما میده و هم html
بعد html صفحات رو دانلود کنید.
حالا Vue, React... هرچی که میخواید رو init کنید.
به واسطهی cursor, Cline,Kilo... بگید که تبدیل کنه براتون
@DevTwitter | <Mahmoud Eskandari/>
❤36👎26👍3🍌2
با این ریپو میتونید داکر ایمیج رو به فایل اجرایی ویندوز تبدیل کنید
https://github.com/rzane/docker2exe
@DevTwitter
https://github.com/rzane/docker2exe
@DevTwitter
👍26❤5🔥1