جاوااسکریپت: شیء انتخاب‌ها (options object) چیست؟

در جاوااسکریپت، اشیاء ِ انتخاب‌ها (که از این پس به آن‌ها options objects می‌گوییم) یک الگوی ِ معمول برای ِ فرستادن ِ آرگومان‌ها به یک تابع هستند. این مقاله به شرح ِ چگونگی ِ کار ِ آن‌ها و نیز دلیل ِ این که استفاده از آن‌ها باعث ِ افزایش ِ خوانایی ِ کد ِ شما می‌شود، می‌پردازد. options object چیست؟ یک […]

جاوااسکریپت: بررسی ِ این که آیا یک متغیر تعریف شده است یا نه

در جاوااسکریپت یک متغیر تعریف شده است «اگر و فقط اگر» حین ِ دسترسی به آن خطای ِ ReferenceError تولید نشود. راه ِ معمولی که خیلی‌ها برای ِ بررسی ِ تعریف شده بودن ِ یک متغیر استفاده می‌کنن، به شکل ِ زیر است: typeof variableName !== ‘undefined’ عبارت ِ بولین ِ بالا در دو حالت مقدار ِ false خواهد داشت: متغیر […]

جاوا‌اسکریپت: بررسی وجود یک ویژگی در شئ

برای این کار سه روش معمول وجود داره که به ترتیب اونارو بررسی می‌کنیم: روش خسته: استفاده از خاصیت undefined انجام این کار به لطف یک رفتار خاص و البته جالب جاوا‌اسکریپت خیلی راحت انجام می‌شه: اگه یک ویژگی در شیئ موجود نباشه، مقدار undefined برای اون بر‌می‌گرده. مثلا: const objA = { propA: ‘A property!’, propB: ‘B […]

ترفند پایتونی: بروزرسانی پکیج‌هاي pip در اوبونتو

متاسفانه هنوز دستوری برای بروزرسانی تمام بسته‌های pip وجود نداره؛ و برای این کار باید هر بسته رو جداگونه بروزرسانی کرد. (گرچه این امکان به عنوان یه درخواست برای تیم توسعه pip در حال بررسیه و شاید بزودی به pip اضافه بشه) دستوری که من برای این کار (در اوبونتو) ازش استفاده می‌کنم و ممکنه به […]

args* و kwargs** در پایتون

args* به ما این امکان رو میده که به جای تعداد ثابتی ورودی یه تابع بتونه تعداد متغیری ورودی بگیره. برای مثال تابع زیر رو در نظر بگیرید: def my_sum(a, b): return a + b my_sum(2, 3) # 5 این تابع دو تا عدد رو باهم جمع می‌کنه و همیشه دو تا ورودی می‌گیره و اگه […]

فشرده‌سازی تصاویر JPEG با خط فرمان لینوکس

قانون نانوشته‌ای هست که میگه برای انجام هرکاری یه روش به سبک ترمینال لینوکسی وجود داره! فشرده‌سازی تصاویر JPEG هم از این قاعده مستثنی نیست. با افزایش کیفیتِ دوربینِ گجت‌های تکنولوژیِ مختلف، خیلی اوقات نیاز داریم تا کیفیت عکس‌هایی که با این وسایل گرفتیمو کاهش بدیم؛ حالا چه این نیاز بخاطر ارسال راحتتر اون تصویر به […]

ترجمه داستانِ کوتاه “هدایای کریسمس”

یک دلار و هشتاد و هفت سنت؛ تمام پولی که همراهش بود. هرروز وقتی برای خرید بیرون می‌رفت، خیلی کم خرج می‌کرد. ارزان‌ترین گوشت و سبزیجات را می‌خرید، و درحالیکه از خستگی رمقی برای راه رفتن نداشت، تمام فروشگاه‌ها را می‌گشت تا ارزانترین غذا را پیدا کند. دِلا (Della) پول را دوباره شمرد. اشتباه نکرده […]

git dago

یکی از امکانات دلنشین git، امکان ایجاد دستورات مستعاره (alias). و یکی از دستورات مستعاری که من خیلی از اون استفاده میکنم dago هست که به شکل زیر تعریف میشه: git config –global alias.dago “log –decorate –all –graph –oneline” این دستور همون دستور git log است که option هایی به اون اضافه شده. و نتیجه اجرای […]

SU در لینوکس به زبان ساده

لینوکس تمهیدات امنیتی زیادی برای حفاظت از سیستم ما در برابر تهدیدات و بعضا اشتباهات و حماقت‌های خود ما دارد! سه ویژگی اصلی برای اعمال محدودیت و ارائه‌ی دسترسی و انجام تغییرات در سیستم (در صورت نیاز) در لینوکس به شرح زیر است: مجوز‌های فایل (file permissions) مالکیت فایل (file ownership) حساب کاربری ریشه (root user account) […]