DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.11K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
چه جوری به عنوان یک توسعه دهنده برجسته شناخته بشیم؟

1. آروم برو جلو

تو صنعتی که حرف اول رو سرعت میزنه، اگر یک زبان رو آروم و عمیق یاد بگیری بهتر از اینه که چند تا زبان رو تو مدت کوتاه یاد بگیری

وقتی آروم یاد میگیری، دانشت عمیق میشه و وقتی کسی بهت میگه یک todo بنویس، خشکت نیمزنه، بعد از مدتی حتی می تونی پایه یک برنامه بزرگ رو بنویسی

2. همه چیز رو بلد نیستی

برنامه نویس های تازه کار، صحبت از هر تکنولوزی بشه راجبش حرف میزنن و میگن بلدن اما تو عمل اصلا موفق نیستن، اما برنامه نویس های سینیور اگه تکنولوزی بلد نباشن میگن بلد نیستم ولی می تونم تو دوهفته یاد بگیرم

و می تونم برنامه رو بنویسم، و واقعا می نویسن.

https://www.youtube.com/watch?si=6vwnwANW_DkG8obc&v=pn4jYe5ao0Y&feature=youtu.be

@DevTwitter | <Yusof Sadat Fakhr/>
31👍21👎4
امروز می‌خوام اولین پروژه‌ی React خودم رو با شما به اشتراک بذارم؛
یه چت‌بات کوچیک اما خیلی دوست‌داشتنی برای خودم که با React و JavaScript ساختم.
هرچند ساده‌ست، ولی برای من کلی حس خوب داشت چون اولین تجربه‌م با React بود و حسابی چیزای جدید یاد گرفتم.
قراره کم‌کم امکانات بیشتری بهش اضافه کنم و بهترش کنم.

اگر دوست داشتید نگاهش کنید یا پیشنهادی داشتید، ممنون می‌شم باهام به اشتراک بذارید:
GitHub: https://github.com/kurooshsarvandi/chatbot

این فقط شروع راهه و خیلی برام هیجان‌انگیزه!

@DevTwitter | <Kuroosh Sarvandi/>
👎5851👍7🔥3
#دراز_نیوز

دلیل اختلال جهانی ایکس و ChatGPT چه بود؟ کلودفلر مشکل خود را توضیح داد

روز گذشته بخش بزرگی از اینترنت جهان به‌دلیل مشکلات کلودفلر با اختلال مواجه شد. از دسترس خارج‌شدن ChatGPT، شبکه اجتماعی ایکس و حتی سایت Downdetector کاربران زیادی را سردرگم کرد. اکنون کلودفلر این حادثه را کاملاً شرح داده است.

«متیو پرینس»، هم‌بنیان‌گذار و مدیرعامل کلودفلر، در یک پست وبلاگی جزئیات فنی حادثه روز گذشته را منتشر کرده است. برخلاف شایعات اولیه مبنی‌بر حمله سایبری، دلیل اصلی این اختلال یک خطای داخلی در سیستم مدیریت بات کلودفلر بود که منجر به پرشدن حافظه و از کارافتادن سیستم‌های پردازش ترافیک شد. او می‌گوید این حادثه نه یک حمله سایبری بود، نه مشکل DNS و نه یک حمله DDoS؛ بلکه تغییری در سیستم مجوزهای پایگاه داده باعث بروز این بحران شد.

مدیرعامل کلودفلر توضیح داد: «مدل یادگیری ماشینی که پشت سیستم مدیریت بات قرار دارد، به‌طور مداوم یک فایل پیکربندی را برای شناسایی درخواست‌های خودکار به‌روزرسانی می‌کند. اما یک تغییر در رفتار درخواست‌های پایگاه داده ClickHouse باعث شد تعداد زیادی ردیف‌های تکراری در فایل ایجاد شود.» این فایل به سرعت رشد کرد و از محدودیت حافظه فراتر رفت و سیستم اصلی پراکسی از کار افتاد. هوش مصنوعی مولد مقصر نبود و اختلال صرفاً ناشی از تغییر در مجوزهای دیتابیس بود.

@DevTwitter | <Digiato/>
19👍4🍌2👎1
گوگل در مقاله جدیدش دربارهٔ Generative UI توضیح داده که چطور با کمک Gemini 3 Pro می‌تونه رابط‌های کاربری رو به‌صورت خودکار بسازه. این سیستم فقط یک مدل زبانی نیست؛ سه بخش مهم داره که کیفیت نتیجه رو چند برابر می‌کنه:

