Forwarded from محتوای آزاد سهراب (Sohrab)
محتوای آزاد سهراب
پیاز مورد علاقمون هم بهروزرسانی شد. ادامش به علت محدودیت ها در پست بعدی. @SohrabContents
شبکه تور اقدام به جایگزینی الگوریتم رمزنگاری قدیمی خود به نام تور۱ با یک سامانه جدید و پیشرفتهتر به نام شمارنده گالوا پیازی یا به اختصار سیجیاو کرده است. این تصمیم با هدف افزایش امنیت و مقاومت شبکه در برابر حملات نوین رهگیری ترافیک گرفته شده که میتوانست امنیت دادهها و ناشناس بودن کاربران تور را به خطر بیندازد.
الگوریتم تور۱ در زمانی طراحی شده بود که دانش رمزنگاری به پیشرفت امروزی نرسیده بود و از آن زمان تاکنون استانداردهای امنیتی به شکل قابل توجهی بهبود یافتهاند. یکی از مشکلات اصلی تور۱ این بود که از رمزنگاری ایایاس-سیتیآر بدون گواهیسازی بین گرهها استفاده میکرد، که این موضوع منجر به آسیبپذیری در برابر حملات برچسبگذاری میشد و به مهاجمان اجازه میداد ترافیک بین رلههایی که زیر کنترل آنها بود را دگرگون کنند. همچنین تور۱ از کلیدهای ایایاس یکسانی در طول عمر یک مسیر استفاده دوباره میکرد که در صورت سرقت کلید، امکان رمزگشایی را فراهم میآورد.
الگوریتم نوین سیجیاو بر پایه یک ساختار رمزنگاری به نام جایگشت شبهتصادفی استوار ساخته شده که توسط پژوهشگران برجسته رمزنگاری طراحی و تأیید شده است. این سامانه از رمزنگاری بلوک پهن و زنجیرهسازی برچسبها استفاده میکند، به گونهای که هرگونه دگرگونی در ترافیک باعث غیرقابل بازیابی شدن کل سلول و سلولهای آینده میشود و حملات برچسبگذاری را مسدود میکند. افزون بر این، سیجیاو کلیدها را پس از هر سلول بهروزرسانی میکند تا حتی در صورت افشای کلیدهای کنونی، ترافیک گذشته قابل رمزگشایی نباشد. در این سامانه نو، اِساِچای-۱ به طور کامل از رمزنگاری رله برداشته شده و به جای آن از یک گواهیکننده هویت ۱۶-بایتی استفاده میشود که بسیار توانمندتر است.
کاربران مرورگر تور نیازی به انجام هیچ کاری برای بهرهمندی از سیجیاو ندارند، زیرا که این دگرگونی به صورت خودکار هنگامی که سامانه نو به طور کامل مستقر شود اعمال خواهد شد، هرچند که زمان دقیق برای پیشگزیده شدن این گزینه هنوز اعلام نشده است.
🔗 منبع
@SohrabContents
الگوریتم تور۱ در زمانی طراحی شده بود که دانش رمزنگاری به پیشرفت امروزی نرسیده بود و از آن زمان تاکنون استانداردهای امنیتی به شکل قابل توجهی بهبود یافتهاند. یکی از مشکلات اصلی تور۱ این بود که از رمزنگاری ایایاس-سیتیآر بدون گواهیسازی بین گرهها استفاده میکرد، که این موضوع منجر به آسیبپذیری در برابر حملات برچسبگذاری میشد و به مهاجمان اجازه میداد ترافیک بین رلههایی که زیر کنترل آنها بود را دگرگون کنند. همچنین تور۱ از کلیدهای ایایاس یکسانی در طول عمر یک مسیر استفاده دوباره میکرد که در صورت سرقت کلید، امکان رمزگشایی را فراهم میآورد.
الگوریتم نوین سیجیاو بر پایه یک ساختار رمزنگاری به نام جایگشت شبهتصادفی استوار ساخته شده که توسط پژوهشگران برجسته رمزنگاری طراحی و تأیید شده است. این سامانه از رمزنگاری بلوک پهن و زنجیرهسازی برچسبها استفاده میکند، به گونهای که هرگونه دگرگونی در ترافیک باعث غیرقابل بازیابی شدن کل سلول و سلولهای آینده میشود و حملات برچسبگذاری را مسدود میکند. افزون بر این، سیجیاو کلیدها را پس از هر سلول بهروزرسانی میکند تا حتی در صورت افشای کلیدهای کنونی، ترافیک گذشته قابل رمزگشایی نباشد. در این سامانه نو، اِساِچای-۱ به طور کامل از رمزنگاری رله برداشته شده و به جای آن از یک گواهیکننده هویت ۱۶-بایتی استفاده میشود که بسیار توانمندتر است.
کاربران مرورگر تور نیازی به انجام هیچ کاری برای بهرهمندی از سیجیاو ندارند، زیرا که این دگرگونی به صورت خودکار هنگامی که سامانه نو به طور کامل مستقر شود اعمال خواهد شد، هرچند که زمان دقیق برای پیشگزیده شدن این گزینه هنوز اعلام نشده است.
🔗 منبع
@SohrabContents
Forwarded from Entrepreneurship Articles
▪️پذیرش فزاینده ابزارهای خرید مبتنی بر هوش مصنوعی در آمریکا
نمودار نشان میدهد که نسل ۱۸–۳۹ سال پیشران اصلی استفاده از هوش مصنوعی در خرید است و در تمام شاخصها با فاصله قابلتوجهی جلوتر از گروه ۴۰–۶۴ سال قرار دارد.
اعتماد به توصیههای هوش مصنوعی در نسل جوان به ۴۱٪ رسیده؛ یعنی AI به بخشی از تصمیمسازی خرید تبدیل شده است.
اینفلوئنسرهای دیجیتال مبتنی بر AI برای ۴۴٪ از جوانان به اندازه نمونههای انسانی مؤثر بهنظر میرسند—نشانهای از تغییر الگوی بازاریابی.
جستوجوی محصول با AI نیز در هر دو گروه جایگاه تثبیتشدهای دارد، هرچند جوانترها پذیرش بالاتری نشان میدهند.
جمعبندی:
دادهها نشان میدهد که AI به محور رفتار خرید نسل جدید تبدیل شده و برندها باید استراتژیهای خود در حوزه جستوجو، توصیهسازی و بازاریابی دیجیتال را بر این روند منطبق کنند.
Join us: @Entrepreneurship_Articles
نمودار نشان میدهد که نسل ۱۸–۳۹ سال پیشران اصلی استفاده از هوش مصنوعی در خرید است و در تمام شاخصها با فاصله قابلتوجهی جلوتر از گروه ۴۰–۶۴ سال قرار دارد.
اعتماد به توصیههای هوش مصنوعی در نسل جوان به ۴۱٪ رسیده؛ یعنی AI به بخشی از تصمیمسازی خرید تبدیل شده است.
اینفلوئنسرهای دیجیتال مبتنی بر AI برای ۴۴٪ از جوانان به اندازه نمونههای انسانی مؤثر بهنظر میرسند—نشانهای از تغییر الگوی بازاریابی.
جستوجوی محصول با AI نیز در هر دو گروه جایگاه تثبیتشدهای دارد، هرچند جوانترها پذیرش بالاتری نشان میدهند.
جمعبندی:
دادهها نشان میدهد که AI به محور رفتار خرید نسل جدید تبدیل شده و برندها باید استراتژیهای خود در حوزه جستوجو، توصیهسازی و بازاریابی دیجیتال را بر این روند منطبق کنند.
Join us: @Entrepreneurship_Articles
Forwarded from DevTwitter | توییت برنامه نویسی
کمپانی OpenAi یک دایکیومنت بسیار ارزنده معرفی کرده به عنوان Building an AI-native engineering team
در این سند، راهکارهای قابل اجرا ارائه شده است تا رهبران مهندسی بتوانند از همین امروز فرایند ساخت تیمها و فرآیندهای بومی هوش مصنوعی (AI-native) را آغاز کنند
نسخه فارسی :
https://xpoury4.github.io/ai-native-engineering-persian/
نسخه اصلی :
https://cdn.openai.com/business-guides-and-resources/building-an-ai-native-engineering-team.pdf
لینک گیتهاب برای دانلود :
https://github.com/xPOURY4/ai-native-engineering-persian
@DevTwitter | <POURYA/>
در این سند، راهکارهای قابل اجرا ارائه شده است تا رهبران مهندسی بتوانند از همین امروز فرایند ساخت تیمها و فرآیندهای بومی هوش مصنوعی (AI-native) را آغاز کنند
نسخه فارسی :
https://xpoury4.github.io/ai-native-engineering-persian/
نسخه اصلی :
https://cdn.openai.com/business-guides-and-resources/building-an-ai-native-engineering-team.pdf
لینک گیتهاب برای دانلود :
https://github.com/xPOURY4/ai-native-engineering-persian
@DevTwitter | <POURYA/>
👍1
Forwarded from DevTwitter | توییت برنامه نویسی
مدلی که این روزها توی اخبار خوب دیده نشد مدل ۶ میلیارد پارامتری Z-Image چینی هستش که تصاویر با کیفیتی رو با سرعت بالا (۱ ثانیه!) روی VRAM 16 GB و به صورت لوکال تولید میکنه.
مثل بیشتر مدلهای اوپن سورس چینی، بدون سانسور و محدودیته.
https://github.com/Tongyi-MAI/Z-Image
@DevTwitter | <Diego Jr/>
مثل بیشتر مدلهای اوپن سورس چینی، بدون سانسور و محدودیته.
https://github.com/Tongyi-MAI/Z-Image
@DevTwitter | <Diego Jr/>
Forwarded from Syntax | سینتکس (Alireza F)
چند تا گیتهاب اکشن کاربردی که بدرد اکثر ریتوزیتوری ها میخوره:
1. اکشن لینت
با این اکشن، اکشن هارو لینت کن و بررسی کن ورژن ها، سینتکس و همه چی اوکیه یا نه. همچنین خودش تو پول ریکوئست ها کامنت هم میذاره و مشکلات رو میگه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/action-lint.yml
2. داکر لینت:
فایل Dockerfile هارو لینت میکنه
از نظر امنیتی، استاندارد و اینکه الکی حجم ایمیج رو زیاد نکرده باشید و ... لینت میکنه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/docker-lint.yml
3. کامیت لینت:
لینت کردن کامیت ها مسیج کامیت و ...
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/commit-lint.yml
4. SQL Lint:
فایل های sql رو لینت میکنه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/sql-lint.yml
5. دپلوی روی داکر هاب
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/admin-deploy.yml
#github #action
@Syntax_fa
1. اکشن لینت
با این اکشن، اکشن هارو لینت کن و بررسی کن ورژن ها، سینتکس و همه چی اوکیه یا نه. همچنین خودش تو پول ریکوئست ها کامنت هم میذاره و مشکلات رو میگه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/action-lint.yml
2. داکر لینت:
فایل Dockerfile هارو لینت میکنه
از نظر امنیتی، استاندارد و اینکه الکی حجم ایمیج رو زیاد نکرده باشید و ... لینت میکنه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/docker-lint.yml
3. کامیت لینت:
لینت کردن کامیت ها مسیج کامیت و ...
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/commit-lint.yml
4. SQL Lint:
فایل های sql رو لینت میکنه.
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/sql-lint.yml
5. دپلوی روی داکر هاب
نمونه کد:
https://github.com/syntaxfa/quick-connect/blob/main/.github/workflows/admin-deploy.yml
#github #action
@Syntax_fa
Forwarded from Hack Haven (pooriya)
برای اینکه بتونید از llm برای باگ بانتی استفاده کنید
یدونه llm پیدا کردم خیلی خوبه
بدون محدودیت براتون هرچی بخواید میسازه
باید روی سیستم یا سرورتون نصبش کنید
https://github.com/MrSanZz/KawaiiGPT
https://cybersecuritynews.com/kawaiigpt-black-hat-ai/
📌 @hackhaven_new
یدونه llm پیدا کردم خیلی خوبه
بدون محدودیت براتون هرچی بخواید میسازه
باید روی سیستم یا سرورتون نصبش کنید
https://github.com/MrSanZz/KawaiiGPT
https://cybersecuritynews.com/kawaiigpt-black-hat-ai/
📌 @hackhaven_new
GitHub
GitHub - MrSanZz/KawaiiGPT: WormGPT kawaii ver
WormGPT kawaii ver. Contribute to MrSanZz/KawaiiGPT development by creating an account on GitHub.
Forwarded from Linuxor ?
خیلیا براشون سواله وقتی شرکت های بزرگ وبسایتشون رو پابلیش میکنن چه کار هایی روش انجام میدن؟
انجام Tree-shaking باعث میشه که کدهای استفاده نشده حذف بشن.
انجام Minification باعث میشه فایلها کوچیکتر بشن.
انجام Bundle باعث میشه چند فایل JS/CSS ترکیب بشن.
انجام Code Splitting باعث میشه فقط کد مورد نیاز هر صفحه لود بشه.
انجام Lazy Loading باعث میشه ماژولها فقط هنگام نیاز دانلود بشن.
انجام Dead Code Elimination باعث میشه کدهای مرده (شرط غیر قابل اجرا مثلا) حذف بشن.
انجام Asset Optimization که تصاویر و فایلها فشرده بشن.
انجام Hashing برای Cache Busting که مرورگر نسخه جدید فایلها رو دریافت کنه.
انجام ابزار Babel که کد با مرورگرهای قدیمی سازگار بشه.
انجام CSS Extraction که CSS از JS جدا و قابل cache بشه.
انجام Inlining و Preloading باعث میشه لود اولیه صفحه سریعتر باشه.
انجام Pre-Bundling باعث میشه کتابخانههای سنگین سریعتر آماده بشن.
انجام Scope Hoisting که باعث میشه ماژولها کارآمدتر و سریعتر اجرا بشن.
انجام gzip/Brotli که باعث میشه فایلها سبک بشن و سریع دانلود بشن.
@Linuxor
انجام Tree-shaking باعث میشه که کدهای استفاده نشده حذف بشن.
انجام Minification باعث میشه فایلها کوچیکتر بشن.
انجام Bundle باعث میشه چند فایل JS/CSS ترکیب بشن.
انجام Code Splitting باعث میشه فقط کد مورد نیاز هر صفحه لود بشه.
انجام Lazy Loading باعث میشه ماژولها فقط هنگام نیاز دانلود بشن.
انجام Dead Code Elimination باعث میشه کدهای مرده (شرط غیر قابل اجرا مثلا) حذف بشن.
انجام Asset Optimization که تصاویر و فایلها فشرده بشن.
انجام Hashing برای Cache Busting که مرورگر نسخه جدید فایلها رو دریافت کنه.
انجام ابزار Babel که کد با مرورگرهای قدیمی سازگار بشه.
انجام CSS Extraction که CSS از JS جدا و قابل cache بشه.
انجام Inlining و Preloading باعث میشه لود اولیه صفحه سریعتر باشه.
انجام Pre-Bundling باعث میشه کتابخانههای سنگین سریعتر آماده بشن.
انجام Scope Hoisting که باعث میشه ماژولها کارآمدتر و سریعتر اجرا بشن.
انجام gzip/Brotli که باعث میشه فایلها سبک بشن و سریع دانلود بشن.
@Linuxor
Forwarded from localhost (Yousef Taheri)
با ابزار خفن FindME میتونی هر نام کاربری رو تو بیش از ۴۰۰ شبکه اجتماعی و پلتفرم آنلاین ردیابی کنی!
دوتا نکته مهم :
اول اینکه نسخه انلاین خروجی نمیده ، حتما نصب کنید ( روی codespace )
و مورد دوم اون مواردی 404 میده همیشه درست نیست ، ولی 404 گرفتید ، حتما دستی تست کنید ، که میتونید یوزرنیم دلخواهتون رو توی اون پلتفرم بسازید!
https://github.com/0xSaikat/findme
POURYA
دوتا نکته مهم :
اول اینکه نسخه انلاین خروجی نمیده ، حتما نصب کنید ( روی codespace )
و مورد دوم اون مواردی 404 میده همیشه درست نیست ، ولی 404 گرفتید ، حتما دستی تست کنید ، که میتونید یوزرنیم دلخواهتون رو توی اون پلتفرم بسازید!
https://github.com/0xSaikat/findme
POURYA
GitHub
GitHub - 0xSaikat/findme: FindME is a CLI tool for searching social media and online profiles linked to a username. It’s ideal…
FindME is a CLI tool for searching social media and online profiles linked to a username. It’s ideal for reconnaissance, digital footprint verification, or checking username availability. - 0xSaika...
Forwarded from Note (Mr.05)
از دوستان نزدیک درگیر اعتیادی شده. با اسم متفاوت توی بازارهای زیرزمینی و گروه ها میچرخه
به تازگی ها. مواد جدید م.خ*ر وارد بازار های خاورمیانه شده. فروش و تبلیغات به صورت سنتی نیست. توی شبکه های اجتماعی به ویژه اینستاگرام تمرکز دارند و هدفشون بچه های زیر سن قانونی و دم کنکور ... به بهانه افزایش تمرکز و قدرت فکری هست. و دانشجوها هم درگیرن قدرت اعتیاد و تخریب سلول مغزی به شدت بالاست نسخه اولیه این موادها از پاکستان و ایران شروع شده. و احتمال داده میشه منبع از روسیه و قزاقستان باشه.
مراقب خودتون و اطرافیانتون باشید.
به تازگی ها. مواد جدید م.خ*ر وارد بازار های خاورمیانه شده. فروش و تبلیغات به صورت سنتی نیست. توی شبکه های اجتماعی به ویژه اینستاگرام تمرکز دارند و هدفشون بچه های زیر سن قانونی و دم کنکور ... به بهانه افزایش تمرکز و قدرت فکری هست. و دانشجوها هم درگیرن قدرت اعتیاد و تخریب سلول مغزی به شدت بالاست نسخه اولیه این موادها از پاکستان و ایران شروع شده. و احتمال داده میشه منبع از روسیه و قزاقستان باشه.
مراقب خودتون و اطرافیانتون باشید.
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
اگه با این AI coding assistant ها کد میزنید یا اینکه به صورت vibe coding اپ میسازید اینکه چطور دیزاین را هم وارد مساله کنید خیلی مهمه. یک اصطلاح جدید داره بوجود میاد به اسم "vibe designing". این بلاگ خیلی قشنگ توضیح میده و اینکه موقع vibe coding چطور یک اپ با طراحی خوب درست کنید. حتما بخونید. ویدیو هم تو یوتیوب داره:
https://designwithai.substack.com/p/vibe-designing-with-ai
YT: https://youtube.com/watch?v=QgvQbcPmioE
@DevTwitter | <Mehdi Allahyari/>
https://designwithai.substack.com/p/vibe-designing-with-ai
YT: https://youtube.com/watch?v=QgvQbcPmioE
@DevTwitter | <Mehdi Allahyari/>
🔥1
Forwarded from Syntax | سینتکس (Alireza F)
ترفند Issue Trick یا Github Asset Hosting
میخواید پروژتون رو توی README با استفاده از گیف و ویدیو معرفی کنید ولی نمیدونید فایل هارو کجا قرار بدید؟
اگه فایلتون حجمش کمه مثلا زیر 3 مگ، میتونید تو دایرکتوری docs داخل خود سورس کد پروژه بذارید ولی بازم روش خوبی نیست بنظرم.
اما اگه فایلتون حجمش زیاده بنظرتون اینکار منطقیه؟
یکی بخواد clone کنه باید همراهش چند تا فایل بی ربط رو دانلودش کنه.
خب چه کار هایی میتونیم؟
میتونیم تو فضای ذخیره سازی ای مثل aws و ... قرار بدیم ولی بازم وابسته شدیم به یه سرویس خارجی که فردا ممکنه فیلتر یا قطع بشه.
راهکار حرفه ای یه ترفند جالبیه که تو پروژه های بزرگ اپن سورس استفاده میشه.
میریم قسمت ایشو
یک ایشو جدید باز میکنیم
بعد فایلمون رو تو قسمت description آپلود میکنیم.
بعدش صبر کنید تا آپلود فایل تموم بشه.
گیتهاب به شما یک لینک میده.
همونو کپی کنید تو README قرارش بدید!
نکته طلایی:
اصلا نیازی نیست دکمه submit new issue رو بزنید! حتی اگه ایشو کنسل بشه یا کامل ببندید و نسازیدش، اون فایل روی سرور های پرسرعت گیتهاب باقی میمونن!
به همین سادگی بدون اینکه حجم پروژه بالا بره، داکیومنت های حرفه ای داشته باشید.
نکته:
توی خود README هم میتونید همینکارو کنید.
#github
@Syntax_fa
میخواید پروژتون رو توی README با استفاده از گیف و ویدیو معرفی کنید ولی نمیدونید فایل هارو کجا قرار بدید؟
اگه فایلتون حجمش کمه مثلا زیر 3 مگ، میتونید تو دایرکتوری docs داخل خود سورس کد پروژه بذارید ولی بازم روش خوبی نیست بنظرم.
اما اگه فایلتون حجمش زیاده بنظرتون اینکار منطقیه؟
یکی بخواد clone کنه باید همراهش چند تا فایل بی ربط رو دانلودش کنه.
خب چه کار هایی میتونیم؟
میتونیم تو فضای ذخیره سازی ای مثل aws و ... قرار بدیم ولی بازم وابسته شدیم به یه سرویس خارجی که فردا ممکنه فیلتر یا قطع بشه.
راهکار حرفه ای یه ترفند جالبیه که تو پروژه های بزرگ اپن سورس استفاده میشه.
میریم قسمت ایشو
یک ایشو جدید باز میکنیم
بعد فایلمون رو تو قسمت description آپلود میکنیم.
بعدش صبر کنید تا آپلود فایل تموم بشه.
گیتهاب به شما یک لینک میده.
همونو کپی کنید تو README قرارش بدید!
نکته طلایی:
اصلا نیازی نیست دکمه submit new issue رو بزنید! حتی اگه ایشو کنسل بشه یا کامل ببندید و نسازیدش، اون فایل روی سرور های پرسرعت گیتهاب باقی میمونن!
به همین سادگی بدون اینکه حجم پروژه بالا بره، داکیومنت های حرفه ای داشته باشید.
نکته:
توی خود README هم میتونید همینکارو کنید.
#github
@Syntax_fa
Forwarded from Linuxor ?
کانفیگ کردن NGINX مرد میدان میطلبه چون چت باتا ممکنه کلی اشتباه کنن، هر اشتباهی ممکنه باعث افت پرفومنس و یا امنیت سایتتون بشه اینجارو داشته باشید قالب های نمونه کافیگ گذاشته از روش ایده بگیرید :
github.com/h5bp/server-configs-nginx
@Linuxor
github.com/h5bp/server-configs-nginx
@Linuxor
Forwarded from Linuxor ?
اگه خواستین یه برنامه اجرایی مستقل از کد پایتون بسازید از pyinstaller استفاده کنید؛ کاربر نهایی ویندوز مک و یا لینوکس لازم نیست پایتون نصب داشته باشه، فقط فایل رو اجرا میکنه و برنامهات بالا میاد.
همهٔ وابستگیها، کتابخونهها و مفسر پایتون رو جمع میکنه میذاره داخل پکش. اینجوری نه مشکل «نسخهٔ پایتون من فرق میکنه» داری، نه دردسر نصب کتابخونهها. یه جورایی برنامهات رو بستهبندی میکنه که هرجا اجرا بشه بدون هیچ چیزی اجرا بشه.
توضیحات و نحوه کار :
www.pyinstaller.org
@Linuxor
همهٔ وابستگیها، کتابخونهها و مفسر پایتون رو جمع میکنه میذاره داخل پکش. اینجوری نه مشکل «نسخهٔ پایتون من فرق میکنه» داری، نه دردسر نصب کتابخونهها. یه جورایی برنامهات رو بستهبندی میکنه که هرجا اجرا بشه بدون هیچ چیزی اجرا بشه.
توضیحات و نحوه کار :
www.pyinstaller.org
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
Media is too big
VIEW IN TELEGRAM
پردازش ۴۰ میلیارد رکورد در روز — معماری یک سیستم مقیاسپذیر!
خیلیها فکر میکنن پردازش دهها میلیارد رکورد در روز فقط از پس غولهای جهانی مثل Meta یا Netflix برمیاد — اما من یک معماری عملیاتی ساختم که روزانه بالغ بر ۴۰ میلیارد رکورد (معادل تقریبا ۵۰۰ هزار رکورد بر ثانیه) رو از Kafka مصرف و بهصورت بهینه در ClickHouse ذخیره میکنه.
چالش اصلی
بار نامتعادل روی کلاستر توزیعشده شلوغ با ۲۰ نود و ۵۲ پارتیشن و عدم تفکیک داده
نیاز به پردازش کمتأخیر
حفظ Consistency در حجم عظیم داده
راهحل معماری
مصرفکنندههای موازی با Unbounded Channel
پردازش کاملاً Stateless برای scale عمودی و افقی
دستهبندی و فشردهسازی در Batchهای ۱,۰۰۰,۰۰۰ رکوردی (قابل کانفیگ)
نوشتن مستقیم در ClickHouse با Insertهای ستونمحور
و Commit offset تنها بعد از نوشتن موفق
جدا کردن مسیر ingest از persist برای افزایش throughput
@DevTwitter | <Amirhossein Maleki/>
خیلیها فکر میکنن پردازش دهها میلیارد رکورد در روز فقط از پس غولهای جهانی مثل Meta یا Netflix برمیاد — اما من یک معماری عملیاتی ساختم که روزانه بالغ بر ۴۰ میلیارد رکورد (معادل تقریبا ۵۰۰ هزار رکورد بر ثانیه) رو از Kafka مصرف و بهصورت بهینه در ClickHouse ذخیره میکنه.
چالش اصلی
بار نامتعادل روی کلاستر توزیعشده شلوغ با ۲۰ نود و ۵۲ پارتیشن و عدم تفکیک داده
نیاز به پردازش کمتأخیر
حفظ Consistency در حجم عظیم داده
راهحل معماری
مصرفکنندههای موازی با Unbounded Channel
پردازش کاملاً Stateless برای scale عمودی و افقی
دستهبندی و فشردهسازی در Batchهای ۱,۰۰۰,۰۰۰ رکوردی (قابل کانفیگ)
نوشتن مستقیم در ClickHouse با Insertهای ستونمحور
و Commit offset تنها بعد از نوشتن موفق
جدا کردن مسیر ingest از persist برای افزایش throughput
@DevTwitter | <Amirhossein Maleki/>
Forwarded from DevTwitter | توییت برنامه نویسی
اگه کارتون به زمانبندی، برنامهریزی یا بهینهسازی گیر کرده… Google OR-Tools میتونه ناجیتون باشه!
یک کتابخونهی متنباز از گوگله که برای حل مسائل سختی مثل:
- زمانبندی شیفتها
- برنامهریزی تولید
- تخصیص منابع
- طراحی مسیرهای بهینه (TSP/VRP)
خیلی عالی جواب میده.
چیزی که جذابش میکنه CP-SAT Solverشه؛ هم سریع کار میکنه هم با مسائل پیچیده راحت کنار میاد.
چرا سراغش برید؟
- وقتی چندتا کار، چندتا محدودیت و چندتا آدم/ماشین دارید و نمیدونید چطور همه رو هماهنگ کنید
- وقتی میخواید بهترین برنامه ممکن رو با کمترین خطا و بیشترین بازده داشته باشید
- وقتی دادهمحور تصمیم میگیرید و دنبال راهحل «بهینه» هستید
رایگانه، با Python خیلی راحت کار میکنه و برای پروژههای واقعی هم کاملاً کاربردیه.
اگر تجربهاش رو داشتید یا سوالی دارید خوشحال میشم گپ بزنیم
اگه خواستید یادش بگیرید این یه منبع خوبه:
https://d-krupke.github.io/cpsat-primer/00_intro.html
ORTools Optimization Scheduling Google Python OperationsResearch
@DevTwitter | <Ali Baghernia/>
یک کتابخونهی متنباز از گوگله که برای حل مسائل سختی مثل:
- زمانبندی شیفتها
- برنامهریزی تولید
- تخصیص منابع
- طراحی مسیرهای بهینه (TSP/VRP)
خیلی عالی جواب میده.
چیزی که جذابش میکنه CP-SAT Solverشه؛ هم سریع کار میکنه هم با مسائل پیچیده راحت کنار میاد.
چرا سراغش برید؟
- وقتی چندتا کار، چندتا محدودیت و چندتا آدم/ماشین دارید و نمیدونید چطور همه رو هماهنگ کنید
- وقتی میخواید بهترین برنامه ممکن رو با کمترین خطا و بیشترین بازده داشته باشید
- وقتی دادهمحور تصمیم میگیرید و دنبال راهحل «بهینه» هستید
رایگانه، با Python خیلی راحت کار میکنه و برای پروژههای واقعی هم کاملاً کاربردیه.
اگر تجربهاش رو داشتید یا سوالی دارید خوشحال میشم گپ بزنیم
اگه خواستید یادش بگیرید این یه منبع خوبه:
https://d-krupke.github.io/cpsat-primer/00_intro.html
ORTools Optimization Scheduling Google Python OperationsResearch
@DevTwitter | <Ali Baghernia/>
Forwarded from DevTwitter | توییت برنامه نویسی
چطور فشار روی cpu رو محاسبه می کنیم ؟؟
یه مفهومی به اسم load داریم که با دستور uptime و یا مستقیم از
/proc/loadavg
میشه اون رو دید توی لینوکس 3 نوع load رو گزارش میده به ترتیب از چپ در یک دقیقه اخیر، پنج دقیقه اخیر و پانزده دقیقه اخیر
اما این load چیه؟ فرض کنین یه cpu یک هسته ای داریم load اگه صفر باشه یعنی cpu بیکاره و تا عدد 1 میزان کار اون رو نشون میده.
اگه عدد بیشتر از 1 باشه مثلا 1.65 یعنی cpu مقدار 65% از کاراش توی صف هستند و اگه 5.5 باشه یعنی 450% از کار هاش توی صف هستند.
اما کامپیوتر های الان cpu های بیش از یه هسته دارن مثلا برای یه cpu هشت هسته ای اگه load avg برابر 12 باشه 50% کار ها در صف هستن و اگه زیر 8 باشه یعنی هیچ کار در صفی نداره (درواقع load رو باید بر تعداد هسته ها تقسیم کرد)
مثل تصویر میتونین با دستور lscpu اطلاعات cpu خودتون رو بدست بیارین عکس یه cpu چهار هسته ای رو نشون میده که هشتا ترد داره (از دید کامپیوتر ترد ها هرکدام مانند یک cpu جدا هستن پس ملاک ما عدد 8 هست نه 4، انگار این کامپوتر هشتا cpu داره )
@DevTwitter | <Mahdi Bagheri/>
یه مفهومی به اسم load داریم که با دستور uptime و یا مستقیم از
/proc/loadavg
میشه اون رو دید توی لینوکس 3 نوع load رو گزارش میده به ترتیب از چپ در یک دقیقه اخیر، پنج دقیقه اخیر و پانزده دقیقه اخیر
اما این load چیه؟ فرض کنین یه cpu یک هسته ای داریم load اگه صفر باشه یعنی cpu بیکاره و تا عدد 1 میزان کار اون رو نشون میده.
اگه عدد بیشتر از 1 باشه مثلا 1.65 یعنی cpu مقدار 65% از کاراش توی صف هستند و اگه 5.5 باشه یعنی 450% از کار هاش توی صف هستند.
اما کامپیوتر های الان cpu های بیش از یه هسته دارن مثلا برای یه cpu هشت هسته ای اگه load avg برابر 12 باشه 50% کار ها در صف هستن و اگه زیر 8 باشه یعنی هیچ کار در صفی نداره (درواقع load رو باید بر تعداد هسته ها تقسیم کرد)
مثل تصویر میتونین با دستور lscpu اطلاعات cpu خودتون رو بدست بیارین عکس یه cpu چهار هسته ای رو نشون میده که هشتا ترد داره (از دید کامپیوتر ترد ها هرکدام مانند یک cpu جدا هستن پس ملاک ما عدد 8 هست نه 4، انگار این کامپوتر هشتا cpu داره )
@DevTwitter | <Mahdi Bagheri/>
👍1
Normal Developer
روش ساده برای جلوگیری از حمله بروت فورس :) @normal_developer
ترجمه :
ی برنامه نوشته که قصدا اگه برای بار اول رمز رو حتی درست زدی بگه غلطه، تا دوباره رمز درست رو امتحان کنی
ی برنامه نوشته که قصدا اگه برای بار اول رمز رو حتی درست زدی بگه غلطه، تا دوباره رمز درست رو امتحان کنی
👏2