Forwarded from 4:20 دوره های امنیتی 🎫 (Nicka ashoori magician)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
یه افزونه مشتی برای TypeScript پیدا کردم که واقعاً کار رو راحتتر میکنه:
اگه مثل من اهل ساختار تمیز و feature-based تو پروژههات هستی، احتمالاً همیشه درگیر ساخت یا آپدیت دستی فایلهای index.ts برای export کردن ماژولها بودی
این افزونه دقیقاً همون چیزیه که دنبالش بودم!
با یه کلیک همهی exportها رو به صورت خودکار جمع میکنه، و دیگه لازم نیست خودت بری فایلهای مختلف رو دستی اضافه کنی.
پشتیبانی از alias
بهروزرسانی خودکار وقتی فایل جدید اضافه میکنی
تنظیمات قابل شخصیسازی برای مسیرها
من چند روزه دارم استفاده میکنم، و به جرأت میتونم بگم barrel management توی TypeScript هیچوقت به این راحتی نبوده (مخصوصا برای پروژه های اسکیل بالا)
اگه زیاد با ساختارهای feature-base یا monorepo کار میکنی، این اکستنشن قطعاً باید جزو ابزارهای ثابتت باشه
لینک افزونه [vscode]
https://github.com/estruyf/vscode-typescript-exportallmodules
@DevTwitter | <Soheil Ghanbary/>
اگه مثل من اهل ساختار تمیز و feature-based تو پروژههات هستی، احتمالاً همیشه درگیر ساخت یا آپدیت دستی فایلهای index.ts برای export کردن ماژولها بودی
این افزونه دقیقاً همون چیزیه که دنبالش بودم!
با یه کلیک همهی exportها رو به صورت خودکار جمع میکنه، و دیگه لازم نیست خودت بری فایلهای مختلف رو دستی اضافه کنی.
پشتیبانی از alias
بهروزرسانی خودکار وقتی فایل جدید اضافه میکنی
تنظیمات قابل شخصیسازی برای مسیرها
من چند روزه دارم استفاده میکنم، و به جرأت میتونم بگم barrel management توی TypeScript هیچوقت به این راحتی نبوده (مخصوصا برای پروژه های اسکیل بالا)
اگه زیاد با ساختارهای feature-base یا monorepo کار میکنی، این اکستنشن قطعاً باید جزو ابزارهای ثابتت باشه
لینک افزونه [vscode]
https://github.com/estruyf/vscode-typescript-exportallmodules
@DevTwitter | <Soheil Ghanbary/>
Forwarded from Linuxor ?
این سایته خیلی عجیب و جالب بود، توش کلی داستان از کار آفرین ها هست (بیشتر برنامه نویس ها و حوزه Tech) و توضیح دادن که چطوری به اولین فروش و مشتری هاشون رسیدن، چیزای جالب و سرگرم کننده ای توش هست :
www.fakemayo.com
@Linuxor
www.fakemayo.com
@Linuxor
🔥3
Forwarded from Linuxor ?
علت اینکه یه عده سمت هوش مصنوعی نمیرن، بخاطر ترس از ریاضیاتشه، این کتاب فوقالعادهست: به زبون ساده، همه چیز از جبر خطی، حساب برداری، احتمال و بهینهسازی تا تکنیکهای اصلی یادگیری ماشین مثل رگرسیون و PCA رو پوشش میده. قبل از اینکه بری سراغ چیزای هوش مصنوعی مثل شبکههای عصبی و مدلهای پیچیده، پایهت محکم میشه.
مزیتش اینه که تمرین و مثالهای عملی هم داره و میتونی با کد توی Jupyter Notebook همه چیز رو تست کنی. تازه رایگان هم هست! برای شروع، فقط کافیه PDF رو باز کنی و فصل جبر خطی رو بخونی، قدم به قدم پیش برو و تمرینها رو حل کن
دانلود :
mml-book.github.io
@Linuxor
مزیتش اینه که تمرین و مثالهای عملی هم داره و میتونی با کد توی Jupyter Notebook همه چیز رو تست کنی. تازه رایگان هم هست! برای شروع، فقط کافیه PDF رو باز کنی و فصل جبر خطی رو بخونی، قدم به قدم پیش برو و تمرینها رو حل کن
دانلود :
mml-book.github.io
@Linuxor
Forwarded from RadvanSec (Sin0x001)
🚨 هکرها با یک تصویر، سامسونگ را هک کردند ZeroClick! کنترل کامل دستگاه!
یک حملهٔ سایبری جدید به نام LANDFAIL (CVE-2025-21042) کشف شده که دستگاههای Samsung Galaxy S22، S23، S24 و سری Z را که از اندروید 13 تا 15 استفاده میکنند، هدف قرار میدهد.
هکرها از یک آسیبپذیری Zero-Day سوء استفاده کردهاند که از طریق یک تصویر مخرب در واتساپ امکان دسترسی از راه دور بدون هیچگونه تعامل کاربر را فراهم میکند!
سامسونگ این مشکل را در بهروزرسانی امنیتی آوریل 2025 برطرف کرده، اما میلیونها کاربر ممکن است در صورت عدم بهروزرسانی همچنان در معرض خطر باشند
⭐️ @RadvanSec
یک حملهٔ سایبری جدید به نام LANDFAIL (CVE-2025-21042) کشف شده که دستگاههای Samsung Galaxy S22، S23، S24 و سری Z را که از اندروید 13 تا 15 استفاده میکنند، هدف قرار میدهد.
هکرها از یک آسیبپذیری Zero-Day سوء استفاده کردهاند که از طریق یک تصویر مخرب در واتساپ امکان دسترسی از راه دور بدون هیچگونه تعامل کاربر را فراهم میکند!
سامسونگ این مشکل را در بهروزرسانی امنیتی آوریل 2025 برطرف کرده، اما میلیونها کاربر ممکن است در صورت عدم بهروزرسانی همچنان در معرض خطر باشند
⭐️ @RadvanSec
Forwarded from DevTwitter | توییت برنامه نویسی
لا عالیجناب planetscale تو یه لیگ دیگه مقاله میده بیرون
مقاله بنیادیه. پیشنهاد میکنم حتما بخونید
https://planetscale.com/blog/caching
@DevTwitter | <Hossein Nazari/>
مقاله بنیادیه. پیشنهاد میکنم حتما بخونید
https://planetscale.com/blog/caching
@DevTwitter | <Hossein Nazari/>
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 من تازه متوجه شدم که تنها دو کشوری که اکنون فعالیت استارتاپی قابل توجهی دارند، به معنای واقعی کلمه فقط ایالات متحده و چین هستند.
بقیه جهان واقعاً نمی توانند استارتاپ راهاندازی کنند، بودجه ندارند، نمیتوانند آنها را رشد دهند و بیشتر شبیه پروژه های سرگرمی نمایشی برای دولت هایشان است.
که ممکن است به ما بگوید ثروت آینده در کجای جهان متمرکز خواهد شد.
#توییت
@TheRaymondDev
بقیه جهان واقعاً نمی توانند استارتاپ راهاندازی کنند، بودجه ندارند، نمیتوانند آنها را رشد دهند و بیشتر شبیه پروژه های سرگرمی نمایشی برای دولت هایشان است.
که ممکن است به ما بگوید ثروت آینده در کجای جهان متمرکز خواهد شد.
#توییت
@TheRaymondDev
Forwarded from DevTwitter | توییت برنامه نویسی
تو این ویدیو توضیح داده میشه که postgres و mysql چطوری durability رو تضمین میکنن
https://youtu.be/bFGNZqsKV-E?si=TEcMjCTBwgZsAwc1
@DevTwitter | <Hossein Nazari/>
https://youtu.be/bFGNZqsKV-E?si=TEcMjCTBwgZsAwc1
@DevTwitter | <Hossein Nazari/>
Forwarded from DevTwitter | توییت برنامه نویسی
گوگل در مقاله جدیدش دربارهٔ 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/>
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/>
Forwarded from فرهنگ معین
بچهها این Google Scholar Labs رو امتحان کنین حتما خیلی باحال شده.
دیگه به جای استفاده از deep research جمنای و openai و بقیهشون واسه پیدا کردن پیپرا، از این ابزار میشه استفاده کرد و توی تستم تا اینجا خیلیی خوب بوده.
https://scholar.google.com/scholar_labs
دیگه به جای استفاده از deep research جمنای و openai و بقیهشون واسه پیدا کردن پیپرا، از این ابزار میشه استفاده کرد و توی تستم تا اینجا خیلیی خوب بوده.
https://scholar.google.com/scholar_labs
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
این ویدیویی که توی فضای مجازی منتشر شده برای پیدا کردن اعداد اول و خیلی جالب هم به نظر میآد در واقع نمایش بصری الگوریتم غربال اراتوستن هستش.
@Linuxor
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
یه چیز جالب/ترسناک که امروز دیدم
- تشخیص حالت Incognito / Private
- ردیابی حتی بعد از پاک کردن کش و کوکیها
- شناسایی چند پنجره همزمان
- کار کردن حتی کنار Anti-Tracking ها
یه پروژه هست به اسم supercookie که نشون میده حتی اگه تو حالت Incognito باشید هم میتونن فقط از روی favicon شما رو ردیابی کنن
مرورگر فاوآیکون رو یهجوری کش میکنه که میشه ازش بهعنوان یک شناسه پایدار استفاده کرد
لینک پروژه:
https://github.com/jonasstrehle/supercookie/
@DevTwitter | <Mahdi AmirAbdollahi/>
- تشخیص حالت Incognito / Private
- ردیابی حتی بعد از پاک کردن کش و کوکیها
- شناسایی چند پنجره همزمان
- کار کردن حتی کنار Anti-Tracking ها
یه پروژه هست به اسم supercookie که نشون میده حتی اگه تو حالت Incognito باشید هم میتونن فقط از روی favicon شما رو ردیابی کنن
مرورگر فاوآیکون رو یهجوری کش میکنه که میشه ازش بهعنوان یک شناسه پایدار استفاده کرد
لینک پروژه:
https://github.com/jonasstrehle/supercookie/
@DevTwitter | <Mahdi AmirAbdollahi/>
👌1
Forwarded from DevTwitter | توییت برنامه نویسی
چیز هایی که فارغ التحصیلان کامپیوتر دیر یاد می گیرند؟
۱. هوش مصنوعی
چت جیپیتی و کو پایلت همه جا هستند. استفاده ازشون خیلی راحت و سریعه. اما اگه هر مشکلی رو هوش مصنوعی حل کنه، هیچ وقت یاد نمیگیری خودت مشکل رو حل کنی.
۲. دانشگاه به تو دروغ گفته
۴ سال رو با یادگرفتن انواع الگوریتم ها و تئوری ها گذروندی.
اما هیچ کس به تو یاد نداده کدی که ۵ نفر مختلف نوشتن رو اصلاح کنی.
یا وقتی ساعت ۳ صبح مشکل پیش بیاد، کد رو debug کنی.
۳. شبکه سازی
ما فکر می کنیم کد خوب باعث استخدام میشه. یا بهترین شغل ها تو لینکدین هست. اما اشتباهه.
بهترین شغل ها از معرفی کردن پیدا میشه.
و تو اگه شبکه سازی نمی کنی راه خیلی سخت رو در پیش گرفتی
youtube.com/watch?si=e0ZP1QQi-glsanse&v=ZrVIyCAJHNE&feature=youtu.be
@DevTwitter | <ِYusof Sadaf Fakhr/>
۱. هوش مصنوعی
چت جیپیتی و کو پایلت همه جا هستند. استفاده ازشون خیلی راحت و سریعه. اما اگه هر مشکلی رو هوش مصنوعی حل کنه، هیچ وقت یاد نمیگیری خودت مشکل رو حل کنی.
۲. دانشگاه به تو دروغ گفته
۴ سال رو با یادگرفتن انواع الگوریتم ها و تئوری ها گذروندی.
اما هیچ کس به تو یاد نداده کدی که ۵ نفر مختلف نوشتن رو اصلاح کنی.
یا وقتی ساعت ۳ صبح مشکل پیش بیاد، کد رو debug کنی.
۳. شبکه سازی
ما فکر می کنیم کد خوب باعث استخدام میشه. یا بهترین شغل ها تو لینکدین هست. اما اشتباهه.
بهترین شغل ها از معرفی کردن پیدا میشه.
و تو اگه شبکه سازی نمی کنی راه خیلی سخت رو در پیش گرفتی
youtube.com/watch?si=e0ZP1QQi-glsanse&v=ZrVIyCAJHNE&feature=youtu.be
@DevTwitter | <ِYusof Sadaf Fakhr/>
Forwarded from DevTwitter | توییت برنامه نویسی
کاهش هزینه سیستمهای هوش مصنوعی با 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/>
با رشد مدلهای زبانی بزرگ و پیشرفته، هزینه و زمان پاسخدهی هم به شدت افزایش پیدا کرده. مدلهایی مثل 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/>
👏1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی
نوشته شده که زمانی دولت ها نفوذ و جمع آوری اطلاعاتشون جواب نده میرن سراغ یک راه حل سومی ، یک تکنیک حمله به اسم Onion Overloading via Tor2web
یعنی عملا توضیح داده که چطوری میشه از طریق Tor2web یک دامنه onion رو از دسترس خارج کرد البته بدون اینکه کل ترافیک تانل بشه جالبیش اینه که یک فشار کوچیک باعث میشه که یک دامنه مثل دامنه باج افزار LockBit بالا نیاد و از این تکنیک پلیس استفاده کرده .
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
خیلی از آدمای اطرافم رو حذف کردم. می دونی آدمای اطراف آدم مثل ی زنجیر دورتو میگیرن
حذفش می کنم که بتونم آزاد باشم و به جلو برم
حذفش می کنم که بتونم آزاد باشم و به جلو برم
👍4
Forwarded from Syntax | سینتکس (Alireza F)
چرا Code-level Monolith معماری برنده است؟ (درسهایی از Grafana Loki)
دوراهی مونولیت یا میکروسرویس:
از یک طرف، مونولیت (Monolith) ساده است اما اگر بد نوشته شود به "کد اسپاگتی" تبدیل میشود.
از طرف دیگر، میکروسرویس (Microservices) مقیاسپذیر است اما شما را در جهنمی از پیچیدگیهای شبکه، دیپلوی و مدیریت ۵۰ کانتینر مختلف غرق میکند.
اما اگر راه سومی وجود داشته باشه چی؟ راهی که در آن کدتان را "مثل میکروسرویس" مینویسید، اما آن را "مثل مونولیت" اجرا میکنید.
در معماری Code-level Monolith، شما مرزهای سرویسهایتان را کاملا رعایت میکنید. یعنی سرویس
اما در زمان بیلد (Build Time)، به جای اینکه آنها را در کانتینرهای جداگانه بستهبندی کنید، همه را در یک فایل اجرایی (Binary) واحد لینک میکنید.
شعار این معماری:
> *"میکروسرویس در توسعه، مونولیت در اجرا."*
جادوی Grafana Loki و Tempo
بهترین مثال زنده این معماری در دنیا، ابزارهای شرکت Grafana Labs (مانند Loki برای لاگ، Tempo برای تریس و Mimir برای متریک) هستند.
سورس کد Grafana Loki از اجزای مختلفی تشکیل شده است:
*
*
*
نکته نبوغآمیز اینجاست: همه اینها در یک کدبیس و یک فایل باینری هستند.
1. حالت (All-in-One):
وقتی میخواهید Loki را روی لپتاپ یا سرور کوچک خود اجرا کنید، دستور زیر را میزنید:
در این حالت، تمام اجزا در یک پروسه اجرا میشوند. ارتباط بین
* تاخیر: صفر نانوثانیه.
* پیچیدگی: صفر.
2. حالتِ اسکیل بالا (Microservices):
وقتی ترافیک شما میلیونی میشود، همان فایل باینری را با فلگ متفاوتی اجرا میکنید:
حالا این باینری فقط نقش Ingester را بازی میکند و بقیه کدها خاموش میشوند. در این حالت، ارتباطات به صورت خودکار به gRPC/HTTP تغییر میکند.
چرا باید به این روش فکر کنید؟
1. حذف سربار شبکه (Zero Latency):
در میکروسرویس، دادهها باید Serialize شوند، به شبکه بروند و Deserialize شوند. در Code-level Monolith، این فقط یک جابجایی اشارهگر (Pointer) در حافظه است. سرعت اجرای شما وحشتناک بالا میرود.
2. دیپلوی آسان (Operational Simplicity):
برای شروع پروژه، نیازی به Kubernetes و مدیریت ۱۰ تا فایل YAML ندارید. یک فایل باینری را کپی و اجرا میکنید.
3. انعطافپذیری (Agility):
شما امروز نمیدانید پروژه شما چقدر بزرگ میشود. با این روش، شما امروز ساده شروع میکنید، اما کدتان "Ready to Scale" است. هر زمان لازم شد، با تغییر کانفیگ، مونولیت را میشکنید.
چطور پیادهسازی کنیم؟ (مثال Go)
کلید کار در استفاده از Interface هاست.
به جای اینکه سرویس A مستقیماً با gRPC کلاینتِ سرویس B صحبت کند، با یک اینترفیس صحبت میکند.
* **در حالت Monolith: پیادهسازی اینترفیس، مستقیماً متد سرویس B را صدا میزند.
* در حالت Microservice: پیادهسازی اینترفیس، یک درخواست gRPC میفرستد.
—-
این مقاله به خوبی پیاده سازیش رو توضیح میده:
بیایید فرض کنیم اینکه برنامه میکروسرویس باشد یا مونولیت، فقط یک جزئیات پیادهسازی است
سوال:
در گوئیک کانکت چطور میشه به code level monolith رسید؟
https://github.com/syntaxfa/quick-connect
#code_level_monolith
@Syntax_fa
دوراهی مونولیت یا میکروسرویس:
از یک طرف، مونولیت (Monolith) ساده است اما اگر بد نوشته شود به "کد اسپاگتی" تبدیل میشود.
از طرف دیگر، میکروسرویس (Microservices) مقیاسپذیر است اما شما را در جهنمی از پیچیدگیهای شبکه، دیپلوی و مدیریت ۵۰ کانتینر مختلف غرق میکند.
اما اگر راه سومی وجود داشته باشه چی؟ راهی که در آن کدتان را "مثل میکروسرویس" مینویسید، اما آن را "مثل مونولیت" اجرا میکنید.
در معماری Code-level Monolith، شما مرزهای سرویسهایتان را کاملا رعایت میکنید. یعنی سرویس
Auth و سرویس Order کدهای کاملا جداگانهای دارند (درست مثل میکروسرویس).اما در زمان بیلد (Build Time)، به جای اینکه آنها را در کانتینرهای جداگانه بستهبندی کنید، همه را در یک فایل اجرایی (Binary) واحد لینک میکنید.
شعار این معماری:
> *"میکروسرویس در توسعه، مونولیت در اجرا."*
جادوی Grafana Loki و Tempo
بهترین مثال زنده این معماری در دنیا، ابزارهای شرکت Grafana Labs (مانند Loki برای لاگ، Tempo برای تریس و Mimir برای متریک) هستند.
سورس کد Grafana Loki از اجزای مختلفی تشکیل شده است:
*
Ingester (دریافت لاگ)*
Distributor (توزیع بار)*
Querier (جستجو)نکته نبوغآمیز اینجاست: همه اینها در یک کدبیس و یک فایل باینری هستند.
1. حالت (All-in-One):
وقتی میخواهید Loki را روی لپتاپ یا سرور کوچک خود اجرا کنید، دستور زیر را میزنید:
./loki -target=allدر این حالت، تمام اجزا در یک پروسه اجرا میشوند. ارتباط بین
Distributor و Ingester از طریق Function Call در حافظه رم انجام میشود.* تاخیر: صفر نانوثانیه.
* پیچیدگی: صفر.
2. حالتِ اسکیل بالا (Microservices):
وقتی ترافیک شما میلیونی میشود، همان فایل باینری را با فلگ متفاوتی اجرا میکنید:
./loki -target=ingesterحالا این باینری فقط نقش Ingester را بازی میکند و بقیه کدها خاموش میشوند. در این حالت، ارتباطات به صورت خودکار به gRPC/HTTP تغییر میکند.
چرا باید به این روش فکر کنید؟
1. حذف سربار شبکه (Zero Latency):
در میکروسرویس، دادهها باید Serialize شوند، به شبکه بروند و Deserialize شوند. در Code-level Monolith، این فقط یک جابجایی اشارهگر (Pointer) در حافظه است. سرعت اجرای شما وحشتناک بالا میرود.
2. دیپلوی آسان (Operational Simplicity):
برای شروع پروژه، نیازی به Kubernetes و مدیریت ۱۰ تا فایل YAML ندارید. یک فایل باینری را کپی و اجرا میکنید.
3. انعطافپذیری (Agility):
شما امروز نمیدانید پروژه شما چقدر بزرگ میشود. با این روش، شما امروز ساده شروع میکنید، اما کدتان "Ready to Scale" است. هر زمان لازم شد، با تغییر کانفیگ، مونولیت را میشکنید.
چطور پیادهسازی کنیم؟ (مثال Go)
کلید کار در استفاده از Interface هاست.
به جای اینکه سرویس A مستقیماً با gRPC کلاینتِ سرویس B صحبت کند، با یک اینترفیس صحبت میکند.
* **در حالت Monolith: پیادهسازی اینترفیس، مستقیماً متد سرویس B را صدا میزند.
* در حالت Microservice: پیادهسازی اینترفیس، یک درخواست gRPC میفرستد.
—-
این مقاله به خوبی پیاده سازیش رو توضیح میده:
بیایید فرض کنیم اینکه برنامه میکروسرویس باشد یا مونولیت، فقط یک جزئیات پیادهسازی است
سوال:
در گوئیک کانکت چطور میشه به code level monolith رسید؟
https://github.com/syntaxfa/quick-connect
#code_level_monolith
@Syntax_fa
🔥1🤝1
Forwarded from Linuxor ?
با این ابزار میتونید به صورت آنلاین با هوش مصنوعی آیکون بسازید :
perchance.org/ai-icon-generator
@Linuxor
perchance.org/ai-icon-generator
@Linuxor