1.LLM تنها نیست.
مورد Generative UI با اتصال مدل به چند ابزار مهم مثل وب‌سرچ، تولید تصویر، دیتابیس‌ها و APIها خروجی خیلی واقعی‌تر می‌سازه.

2.System Instructions قلب ماجراست.
مدل با یک سری دستورهای دقیق هدایت میشه:
ساختار UI، قوانین HTML/CSS/JS، مثال‌ها، محدودیت‌ها، و چطور از ابزارها استفاده کنه.

3.Post-Processing کیفیت رو تضمین می‌کنه.
خروجی مدل خامه یه لایه‌ی پردازشگر بعدش تگ‌های اشتباه، مشکلات امنیتی، ساختار UI و نمایش مرورگر رو اصلاح می‌کنه.

4.نتیجه؟
مدل فقط توضیح متنی نمی‌ده؛
رابط کاربری واقعی، قابل اجرا و قابل تعامل می‌سازه

5.کل سیستم سه ستون داره:
- دسترسی به ابزارها
- دستورالعمل‌های دقیق
- اصلاح خروجی مدل

این سه‌تا کنار هم باعث میشن AI بتونه مثل یک Front-End Developer خودکار رفتار کنه.


لینک مقاله
https://generativeui.github.io/static/pdfs/paper.pdf

@DevTwitter | <Neurogenix/>
15👎5👍3🍌3
1- دو تا ایجنت بساز که اولیش داده های فروش رو بخونه و تحلیل کنه و بعد ایجنت دومی یه پاراگراف مختصر درباره ش بنویسه
2- خروجی ایجنت اول باید بره به ایجنت دوم
3- توی تیمز یا اسلک هم خروجی منتشر بشه...

با Microsoft Agent Framework میتونید انجام بدین...
کدش:
https://github.com/SaM-92/AI-Agent-Framework-Tutorial-Sales-Report-Automation

@DevTwitter | <Sam92/>
10🍌7👎2👍1
یه نفر رفته system prompt‌های پشت‌پردهٔ کلی ابزار و چت‌بات معروف رو از طریق یه leak بزرگ پیدا کرده و همشو منتشر کرده!
الان یک ریپو تو گیت‌هاب هست که عملاً تبدیل شده به آرشیوی از مغزِ واقعی ابزارهای هوش مصنوعی — از Cursor و Devin گرفته تا Claude، Replit، Perplexity و ده‌ها ابزار دیگه.
اگه می‌خواید ببینید این ابزارها پشت صحنه چه قوانین، چه نقش‌ها و چه پرامپت‌هایی دارن، این ریپو واقعاً مثل گنج می‌مونه.
حتی می‌تونید برای طراحی agent یا پرامپت‌هاتون ازش ایده بگیرید.

https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools

@DevTwitter | <Hanieh Khalesi/>
👍177🍌2🔥1
کدام بهتر است ؟ GraphQL یا Rest ؟

سال‌ها REST استاندارد اصلی ارتباط با API بود اما با ظهور GraphQL قواعد بازی تغییر کرده است
این انتخاب فقط سلیقه‌ای نیست یک تصمیم معماری است که روی سرعت، حجم داده و تجربه‌ی توسعه تأثیر میزاره

چالش‌های REST که GraphQL حل می‌کند
Over-Fetching
در REST معمولاً داده‌های اضافی برمی‌گردند. GraphQL اجازه می‌دهد فقط همان فیلدهای موردنیاز را با حجم کمتر دریافت کنیم و سرعت بیشتر
Under-Fetching
در REST برای یک کامپوننت پیچیده باید چندین درخواست ارسال شود. GraphQL همه‌ی داده‌ها را در یک Query واحد برمی‌گرداند
رفت و برگشت کمتر و منطق ساده تر
چه زمانی از کدام استفاده کنیم؟

- رست: پروژه‌های کوچک و ساده
- گراف: اپلیکیشن‌های پیچیده و موبایل یا زمانی که چند تیم داده‌ها را مصرف می‌کنند


