برسی فنی پروتکل سیگنال (قسمت 1 از 4)
چند تا از تکنیک های جالبی که سیگنال توی پروتکلش استفاده کرده و توی داکیومنشنش فنی توضیح داده رو ساده بهتون توی چند تا پست توضیح میدم؛ اولین فیچرش Double Ratchet Algorithm هست که باعث میشه کلید امنیتی بعد هر پیام تغییر کنه؛ این مثل یه چرخ دنده یه طرفه عمل میکنه و چیزی که جلو میره دیگه بر نمیگرده! یکی از مشکلات کلید های ثابت اینه که توی دراز مدت ممکنه تحت حمله قرار بگیره و پیدا بشه اما این ویژگی باعث میشه اگه حتی کلید هم لو بره با جلو رفتن چرخدنده کلید قبلی منقضی بشه!
حالا چرا بهش میگن چرخدنده Double ؟ در واقع از دوتا چرخدنده استفاده میکنه یکی DH که هر بار که طرفین کلیدهای جدید تبادل میکنن، یه "جهش" توی در کلیدها اتفاق میافته و یه چرخ دنده هم Symmetric-key که برای هر پیام هم یک کلید تازه از کلید قبلی مشتق میشه و این دو چرخ دنده باهم کار میکنن و بخاطر همین بهش میگن Double.
@Linuxor
چند تا از تکنیک های جالبی که سیگنال توی پروتکلش استفاده کرده و توی داکیومنشنش فنی توضیح داده رو ساده بهتون توی چند تا پست توضیح میدم؛ اولین فیچرش Double Ratchet Algorithm هست که باعث میشه کلید امنیتی بعد هر پیام تغییر کنه؛ این مثل یه چرخ دنده یه طرفه عمل میکنه و چیزی که جلو میره دیگه بر نمیگرده! یکی از مشکلات کلید های ثابت اینه که توی دراز مدت ممکنه تحت حمله قرار بگیره و پیدا بشه اما این ویژگی باعث میشه اگه حتی کلید هم لو بره با جلو رفتن چرخدنده کلید قبلی منقضی بشه!
حالا چرا بهش میگن چرخدنده Double ؟ در واقع از دوتا چرخدنده استفاده میکنه یکی DH که هر بار که طرفین کلیدهای جدید تبادل میکنن، یه "جهش" توی در کلیدها اتفاق میافته و یه چرخ دنده هم Symmetric-key که برای هر پیام هم یک کلید تازه از کلید قبلی مشتق میشه و این دو چرخ دنده باهم کار میکنن و بخاطر همین بهش میگن Double.
@Linuxor
اگه میخواید با سرور خودتون ایمیل ارسال کنید قبلش مطمئن بشید همه کانفیگ هارو درست انجام دادید چون ممکنه بره توی اسپم و کل بازاریابی یا پروژتون خراب بشه، این سایت بهتون یه ایمیل میده بهش یه ایمیل میزنید و از لحاظ فنی برسی میکنه که میلسرورتون چه مشکلاتی داره :
www.mail-tester.com
@Linuxor
www.mail-tester.com
@Linuxor
میدونستید توی پی اچ پی هم میتونید بنویسید else if هم میتونید بچسبونیدش به هم بنویسید elseif؛ اگه به سبک پایتونی با دو نقطه : خواستید شرطو بنویسید باید حتما elseif رو پایتونی بنویسید در غیر این صورت اگه به سبک غیر پایتونی و با { } مینویسید هرجفتش کار میکنه؛ سخته فهمیدنش ولی قبول کنید.
@Linuxor
@Linuxor
استک اورفلو جدیدا یه بخش هوش مصنوعی اضافه کرده، میتونید مشکلات برنامه نویسیتون رو ازش بپرسید علاوه بر اینکه ChatBotش جوابتون رو میده بهتون لینک سوال های مرتبط توی خود استک اورفلو هم نشون میده که خیلی کمک کنندس:
stackoverflow.ai
@Linuxor
stackoverflow.ai
@Linuxor
تازه کار ها وقتی میآن جاوااسکریپت یاد بگیرن سردرگم میشن نمیدونن این زبان بکه یا فرانته اصلا چرا این همه چیز داره که کار های مشابه انجام میدن؟ اینجا همچی رو ابتدایی توضیح داده، خیلی ابتداییه فقط کمکتون میکنه اون کلمات به گوشتون آشنا بیان و از حالت سردرگمی خارج بشید
github.com/verekia/js-stack-from-scratch
@Linuxor
github.com/verekia/js-stack-from-scratch
@Linuxor
خیلی چیزا از قبل ساخته شدن و نیازی نیست دست به کد بشین، مثلا این یه پروژه آماده اوپن سورس CRM یا مدیریت ارتباط با مشتری هستش که خیلی کاراو انجام میده و فقط کافیه برای پروژه خودتون تغییرش بدید. برای پرژه های کم هزینه که حال دست به کد شدن نیست خیلی نجات دهنس، ساخت CRM واقعا هزینه و انرژی بالایی میخواد
github.com/monicahq/monica
@Linuxor
github.com/monicahq/monica
@Linuxor
تجربه ساخت اپلیکیشنهایی که بدون اینترنت هم کار کنن، همیشه دردسرساز بوده. RxDB یه دیتابیس جاوااسکریپتیه که همزمان آفلاین و آنلاین کار میکنه و خودش دیتا رو با سرور سینک میکنه.
توی اینجای داکیومنشنش ساده توضیح داده :
rxdb.info/quickstart.html
@Linuxor
توی اینجای داکیومنشنش ساده توضیح داده :
rxdb.info/quickstart.html
@Linuxor
برای بهینه سازی و کم حجم کردن مدیا ها تیم گوگل کروم یه ابزار ساخته به اسم squoosh بهش عکس یا هرچیزی رو بدید آنلاین تغییرات رو روش اعمال کنید بعد توی پروژه های وبیتون قرارش بدید
squoosh.app
@Linuxor
squoosh.app
@Linuxor
مرورگر ها خیلی هوای سرورهارو دارن، با ریکوست ها دوتا هدر ارسال میکنن if-none-match و if-modified-since و به سرور میگن آخرین باری که من اومدم توی سایت چه زمانی بوده و چیزی که بهم دادی چه ETAGی داشته، سرور هم به این دوتا هدر نگاه میکنه و چک میکنه اگه چیزی تغییر نکرده چیزی برای مرورگر نمیفرسته فقط یه 304 به مرورگر میفرسته و مرورگر میفهمه که باید از نسخه کش خودش استفاده کنه، اینطوری توی مصرف پهنای باند سرور صرفه جویی میشه و درخواست های تکراری چند بار پردازش نمیشن.
@Linuxor
@Linuxor
اگه بیشتر از کد زدن دوست دارین ادای کد زدن رو در بیارین و چشم اطرافیانتون رو در بیارین اینجا بهشت شماست، ریپازیتوری های با README های رنگی رنگی با سبک های مختلف رو جمع کردن اینجا:
zzetao.github.io/awesome-github-profile
@Linuxor
zzetao.github.io/awesome-github-profile
@Linuxor
فکر میکنی نوشتن کد FizzBuzz (یه چیزی شبیه بازی هپ هپ خودمونه) فقط یه تمرین ساده مصاحبهست؟ این ریپو بهت نشون میده همون تمرین میتونه تبدیل بشه به یک سیستم Enterprise واقعی. با تست ها و الگوهای طراحی مثل Strategy Pattern یا Dependency Injection و ... ساخته شده. و میبینید که یه کد خیلی خیلی ساده چطوری تبدیل به یه کد سازمانی و قابل توسعه میشه.
github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
@Linuxor
github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
@Linuxor
کتابخونه Nightmare یه کتابخونه خودکارسازی مرورگر (browser automation) سطحبالاست که با متدهایی مثل .goto, .type, .click محیطی رو شبیه تجربهٔ کاربر واقعی بازسازی میکنه. با Electron ساخته شده و هدفش سادهکردن تست UI، اسکرپینگ و انجام Task های اتوماتیک وبیه.
github.com/segment-boneyard/nightmare
@Linuxor
github.com/segment-boneyard/nightmare
@Linuxor
با لایبری Popmotion میتونید انیمیشن physics-based (حرکت بر اساس فیزیک مثل فنر یا اصطکاک) درست کنید.
یعنی به جای اینکه دستی تایمینگ ست کنی، یه دونه فنر تعریف میکنی و خودش طبیعی رفتار میکنه. به درد طراحیهای واقعی میخوره که میخوای حس لمس و فیزیک بدن بده.
popmotion.io
@Linuxor
یعنی به جای اینکه دستی تایمینگ ست کنی، یه دونه فنر تعریف میکنی و خودش طبیعی رفتار میکنه. به درد طراحیهای واقعی میخوره که میخوای حس لمس و فیزیک بدن بده.
popmotion.io
@Linuxor
پایتون یه لایبری داره به اسم dash که باهاش میشه چیزای داشبوردی مثل گراف و نمودار های تعاملی وب ساخت و دیگه درگیری های جاوااسکریپتی هم نداره به گفته خودشون یادگیریش 20 دقیقه بیشتر طول نمیکشه (البته فقط 20 دقیقه طول کشید من این پستو بنویسم)
برای تست و آموزشش از اینجا شروع کنید :
dash.plotly.com
@Linuxor
برای تست و آموزشش از اینجا شروع کنید :
dash.plotly.com
@Linuxor
به هوش مصنوعی ها و چت جی پی تی اعتماد نکنید، بهش گفتم یه میدلور برام بنویس که فقط اجازه بدم یه سری رنج آیپی خاص از یکی از سرویس های محرمانه استفاده کنن یه نگاه ریز بهش کردم چشمم به یه خط آسیب پذیر خورد که بررسی میکنه اگه پشت پراکسی مثلا nginx هستش آیپی رو از x-forwarded-for دریافت کنه !
تا اینجای کار همچی اوکیه ولی این تیکه کد آسیب پذیره، فقط کافیه اتکر بیاد و خودش دستی x-forwarded-for رو اضافه کنه مقدارش رو مثلا 127.0.0.1 قرار بده این کد فکر میکنه از داخل درخواست اومده و از میدلور ردش میکنه در صورتی که nginx فکر میکنه کلاینت اتکر خودش یه پراکسی دیگس و درخواست از خارج اومده و جواب رو به آیپی کلاینت بر می گردونه و هکر راحت لایه امنیتی سرویستون رو بایپس میکنه.
حالا راهکار چیه؟ بهش میگن XFF Spoofing برید بخونید دربارش، عمدا توضیحش نمیدم که کلی چیز قراره ازش یاد بگیرید.
@Linuxor
تا اینجای کار همچی اوکیه ولی این تیکه کد آسیب پذیره، فقط کافیه اتکر بیاد و خودش دستی x-forwarded-for رو اضافه کنه مقدارش رو مثلا 127.0.0.1 قرار بده این کد فکر میکنه از داخل درخواست اومده و از میدلور ردش میکنه در صورتی که nginx فکر میکنه کلاینت اتکر خودش یه پراکسی دیگس و درخواست از خارج اومده و جواب رو به آیپی کلاینت بر می گردونه و هکر راحت لایه امنیتی سرویستون رو بایپس میکنه.
حالا راهکار چیه؟ بهش میگن XFF Spoofing برید بخونید دربارش، عمدا توضیحش نمیدم که کلی چیز قراره ازش یاد بگیرید.
@Linuxor
به گفته رییس سازمان فناوری اطلاعات قراره کلی بودجه کنار بزارن و سیستم عامل و جویشگر بومی بسازن؛ ظاهرا کار خوبیه ولی این دوتا اونقدری رقابت توش هست که ساختش کار کشور ها نیست و پول الکی حروم میشه بلکه باید شرکت ها و آدم ها بیان بسازن زندگیشون رو بزارن پاش تا توی رقابت باشن ولی آیا توی ایران ما کسی رو داریم که زندگیش رو پای سیستم عامل یا جویشگر وقف کرده باشه؟ خیر ! چرا؟ چون امنیت و آرامش و آیندهی شغلی توی ایران برای یه متخصص یا کارآفرین تضمینشده نیست.
مشکل های GPS و محدودیت های اینترنت رو حل کنید. بزارید چهار تا آدم درست حسابی هم که تو ایران هست نزارن برن، اینا خودشون رایگان براتون جویشگر و سیستم عامل میسازن.
@Linuxor
مشکل های GPS و محدودیت های اینترنت رو حل کنید. بزارید چهار تا آدم درست حسابی هم که تو ایران هست نزارن برن، اینا خودشون رایگان براتون جویشگر و سیستم عامل میسازن.
@Linuxor