حرکت در گذرگاه زندگی

۷ مطلب با موضوع «برنامه نویسی :: جاوا اسکریپت» ثبت شده است

جمعه, ۸ خرداد ۱۳۹۴، ۰۷:۰۰ ق.ظ داریوش عباسی
خودکار کردن کارها با Gulp.js

خودکار کردن کارها با Gulp.js

اگه طراح یا توسعه دهنده ی وب هستید احتمالا خیلی اوقات به خیلی از کارها ( مثلا کامپایل sass و haml و مینیفای کردن اسکریپت‌ها) چنتا آب نکشیده نثار کردید. ابزارهایی وجود دارند که دسته ی بزرگی از کارها رو با اجرای یک دستور اجرا میکنند که معروفترینش شاید gnu make باشه که با یک دستور make معمولا برنامه ها رو در لینوکس کامپایل میکنیم یا rake که توسعه دهندگان روبی به وفور ازون استفاده میکنند.

برای توسعه ی فرانت‌اند هم بیلد سیستم های زیادی ایجاد شدند که grunt و gulp معروفترین و پرکاربرد ترین اونهاست که تو این مقاله gulp رو بررسی میکنیم.

ادامه مطلب...
۰۸ خرداد ۹۴ ، ۰۷:۰۰ ۱ نظر
داریوش عباسی

sprint، یک آلترناتیو سبک برای جی‌کوئری

jQuery کتابخانه ای معروف است برای حل مشکلات طراحان‌وبی که با جاوااسکرپیت کنار نمی‌امدند و همچنین پرفورمنس کدهایشان در استفاده از DOM پایین بود گزینه ای بسیار مناسب است اما پشتیبانی از مرورگرهای قدیمی‌تر و ماژول های زیاد در حالت اولیه قدری از همه‌پسند بودن آن کاسته است.

فریم‌ورک‌هایی مانند آنگولار کتابخانه‌ی کوچک و سبکی شبیه به jQuery با خود دارد و توجه بسیاری را به خود جلب کرد و حالا یک کتابخانه‌ی جدید به اسم Sprint.js پا را فراتر نهاده و ویژگی‌هایی نزدیک به جی‌کوئری را در خود قرار داده با این تفاوت که صرفا در مرورگرهای مدرن پشتیبانی میشود و ابزارهای محدودتری دارد و البته پرفورمنس خیلی بهتری از نمونه های مشابه خود به دست میدهد.

اگر طراح وب هستید و کاربرانتان مرورگرهایشان تا حدی مدرن است بد نیست به این کتابخانه نگاهی بیاندازید شاید برای شما هم جایگزین jquery شد.

نصب :

نصب از bower :

bower install bendc/sprint

همچنین میتوانید کد منبع را دستی دریافت کرده و استفاده کنید. کد منبع روی گیتهاب ...

API

اسپرینت شباهت زیادی به جی‌کوئری دارد و اگر جی‌کوئری بدانید با اسپرینت هم مشکلی نخواهید داشت. لیست توابع...

:)

۰۳ ارديبهشت ۹۴ ، ۰۰:۱۵ ۰ نظر
داریوش عباسی
چهارشنبه, ۲ ارديبهشت ۱۳۹۴، ۱۲:۴۱ ب.ظ داریوش عباسی
موتور جاوا اسکریپت V8 کروم

موتور جاوا اسکریپت V8 کروم

اگر توسعه دهنده هستید احتمالا با جاوا اسکریپت و NodeJS  هم آشنایی دارید. این نوشته در مورد موتور جاوا اسکریپت V8 است که توسط گوگل برای کامپایل و اجرای سریع‌تر کدهای جاوا اسکریپت نوشته شده است و هدف از توسعه ی آن بهبود سرعت اجرای اسکریپت‌‌های صفحات وب در مرورگر کروم است.

این موتور کدهای جاوا‌ اسکریپت را به زبان ماشین کامپایل میکند و از روش‌های سابق که یک مفسر جاوا اسکریپت کار ترجمه‌ و اجرای اسکریپت‌ها را برعهده داشت سرعتی بسیار بالاتر را در اختیار می‌گذارد.