@DevTwitter | <Mojtaba Vahedi/>
👍20👎204
سایت laramap.dev
پلتفرمی برای پیدا کردن برنامه نویسان Laravel در سرتاسر دنیا.
ثبت نام کنید و میاید روی نقشه.
خداروشکر فعلا ایران توی نقشه هست

@DevTwitter | <Sepehr Mohseni/>
38🍌9👍4👎4
چیز هایی که فارغ التحصیلان کامپیوتر دیر یاد می گیرند؟

۱. هوش مصنوعی

چت جیپیتی و کو پایلت همه جا هستند. استفاده ازشون خیلی راحت و سریعه. اما اگه هر مشکلی رو هوش مصنوعی حل کنه، هیچ وقت یاد نمیگیری خودت مشکل رو حل کنی.

۲. دانشگاه به تو دروغ گفته

۴ سال رو با یادگرفتن انواع الگوریتم ها و تئوری ها گذروندی.
اما هیچ کس به تو یاد نداده کدی که ۵ نفر مختلف نوشتن رو اصلاح کنی.
یا وقتی ساعت ۳ صبح مشکل پیش بیاد، کد رو debug کنی.

۳. شبکه سازی

ما فکر می کنیم کد خوب باعث استخدام میشه. یا بهترین شغل ها تو لینکدین هست. اما اشتباهه.
بهترین شغل ها از معرفی کردن پیدا میشه.
و تو اگه شبکه سازی نمی کنی راه خیلی سخت رو در پیش گرفتی

youtube.com/watch?si=e0ZP1QQi-glsanse&v=ZrVIyCAJHNE&feature=youtu.be

@DevTwitter | <ِYusof Sadaf Fakhr/>
👍58👎14🍌3🔥1
از Android به Flutter؛ پلی که همیشه جایش خالی بود
سال‌ها روی Android کار کرده بودم و عادت داشتم هرچه لازم دارم را مستقیم از بخش Native بگیرم.
وقتی وارد Flutter شدم، دوباره همان نیاز جلویم قرار گرفت؛
و این‌بار Platform Channel دقیقاً همان پلی بود که دنبالش می‌گشتم
راهی ساده، امن و قابل‌اعتماد برای ارتباط بین Flutter و دنیای Native.
برای اینکه این مسیر برای دیگران هم روشن‌تر باشد،
یک نمونه‌ی جمع‌وجور آماده کردم که ارتباط Flutter - Android را خیلی شفاف و قدم‌به‌قدم نشان می‌دهد.

https://github.com/arminmehraeen/Flutter-Channel

@DevTwitter | <Armin Mehraein/>
14👍3🍌2
PHP 8.5 Released!

In this new release, we have:
– URI Extension
– Pipe Operator
– Clone With
– A new #[\NoDiscard] attribute
– Closures and first-class callables in constant expressions
– Persistent cURL share handles

https://www.php.net/releases/8.5/en.php

@DevTwitter
👍24🍌6🔥4
یه چیز جالب/ترسناک که امروز دیدم

- تشخیص حالت Incognito / Private
- ردیابی حتی بعد از پاک کردن کش و کوکی‌ها
- شناسایی چند پنجره همزمان
- کار کردن حتی کنار Anti-Tracking ها

یه پروژه هست به اسم supercookie که نشون می‌ده حتی اگه تو حالت Incognito باشید هم می‌تونن فقط از روی favicon شما رو ردیابی کنن
مرورگر فاوآیکون رو یه‌جوری کش می‌کنه که می‌شه ازش به‌عنوان یک شناسه پایدار استفاده کرد

لینک پروژه:
https://github.com/jonasstrehle/supercookie/

@DevTwitter | <Mahdi AmirAbdollahi/>
12🔥10👎2🍌1
یک منبع داکر روی گیت‌هاب آماده کردم که همه چیزای مهم رو شامل میشه:

cheat sheet – Docker | Docker Compose

sample: Django، FastAPI، Node.js، Nginx، PostgreSQL، Redis

advanced topic : security, monitoring, networking, Prometheus, private registry, Grafana

این ریپو برای افرادی مناسبه که تازه می‌خوان داکر رو یاد بگیرن یا دولوپرهایی که می‌خوان سریع پروژه‌هاشون رو بیارن بالا.

https://github.com/sajadnezamabadi/docker-cheat-sheet

@DevTwitter | <Sajad NezamAbadi/>
29🔥1
کاهش هزینه سیستم‌های هوش مصنوعی با Semantic Caching

