پایتون یه لایبری داره به اسم 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
اگه تازه وارد یه تیم جدید شدی و همه دارن دربارهی best practices کُد ریویو حرف میزنن ولی هیچکس معلوم نمیکنه دقیقاً چی درسته و چی نه، گوگل سالها تجربهی خودش توی مدیریت ریویوها رو خلاصه کرده و گذاشته اینجا. از نکات ریز مثل نامگذاری متغیر تا نحوهی فیدبک دادن مودبانه.
google.github.io/eng-practices
@Linuxor
google.github.io/eng-practices
@Linuxor
این پستی که امروز میخوام توی لینوکسور بزارم یکم غم انگیزه چون سازندش چند سال پیش فوت کرد و دیگه پروژه هرچند خیلی خفن بود ادامه پیدا نکرد؛
در واقع یه ترمینال تحت وب باحال بود که خیلی هم معروف بود به اسم UpTerm که باهاش میتونستی از هرجا با مرورگر بهش وصل شی. دیگه لازم نبود SSH خشک رو تحمل کنی. البته الان جایگزین هاش خیلی هستن و خودشون هم Hyper رو معرفی کردن ولی UpTerm خیلی خوب بود توی زمان خودش :
github.com/railsware/upterm
@Linuxor
در واقع یه ترمینال تحت وب باحال بود که خیلی هم معروف بود به اسم UpTerm که باهاش میتونستی از هرجا با مرورگر بهش وصل شی. دیگه لازم نبود SSH خشک رو تحمل کنی. البته الان جایگزین هاش خیلی هستن و خودشون هم Hyper رو معرفی کردن ولی UpTerm خیلی خوب بود توی زمان خودش :
github.com/railsware/upterm
@Linuxor
پیدا کردن آموزش خوب برای rust سخته این یکی از قشنگ ترین آموزش های راسته که تیم گوگل نوشتتش بسیار ساده و کوتاه :
google.github.io/comprehensive-rust
@Linuxor
google.github.io/comprehensive-rust
@Linuxor
توی نرم افزار ما معمولا دو نوع پروتوتایپ Prototype یا نسخه اولیه داریم، یکیش نسخه اولیه دور انداختنی یا Throwaway Prototype هست که فقط برای تست ساخته میشه و دور انداخته میشه و بعدا نسخه بهترش ساخته میشه یکی هم نسخه اولیه تکاملی یا Evolutionary Prototype که کم کم توسعه پیدا میکنه و به محصول نهایی تبدیل میشه!
حالا سوال، کی باید بفهمیم از کدومش استفاده کنیم؟ در واقع وقتی ایده خیلی خامه و هنوز معلوم نیست جواب بده یا نه از پروتوتایپ دور انداختنی بهتره استفاده کنیم و زمانی که ایده نسبتا روشن و اثبات شدس بهتره از پروتوتایپ تکاملی استفاده کنیم.
@Linuxor
حالا سوال، کی باید بفهمیم از کدومش استفاده کنیم؟ در واقع وقتی ایده خیلی خامه و هنوز معلوم نیست جواب بده یا نه از پروتوتایپ دور انداختنی بهتره استفاده کنیم و زمانی که ایده نسبتا روشن و اثبات شدس بهتره از پروتوتایپ تکاملی استفاده کنیم.
@Linuxor
وقتی چند تا دامین مختلف دارید بعضی مواقع اصلا نیاز نیست بیاید برای هرکدوم یه کانتینر بسازید و توش مثلا express یا laravel یا django بالا بیارین؛ میتونید از sub-application استفاده کنید؛ لاراول که بای دیفالت داره اما express کافیه چند تا اینستنس از ()express بسازید django هم با میدلور اوکی میشه.
@Linuxor
@Linuxor
توی اینترنت پر آیکونه ولی همشون یا لایسنس دارن یا برای استفاده تجاری غیر رایگانن، این سایته یه لیستی از آیکون هارو درست کرده هرچند تعدادشون خیلی زیاد نیست ولی تحت لاینسس MIT هستن و تقریبا دستتون بازه بدون مشکل هرکاری باهاشون کنید
heroicons.com
@Linuxor
heroicons.com
@Linuxor
خیلی وقتا مولتیترد کردن بهترین گزینه نیست. مثلا توی وب Node.js روی یه ترد اصلی جاوااسکریپت اجرا میشه و با event-loop هزاران کانکشن رو هندل میکنه، هرچند زیرش یه thread pool کوچیک برای بعضی I/Oها داره.
اگه برنامت CPU-bound باشه مولتیترد/پروسس لازمه، ولی اگه I/O-bound باشه معماری async/event-driven معمولاً بهینهتره و هزینهی context switch سنگین هم نمیدی.
@Linuxor
اگه برنامت CPU-bound باشه مولتیترد/پروسس لازمه، ولی اگه I/O-bound باشه معماری async/event-driven معمولاً بهینهتره و هزینهی context switch سنگین هم نمیدی.
@Linuxor
چند تا صفحه لودینگ
tobiasahlin.com/spinkit
و چند تا moving letters جالب
tobiasahlin.com/moving-letters
@Linuxor
tobiasahlin.com/spinkit
و چند تا moving letters جالب
tobiasahlin.com/moving-letters
@Linuxor
خیلیا میخوان هوش مصنوعی شروع کنن ولی موقع شروع حتی نمیدونن دقیقا چی رو نمیدونن! این مجموعه آموزشی از پایه شروع کرده و اومده به صورت نوتبوک جوپیتر آموزش ها و کد هارو کنار هم گذاشته، خوبیش اینه که ران میکنید و نتیجه رو میبینید بیشتر علاقه پیدا میکنید.
دیگه واقعا مسیر ساده تری برای یادگیری هوش مصنوعی وجود نداره و ممکنه برای بعضیا بر خلاف اون چیزی که از هوش مصنوعی تصور داشتن باشه ولی مسیر تقریبا همین شکلیه با حوصله باشین !
github.com/fastai/fastbook
@Linuxor
دیگه واقعا مسیر ساده تری برای یادگیری هوش مصنوعی وجود نداره و ممکنه برای بعضیا بر خلاف اون چیزی که از هوش مصنوعی تصور داشتن باشه ولی مسیر تقریبا همین شکلیه با حوصله باشین !
github.com/fastai/fastbook
@Linuxor
ساخت LLMهام واقعا سخته ها؛ الان Chat-GPT توی ورژن جدیدش آخر هر چت درباره هر موضوعی باهاش حرف زده باشی میگه "میخوای برات یه نمودار هم رسم کنم؟"
بهش فکر کنم گفتن تو بلدی نمودار رسم کنی اینم قفلی زده روش، قبلا بهش گفته بودن کاربرو تحسین کن، چیز عادی هم میگفتی الکی تحسینت میکرد.
@Linuxor
بهش فکر کنم گفتن تو بلدی نمودار رسم کنی اینم قفلی زده روش، قبلا بهش گفته بودن کاربرو تحسین کن، چیز عادی هم میگفتی الکی تحسینت میکرد.
@Linuxor
یه کانال خصوصی تلگرام دارم یه پیام داخلش فرستادم که یه سری اطلاعات توش نوشتم و هر روز پیام رو چک یا ادیتش میکنم امروز بعد از 6 ماه 37 تا ویو خورده فقط خودم توی کانالم و کس دیگه ای توش نیست.
افزایش ویو ها جالب بود این یعنی تلگرام به طور متوسط هر 4 الی 5 روز یه بار توی دیتابیسش ریکورد بازدید کننده برای پست هارو پاک میکنه و اگه دوباره همون پست رو ببینید بازدیدش افزایش پیدا میکنه، البته این خیلی منطقیه چون نگهداری بازدیدکنندگان هر پست توی دیتابیس بخاطر زیاد بودن پست ها خیلی هزینه بره و همین 4 الی 5 روز هم خیلیه.
@Linuxor
افزایش ویو ها جالب بود این یعنی تلگرام به طور متوسط هر 4 الی 5 روز یه بار توی دیتابیسش ریکورد بازدید کننده برای پست هارو پاک میکنه و اگه دوباره همون پست رو ببینید بازدیدش افزایش پیدا میکنه، البته این خیلی منطقیه چون نگهداری بازدیدکنندگان هر پست توی دیتابیس بخاطر زیاد بودن پست ها خیلی هزینه بره و همین 4 الی 5 روز هم خیلیه.
@Linuxor
میدونستید اون ریجکسی که مینویسید (ریجکس یه روش برای جستجو، شناسایی و دستکاری الگوهای متنی داخل رشتههاست) ممکنه آسیب پذیر به Dos باشه، مثلا شما یه ریجکس نوشتید که باهاش ببینید طرف ایمیلش یا شماره تماسش رو درست وارد فرم میکنه یا نه، چون خود ریجکس شبیه یه برنامه اجرا میشه ممکنه توی حلقه های طولانی گیر کنه و همین باعث حمله محروم سازی از سرویس یا Dos بشه، این ابزار رو هکرا استفاده میکنن برای تست این مشکل:
github.com/jagracey/RegEx-DoS
ابزار خیلی معروفی نیست برای همین خیلیا سمتش نمیرن.
@Linuxor
github.com/jagracey/RegEx-DoS
ابزار خیلی معروفی نیست برای همین خیلیا سمتش نمیرن.
@Linuxor
اگه از JSON برای کانفیگ استفاده میکنی، احتمالاً با کامنت گذاشتن مشکل داشتی، و YAML گاهی بیش از حد پیچیده میشه. TOML یه تعادل داره: هم میتونی کامنت بزنی، هم ساختارش ساده و خواناست، بدون اینکه گیجکننده بشه.
اسمش هم جالبه مخفف Tom's Obvious Minimal Language هستش که یعنی زبان سبک و واضحِ تام (تام اسم سازندشه).
مستنداتش و لایبریش برای همه زبان ها اینجا موجوده :
toml.io/en
@Linuxor
اسمش هم جالبه مخفف Tom's Obvious Minimal Language هستش که یعنی زبان سبک و واضحِ تام (تام اسم سازندشه).
مستنداتش و لایبریش برای همه زبان ها اینجا موجوده :
toml.io/en
@Linuxor