Forwarded from DevTwitter Ads.
ما حسن و حسین هستیم.
چند ساله بکند کار میکنیم، چیزایی که یاد میگیریم رو اینجا میذاریم.
نه guru هستیم نه متخصص همهچیز—فقط دو نفر که سیستمهای بزرگ رو دوست دارن.
https://news.1rj.ru/str/+zwjhcfPyLfhmOTc0
چند ساله بکند کار میکنیم، چیزایی که یاد میگیریم رو اینجا میذاریم.
نه guru هستیم نه متخصص همهچیز—فقط دو نفر که سیستمهای بزرگ رو دوست دارن.
https://news.1rj.ru/str/+zwjhcfPyLfhmOTc0
🍌70🔥12❤6👍4
دو تا سایت خیلی کاربردی برای JavaScript که همیشه موقع کدنویسی بهشون سر میزنم :
سایت DevHints – خلاصه، سریع و مناسب مرور مفاهیم JS
سایت OverAPI – چیتشیتهای تمیز و جمعوجور برای JavaScript
اگه فرانتاند کار میکنی، اینا واقعاً نجاتدهندهان
https://devhints.io/
https://overapi.com/javanoscript
@DevTwitter | <Sadaf Amininia/>
سایت DevHints – خلاصه، سریع و مناسب مرور مفاهیم JS
سایت OverAPI – چیتشیتهای تمیز و جمعوجور برای JavaScript
اگه فرانتاند کار میکنی، اینا واقعاً نجاتدهندهان
https://devhints.io/
https://overapi.com/javanoscript
@DevTwitter | <Sadaf Amininia/>
❤15🍌6
ارائه Critical Path Analysis: تکنیکی از پروژه منهتن برای دیباگ Latency در Go!
یکی از ارائه های جذاب GopherCon 2025 ارائه Felix Geisendörfer از Datadog بود درباره پروفایلینگ request latency با استفاده از Critical Path Analysis.
این تکنیک جالبه چون اصلاً برای نرمافزار طراحی نشده بود. از پروژه منهتن میاد! همون پروژهای که بمب اتمی ساخت. ایدهش سادهست: وقتی یه پروژه بزرگ داری با زیرپروژههای موازی، کدوم مسیر واقعاً تعیینکننده زمان کله؟
حالا Felix این رو آورده روی Go و goroutine ها.
مشکلی که حل میکنه اینه که پروفایلینگ سنتی بهت میگه mutex contention داری، ولی نمیگه این چقدر روی latency کاربر تأثیر گذاشته. مثلاً یه پروفایل نشون میده ۴۳۹ ثانیه contention تو ۶۰ ثانیه داشتی. خب این خیلی بده، ولی سوال اصلی اینه: کدوم بخشش واقعاً روی request های کاربر تأثیر گذاشته؟
اینجاست که execution tracer میاد وسط. برخلاف CPU profiling که فقط on-CPU رو نشون میده، execution tracer همه state transition ها رو ثبت میکنه: کی goroutine داشت run میشد، کی منتظر mutex بود، کی منتظر channel بود، کی scheduling latency داشت. یه تصویر کامل از زندگی goroutine هات.
راهحل اینه که از آخر request بری عقب و ببینی کدوم goroutine ها واقعاً سر راه بودن. اگه G1 منتظر G2 و G3 باشه و G3 دیرتر تموم بشه، سریعتر کردن G2 هیچ فایدهای نداره. این همون critical path هست.
یه کار خفن دیگه که تیم Datadog کرده اینه که overhead اجرای execution tracer رو از ۱۰-۲۰ درصد به ۱-۲ درصد رسوندن. یعنی الان میشه تو production ازش استفاده کرد.
این ارائه خیلی ارزشمنده چون نشون میده پروفایلینگ میتونه خیلی دقیقتر از چیزی باشه که عادت کردیم. به جای اینکه بگیم mutex contention داریم، بیاید همه جا رو optimize کنیم، میتونیم دقیقاً بفهمیم کجا واقعاً مهمه.
آقای Felix امیدواره این کار رو open source کنه.
اگه با Go کار میکنید و tail latency براتون مهمه، پیشنهاد میکنم این ارائه رو ببینید.
https://www.youtube.com/watch?v=BayZ3k-QkFw
@DevTwitter | <Hasan Nazari/>
یکی از ارائه های جذاب GopherCon 2025 ارائه Felix Geisendörfer از Datadog بود درباره پروفایلینگ request latency با استفاده از Critical Path Analysis.
این تکنیک جالبه چون اصلاً برای نرمافزار طراحی نشده بود. از پروژه منهتن میاد! همون پروژهای که بمب اتمی ساخت. ایدهش سادهست: وقتی یه پروژه بزرگ داری با زیرپروژههای موازی، کدوم مسیر واقعاً تعیینکننده زمان کله؟
حالا Felix این رو آورده روی Go و goroutine ها.
مشکلی که حل میکنه اینه که پروفایلینگ سنتی بهت میگه mutex contention داری، ولی نمیگه این چقدر روی latency کاربر تأثیر گذاشته. مثلاً یه پروفایل نشون میده ۴۳۹ ثانیه contention تو ۶۰ ثانیه داشتی. خب این خیلی بده، ولی سوال اصلی اینه: کدوم بخشش واقعاً روی request های کاربر تأثیر گذاشته؟
اینجاست که execution tracer میاد وسط. برخلاف CPU profiling که فقط on-CPU رو نشون میده، execution tracer همه state transition ها رو ثبت میکنه: کی goroutine داشت run میشد، کی منتظر mutex بود، کی منتظر channel بود، کی scheduling latency داشت. یه تصویر کامل از زندگی goroutine هات.
راهحل اینه که از آخر request بری عقب و ببینی کدوم goroutine ها واقعاً سر راه بودن. اگه G1 منتظر G2 و G3 باشه و G3 دیرتر تموم بشه، سریعتر کردن G2 هیچ فایدهای نداره. این همون critical path هست.
یه کار خفن دیگه که تیم Datadog کرده اینه که overhead اجرای execution tracer رو از ۱۰-۲۰ درصد به ۱-۲ درصد رسوندن. یعنی الان میشه تو production ازش استفاده کرد.
این ارائه خیلی ارزشمنده چون نشون میده پروفایلینگ میتونه خیلی دقیقتر از چیزی باشه که عادت کردیم. به جای اینکه بگیم mutex contention داریم، بیاید همه جا رو optimize کنیم، میتونیم دقیقاً بفهمیم کجا واقعاً مهمه.
آقای Felix امیدواره این کار رو open source کنه.
اگه با Go کار میکنید و tail latency براتون مهمه، پیشنهاد میکنم این ارائه رو ببینید.
https://www.youtube.com/watch?v=BayZ3k-QkFw
@DevTwitter | <Hasan Nazari/>
❤11👍2🍌2👎1
Forwarded from هشتگ تبلیغ تخصصی
🧠 از مفاهیم پایه تا پروژههای واقعی
🐍 به همراه آموزش Python و SQL Server
👥 دوره آنلاین #علم_داده مناسب برای:
✅ دانشجوها ✅تحلیلگران داده ✅کارکنان واحدهای تخصصی
و
⭐️ افرادی که دنبال تغییر مسیر شغلی به دنیای تحلیلگری داده و دیتاساینس هستن
💯 گواهینامه معتبر مؤسسه توسعه
---
📈 جمعبندی سریع:
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌4
یکی از کاربرد های خفن الگوریتم Binary Search میشه فیچر Bisect گیت در ورژن کنترل، در این ویدیو جادی خیلی خفن توضیح و آموزش میده:
https://www.youtube.com/watch?v=V89oD_HgSbE
@DevTwitter | <Max Shahdoost/>
https://www.youtube.com/watch?v=V89oD_HgSbE
@DevTwitter | <Max Shahdoost/>
❤34👎7👍2
مروری بر مفاهیم Vector Database
در ارائه اخیرم برای شرکت آپ، یک مخزن GitHub طراحی کردم تا اصول و الگوریتمهای پایهای vector databases را به شکل عملی نشان دهد. هدف این پروژه، آشنایی با حوزههای semantic search، vector similarity metrics و سیستمهای بازیابی مبتنی بر بردار است و در عین حال فرصتی برای یادگیری عملی فراهم میکند.
ویژگیهای کلیدی این repository شامل:
Neural network ساده با TensorFlow برای درک نحوه تولید بردارهای embedding
پیادهسازی یک vector database from scratch با cosine similarity برای فهم الگوریتمهای جستجوی برداری
تحلیل داخلی Milvus internals برای بررسی معماری و بهینهسازیهای عملکردی
نمونه عملی semantic search روی جملات با Milvus، شامل نحوه indexing و query بردارها
سرور MNIST FastAPI با PyTorch که تصویر عدد کاربر را دریافت کرده و نزدیکترین بردارهای برچسبدار (nearest neighbor search) را پیشبینی میکند
این پروژه برای من علاوه بر یک تمرین عملی، فرصتی بود تا دانش خودم در زمینه vector-based retrieval systems را با دیگران به اشتراک بگذارم.
https://github.com/ap-incubator/vector-database
@DevTwitter | <Mohammad Nasr/>
در ارائه اخیرم برای شرکت آپ، یک مخزن GitHub طراحی کردم تا اصول و الگوریتمهای پایهای vector databases را به شکل عملی نشان دهد. هدف این پروژه، آشنایی با حوزههای semantic search، vector similarity metrics و سیستمهای بازیابی مبتنی بر بردار است و در عین حال فرصتی برای یادگیری عملی فراهم میکند.
ویژگیهای کلیدی این repository شامل:
Neural network ساده با TensorFlow برای درک نحوه تولید بردارهای embedding
پیادهسازی یک vector database from scratch با cosine similarity برای فهم الگوریتمهای جستجوی برداری
تحلیل داخلی Milvus internals برای بررسی معماری و بهینهسازیهای عملکردی
نمونه عملی semantic search روی جملات با Milvus، شامل نحوه indexing و query بردارها
سرور MNIST FastAPI با PyTorch که تصویر عدد کاربر را دریافت کرده و نزدیکترین بردارهای برچسبدار (nearest neighbor search) را پیشبینی میکند
این پروژه برای من علاوه بر یک تمرین عملی، فرصتی بود تا دانش خودم در زمینه vector-based retrieval systems را با دیگران به اشتراک بگذارم.
https://github.com/ap-incubator/vector-database
@DevTwitter | <Mohammad Nasr/>
❤13👍1🍌1
باز هم یه آسیب پذیری جدید و جذاب مثل
log4j , react2shell
آمده که اگر چیزی رو با n8n ساختید آب دستتوت هست بگذارید زمین و برید این آسیب پذیری رو حل کنید
این آسیب پذیری بسیار حساس و مهم با درجه حساسیت بحرانی آمده CVSS 9.9 روی n8n با شماره CVE-2025-68613 هست خیلی خیلی خیلی جدی بگیرید.
https://thehackernews.com/2025/12/critical-n8n-flaw-cvss-99-enables.html
@DevTwitter | <Mohammad Reza Mostamea/>
log4j , react2shell
آمده که اگر چیزی رو با n8n ساختید آب دستتوت هست بگذارید زمین و برید این آسیب پذیری رو حل کنید
این آسیب پذیری بسیار حساس و مهم با درجه حساسیت بحرانی آمده CVSS 9.9 روی n8n با شماره CVE-2025-68613 هست خیلی خیلی خیلی جدی بگیرید.
https://thehackernews.com/2025/12/critical-n8n-flaw-cvss-99-enables.html
@DevTwitter | <Mohammad Reza Mostamea/>
👍9❤3👎1🍌1
وقتی شبکه در بوت کم آورد، Ventoy به میدان آمد!
گاهی فنیترین چالشها، سادهترین راهحلها رو دارند!
امروز با یه مشکل جالب تو یه پروژه پشتیبانی مواجه شدم: لپتاپ لگاسیم با قابلیت PXE Boot نامشخص!
چالش:
- نیاز به نصب ویندوز از طریق شبکه (PXE) روی لپتاپ
- تنظیمات بایوس کامل انجام شده، اما سیستم شبکه رو شناسایی نمیکرد
- تست سختافزار (کابل، پورت) سالم بود
- گزینه Network Boot در بایوس مخفی یا غیرفعال!
️ مراحل عیبیابی:
1. بررسی دقیق منوهای پیشرفته بایوس (حتی با کلیدهای ترکیبی)
2. تست Boot Menu (F12) برای گزینههای پنهان
3. احتمال عدم پشتیبانی سختافزار از PXE
راهحل نهایی:
«سوییچ هوشمند از PXE به USB Boot»
- استفاده از نرمافزار Ventoy برای ایجاد USB بوت چندکاره
- نصب سریع ویندوز از طریق USB
- نکته طلایی: بعد از نصب، درایور شبکه بهطور خودکار تشخیص داده شد و ارتباط برقرار شد!
گاهی دنبال کردن راهحلهای پیچیده وقتی سختافزار محدودیت دارد، تنها وقت تلف کردن است. سادهترین روش (USB Boot) میتواند در کمترین زمان مشکل را حل کند.
@DevTwitter | <Alireza Mojaveri/>
گاهی فنیترین چالشها، سادهترین راهحلها رو دارند!
امروز با یه مشکل جالب تو یه پروژه پشتیبانی مواجه شدم: لپتاپ لگاسیم با قابلیت PXE Boot نامشخص!
چالش:
- نیاز به نصب ویندوز از طریق شبکه (PXE) روی لپتاپ
- تنظیمات بایوس کامل انجام شده، اما سیستم شبکه رو شناسایی نمیکرد
- تست سختافزار (کابل، پورت) سالم بود
- گزینه Network Boot در بایوس مخفی یا غیرفعال!
️ مراحل عیبیابی:
1. بررسی دقیق منوهای پیشرفته بایوس (حتی با کلیدهای ترکیبی)
2. تست Boot Menu (F12) برای گزینههای پنهان
3. احتمال عدم پشتیبانی سختافزار از PXE
راهحل نهایی:
«سوییچ هوشمند از PXE به USB Boot»
- استفاده از نرمافزار Ventoy برای ایجاد USB بوت چندکاره
- نصب سریع ویندوز از طریق USB
- نکته طلایی: بعد از نصب، درایور شبکه بهطور خودکار تشخیص داده شد و ارتباط برقرار شد!
گاهی دنبال کردن راهحلهای پیچیده وقتی سختافزار محدودیت دارد، تنها وقت تلف کردن است. سادهترین روش (USB Boot) میتواند در کمترین زمان مشکل را حل کند.
@DevTwitter | <Alireza Mojaveri/>
👍12👎6❤3
خواستم برای وبسایت شخصیم سرویس ایمیل برای فرم کانتکت وصل کنم. اولش گفتم بذار nodemailer رو استفاده کنم و بعد دیدم یکم ریسکیه چون ممکنه پسورد ایمیلم جایی لو بره (که باید اونو توی env ها ست میکردم)
با سرویسی به اسم Resend آشنا شدم که خیلی برام جالب بود. کارش اینه ایمیل هایی که از دامنه وریفای شده میاد رو میگیره و میفرسته به ایمیلتون
حالا دامنه وریفای شده چیه؟ مثلا یه سایتی دارید به اسم nafasebra.ir و ایمیلتون تقریبا یه همچین چیزیه:
contact[@]nafasebra.ir یا info[@]nafasebra.ir
میاین توی این سایت دامنه تون رو اضافه میکنین و خب بعد از اون یه دسترسی cloudflare بهش بدین که براتون dns ست کنه
و کار تمومه
حتی کلی فیچر دیگه هم داره که بهتره به بخش doc ش سر بزنین
https://resend.com/
@DevTwitter | <Nafas Ebrahimi/>
با سرویسی به اسم Resend آشنا شدم که خیلی برام جالب بود. کارش اینه ایمیل هایی که از دامنه وریفای شده میاد رو میگیره و میفرسته به ایمیلتون
حالا دامنه وریفای شده چیه؟ مثلا یه سایتی دارید به اسم nafasebra.ir و ایمیلتون تقریبا یه همچین چیزیه:
contact[@]nafasebra.ir یا info[@]nafasebra.ir
میاین توی این سایت دامنه تون رو اضافه میکنین و خب بعد از اون یه دسترسی cloudflare بهش بدین که براتون dns ست کنه
و کار تمومه
حتی کلی فیچر دیگه هم داره که بهتره به بخش doc ش سر بزنین
https://resend.com/
@DevTwitter | <Nafas Ebrahimi/>
❤19👍1👎1
Forwarded from Gemini Pro
(دو غول دنیای هوش مصنوعی در یک پکیج استثنایی)
دیگه لازم نیست بین قدرت گوگل و خلاقیت OpenAI یکی رو انتخاب کنی! تو این جشنواره، هر دوتاش مال توئه.
با خرید یک اکانت Gemini Pro یکساله (جدیدترین شاهکار گوگل)
با
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6👍2🎄1
به نظرم اگه بخوای n8n رو درست و حسابی یاد بگیری، همین یه پلیلیست کافیه
1- مهندسی پرامپت برای تازهکارها
2- وصل کردن GitHub به Notion
3- اتوماتکردن ثبت Testimonial توی Strapi با n8n
4- مستندسازی تو n8n با کمک Google Sheets
5- کار با MySQL و Pipedrive
از اینجا میتونی ببینیش:
https://www.youtube.com/playlist?list=PLlET0GsrLUL5HKJk1rb7t32sAs_iAlpZe
@DevTwitter | <Mohsen Rad/>
1- مهندسی پرامپت برای تازهکارها
2- وصل کردن GitHub به Notion
3- اتوماتکردن ثبت Testimonial توی Strapi با n8n
4- مستندسازی تو n8n با کمک Google Sheets
5- کار با MySQL و Pipedrive
از اینجا میتونی ببینیش:
https://www.youtube.com/playlist?list=PLlET0GsrLUL5HKJk1rb7t32sAs_iAlpZe
@DevTwitter | <Mohsen Rad/>
❤7👎1