با رشد مدل‌های زبانی بزرگ و پیشرفته، هزینه و زمان پاسخ‌دهی هم به شدت افزایش پیدا کرده. مدل‌هایی مثل GPT-5 یا Claude برای کارهای پیچیده فوق‌العاده‌اند، ولی استفاده از اون‌ها هم پرهزینه و هم کند محسوب می‌شه. از طرف دیگه، AI Agentها واقعاً «توکن‌خور» هستن؛ یعنی برای انجام یک کار معمولاً چندین مرحله طی می‌کنن: تحقیق، برنامه‌ریزی، عمل و بازتاب و تکرار. همین باعث می‌شه چندین بار با مدل تماس بگیرن و در نتیجه هزینه و تأخیر افزایش پیدا کنه و متن‌های طولانی‌تر تولید بشه. برای مثال، یه بنچمارک اخیر از TheAgentCompany در ۲۰۲۵ نشون داده اجرای کامل یک Agent گاهی تا ۶.۸ دلار هزینه داره.

یکی از مشکلات اصلی در دنیای واقعی، تکراری بودن سوال‌هاست، مخصوصاً توی پشتیبانی مشتری. کاربران دائماً سوال‌های مشابهی می‌پرسن: مثل «چطور پولم رو پس بگیرم؟» یا «شرایط بازگشت وجه چیه؟» و Agent مجبور می‌شه هر بار پاسخ رو از صفر تولید کنه. نتیجه‌ش افزایش هزینه، طولانی شدن زمان پاسخ و فشار بیشتر روی سیستم‌های RAG و زیرساخت‌هاست.

در نگاه اول، ممکنه فکر کنیم کش کلاسیک کفایت می‌کنه. ایده‌ی کش ساده اینه که اگر یک سوال قبلاً پاسخ داده شده، دوباره سراغ مدل نریم. ولی مشکل اینجاست که کش سنتی دنبال Exact Match یا تطابق دقیق متنه. سوال‌هایی که از نظر معنی یکی هستن ولی عبارت‌هاشون فرق می‌کنه، مثل: «می‌خوام پولم رو پس بگیرم»، «چطور می‌تونم درخواست بازگشت وجه بدم؟» و «سیاست بازگشت پولتون چیه؟»، همه Cache Miss می‌شن و کش عملاً استفاده نمی‌شه.

اینجاست که Semantic Caching وارد می‌شه. به جای تطابق کلمه‌به‌کلمه، کش به معنی و مفهوم جمله نگاه می‌کنه. مزیت اصلی‌ش اینه که Recall و Hit Rate بالاتره و احتمال استفاده از کش و صرفه‌جویی خیلی بیشتر می‌شه. البته چالشش هم اینه که گاهی ممکنه جواب بی‌ربط بده یا همون «False Positive» رخ بده.

روش کار Semantic Caching ساده است ولی هوشمندانه: ابتدا سوال کاربر به Embedding یا بردار عددی تبدیل می‌شه. بعد با بردارهای موجود در کش با Semantic Search مقایسه می‌شه. اگر فاصله معنایی کم باشه، پاسخ از کش برگردونده می‌شه؛ در غیر این صورت به RAG یا LLM می‌ریم. در نهایت سوال و پاسخ جدید هم ذخیره می‌شه تا دفعه بعدی قابل استفاده باشه.

پیاده‌سازی Semantic Caching با چالش‌هایی همراهه؛ مثل دقت (Accuracy) که آیا کش جواب درست می‌ده، کارایی (Performance) و میزان Cache Hit، سرعت سرویس‌دهی، آپدیت‌پذیری کش و اینکه آیا می‌تونیم کش رو گرم، تازه‌سازی یا پاکسازی کنیم. همچنین مشاهده‌پذیری (Observability) مهمه تا بتونیم hit rate، latency، صرفه‌جویی هزینه و کیفیت کش رو بسنجیم.

