ماژولهای Shallow و Deep
توی این پست درباره تفاوت نگاه کتابهای Clean Code و A Philosophy of Software Design به shallow یا deep بودن ماژولها صحبت کردم. این مقایسه کمک میکنه بفهمیم همیشه خرد کردن کد به معنی سادهتر شدن سیستم نیست؛ یه trade off بین «خوانایی کد» و «پیچیدگی کل سیستم» هستش.
#A_Philosophy_of_Software_Design
#Clean_Code
@techstuff100
توی این پست درباره تفاوت نگاه کتابهای Clean Code و A Philosophy of Software Design به shallow یا deep بودن ماژولها صحبت کردم. این مقایسه کمک میکنه بفهمیم همیشه خرد کردن کد به معنی سادهتر شدن سیستم نیست؛ یه trade off بین «خوانایی کد» و «پیچیدگی کل سیستم» هستش.
#A_Philosophy_of_Software_Design
#Clean_Code
@techstuff100
❤7🔥1
مرورگرها خودشون قبل از هر CSSی که ما بنویسیم، یک سری استایل پیشفرض روی همه المنتها اعمال میکنن. برای همین h1 از h2 بزرگتره، لینکها آبیان و ... .
از این لینک میتونین استایلهای پیشفرض مرورگر Chromium رو بررسی کنین.
@techstuff100
از این لینک میتونین استایلهای پیشفرض مرورگر Chromium رو بررسی کنین.
@techstuff100
❤9🔥1
مفهوم inode در UNIX
توی این پست درباره inode و نقش اون در فایلسیستمهای UNIX صحبت کردم. اینکه فایلها واقعا چطور ذخیره میشن، چرا inode وجود داره و چطور ممکنه سیستم با وجود داشتن فضای خالی، به خاطر تمام شدن inodeها دیگه نتونه فایل جدید بسازه.
@techstuff100
توی این پست درباره inode و نقش اون در فایلسیستمهای UNIX صحبت کردم. اینکه فایلها واقعا چطور ذخیره میشن، چرا inode وجود داره و چطور ممکنه سیستم با وجود داشتن فضای خالی، به خاطر تمام شدن inodeها دیگه نتونه فایل جدید بسازه.
@techstuff100
❤2👍1🔥1
کد ۳۰۱ و ۳۰۲: ریدایرکت
وقتی یک URL قراره کاربر رو به آدرس دیگهای هدایت (redirect) کنه، معمولا با یکی از status codeهای 301 یا 302 این کار انجام میشه.
در 301 (Moved Permanently)، به مرورگر گفته میشه که این آدرس برای همیشه جابهجا شده. به همین خاطر مرورگر میتونه نتیجه رو cache کنه و دفعات بعدی مستقیما به آدرس جدید بره، بدون اینکه دوباره به آدرس قبلی درخواست بزنه.
اما 302 (Found) برای جابهجایی موقتی استفاده میشه. در این حالت مرورگر همچنان درخواستهای بعدی رو به آدرس اولیه ارسال میکنه و سرور هر بار مشخص میکنه کاربر به کجا هدایت بشه.
همین تفاوت ساده میتونه روی رفتار سیستم تاثیر بذاره.
اگر هدف کاهش تعداد درخواستها و کمتر شدن بار روی سرور باشه، 301 انتخاب مناسبیه. چون فقط اولین درخواست یک URL به سرور اصلی میره. ولی اگر نیاز داریم هر بار درخواست از سرور عبور کنه تا مثلا آمار کلیکها یا منبع ترافیک ثبت بشه، 302 گزینه بهتریه.
یکی از کاربردهای URL redirecting توی سرویسهای کوتاهکننده لینکه. در پاسخ این درخواستها معمولا هدر location آدرسی رو مشخص میکنه که کاربر باید به اون ریدایرکت بشه.
@techstuff100
وقتی یک URL قراره کاربر رو به آدرس دیگهای هدایت (redirect) کنه، معمولا با یکی از status codeهای 301 یا 302 این کار انجام میشه.
در 301 (Moved Permanently)، به مرورگر گفته میشه که این آدرس برای همیشه جابهجا شده. به همین خاطر مرورگر میتونه نتیجه رو cache کنه و دفعات بعدی مستقیما به آدرس جدید بره، بدون اینکه دوباره به آدرس قبلی درخواست بزنه.
اما 302 (Found) برای جابهجایی موقتی استفاده میشه. در این حالت مرورگر همچنان درخواستهای بعدی رو به آدرس اولیه ارسال میکنه و سرور هر بار مشخص میکنه کاربر به کجا هدایت بشه.
همین تفاوت ساده میتونه روی رفتار سیستم تاثیر بذاره.
اگر هدف کاهش تعداد درخواستها و کمتر شدن بار روی سرور باشه، 301 انتخاب مناسبیه. چون فقط اولین درخواست یک URL به سرور اصلی میره. ولی اگر نیاز داریم هر بار درخواست از سرور عبور کنه تا مثلا آمار کلیکها یا منبع ترافیک ثبت بشه، 302 گزینه بهتریه.
یکی از کاربردهای URL redirecting توی سرویسهای کوتاهکننده لینکه. در پاسخ این درخواستها معمولا هدر location آدرسی رو مشخص میکنه که کاربر باید به اون ریدایرکت بشه.
@techstuff100
❤6👍3🔥2
Tech Stuff
حال خوب برای مامان باباها ❤️ تو تعطیلات عید فرصت شد یه آپدیت جدید برای اپلیکیشن «حال خوب / Good Mood» آماده کنم؛ با یه قابلیت تازه: حالت والدین. با فعالسازی این قابلیت روی گوشی مامان یا بابا، براشون پیامهایی مثل «مامانجون، صبح بخیر قلب من» و «شب بخیر…
«حال خوب | Good Mood» نسخه ۲
از آخرین آپدیت Good Mood یک سال و خردهای گذشته و فرصت رسیدگی بهش رو پیدا نکردم. توی این مدت از کاربران برنامه ایمیل گرفتم؛ بعضی قابلیت جدید میخواستن و بعضی هم باگهای برنامه رو گزارش میدادن.
پس یه دستی به سر و روش کشیدم و نسخه ۲ حال خوب رو منتشر کردم. این بار علاوه بر همون پیامهای صبحبخیر و شببخیر و حالت والدین، قابلیت جدیدی اضافه کردم به اسم پیگیری عادتها:
میتونیم از بین لیست عادتهای مفید (مثل مطالعه کتاب، ورزش، رشد فردی و ...) انتخاب کنیم، روز و ساعت دلخواه رو برای یادآوری تنظیم کنیم و ببینیم هر عادت رو چند بار تکمیل کردیم و چقدر توی مسیر پیشرفت هستیم.
همینطور ظاهر برنامه کامل عوض شده، تم جدید اومده، و حالا میشه پیامهای انگیزشی روزانه رو داخل خود اپ هم دید (فقط نوتیف نباشه). باگها هم رفع شدن.
ممنونم از همه کسانی که نصب کردن و فیدبک دادن.
نصب «حال خوب» از بازار:
http://cafebazaar.ir/app/?id=com.seyedmahdii.goodmood&ref=share
@techstuff100
از آخرین آپدیت Good Mood یک سال و خردهای گذشته و فرصت رسیدگی بهش رو پیدا نکردم. توی این مدت از کاربران برنامه ایمیل گرفتم؛ بعضی قابلیت جدید میخواستن و بعضی هم باگهای برنامه رو گزارش میدادن.
پس یه دستی به سر و روش کشیدم و نسخه ۲ حال خوب رو منتشر کردم. این بار علاوه بر همون پیامهای صبحبخیر و شببخیر و حالت والدین، قابلیت جدیدی اضافه کردم به اسم پیگیری عادتها:
میتونیم از بین لیست عادتهای مفید (مثل مطالعه کتاب، ورزش، رشد فردی و ...) انتخاب کنیم، روز و ساعت دلخواه رو برای یادآوری تنظیم کنیم و ببینیم هر عادت رو چند بار تکمیل کردیم و چقدر توی مسیر پیشرفت هستیم.
همینطور ظاهر برنامه کامل عوض شده، تم جدید اومده، و حالا میشه پیامهای انگیزشی روزانه رو داخل خود اپ هم دید (فقط نوتیف نباشه). باگها هم رفع شدن.
ممنونم از همه کسانی که نصب کردن و فیدبک دادن.
نصب «حال خوب» از بازار:
http://cafebazaar.ir/app/?id=com.seyedmahdii.goodmood&ref=share
@techstuff100
❤8👍5👏2
آسیبپذیری Path Traversal؛ دسترسی به فایلهای غیرمجاز
توی این پست درباره آسیبپذیری Path Traversal صحبت کردم. این آسیبپذیری زمانی اتفاق میفته که ورودی کاربر روی مسیر فایلهای سرور تاثیر بذاره و اعتبارسنجی درستی انجام نشه.
#cyber_security
@techstuff100
توی این پست درباره آسیبپذیری Path Traversal صحبت کردم. این آسیبپذیری زمانی اتفاق میفته که ورودی کاربر روی مسیر فایلهای سرور تاثیر بذاره و اعتبارسنجی درستی انجام نشه.
#cyber_security
@techstuff100
❤15