Forwarded from DevTwitter Ads.
خبر تکنولوژی همهجا هست؛ چیزی که کمتر پیدا میشه، توضیح سادهایه که بگه این خبر یا خطر دقیقاً چه تأثیری روی ما داره.
توی «نوشدارو» درباره کلاهبرداریهای جدید، امنیت، حریم خصوصی و اتفاقات مهم دنیای فناوری مطالب کاربردی منتشر میشه.
@NooshDaroo_web
@NooshDaroo_web
توی «نوشدارو» درباره کلاهبرداریهای جدید، امنیت، حریم خصوصی و اتفاقات مهم دنیای فناوری مطالب کاربردی منتشر میشه.
@NooshDaroo_web
@NooshDaroo_web
❤15🍌5👎3
یک پروژه متنباز سلفبات تلگرام است که با اتصال به اکانت شخصی، امکان اجرای خودکار وظایف و شخصیسازی امکانات تلگرام را فراهم میکند. مناسب برای توسعهدهندگان علاقهمند به اتوماسیون و ساخت ابزارهای شخصی در تلگرام.
توجه: استفاده از سلفباتها روی اکانت اصلی میتواند با قوانین تلگرام در تضاد باشد و در صورت استفاده نادرست، ریسک محدود شدن حساب وجود دارد.
https://github.com/Talkhestani/tg-selfbot/
@DevTwitter | <Talkhestani/>
توجه: استفاده از سلفباتها روی اکانت اصلی میتواند با قوانین تلگرام در تضاد باشد و در صورت استفاده نادرست، ریسک محدود شدن حساب وجود دارد.
https://github.com/Talkhestani/tg-selfbot/
@DevTwitter | <Talkhestani/>
🍌25❤11👎1
من یک NestJS 12 Production-ready REST API Starter آماده کردم که هدفش اینه بخش زیادی از تنظیمات تکراری شروع پروژههای بکاند از قبل آماده باشه و توسعهدهنده مستقیم بره سراغ منطق اصلی پروژه.
داخلش مواردی مثل PostgreSQL 18 + TypeORM، JWT Auth با Refresh Token Rotation، Role-based Authorization، Validation، Swagger/OpenAPI، Migration، Docker، Vitest، Rate Limiting، Health Check، CI با GitHub Actions و تنظیمات امنیتی از قبل پیادهسازی و تست شده.
پروژه Open Source و با لایسنس MIT منتشر شده و نسخه v1.0.0 هم Release شده.
GitHub:
https://github.com/AtaDevPro/nestjs-api-starter
@DevTwitter | <AtaDev/>
داخلش مواردی مثل PostgreSQL 18 + TypeORM، JWT Auth با Refresh Token Rotation، Role-based Authorization، Validation، Swagger/OpenAPI، Migration، Docker، Vitest، Rate Limiting، Health Check، CI با GitHub Actions و تنظیمات امنیتی از قبل پیادهسازی و تست شده.
پروژه Open Source و با لایسنس MIT منتشر شده و نسخه v1.0.0 هم Release شده.
GitHub:
https://github.com/AtaDevPro/nestjs-api-starter
@DevTwitter | <AtaDev/>
🔥26❤9👎4
جداکننده صدای خواننده — مستقیم داخل کروم، بدون آپلود
اگر تولید محتوا میکنی، ریمیکس میسازی یا فقط میخواهی نسخه بیکلام یک آهنگ را داشته باشی
ابزار Vocal Splitter Local آهنگ را روی سیستم خودت با هوش مصنوعی HTDemucs پردازش میکند و دو فایل تحویل میدهد
وکال جدا + موزیک بیکلام (WAV)
بدون API پولی و اشتراک
بدون ارسال فایل به سرور (حریم خصوصی کامل)
راهنمای نصب فارسی قدمبهقدم داخل ریپو
نصب: دانلود زیپ از Releases، بعد chrome://extensions و Load unpacked
لینک: https://github.com/Sajadapp/Vocal-Splitter-Local
@DevTwitter | <CaptainMoz/>
اگر تولید محتوا میکنی، ریمیکس میسازی یا فقط میخواهی نسخه بیکلام یک آهنگ را داشته باشی
ابزار Vocal Splitter Local آهنگ را روی سیستم خودت با هوش مصنوعی HTDemucs پردازش میکند و دو فایل تحویل میدهد
وکال جدا + موزیک بیکلام (WAV)
بدون API پولی و اشتراک
بدون ارسال فایل به سرور (حریم خصوصی کامل)
راهنمای نصب فارسی قدمبهقدم داخل ریپو
نصب: دانلود زیپ از Releases، بعد chrome://extensions و Load unpacked
لینک: https://github.com/Sajadapp/Vocal-Splitter-Local
@DevTwitter | <CaptainMoz/>
❤32🍌8👎1
از چت بات های رایگان فقط برای پاسخ عادی نباید استفاده کرد و میشه ازشون جور دیگهای هم استفاده کرد
مثلا میتونی وصل شون کنی به سیستمت تا برات کد بزنن
یکی از راههای این اتصال، استفاده از MCP سروره
دانا یه پل ارتباطی بین هوش مصنوعی و سیستم شماست. به کمکش، ChatGPT میتونه با اجازه شما به ابزارها و منابعی مثل فایلها، پروژهها و سیستمعامل دسترسی داشته باشه و کارهای واقعی انجام بده؛ مثلاً فایل بسازه، پروژه رو بررسی کنه یا دستورات مشخصی رو اجرا کنه.
خلاصه که تبدیل چتباتهای رایگان مثل جیپیتی و گروک به ایجنت
حتی با این ابزار مصرف توکن کلاود هم بهینه میشه
https://github.com/seyed-ali-002/Dana-MCP-Server/
@DevTwitter | <Seyed Ali/>
مثلا میتونی وصل شون کنی به سیستمت تا برات کد بزنن
یکی از راههای این اتصال، استفاده از MCP سروره
دانا یه پل ارتباطی بین هوش مصنوعی و سیستم شماست. به کمکش، ChatGPT میتونه با اجازه شما به ابزارها و منابعی مثل فایلها، پروژهها و سیستمعامل دسترسی داشته باشه و کارهای واقعی انجام بده؛ مثلاً فایل بسازه، پروژه رو بررسی کنه یا دستورات مشخصی رو اجرا کنه.
خلاصه که تبدیل چتباتهای رایگان مثل جیپیتی و گروک به ایجنت
حتی با این ابزار مصرف توکن کلاود هم بهینه میشه
https://github.com/seyed-ali-002/Dana-MCP-Server/
@DevTwitter | <Seyed Ali/>
17❤41🍌25🔥12
مخزن Claude-Red مجموعهای از مهارتهای Offensive Securityبرای سیستم Skillsدر Claude است که البته می توان در بقیه AIها نیز استفاده کرد.
هر مهارت یک فایل ساختیافته SKILL.md است که به AI روششناسی تخصصی، برای یک سطح حمله مشخص میدهد.
از تزریق SQL و XSS گرفته تا فرار از EDR، اکسپلویت نویسی و حتی Kubernetes.
https://github.com/SnailSploit/Claude-Red
@DevTwitter | <VAHID NAMENI/>
هر مهارت یک فایل ساختیافته SKILL.md است که به AI روششناسی تخصصی، برای یک سطح حمله مشخص میدهد.
از تزریق SQL و XSS گرفته تا فرار از EDR، اکسپلویت نویسی و حتی Kubernetes.
https://github.com/SnailSploit/Claude-Red
@DevTwitter | <VAHID NAMENI/>
👍15❤8🍌1
مدل مرموز جدید Union Alpha به صورت رایگان در OpenRouter منتشر شد
مدل هوش مصنوعی جدید و ناشناسی با کد نیم Ox Alpha بهصورت آزمایشی و البته رایگان روی پلتفرم OpenRouter در دسترس قرار گرفته است.
این مدل مجهز به پنجره زمینه (Context Window) ۲۵۶ هزار توکنی و قابلیت پردازش تصویر است.
این مدل از امروز به مدت زمان نامعلومی به صورت کاملا رایگان از طریق OpenRouter قابل استفاده است.
@DevTwitter | <MohammadMSFT/>
مدل هوش مصنوعی جدید و ناشناسی با کد نیم Ox Alpha بهصورت آزمایشی و البته رایگان روی پلتفرم OpenRouter در دسترس قرار گرفته است.
این مدل مجهز به پنجره زمینه (Context Window) ۲۵۶ هزار توکنی و قابلیت پردازش تصویر است.
این مدل از امروز به مدت زمان نامعلومی به صورت کاملا رایگان از طریق OpenRouter قابل استفاده است.
@DevTwitter | <MohammadMSFT/>
❤25👍3🍌3
This media is not supported in your browser
VIEW IN TELEGRAM
ایشون با یک دانگل ۱۰ دلاری usb اومده محدودیت استفاده از iPadOS رو برای ایجنتها دور زده :)
دانگل میاد خودش رو به عنوان یک ماوس و کیبورد فِیک جا میزنه و کنترل iPad رو دستش میگیره، یک app هم برای گرفتن اسکرینشات و فرستادن کامندها از طریق MCP داره!
پروژه اُپن سورس هست و میتونید به claude code، codex یا هر ایجنت دیگهای وصلش کنید ولی باید hardware رو داشته باشید:
https://github.com/jamiepinheiro/ipad_computer_use
@DevTwitter | <Amir/>
دانگل میاد خودش رو به عنوان یک ماوس و کیبورد فِیک جا میزنه و کنترل iPad رو دستش میگیره، یک app هم برای گرفتن اسکرینشات و فرستادن کامندها از طریق MCP داره!
پروژه اُپن سورس هست و میتونید به claude code، codex یا هر ایجنت دیگهای وصلش کنید ولی باید hardware رو داشته باشید:
https://github.com/jamiepinheiro/ipad_computer_use
@DevTwitter | <Amir/>
🔥40👍4💔1
این دقیقا همون چیزیه که جلوی خرابکاری AI توی UI رو میگیره
موضوع اینه که Agent میتونه هر استایل و کلاسی که دلش خواست به المانها اضافه کنه حتی اگر کامپوننتهای استاندارد داشته باشین.
با این پکیچ دیگه اجازه نداره هرچی میخواد اضافه کنه
مثلا میگه آقا شما حق نداری padding اصن اضافه کنی.
https://github.com/shadcn-ui/lint
@DevTwitter | <Pooria/>
موضوع اینه که Agent میتونه هر استایل و کلاسی که دلش خواست به المانها اضافه کنه حتی اگر کامپوننتهای استاندارد داشته باشین.
با این پکیچ دیگه اجازه نداره هرچی میخواد اضافه کنه
مثلا میگه آقا شما حق نداری padding اصن اضافه کنی.
https://github.com/shadcn-ui/lint
@DevTwitter | <Pooria/>
❤24👍6
با این skill می تونید Claude رو به یه هکر تمام عیار تبدیل کنید :
https://github.com/SnailSploit/Claude-Red
@DevTwitter | <Reza/>
https://github.com/SnailSploit/Claude-Red
@DevTwitter | <Reza/>
🔥32🍌11❤5
Forwarded from DevTwitter Ads.
🤖 هر روز کلی ابزار AI جدید میاد؛ چندتاشو میشناسی؟
توی @AIToolsFarsi هر روز با جدیدترین ابزارها، ترفندهای کاربردی و مهمترین اخبار دنیای هوش مصنوعی آشنا میشی.
✅ معرفی ابزارهای کاربردی و جدید
✅ معرفی API Key های رایگان
✅ ترفندهای ساده و قابل استفاده
✅ اخبار مهم و بهروز AI
✅ آموزشهای کوتاه و مفید
همه محتواها با توضیحات ساده و بدون حاشیه منتشر میشن تا بتونی از هوش مصنوعی توی کار، درس و زندگی روزمره بهتر استفاده کنی.
👇 همین حالا عضو شو:
@AIToolsFarsi
@AIToolsFarsi
توی @AIToolsFarsi هر روز با جدیدترین ابزارها، ترفندهای کاربردی و مهمترین اخبار دنیای هوش مصنوعی آشنا میشی.
✅ معرفی ابزارهای کاربردی و جدید
✅ معرفی API Key های رایگان
✅ ترفندهای ساده و قابل استفاده
✅ اخبار مهم و بهروز AI
✅ آموزشهای کوتاه و مفید
همه محتواها با توضیحات ساده و بدون حاشیه منتشر میشن تا بتونی از هوش مصنوعی توی کار، درس و زندگی روزمره بهتر استفاده کنی.
👇 همین حالا عضو شو:
@AIToolsFarsi
@AIToolsFarsi
👎6👍5🔥1
یه skill برای نوشتار فارسی AI توی کامیونیتی ها خیلی دیده شد و چون کار قشنگی بود، به نظرم خیلی باید بیشتر دیده بشه...
یه دوست عزیزی یه skill برای برای بهتر کردن خروجی فارسی AI نوشته که خیلی از مشکلات همه رو حل میکنه:
1. قواعد نگارش فارسی مثل نیم فاصله و هکسره و اعداد فارسی و ... رو رعایت میکنه.
2. مشکل rtl نبودن نوشته توی فایل های مختلف رو حل کرده.
3. لحن های متفاوتی داره و برای کار های مختلف از لحن خاص خودش استفاده میکنه.
و چیزای دیگه که خودتون برید داخل ریپوش ببینید:
https://github.com/ali2000hos/persian-writing
@DevTwitter | <Seyed Hossein Mostafavi/>
یه دوست عزیزی یه skill برای برای بهتر کردن خروجی فارسی AI نوشته که خیلی از مشکلات همه رو حل میکنه:
1. قواعد نگارش فارسی مثل نیم فاصله و هکسره و اعداد فارسی و ... رو رعایت میکنه.
2. مشکل rtl نبودن نوشته توی فایل های مختلف رو حل کرده.
3. لحن های متفاوتی داره و برای کار های مختلف از لحن خاص خودش استفاده میکنه.
و چیزای دیگه که خودتون برید داخل ریپوش ببینید:
https://github.com/ali2000hos/persian-writing
@DevTwitter | <Seyed Hossein Mostafavi/>
❤38👍7👎2
کاربری در ردیت با کمک GPT-6 نسخهای دقیق از فتوشاپ رو به صورت رایگان ساخته.
این کار برای او حدود 2000 دلار هزینه داشت، اما نتیجه ارزش داشت
این نرمافزار با نام Photon تقریباً تمام قابلیتهای نسخه پولی رو داره و روی لینوکس، ویندوز و مک قابل استفاده است.
https://tenzen.studio/photon/
@DevTwitter | <Reza/>
این کار برای او حدود 2000 دلار هزینه داشت، اما نتیجه ارزش داشت
این نرمافزار با نام Photon تقریباً تمام قابلیتهای نسخه پولی رو داره و روی لینوکس، ویندوز و مک قابل استفاده است.
https://tenzen.studio/photon/
@DevTwitter | <Reza/>
🔥148👎9🍌7
برای Digikala یه MCP Server ساختم.
جستجوی محصولات، دریافت اطلاعات و مشخصات، بررسی قیمت و تخفیف، مشاهده امتیاز و نظرات کاربران، مقایسه محصولات، بررسی موجودی و پیدا کردن گزینههای مناسب.
۱۶ ابزار، بدون API Key
https://github.com/mmdju/digikala-mcp
@DevTwitter | <Mmdj/>
جستجوی محصولات، دریافت اطلاعات و مشخصات، بررسی قیمت و تخفیف، مشاهده امتیاز و نظرات کاربران، مقایسه محصولات، بررسی موجودی و پیدا کردن گزینههای مناسب.
۱۶ ابزار، بدون API Key
https://github.com/mmdju/digikala-mcp
@DevTwitter | <Mmdj/>
🔥86🍌12👎4
یک ساله یکی از دغدغههام حافظه جانبی هوشمصنوعیه.
۷ ماه پیش MCPedia رو ساختم و چند ماه تستش کردم. ایدههای دیگه مثل codememory و mem0 و ... بررسی کردم. پیادهسازی با embedding و VectorDB رو انجام دادم و تست کردم.
نهایتا خروجی شد برهان:
https://github.com/pouriya/borhan
@DevTwitter | <حضرت آقا پوریا/>
۷ ماه پیش MCPedia رو ساختم و چند ماه تستش کردم. ایدههای دیگه مثل codememory و mem0 و ... بررسی کردم. پیادهسازی با embedding و VectorDB رو انجام دادم و تست کردم.
نهایتا خروجی شد برهان:
https://github.com/pouriya/borhan
@DevTwitter | <حضرت آقا پوریا/>
🍌33❤13🔥1
خبر داغ برای لاراولکارا :)
نسخه Laravel 13.32 تازه منتشر شده و یکی از تغییرات جالبش، اضافه شدن یه Driver جدید برای Mercure توی سیستم Broadcasting هست.
با این قابلیت میتونی از Mercure برای ارسال آپدیتهای لحظهای به سمت کلاینت استفاده کنی. جالبه که برخلاف WebSocketها، این روش بر پایه Server-Sent Events کار میکنه و برای خیلی از پروژهها سادهتر و سبکتره.
این موضوع مخصوصاً برای پروژههایی که نیاز به نمایش اطلاعات لحظهای دارن خیلی کاربردیه. مثلاً:
داشبوردهای زنده
وضعیت سفارشها
نوتیفیکیشنها
یا هر بخشی که باید بدون رفرش شدن صفحه بهروزرسانی بشه
علاوه بر این، این نسخه چند قابلیت دیگه هم آورده که به نظرم ارزش دارن:
متدهای copyToDisk() و moveToDisk() برای Filesystem که کار با فایلها رو راحتتر میکنه
پشتیبانی از Enumها توی Pause و Resume کردن Queueها
در کل اگه از لاراول ۱۳ استفاده میکنی، این نسخه چندتا تغییر کاربردی توی بخشهای مختلف فریمورک به همراه داره و به نظرم ارزش آپدیت کردن داره.
منبع:
https://laravel-news.com/laravel-13-32-0
@DevTwitter | <Amirreza Riahi/>
نسخه Laravel 13.32 تازه منتشر شده و یکی از تغییرات جالبش، اضافه شدن یه Driver جدید برای Mercure توی سیستم Broadcasting هست.
با این قابلیت میتونی از Mercure برای ارسال آپدیتهای لحظهای به سمت کلاینت استفاده کنی. جالبه که برخلاف WebSocketها، این روش بر پایه Server-Sent Events کار میکنه و برای خیلی از پروژهها سادهتر و سبکتره.
این موضوع مخصوصاً برای پروژههایی که نیاز به نمایش اطلاعات لحظهای دارن خیلی کاربردیه. مثلاً:
داشبوردهای زنده
وضعیت سفارشها
نوتیفیکیشنها
یا هر بخشی که باید بدون رفرش شدن صفحه بهروزرسانی بشه
علاوه بر این، این نسخه چند قابلیت دیگه هم آورده که به نظرم ارزش دارن:
متدهای copyToDisk() و moveToDisk() برای Filesystem که کار با فایلها رو راحتتر میکنه
پشتیبانی از Enumها توی Pause و Resume کردن Queueها
در کل اگه از لاراول ۱۳ استفاده میکنی، این نسخه چندتا تغییر کاربردی توی بخشهای مختلف فریمورک به همراه داره و به نظرم ارزش آپدیت کردن داره.
منبع:
https://laravel-news.com/laravel-13-32-0
@DevTwitter | <Amirreza Riahi/>
👍23❤4🔥2
نسخه جدید گو ۱.۲۷ بالاخره منتشر شد
این نسخه ۱۹ آگوست اومد و چند تا تغییر جدی داره که توی کار روزمره قشنگ حس میشه.
اولین و به نظرم مهمترین تغییر، پشتیبانی از generic methodهاست.
تا قبل از این اگه میخواستیم روی متد از جنریک استفاده کنیم، باید خود struct والد جنریک میبود تا متدها بتونن ازش استفاده کنن. حالا میتونیم مستقیم داخل متد type parameter تعریف کنیم. این کار باعث میشه کد مربوط به یه تایپ، تمیزتر و منسجمتر داخل همون تایپ بمونه و مجبور نشیم تابعهای جنریک رو بیاریم بیرون.
دومین تغییر مهم مربوط به encoding/json هست.
عملیات unmarshaling بهبود محسوسی داشته و علاوه بر اون، پکیج encoding/json/v2 هم به شکل رسمی اضافه شده. این نسخه جدید کنترل بیشتری روی نحوه پردازش JSON میده و پیشفرضهاش سختگیرانهتره (مثلاً UTF-8 خراب یا کلید تکراری رو رد میکنه). نسخه قدیمی هم همچنان کار میکنه.
سومین مورد که خیلی کاربردیه، اضافه شدن goroutineleak به runtime/pprof هست.
احتمالاً با این مشکل روبهرو شدی که یه گوروتین ساخته میشه و به هر دلیلی برای همیشه بلاک میمونه و آزاد نمیشه. حالا گو میتونه بخشی از این گوروتینهای گیرکرده رو راحتتر شناسایی کنه و تو پروفایل نشون بده.
چهارمین مورد، اضافه شدن UUID به کتابخانه استاندارد هست.
برای ساختن و پارس کردن UUIDهای معمول، دیگه لزوماً نیازی به کشیدن یه dependency جداگانه نیست.
پنجمین مورد هم بهبود memory allocation هست.
تو تخصیصهای کوچیک (مخصوصاً زیر حدود ۸۰ بایت) هزینه بعضی allocationها تا ۳۰ درصد کمتر شده. برای برنامههایی که زیاد حافظه میگیرن، بهبود کلی حدود ۱ درصد گزارش شده.
در کنار اینا، go fix و go doc هم بهتر شدن و چند تغییر دیگه تو runtime و standard library وجود داره.
در کل Go ۱.۲۷ بیشتر از اینکه یه نسخه پر از قابلیتهای عجیب و غریب باشه، چند تا بخش مهم و پرکاربرد رو پختهتر و کاربردیتر کرده.
مستند تغییرات Go 1.27:
https://go.dev/doc/go1.27
@DevTwitter | <Ali Moradi/>
این نسخه ۱۹ آگوست اومد و چند تا تغییر جدی داره که توی کار روزمره قشنگ حس میشه.
اولین و به نظرم مهمترین تغییر، پشتیبانی از generic methodهاست.
تا قبل از این اگه میخواستیم روی متد از جنریک استفاده کنیم، باید خود struct والد جنریک میبود تا متدها بتونن ازش استفاده کنن. حالا میتونیم مستقیم داخل متد type parameter تعریف کنیم. این کار باعث میشه کد مربوط به یه تایپ، تمیزتر و منسجمتر داخل همون تایپ بمونه و مجبور نشیم تابعهای جنریک رو بیاریم بیرون.
دومین تغییر مهم مربوط به encoding/json هست.
عملیات unmarshaling بهبود محسوسی داشته و علاوه بر اون، پکیج encoding/json/v2 هم به شکل رسمی اضافه شده. این نسخه جدید کنترل بیشتری روی نحوه پردازش JSON میده و پیشفرضهاش سختگیرانهتره (مثلاً UTF-8 خراب یا کلید تکراری رو رد میکنه). نسخه قدیمی هم همچنان کار میکنه.
سومین مورد که خیلی کاربردیه، اضافه شدن goroutineleak به runtime/pprof هست.
احتمالاً با این مشکل روبهرو شدی که یه گوروتین ساخته میشه و به هر دلیلی برای همیشه بلاک میمونه و آزاد نمیشه. حالا گو میتونه بخشی از این گوروتینهای گیرکرده رو راحتتر شناسایی کنه و تو پروفایل نشون بده.
چهارمین مورد، اضافه شدن UUID به کتابخانه استاندارد هست.
برای ساختن و پارس کردن UUIDهای معمول، دیگه لزوماً نیازی به کشیدن یه dependency جداگانه نیست.
پنجمین مورد هم بهبود memory allocation هست.
تو تخصیصهای کوچیک (مخصوصاً زیر حدود ۸۰ بایت) هزینه بعضی allocationها تا ۳۰ درصد کمتر شده. برای برنامههایی که زیاد حافظه میگیرن، بهبود کلی حدود ۱ درصد گزارش شده.
در کنار اینا، go fix و go doc هم بهتر شدن و چند تغییر دیگه تو runtime و standard library وجود داره.
در کل Go ۱.۲۷ بیشتر از اینکه یه نسخه پر از قابلیتهای عجیب و غریب باشه، چند تا بخش مهم و پرکاربرد رو پختهتر و کاربردیتر کرده.
مستند تغییرات Go 1.27:
https://go.dev/doc/go1.27
@DevTwitter | <Ali Moradi/>
❤19👍3
ویژگیهای مهم JWT (فارغ از فریم ورک)
JWT یک توکن امضاشده است که اطلاعات کاربر را درون خودش دارد.
نحوه کار: سرور توکن را میسازد و امضا میکند ← کلاینت آن را در هر درخواست میفرستد ← سرور فقط امضا را چک میکند (بدون دیتابیس).
نکته کلیدی: فقط Encode است، نه Encrypt ← داده حساس داخلش نگذارید.
------------------
ساختار: سه بخش با نقطه جدا میشوند
- Header:
- نوع توکن و الگوریتم امضا
- Payload:
- دادهها (Claims مثل شناسه کاربر، نقش، انقضا)
- Signature:
- امضا برای تأیید دستکاری نشدن
------------------
آیا در میکروسرویسها JWT بهتر است؟
بله، اغلب اوقات. چون Stateless است و هر سرویس بدون کوئری دیتابیس مرکزی میتواند توکن را تأیید کند.
بهترین کاربردها:
- احراز هویت بین میکروسرویسها
- Machine-to-Machine (سرویس به سرویس)
- APIهای عمومی و چندپلتفرمی
- سیستمهای توزیعشده و مقیاسپذیر
بدترین کاربردها:
- نشست کاربران وب (Session جایگزین بهتری است)
- وقتی نیاز به ابطال آنی توکن دارید (مثل logout یا تغییر رمز)
- ذخیره داده حساس در Payload (رمزنگاری نشده)
- توکنهای طولانیمدت بدون Refresh Token
ویژگیهای مهم JWT
Stateless
تمام اطلاعات لازم در خود توکن ذخیره میشود؛ سرور نیازی به ذخیره نشست ندارد.
Self-contained
شامل Header، Payload و Signature است و میتواند Claimهای سفارشی (نقش، مجوزها و...) را حمل کند.
امضاشده (Signed)
با الگوریتمهای HMAC یا RSA امضا میشود؛ دستکاری محتوا قابل تشخیص است.
استاندارد باز (RFC 7519)
مستقل از زبان و پلتفرم است و در هر سیستمعاملی قابل استفاده است.
قابل حمل (Portable)
به راحتی بین سرویسها، دامنهها و میکروسرویسها منتقل میشود.
دارای انقضا (Expiration)
فیلد exp زمان اعتبار توکن را مشخص میکند.
غیرقابل ابطال (Non-revocable)
تا زمان انقضا معتبر میماند؛ ابطال آنی نیاز به Blocklist دارد که Stateless بودن را نقض میکند.
حجیم (Bulky)
به دلیل داشتن Payload، معمولاً بزرگتر از توکنهای ساده است.
رمزنگارینشده (Base64 Encoded)
محتوای Payload فقط Encode شده، نه Encrypt؛ بنابراین نباید داده حساس در آن قرار داد.
آسیبپذیر در صورت لو رفتن
اگر توکن دزدیده شود، مهاجم تا زمان انقضا به آن دسترسی دارد.
@DevTwitter | <Max Shirinzad/>
JWT یک توکن امضاشده است که اطلاعات کاربر را درون خودش دارد.
نحوه کار: سرور توکن را میسازد و امضا میکند ← کلاینت آن را در هر درخواست میفرستد ← سرور فقط امضا را چک میکند (بدون دیتابیس).
نکته کلیدی: فقط Encode است، نه Encrypt ← داده حساس داخلش نگذارید.
------------------
ساختار: سه بخش با نقطه جدا میشوند
- Header:
- نوع توکن و الگوریتم امضا
- Payload:
- دادهها (Claims مثل شناسه کاربر، نقش، انقضا)
- Signature:
- امضا برای تأیید دستکاری نشدن
------------------
آیا در میکروسرویسها JWT بهتر است؟
بله، اغلب اوقات. چون Stateless است و هر سرویس بدون کوئری دیتابیس مرکزی میتواند توکن را تأیید کند.
بهترین کاربردها:
- احراز هویت بین میکروسرویسها
- Machine-to-Machine (سرویس به سرویس)
- APIهای عمومی و چندپلتفرمی
- سیستمهای توزیعشده و مقیاسپذیر
بدترین کاربردها:
- نشست کاربران وب (Session جایگزین بهتری است)
- وقتی نیاز به ابطال آنی توکن دارید (مثل logout یا تغییر رمز)
- ذخیره داده حساس در Payload (رمزنگاری نشده)
- توکنهای طولانیمدت بدون Refresh Token
ویژگیهای مهم JWT
Stateless
تمام اطلاعات لازم در خود توکن ذخیره میشود؛ سرور نیازی به ذخیره نشست ندارد.
Self-contained
شامل Header، Payload و Signature است و میتواند Claimهای سفارشی (نقش، مجوزها و...) را حمل کند.
امضاشده (Signed)
با الگوریتمهای HMAC یا RSA امضا میشود؛ دستکاری محتوا قابل تشخیص است.
استاندارد باز (RFC 7519)
مستقل از زبان و پلتفرم است و در هر سیستمعاملی قابل استفاده است.
قابل حمل (Portable)
به راحتی بین سرویسها، دامنهها و میکروسرویسها منتقل میشود.
دارای انقضا (Expiration)
فیلد exp زمان اعتبار توکن را مشخص میکند.
غیرقابل ابطال (Non-revocable)
تا زمان انقضا معتبر میماند؛ ابطال آنی نیاز به Blocklist دارد که Stateless بودن را نقض میکند.
حجیم (Bulky)
به دلیل داشتن Payload، معمولاً بزرگتر از توکنهای ساده است.
رمزنگارینشده (Base64 Encoded)
محتوای Payload فقط Encode شده، نه Encrypt؛ بنابراین نباید داده حساس در آن قرار داد.
آسیبپذیر در صورت لو رفتن
اگر توکن دزدیده شود، مهاجم تا زمان انقضا به آن دسترسی دارد.
@DevTwitter | <Max Shirinzad/>
❤33🍌12👍5
بدون هیچ اغراقی میگم: ابزار act واقعاً زندگی مهندسی و سلامت روان منو نجات داد!
اگر تا حالا برای تنظیم یک فایل ساده .github/workflows مجبور شدید ۳۰ بار کامیت بزنید با پیامهای حسرتباری مثل fix yaml، test ci 2 و PLEASE WORK... دقیقاً میدونید از چه جهنمی صحبت میکنم.
کابوس روزمرهام قبل از act این بود:
- یک خط تغییر کوچک توی کانفیگ پایپلاین میدادم.
- کامیت و پوش میکردم و منتظر میشدم تا Runner گیتهاب بالا بیاد.
چند دقیقه طول میکشید تا وابستگیها دانلود بشن و آخرش بهخاطر یک Space اضافه یا جابهجا بودن یک Indentation ساده، کلاً Build شکست میخورد!
تاریخچه (Git Log) پروژهام شبیه گورستان کامیتهای اسپم و بیمصرف شده بود.
معجزهای به نام act
تغییر از وقتی شروع شد که act رو وارد workflow خودم کردم. این ابزار کل محیط اجرای GitHub Actions رو مستقیماً روی سیستم خودم و داخل کانتینرهای Docker شبیهسازی میکنه.
حالا فرآیند تست CI برای من این شکلی شده:
بازخورد زیر ۵ ثانیه: بدون اینکه حتی یک کامیت بزنم یا کدی رو پوش کنم، فقط با زدن دستور act pull_request کل پایپلاین (از آنالیز استاتیک و Spotless گرفته تا تستهای یکپارچگی سنگین) روی سیستم محلی اجرا میشه.
تاریخچه گیت کاملاً شفاف و تمیز: فقط و فقط زمانی کامیت میزنم که مطمئن باشم پایپلاین روی سیستم خودم ۱۰۰٪ سبز شده.
پایان الگوی سمی "Push and Pray": دیگه نیازی نیست دست به دعا بشم که آیا این پوش جدید قراره سبز بشه یا قرمز!
اگر روی زمان، تمرکز و پاکیزگی Git Log پروژههاتون تعصب دارید، همین امروز act رو روی سیستمتون نصب کنید و خودتون رو برای همیشه از کابوس تست CI روی سرورهای ابری نجات بدید.
https://www.linkedin.com/pulse/stop-committing-test-your-ci-deep-dive-act-local-amir-goalmoradi-uff9e/
@DevTwitter | <Amir Goalmoradi/>
اگر تا حالا برای تنظیم یک فایل ساده .github/workflows مجبور شدید ۳۰ بار کامیت بزنید با پیامهای حسرتباری مثل fix yaml، test ci 2 و PLEASE WORK... دقیقاً میدونید از چه جهنمی صحبت میکنم.
کابوس روزمرهام قبل از act این بود:
- یک خط تغییر کوچک توی کانفیگ پایپلاین میدادم.
- کامیت و پوش میکردم و منتظر میشدم تا Runner گیتهاب بالا بیاد.
چند دقیقه طول میکشید تا وابستگیها دانلود بشن و آخرش بهخاطر یک Space اضافه یا جابهجا بودن یک Indentation ساده، کلاً Build شکست میخورد!
تاریخچه (Git Log) پروژهام شبیه گورستان کامیتهای اسپم و بیمصرف شده بود.
معجزهای به نام act
تغییر از وقتی شروع شد که act رو وارد workflow خودم کردم. این ابزار کل محیط اجرای GitHub Actions رو مستقیماً روی سیستم خودم و داخل کانتینرهای Docker شبیهسازی میکنه.
حالا فرآیند تست CI برای من این شکلی شده:
بازخورد زیر ۵ ثانیه: بدون اینکه حتی یک کامیت بزنم یا کدی رو پوش کنم، فقط با زدن دستور act pull_request کل پایپلاین (از آنالیز استاتیک و Spotless گرفته تا تستهای یکپارچگی سنگین) روی سیستم محلی اجرا میشه.
تاریخچه گیت کاملاً شفاف و تمیز: فقط و فقط زمانی کامیت میزنم که مطمئن باشم پایپلاین روی سیستم خودم ۱۰۰٪ سبز شده.
پایان الگوی سمی "Push and Pray": دیگه نیازی نیست دست به دعا بشم که آیا این پوش جدید قراره سبز بشه یا قرمز!
اگر روی زمان، تمرکز و پاکیزگی Git Log پروژههاتون تعصب دارید، همین امروز act رو روی سیستمتون نصب کنید و خودتون رو برای همیشه از کابوس تست CI روی سرورهای ابری نجات بدید.
https://www.linkedin.com/pulse/stop-committing-test-your-ci-deep-dive-act-local-amir-goalmoradi-uff9e/
@DevTwitter | <Amir Goalmoradi/>
❤39👍15🍌9
Forwarded from DevTwitter Ads.
اولین پروژهای که ترافیک واقعی گرفت، یه چیزی فهمیدم:
فرق بین کدی که کار میکنه و کدی که scale میشه، زمین تا آسمونه.
اینجا از این فرقها زیاد حرف میزنیم.
https://t.me/+HgGHhDZPg9tlNTU0
فرق بین کدی که کار میکنه و کدی که scale میشه، زمین تا آسمونه.
اینجا از این فرقها زیاد حرف میزنیم.
https://t.me/+HgGHhDZPg9tlNTU0
🍌31👍9👎3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥15🍌1