معیارهای اصلی سنجش کش شامل Cache Hit Rate هست که نشون می‌ده چند درصد درخواست‌ها از کش پاسخ داده می‌شن و Precision/Recall/F1 Score که کیفیت و دقت پاسخ‌ها رو مشخص می‌کنه. برای بهبود دقت و کارایی کش هم می‌تونیم Threshold فاصله رو تنظیم کنیم، Reranker اضافه کنیم مثل Cross-encoder یا LLM-as-a-judge، از Fuzzy Matching برای تایپوها استفاده کنیم و فیلترهای اضافی مثل تشخیص پرسش‌های زمان‌محور (Temporal) یا تشخیص کد (Python، Java و…) اعمال کنیم تا سوالات اشتباه وارد کش نشن.

یه مثال واقعی از این تکنولوژی پروژه waLLMartCache در Walmart هست. اون‌ها با نوآوری‌هایی مثل Load Balancer برای توزیع کش روی چند Node و Dual-tiered Storage که L1 = Vector DB و L2 = In-memory Cache مثل Redis هست، هم سرعت و هم دقت رو بالا بردن. Multi-tenancy هم باعث شده چند تیم یا اپلیکیشن از یک زیرساخت مشترک استفاده کنن. Decision Engine هم شامل تشخیص کد و زمانه و اگر سوال مناسب کش نباشه مستقیماً به LLM یا RAG می‌ره. نتیجه‌ش رسیدن به دقت نزدیک ۹۰٪ بوده.

@DevTwitter | <Reza Jafari/>
👍187🔥3👎2
هوش مصنوعی بالاخره یاد گرفت "فکر کنه"!

حتی اگه یه خط کدنویسی هم بلد نیستی، این پروژه رو ببین چون آینده‌ی تکنولوژی رو نشون میده.

اینجا هوش مصنوعی دیگه فقط یه ماشین نیست که دستورات رو تکرار کنه؛ بلکه یاد گرفته مثل یه انسان باهوش، قبل از هر کاری مکث کنه، نقشه بکشه و استدلال کنه.

اگه می‌خوای ببینی کامپیوترها چقدر دارن شبیه به مغز انسان می‌شن و چطوری مسائل سخت رو با "منطق" حل می‌کنن، حتماً یه نگاه بهش بنداز!

https://github.com/amirhoseinnaderali-pixel/Reasoning-Is-All-You-Need

@DevTwitter | <Am/>
👎68🍌108👍3
همه دیزاین پترن‌ها به فارسی

توی مصاحبه‌های شغلی یا کد نویسی تمیز، یادگیری Design Pattern‌ ها می‌تونه کمکت کنه.

من مجموعه‌ کاملی از الگوهای طراحی رو به زبان فارسی آماده کردم که هر پترن رو می‌تونی در کمتر از ۵ دقیقه همراه با مثال های کاربردی در سی‌شارپ بخونی.

شروع مطالعه:
https://alireza-haeri.github.io/Persian-Design-Patterns/

اگر مفید بود، با یه Star ازش حمایت کن:
https://github.com/alireza-haeri/Persian-Design-Patterns

@DevTwitter | <AliReza Haeri/>
63👍4👎2🍌1
چند وقتیه روی پروژه‌ای کار می‌کنم که اسمش رو Hyperion گذاشتم؛ یک سرویس سبک و قابل توسعه برای Health Monitoring که می‌تونه در کنار سرویس‌های مختلف قرار بگیره و به‌صورت مداوم وضعیت سلامت اون‌ها رو بررسی کنه.
Hyperion دقیقا چیکار می‌کنه؟
Hyperion برای این طراحی شده که در کنار سرویس‌های حیاتی یک سیستم قرار بگیره و وضعیت سلامت اون‌ها رو real-time مانیتور کنه.
فعلاً سرویس‌های زیر رو پشتیبانی می‌کنه:
1- PostgreSQL
2- Redis
3- MySQL
4- MongoDB
5- TCP Connections
کافیه داخل داشبورد، آدرس سرویس رو وارد کنید؛ باقی کار بر عهده Hyperion هست.
اتصال‌ها در فواصل زمانی مشخص با استفاده از Celery Beat انجام می‌شن و نتیجه‌ها در داشبورد نمایش داده می‌شن.
* تکنولوژی‌های استفاده شده :
Django – هسته اصلی سرویس
Celery + Redis – اجرای تسک‌های دوره‌ای و اتصال به سرویس‌ها
Dockerized – تنها با یک docker compose up --build بالا میاد
بدون API اضافه — سعی کردم خیلی ساده و سبک باشه و با template پیاده سازی کردم تا راحت قابل دسترس باشه
همچنین یک UI ساده برای مشاهده وضعیت سرویس‌ها درست کردم تا بدون پیچیدگی‌های اضافه بتوانید وضعیت health سرویس‌ها را با توجه به interval ای که بهش دادید ، ببینید . مثلا هر 10 دقیقه سرویس مورد نظرتون چک بشه یا هر 1 دقیقه .