درحال حاضر این موتور، استاندارد اکمااسکریپت۵ (ECMA-262) را پشتیبانی می‌کند.این موتور با زبان ++C نوشته شده است و بصورت منبع‌باز منتشر میشود. پلتفورم‌هایی مثل NodeJS ازین موتور برای کامپایل کدهای جاوا اسکریپت استفاده می‌کنند و یکی از دلایل عمده‌ی شهرت نود‌جی‌اس همین موتور قدرتمند است. برنامه‌نویسانی که تجربه‌ی کار با زبان ++C را دارند می‌توانند ازین موتور در پروژه‌هایشان استفاده کنند.

ادامه مطلب...
۰۲ ارديبهشت ۹۴ ، ۱۲:۴۱ ۰ نظر
داریوش عباسی
دوشنبه, ۳۱ فروردين ۱۳۹۴، ۰۱:۳۰ ب.ظ داریوش عباسی
مدیربسته‌‌ npm

مدیربسته‌‌ npm

مدیریت وابستگی های سیستم های نرم افزاری در چند سال اخیر باایجاد ابزارهایی کارآمد برای برنامه نویسان کار را بسیار ساده و منظم کرده است و البته پشتیبانی جامعه ی کاربران بزرگی که بسته‌های نرم‌افزاری خود را بصورت منبع باز در اختیار سایرین قرار میدهند نیز در کیفیت و کارآمدی کدهای برنامه ها نقش به سزایی داشته اند.

npm مدیر بسته ی پیش فرض برای nodejs است که از نسخه ی 0.6.3 به همراه نود نصب میشود. npm در خط فرمان اجرا میشود و وظیفه ی آن نصب پکیج‌های منتشر شده در npmjs، مدیریت بسته های نصب شده و همچنین مدیریت وابستگی ها است و یکی از دلایل محبوبیت نود در سالهای اخیر نیز همین مدیربسته ی کار آمد بوده است.

ادامه مطلب...
۳۱ فروردين ۹۴ ، ۱۳:۳۰ ۰ نظر
داریوش عباسی

جاوا اسکریپت : بدون var متغیر تعریف نکنید

اگر از strict mode در جاوا اسکریپت استفاده نمیکنید ممکن است به خیلی از خطاهایی که رخ میدهد دقت نکرده باشید.یکی از مرسوم ترین  آنها تعریف خودکار متغیر عمومی است هنگامی که درون یک تابع متغیر  را با var تعریف نکرده باشید و از آن تابع استفاده کنید! کمی گنگ بود؟ به این مثال دقت کنید :

function glob(){
	x = 10
	console.log(x)
}

glob() // 10

console.log(x) //10

چرا در آخر خط آخر هم متغیر x که خارج از اسکوپ قرار دارد مقدار درون تابع  را داشت؟ چون x را با var تعریف نکرده بودید.

این کد درست عمل میکند :

function glob(){
	var x = 10
	console.log(x)
}

glob() // 10

console.log(x) // ReferenceError

:)

۲۳ فروردين ۹۴ ، ۱۵:۲۳ ۷ نظر
داریوش عباسی

مقادیر false در جاوا اسکریپت

در جاوا‌اسکریپت مقادیر غیر هم نوع در محاسبات برای اجرا به اجبار به انواع هم نوع ( coercion ) همسان سازی میشوند.این مساله ظاهرا قدری پیچیده و بی قانون است اما اینطور نیست.(یک راهنمای جامع در این مورد را میتوانید اینجا مطالعه کنید.)

در مقایسه ها در جریان این تغییرات تعدادی از مقادیر به مقدار false از نوع بولی تبدیل میشوند.این مقادیر این ها هستند :

  • "" (رشته ی تهی)
  • 0 , -0 , NaN
  • null , undefined
  • false
۲۱ فروردين ۹۴ ، ۲۰:۱۳ ۱ نظر
داریوش عباسی