Forwarded from Golden Code (@lix)
تا حالا پیش اومده بخوای یه قابلیت یا یه گزارش فقط برای درصد کمی از کاربران فعال باشه؟
لاراول یه ابزار باحال برای این کار داره: Lottery
مثال:
تست ویژگی جدیده سایتمون فقط برای ۵٪ کاربران
فرض کن میخوای یه قابلیت جدید (مثلا طراحی تازهی داشبورد) رو فقط برای ۵٪ از کاربرها فعال کنی تا عملکردش رو بسنجی 👇🏾
حالا فقط ۵٪ کاربران این داشبورد جدید رو میبینن 🔥
بدون نیاز به feature flag سیستم یا تنظیمات پیچیده.
📌 کاربردهای دیگه ی Lottery در لاراول
مانیتورینگه سبک:
گرفتن لاگ کامل SQL در درصدی از ریکوئستها
تست A/B برای UX
اجرای وظایف سنگین فقط در بخشی از ریکوئست ها (مثلا آنالیز رفتار کاربر)
این Lottery از نسخهی 9.19 به بعد اضافه شده و توی اپهای پر ترافیک کمک میکنه بدون کاهش سرعت، رفتار سیستم رو هوشمندانه بررسی کنی.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1978788530139635982?t=Hc2oNzGolFfMitfwrxC2zA&s=35
لاراول یه ابزار باحال برای این کار داره: Lottery
مثال:
تست ویژگی جدیده سایتمون فقط برای ۵٪ کاربران
فرض کن میخوای یه قابلیت جدید (مثلا طراحی تازهی داشبورد) رو فقط برای ۵٪ از کاربرها فعال کنی تا عملکردش رو بسنجی 👇🏾
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Lottery;
Lottery::odds(1, 20) // یعنی 5% احتمال
->winner(function () {
session(['new_dashboard' => true]);
})
->loser(function () {
session(['new_dashboard' => false]);
})
->choose();
حالا فقط ۵٪ کاربران این داشبورد جدید رو میبینن 🔥
بدون نیاز به feature flag سیستم یا تنظیمات پیچیده.
📌 کاربردهای دیگه ی Lottery در لاراول
مانیتورینگه سبک:
گرفتن لاگ کامل SQL در درصدی از ریکوئستها
تست A/B برای UX
اجرای وظایف سنگین فقط در بخشی از ریکوئست ها (مثلا آنالیز رفتار کاربر)
این Lottery از نسخهی 9.19 به بعد اضافه شده و توی اپهای پر ترافیک کمک میکنه بدون کاهش سرعت، رفتار سیستم رو هوشمندانه بررسی کنی.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1978788530139635982?t=Hc2oNzGolFfMitfwrxC2zA&s=35
X (formerly Twitter)
Wendell Adriel (@wendell_adriel) on X
Laravel Tip 🚀
Did you know about the Lottery helper from Laravel? It's great for executing a piece of code only for a percentage of calls/requests.
In the example, we capture full SQL logs for 0.2% of requests, this can be used to spot N+1s and slow endpoints…
Did you know about the Lottery helper from Laravel? It's great for executing a piece of code only for a percentage of calls/requests.
In the example, we capture full SQL logs for 0.2% of requests, this can be used to spot N+1s and slow endpoints…
Forwarded from DevTwitter | توییت برنامه نویسی
یبار داشتم با TRPC ی اپ میساختم ولی نتونستم فایل آپلود اوکی کنم پس با Express ی سرویس هلپر ساختم که بتونه با اپ ارتباط بگیره و فایل آپلود اوکی کنه.
https://github.com/Afrachin/upload-helper
@DevTwitter | <Amirparsa Baghdadi/>
https://github.com/Afrachin/upload-helper
@DevTwitter | <Amirparsa Baghdadi/>
Forwarded from Linuxor ?
کوییز تجربی: به نظرتون وقتی دااریم جیمیل ارسال میکنیم بعد از ارسال فورا روی undo یا cancel sending کلیک کنیم چه اتفاقی اون پشت میافته؟
Anonymous Quiz
20%
ایمیل اصلا ارسال نشده توی مرورگر هستش در واقع اون یه تاخیر مصنوعیه.
14%
به کسی که ایمیل ارسال کردیم یه پکت EMAIL_UNDO ارسال میشه و کلاینت اون باید ایمیل رو حذف کنه.
45%
ایمیل توی سرور های جیمیل توی یه صف نگهداری میشه و بعد از اعمال تاخیر ارسال میشه تا فرصت Undo باشخ
20%
یه مرد هیچ وقت ایمیلی که ارسال کرده رو پس نیمیگیره فوقش یه ایمیل دیگه میفرسته مینویسه: اصلاحیه...
Forwarded from Linuxor ?
این بازی های پیکسلی رو میدونستین خیلی راحت با پایتون میتونید بسازین؟ با کتابخونه pyxel ساخته میشن و فرایند توسعه خیلی راحتی هم دارن
قبل شروع به ساختن برید اینجا و صد ها بازی که مردم ساختن رو ببینید :
github.com/kitao/pyxel/wiki/Pyxel-User-Examples
بعد برای شروع یادگیریش برید به این بخش صفحه اصلیش :
github.com/kitao/pyxel
@Linuxor
قبل شروع به ساختن برید اینجا و صد ها بازی که مردم ساختن رو ببینید :
github.com/kitao/pyxel/wiki/Pyxel-User-Examples
بعد برای شروع یادگیریش برید به این بخش صفحه اصلیش :
github.com/kitao/pyxel
@Linuxor
Forwarded from Linuxor ?
یه روش فوری برای ساختن پاورپوینت برای ارائه
مارکدون رو که همه بلدید (یه روش استایل دهی ساده متنه) کافیه اسلاید هاتون رو مارکدونی درستش کنید بعد بریزیدش توی یه فایل html و لینک remarkjs رو توش اضافه کنید تمام کافیه روی فایل html کلیک کنید (مثل عکس بالا) :
نمونه اجرا شده :
remarkjs.com
آموزش کامل ساخت :
github.com/gnab/remark
@Linuxor
مارکدون رو که همه بلدید (یه روش استایل دهی ساده متنه) کافیه اسلاید هاتون رو مارکدونی درستش کنید بعد بریزیدش توی یه فایل html و لینک remarkjs رو توش اضافه کنید تمام کافیه روی فایل html کلیک کنید (مثل عکس بالا) :
نمونه اجرا شده :
remarkjs.com
آموزش کامل ساخت :
github.com/gnab/remark
@Linuxor
Forwarded from Linuxor ?
اگه آکادمیکی هستی این چیت شیت ها برای هوش مصنوعی خیلی کمکت میکنه، از چیت شیت آموزش پایتون برای تازه کار ها بگیر تا دیپ لرنینگ و کتابخونه های دیتایی مثل پانداس و نام پای و ماشین لرنینگ
دقت کنید اینا دانش های پایه هستن، فقط برای اینکه کد ها آشنا باشید توی مراحل بعدی ورود به بازار کار باید برید روی فریم ورک ها و سایت هایی مثل کگل کار کنید تا کم کم دستتون راه بیفته (دانشگاه هام از روی همینا درس میدن چیز زیادی بهتون نمیگن)، برای دانلود کافیه برید توی فولدر/دایرکتوری که میخواین :
github.com/FavioVazquez/ds-cheatsheets
@Linuxor
دقت کنید اینا دانش های پایه هستن، فقط برای اینکه کد ها آشنا باشید توی مراحل بعدی ورود به بازار کار باید برید روی فریم ورک ها و سایت هایی مثل کگل کار کنید تا کم کم دستتون راه بیفته (دانشگاه هام از روی همینا درس میدن چیز زیادی بهتون نمیگن)، برای دانلود کافیه برید توی فولدر/دایرکتوری که میخواین :
github.com/FavioVazquez/ds-cheatsheets
@Linuxor
Forwarded from AiSegaro 👾
Media is too big
VIEW IN TELEGRAM
⚠️این یک پادکست عادی نیست، یک جلسه سه ساعته برای کشف نقشه راه آینده است!🚨
این ویدیو از پادکست "تجربه جو روگان" (Joe Rogan Experience) است که با حضور ایلان ماسک ضبط شده است.با توجه به طولانی بودن ویدیو (بیش از ۳ ساعت) در سه قسمت قرار داده میشود.
🎥 قسمت اول
🚀 شهر جدید ماسک: چطور او یک شهر قانونی جدید به نام "استاربیس تگزاس" ساخت تا بتواند موشکها را به فضا پرتاب کند.
👽 پیمان محرمانه: ماسک به جو روگان قول میدهد که اگر اسپیسایکس از وجود هرگونه شواهد فضایی یا بیگانگان مطلع شود، قبل از هر کس دیگری، آن را در این پادکست فاش خواهد کرد! و ...
〰️〰️〰️〰️〰️〰️
برای ترجمه این ویدیو زمان و دقت و وسواس زیادی به کار گرفته شده , در صورتی که مایل بودید میتونید از لینک زیر دونیت کنیدتا قسمت های بعدی و موضوعات بیشتری پوشش داده شود.
🌎 donate.isega.ro
〰️〰️〰️〰️〰️〰️
📽 زیرنویس فارسی
🧠 مناسب برای همه، چه مبتدی چه حرفهای
🌐 ترجمه این ویدیو با وبسایت isega.ro انجام شده — حتماً سر بزن!
📌 برای دیدن قسمتهای بعدی کانال رو دنبال کن:
📺🌐 @AiSegaro
🚀 هر روز یک قدم نزدیکتر به آیندهای هوشمند!
📤 بازنشر آزاد با ذکر منبع 🙏❤️
این ویدیو از پادکست "تجربه جو روگان" (Joe Rogan Experience) است که با حضور ایلان ماسک ضبط شده است.با توجه به طولانی بودن ویدیو (بیش از ۳ ساعت) در سه قسمت قرار داده میشود.
🎥 قسمت اول
🚀 شهر جدید ماسک: چطور او یک شهر قانونی جدید به نام "استاربیس تگزاس" ساخت تا بتواند موشکها را به فضا پرتاب کند.
👽 پیمان محرمانه: ماسک به جو روگان قول میدهد که اگر اسپیسایکس از وجود هرگونه شواهد فضایی یا بیگانگان مطلع شود، قبل از هر کس دیگری، آن را در این پادکست فاش خواهد کرد! و ...
〰️〰️〰️〰️〰️〰️
برای ترجمه این ویدیو زمان و دقت و وسواس زیادی به کار گرفته شده , در صورتی که مایل بودید میتونید از لینک زیر دونیت کنیدتا قسمت های بعدی و موضوعات بیشتری پوشش داده شود.
🌎 donate.isega.ro
〰️〰️〰️〰️〰️〰️
📽 زیرنویس فارسی
🧠 مناسب برای همه، چه مبتدی چه حرفهای
🌐 ترجمه این ویدیو با وبسایت isega.ro انجام شده — حتماً سر بزن!
📌 برای دیدن قسمتهای بعدی کانال رو دنبال کن:
📺🌐 @AiSegaro
🚀 هر روز یک قدم نزدیکتر به آیندهای هوشمند!
📤 بازنشر آزاد با ذکر منبع 🙏❤️
Forwarded from Laravel News
Fix Static Analysis Issues Automatically with CodeKudu https://laravel-news.com/fix-static-analysis-issues-automatically-with-codekudu
Laravel News
Fix Static Analysis Issues Automatically with CodeKudu - Laravel News
CodeKudu helps busy Laravel teams like yours by automatically fixing static analysis issues across your codebase. Connect your GitHub repository, set your pull request preferences, and let us find and fix bugs across your app. Get started for free at codekudu.com.
Forwarded from Gopher Academy
🔵 عنوان مقاله
google/jsonschema-go
🟢 خلاصه مقاله:
این مقاله دو کتابخانه Go برای کار با JSON Schema را مقایسه میکند: google/jsonschema-go و مخزن شخصی Ian Lance Taylor با نام ianlancetaylor/jsonschema. تمرکز اصلی بر کاربردهای عملی مانند اعتبارسنجی در زمان اجرا، همترازی قراردادهای داده میان سرویسها، و در صورت نیاز، تولید کد برای انواع Go است. بهجای معرفی یک برنده قطعی، مجموعهای از معیارهای انتخاب پیشنهاد میشود: پوشش استاندارد (کلیدواژهها، فرمتها، و ارجاعات $ref)، کیفیت گزارش خطا، کارایی در بارهای واقعی، قابلیت سفارشیسازی، و نشانههای پایداری و نگهداشت پروژه. همچنین سازگاری با فرآیندهای CI، نحوه حل $ref در فایلها و URLها، و میزان تطبیق با ابزارهای رایج Go بررسی میشود. جمعبندی مقاله عملی است: هر دو گزینه قابل اتکا هستند و انتخاب نهایی باید بر اساس نیازهای خاص تیم—سادگی رابط، گستره امکانات، یا الزامات یکپارچهسازی—انجام شود.
#Go #JSONSchema #GoLang #OpenSource #Validation #CodeGeneration #GitHub
🟣لینک مقاله:
https://golangweekly.com/link/176346/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
google/jsonschema-go
🟢 خلاصه مقاله:
این مقاله دو کتابخانه Go برای کار با JSON Schema را مقایسه میکند: google/jsonschema-go و مخزن شخصی Ian Lance Taylor با نام ianlancetaylor/jsonschema. تمرکز اصلی بر کاربردهای عملی مانند اعتبارسنجی در زمان اجرا، همترازی قراردادهای داده میان سرویسها، و در صورت نیاز، تولید کد برای انواع Go است. بهجای معرفی یک برنده قطعی، مجموعهای از معیارهای انتخاب پیشنهاد میشود: پوشش استاندارد (کلیدواژهها، فرمتها، و ارجاعات $ref)، کیفیت گزارش خطا، کارایی در بارهای واقعی، قابلیت سفارشیسازی، و نشانههای پایداری و نگهداشت پروژه. همچنین سازگاری با فرآیندهای CI، نحوه حل $ref در فایلها و URLها، و میزان تطبیق با ابزارهای رایج Go بررسی میشود. جمعبندی مقاله عملی است: هر دو گزینه قابل اتکا هستند و انتخاب نهایی باید بر اساس نیازهای خاص تیم—سادگی رابط، گستره امکانات، یا الزامات یکپارچهسازی—انجام شود.
#Go #JSONSchema #GoLang #OpenSource #Validation #CodeGeneration #GitHub
🟣لینک مقاله:
https://golangweekly.com/link/176346/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
pkg.go.dev
jsonschema package - github.com/ianlancetaylor/jsonschema - Go Packages
Package jsonschema implements JSON schemas.
Forwarded from کارزار
کارآموزی پژوهشی در پلتفرم کارزار
پلتفرم کارزار به منظور تدوین مستندات پژوهشی و گزارشهای دادهمحور، فضایی برای کارآموزی پژوهشی زیر نظر اساتید علوم ارتباطات و جامعهشناسی در نظر گرفته است.
از دانشجویان و دانشآموختگان رشتههای علوم اجتماعی، علوم سیاسی، ارتباطات و سایر رشتههای مرتبط دعوت میشود تا در صورت تمایل رزومه خود را جهت بررسی به نشانی [email protected] ارسال نمایند.
شرایط دوره کارآموزی:
- تمام وقت، با امکان همکاری غیرحضوری
- به مدت دو ماه
- امکان تمدید در قالب همکاری حرفهای
مزایای کارآموزی:
- دسترسی به کلاندادههای کمی پلتفرم کارزار جهت تحلیل
- امکان گردآوری دادههای کیفی و دسترسی به جامعه کنشگران
- توسعه ارتباطات فردی میان مسئولان، کنشگران و رسانهها
- ارسال گزارشهای سیاستی برای مسئولان ارشد و اثرگذاری مدنی
پلتفرم کارزار به منظور تدوین مستندات پژوهشی و گزارشهای دادهمحور، فضایی برای کارآموزی پژوهشی زیر نظر اساتید علوم ارتباطات و جامعهشناسی در نظر گرفته است.
از دانشجویان و دانشآموختگان رشتههای علوم اجتماعی، علوم سیاسی، ارتباطات و سایر رشتههای مرتبط دعوت میشود تا در صورت تمایل رزومه خود را جهت بررسی به نشانی [email protected] ارسال نمایند.
شرایط دوره کارآموزی:
- تمام وقت، با امکان همکاری غیرحضوری
- به مدت دو ماه
- امکان تمدید در قالب همکاری حرفهای
مزایای کارآموزی:
- دسترسی به کلاندادههای کمی پلتفرم کارزار جهت تحلیل
- امکان گردآوری دادههای کیفی و دسترسی به جامعه کنشگران
- توسعه ارتباطات فردی میان مسئولان، کنشگران و رسانهها
- ارسال گزارشهای سیاستی برای مسئولان ارشد و اثرگذاری مدنی
Forwarded from Go Casts 🚀
سلامتی زندونیای بیملاقاتی...
عجب داستانی داره این پسره. این آقا یه مهندس ارشد توی یه شرکت دیتابیس به اسم Turso هست که داره SQLite رو از صفر با Rust بازنویسی میکنه - و در عین حال الان توی زندان Maine هست! این پسره از سال 2017 توی زندانه، یعنی 8 سال و نیم. اون موقع که 20 سالش بود اومد زندان و عملاً بزرگ شد تو زندان. داستانش از سال 2022 شروع میشه که دانشگاه ثبتنام کرد و اتفاقاً همون اولین ترمی بود که توی زندان بهشون لپتاپ دادن و یه نوع دسترسی محدود به اینترنت. یه روز بیدار شد و با خودش گفت "من چرا این زندگی رو قبول کردم؟" - اون لحظه یه تحول ذهنی براش اتفاق افتاد. فکر کرد چه کسی 16 ساعت در روز برای سالها فرصت داره چیز جدید یاد بگیره؟
از اون روز به بعد، روزی 16 ساعت شروع کرد برنامهنویسی یاد گرفتن. بعد از فقط 8 ماه، اولین شغلش رو گرفت توی یه شرکتی به اسم Unlock Labs که خودشون هم توسط افراد سابقاً زندانی تاسیس شده بود. اونجا به سرعت پیشرفت کرد، مدیر یه تیم 7 نفره شد، و بالاخره مهندس ارشد شد. بعد شروع کرد توی پروژههای اوپنسورس مشارکت کنه، تا اینکه Glauber که CEO شرکت Turso هست بهش پیشنهاد داد همون روز شروع کنه کار کردن! الان داره فولتایم از زندان روی دیتابیس کار میکنه و میگه پدر و مادرش بعد از سالها بالاخره بهش افتخار میکنن. قراره ماه میِی امسال آزاد بشه و یه خونه هم خریده دقیقاً روبروی خونه پدر و مادرش توی میشیگان. یه داستان واقعی از تحول کامل زندگی، همهاش از درون زندان.
خیلی جالبه که سابقه دارای زندان حمایتش کردن برای گرفتن اولین موقعیت شغلی ش
https://youtu.be/AEPf9zUI_fQ?si=pLCxuAwzv7rwIAyc
@gocasts
عجب داستانی داره این پسره. این آقا یه مهندس ارشد توی یه شرکت دیتابیس به اسم Turso هست که داره SQLite رو از صفر با Rust بازنویسی میکنه - و در عین حال الان توی زندان Maine هست! این پسره از سال 2017 توی زندانه، یعنی 8 سال و نیم. اون موقع که 20 سالش بود اومد زندان و عملاً بزرگ شد تو زندان. داستانش از سال 2022 شروع میشه که دانشگاه ثبتنام کرد و اتفاقاً همون اولین ترمی بود که توی زندان بهشون لپتاپ دادن و یه نوع دسترسی محدود به اینترنت. یه روز بیدار شد و با خودش گفت "من چرا این زندگی رو قبول کردم؟" - اون لحظه یه تحول ذهنی براش اتفاق افتاد. فکر کرد چه کسی 16 ساعت در روز برای سالها فرصت داره چیز جدید یاد بگیره؟
از اون روز به بعد، روزی 16 ساعت شروع کرد برنامهنویسی یاد گرفتن. بعد از فقط 8 ماه، اولین شغلش رو گرفت توی یه شرکتی به اسم Unlock Labs که خودشون هم توسط افراد سابقاً زندانی تاسیس شده بود. اونجا به سرعت پیشرفت کرد، مدیر یه تیم 7 نفره شد، و بالاخره مهندس ارشد شد. بعد شروع کرد توی پروژههای اوپنسورس مشارکت کنه، تا اینکه Glauber که CEO شرکت Turso هست بهش پیشنهاد داد همون روز شروع کنه کار کردن! الان داره فولتایم از زندان روی دیتابیس کار میکنه و میگه پدر و مادرش بعد از سالها بالاخره بهش افتخار میکنن. قراره ماه میِی امسال آزاد بشه و یه خونه هم خریده دقیقاً روبروی خونه پدر و مادرش توی میشیگان. یه داستان واقعی از تحول کامل زندگی، همهاش از درون زندان.
خیلی جالبه که سابقه دارای زندان حمایتش کردن برای گرفتن اولین موقعیت شغلی ش
https://youtu.be/AEPf9zUI_fQ?si=pLCxuAwzv7rwIAyc
@gocasts
YouTube
Rewriting SQLite from prison with Preston Thorpe
In this episode of Database School, Aaron talks with Preston Thorpe, a senior engineer at Turso who is currently incarcerated, about his incredible journey from prison to rewriting SQLite in Rust. They dive deep into concurrent writes, MVCC, and the challenges…
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from DevTwitter | توییت برنامه نویسی
یک اپلیکیشن نوشتم که محیط چت بین کاربران و پشتیبانان وبسایت رو فراهم میکنه. تکنولوژی هایی که استفاده کردم django - vuejs - websocket هستش. سعی کردم تا اونجایی که میشه حالت کاستومایز کردن برای بخش مختلف پیاده کنم و همه شون رو توی آدرس گیتهابم لیست کردم.
https://github.com/grand-kaveh/django-chat-app/
https://pypi.org/project/django-chatapp/2.1/
@DevTwitter|<Kaveh/>
https://github.com/grand-kaveh/django-chat-app/
https://pypi.org/project/django-chatapp/2.1/
@DevTwitter|<Kaveh/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go
🟢 خلاصه مقاله:
با یک روایت عملی، مقاله توضیح میدهد چگونه یک اسکنر ساده TCP که ۱۹ ساعت طول میکشید، با بازطراحی در Go به ابزاری «زیر یک ثانیه» تبدیل شد. ابتدا نشان میدهد چرا اسکن مبتنیبر net.Dial حتی با همزمانی محدود گرفتار زمانهای انتظار، محدودیت FD و سربار syscall میشود. سپس با گذار از اتصالهای کامل به اسکن SYN، ساخت بستهها، فیلترکردن پاسخها با BPF، و نگهداری وضعیت سبکوزن، سربار کرنل و زمانبندی به شدت کاهش مییابد. بهینهسازیهایی مانند batch کردن ارسال/دریافت، پیشاختصاص بافرها، کاهش تخصیصها با sync.Pool، و حلقههای رویدادی کارا (epoll/kqueue) همراه با تنظیمات سیستم (ulimit، بافرهای سوکتی و sysctl) throughput را به حداکثر میرساند. با پروفایلکردن مداوم (pprof) و راستیآزمایی با ابزاری مانند Nmap، هم دقت و هم کارایی تضمین میشود. خروجی نهایی: الگوی عملی برای ساخت ابزارهای پرسرعت شبکه در Go—ترکیبی از انتخاب مدل درست (SYN بهجای connect)، کاهش سربارها، batch کردن، اندازهگیری پیوسته، و پایبندی به اصول ایمنی و اخلاق اسکن. این مطلب در Golang Weekly برجسته شده است.
#Go #Golang #TCP #PortScanning #Networking #Performance #Concurrency #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/176335/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go
🟢 خلاصه مقاله:
با یک روایت عملی، مقاله توضیح میدهد چگونه یک اسکنر ساده TCP که ۱۹ ساعت طول میکشید، با بازطراحی در Go به ابزاری «زیر یک ثانیه» تبدیل شد. ابتدا نشان میدهد چرا اسکن مبتنیبر net.Dial حتی با همزمانی محدود گرفتار زمانهای انتظار، محدودیت FD و سربار syscall میشود. سپس با گذار از اتصالهای کامل به اسکن SYN، ساخت بستهها، فیلترکردن پاسخها با BPF، و نگهداری وضعیت سبکوزن، سربار کرنل و زمانبندی به شدت کاهش مییابد. بهینهسازیهایی مانند batch کردن ارسال/دریافت، پیشاختصاص بافرها، کاهش تخصیصها با sync.Pool، و حلقههای رویدادی کارا (epoll/kqueue) همراه با تنظیمات سیستم (ulimit، بافرهای سوکتی و sysctl) throughput را به حداکثر میرساند. با پروفایلکردن مداوم (pprof) و راستیآزمایی با ابزاری مانند Nmap، هم دقت و هم کارایی تضمین میشود. خروجی نهایی: الگوی عملی برای ساخت ابزارهای پرسرعت شبکه در Go—ترکیبی از انتخاب مدل درست (SYN بهجای connect)، کاهش سربارها، batch کردن، اندازهگیری پیوسته، و پایبندی به اصول ایمنی و اخلاق اسکن. این مطلب در Golang Weekly برجسته شده است.
#Go #Golang #TCP #PortScanning #Networking #Performance #Concurrency #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/176335/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
docs.serviceradar.cloud
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go | ServiceRadar
How ServiceRadar turned a 19-hour TCP discovery job into a sub-second SYN scan by leaning on raw sockets, BPF, and Go assembly.
Forwarded from Python Hints
این ویدئو روی
قبلا راجب پروفایلینگ روی پایتون صحبت کردم.
با توجه به اینکه اکثر دوستان اینجا بکند یا هوش مصنوعی کار میکنند بنظرم دیدن این ویدئو خالی از لطف نیست.
Rust هست؛ اما تکنیکهایی که برای پیدا کردن مشکل و اپتیمایز کردن کدها گفته میشه کاملا روی پایتون هم جواب میده.قبلا راجب پروفایلینگ روی پایتون صحبت کردم.
با توجه به اینکه اکثر دوستان اینجا بکند یا هوش مصنوعی کار میکنند بنظرم دیدن این ویدئو خالی از لطف نیست.