* قابلیت‌های آینده :
در حال حاضر Hyperion در مرحله اولیه قرار داره و open source هم هست ، اما برنامه‌های توسعه زیادی براش دارم. مهم‌ترینش:
Alerting System برای ارسال اعلان از طریق:
ایمیل
Webhook
پیام‌رسان تلگرام
و همچنین اضافه کردن سرویس های دیگری برای چک کردن

Hyperion یک پروژه Open Source هست و خوشحال می‌شم اگر توسعه‌دهندگان Python / Django، برنامه‌نویس‌های Backend، یا دوستان DevOps علاقه‌مند به مانیتورینگ در توسعه اون شریک بشن.

https://github.com/soheilsshh/HYPERION



@DevTwitter | <soheil shorvarzy/>
👍24👎10🔥4🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
مدل Nano Banana Pro معرفی شد

مدل Nano Banana Pro یا همان Gemini 3 Pro Image جدیدترین مدل تصویری Google/DeepMind است که روی تولید و ویرایش تصویر با کیفیت بالا و کنترل‌پذیری دقیق تمرکز دارد. این مدل در درک صحنه و رندر جزئیات یک جهش جدی داشته.

یکی از نکات برجستهٔ آن، رندر متن داخل تصویر بدون distortion یا بهم‌ریختگی است. برای ساخت پوسترهای حرفه‌ای، نمودارها و صفحات محصول. همچنین امکان کنترل دقیق روی lighting، camera angle، scene setup و style را فراهم می‌کند.

جزئیات بیشتر در DeepMind
https://deepmind.google/models/gemini-image/pro/

@DevTwitter | <Hanieh Khalesi/>
12👍5🔥2
خبر داغ برنامه‌نویسا : گزارش Stack Overflow 2025 نشون می‌ده ۸۴% دولوپرها از AI مثل ChatGPT و GitHub Copilot استفاده می‌کنن، اما ۶۶% کلافه از کدهای 'تقریباً باگی' هستن! Cursor و Copilot دارن کدینگ رو متحول می‌کنن، ولی دیباگش وقت‌گیره.

https://survey.stackoverflow.co/2025/ai/

@DevTwitter | <Arash/>
👍696🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
ایشون رو بالاخره بهتر کردم..
حالا..نمایشگر فریم بافر داره و حرکت ها نرم تر شدند(پر پر رو تا جایی که می تونستم کم کردم)
حالا می تونید بیشترین امتیاز رو داشته باشید و اگر برد خاموش شد هم اون امتیاز از بین نمیره
مقاومت های ده هزار اهمی هم حذف شدند
لینک ریپو
https://github.com/aydakikio/arduino_snake

@DevTwitter | <Loanly/>
🔥37👍73👎2
چرا برای تولید OTP نباید از Math.random() استفاده کنیم؟

بسیاری از سیستم‌ها برای تولید کدهای یک‌بارمصرف هنوز به Math.random() تکیه می‌کنن؛ درحالی‌که این تابع امنیت لازم برای تولید توکن های حساس رو نداره.

مشکلمون چیه؟
تابع Math.random() یک Pseudo Random Number Generator غیرکریپتوگرافیک هست. یعنی خروجی آن با دونستن seed یا الگوی تولید، قابل پیش‌بینیه. همین پیش‌بینی‌پذیری باعث می‌شود یک مهاجم با brute-force یا تحلیل خروجی‌ها بتونه OTP بعدی رو حدس بزنه.

در مقابل چی داریم؟
توابعی مثل crypto.randomInt() یا crypto.randomBytes() در Node.js از یک Cryptographically Secure PRNG استفاده میکنن.
این یعنی:
غیرقابل پیش‌بینی
دارای entropy کافی
مقاوم در برابر حملات آماری
مناسب برای توکن‌های امنیتی مثل OTP، لینک بازیابی، session secret و موارد دیگه.

@DevTwitter | <Amirali Allahverdi/>
👍5618🔥3👎1