CDN چیست؟

cdn

CDN یا Content Delivery Network در اصطلاح به میزبان‌های وبی گفته می‌شود که کار نگهداری از منابع برنامه‌نویسی وب مانند فایل‌های جاوااسکریپت، CSS، تصویرها و فونت‌ها را برعهده دارند.
برنامه‌نویسان وب می‌توانند به جای نگهداری مستقیم این منابع در روی سرور خود، از این میزبان‌ها کمک بگیرند.
برخی شرکت‌های بزرگ مانند گوگل و مایکروسافت، CDNهایی عمومی برای نگهداری منابع پرکاربرد وب مانند کتابخانه‌ی jQuery ایجاد کرده‌اند.
استفاده از CDN به جای نگهداری فایل‌ها روی سرور اصلی چندین مزیت دارد که برخی از آن‌ها عبارتند از:

  • کاهش مصرف پهنای باند روی سرورهای شخصی
  • کاهش پهنای باند مصرفی کاربران به دلیل استفاده‌ی اشتراکی سایت‌ها از منابع
  • سرعت دسترسی سریع به دلیل استفاده از سرورهای قدرتمند و میزبانی ابری
  • بهینه‌سازی سیستم Cache مرورگرها
  • کاهش آلودگی محیط زیست به دلیل کاهش افزونگی و کاهش مصرف پهنای باند
  • افزایش سرعت بارگزاری صفحات وب به دلیل وجود منابع در Cache مرورگر

این میزبان‌ها به صورت رایگان یا تجاری به ارائه‌ی خدمات می‌پردازند. از مشهورترین میزبان‌های تجاری می‌توان به سرورهای ابری آمازون و از میزبان‌های رایگان می‌توان به jsDelivr و CloudFlare اشاره کرد.

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

ارسال شده در برنامه‌نویسی, فناوری | برچسب‌شده | دیدگاه‌تان را بنویسید

تغییر focus پیش‌فرض در فرم‌های HTML

رعایت برخی نکته‌های کوچک در برنامه‌نویسی از پیش‌نیازها طراحی نرم‌افزارهای باکیفیت و سبب به دست آوردن رضایت مشتریان است.
در طراحی صفحات وب که تنها حاوی یک فرم هستند – مانند صفحه‌ی ورود – بهتر است focus به صورت پیش‌فرض روی فیلد ابتدایی قرار گیرد.
در استاندارد HTML5 یک ویژگی به inputها اضافه شده که کار تغییر focus را بدون نیاز به جاوااسکریپت انجام می‌دهد.

<input type="text" name="username" id="username" autofocus>

دو نکته در کد بالا قابل توجه است. نخست اینکه برخلاف استاندارد قبلی xhtml تعریف ویژگی‌ها به صورت مختصر مجاز است. یعنی تعیین مقدار برای autofocus الزامی نیست.
و تکته‌ی دوم اینکه ممیز انتهایی برای بستن تگ نیز در استاندارد جدید منسوخ شده است.

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

document.getElementById( 'username' ).focus();
ارسال شده در HTML, جاوااسکریپت | دیدگاه‌تان را بنویسید

طراحی جدید صفحه‌ی اصلی سایت

تارنمای شخصی امیرمسعود ایرانی

پس از مدت‌ها طراحی سایت قدیمی را تغییر دادم.
برای مشاهده‌ی صفحه‌ی جدید اینجا کلیک کنید

ارسال شده در CSS, HTML, PHP, SEO, برنامه‌نویسی, جاوااسکریپت, قالب سایت | ۲ دیدگاه

تقویم فارسی جاوااسکریپت با امکانات منحصر به فرد

تقویم شمسی فارسی رایگان برای جاوااسکریپت

تقویم فارسی جاوااسکریپت نگارش ۰.۲.۱ منتشر شد

نمایش تاریخچه

۲۷ اردبیهشت ۹۱ – ویرایش ۰.۱.۵

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

۱۰ فروردین ۹۲ – ویرایش ۰.۲.۱

  • پارامتر اول سازنده‌ی تقویم حذف شد.
  • دو گزینه‌ی جدید برای تعریف «تاریخ پیش‌فرض» و «تاریخ پیش‌فرض در صورت نادرست بودن انتخاب کاربر» افزوده شد.
  • رویداد onchange به گزینه‌هاافزوده شد.
  • دو گزینه‌ی oExtraInputID و ExtraInputFormat برای رعایت استانداردهای کدنویسی به extraInputID و extraInputFormat تغییر نام یافتند.
  • متد fillDateField علاوه بر رشته، آرایه‌ای حاوی سال، ماه و روز شمسی را نیز می‌پذیرد.
  • صفت enabled برای جلوگیری از عملکرد دکمه‌ی تقویم و بازشدن انتخاب‌کننده به شیء تقویم اضافه شد.
  • فشردن کلیدها بالا و پایین سبب می‌شوند تاریخ یک روز به جلو و عقب حرکت کند.
  • تغییرات ابتدایی برای رعایت آخرین استانداردهای جاوااسکریپت در مدیریت رویدادها به انجام رسید.
  • سازگاری با مرورگرهای مختلف در چند مورد بهبود یافت.
  • بهبود قابل توجه سرعت و کاهش مصرف حافظه به ویژه در هنگام ایجاد چند نسخه از تقویم در یک صفحه.
  • محل نمایش منوی انتخاب سال و ماه تصحیح شد.
  • محل نمایش دکمه‌ی انتخاب تاریخ در پوسته‌های مختلف اصلاح شد.
  • تقویم دیگر مانع استفاده از کلیدهای میانبر مرورگر نمی‌شود( مثلا Ctrl+W ).
  • پوسته‌ی جدید با رنگ تیره به مجموعه‌ی پوسته‌های قابل انتخاب اضافه شد

برای دریافت اطلاعات بیشتر و دانلود تقویم اینجا کلیک کنید
ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , , , , , | دیدگاه‌تان را بنویسید

فارسی‌نویس رایگان برای استفاده در برنامه‌های گرافیکی

فارسی‌نویس رایگان برای نرم‌افزارهای گرافیکی بدون نیاز به فونت اضافی

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

برای مشاهده‌ی توضیحات و دریافت رایگان برنامه اینجا کلیک کنید

۱۴ بهمن ۱۳۹۰

نسخه‌ی آنلاین فارسی نویس به صفحه‌ی مربوط اضافه شد

۱۰ اسفند ۱۳۹۱

نرم‌افزار اصلی به نگارش ۱.۳.۸ به‌روزرسانی شد
بهینه‌سازی کدها برای سازگاری بیشتر با مرورگرهای جدید

ارسال شده در برنامه‌نویسی, جاوااسکریپت, نرم‌افزار | برچسب‌شده , , , , , | دیدگاه‌تان را بنویسید

مشکل کوئری N+1

پایگاه داده

مدیریت درخواست‌ها از پایگاه داده یکی از گلوگاه‌های مهم در برنامه‌نویسی است. رعایت نکردن برخی نکته‌ها در هنگام ارتباط با پایگاه داده می‌تواند اثرهایی جدی بر عملکرد نرم‌افزار داشته باشد.
یکی از فراگیرترین مشکل‌هایی که در برنامه‌نویسی پایگاه داده با آن روبرو هستیم، مشکل N+1 است. برای آشنا شدن با این مشکل از یک مثال استفاده می‌کنیم.

فرض کنید در یک فروشگاه مجازی، کاربر نامی تجاری را جستجو می‌کند و قصد دارد تمام محصولات آن نام تجاری و فروشگاه‌های ارائه دهنده‌ی آن‌ها را در فهرستی مشاهده کند.
نخستین روشی که به ذهن می‌رسد، جستجوی کالاهای تولیدشده توسط نام تجاری و سپس جستجوی تک به تک فروشگاه‌های ارائه دهنده‌ی آن کالا است.
در این روش، یک کوئری برای کالاها و N کوئری برای یافتن فروشگاه‌های ارائه‌دهنده‌ی هر کالا اجرا خواهد شد.( روش N+1 )
ادامه‌ی خواندن

ارسال شده در پایگاه داده | برچسب‌شده | دیدگاه‌تان را بنویسید

برنامه‌نویسی و محیط زیست

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

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

افزون بر سخت‌افزار، نرم‌افزار نیز می‌تواند اثر قابل توجهی در مصرف انرژی داشته باشد. کاهش مصرف حافظه، کاهش بار پردازشی و استفاده‌ی بهینه از سایر سخت‌افزارها می‌تواند کاهش انرژی را به همراه داشته باشد.
بر اساس محاسبات محققان، هر ثانیه استفاده از اینترنت سبب می‌شود ۰.۰۲ تا ۰.۲ گرم دی‌اکسید کربن وارد جو زمین شود.

نقش و مسئولیت برنامه‌نویسان برای حفظ محیط زیست به ویژه در هنگام توسعه‌ی نرم‌افزارهای تحت وب یا برنامه‌های موبایل که کاربران بیشماری را به خود جلب می‌کنند غیر قابل انکار است.

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

در ادامه برخی از راهکارهای قابل انجام برای بهسازی نرم‌افزارها را مرور می‌کنیم.

  • استفاده از الگوریتم‌های سریع‌تر – مثلا جستجوی دودویی به جای جستجوی خطی
  • کش کردن(Cache) اطلاعات برای کم کردن هزینه‌ی بازخوانی و جستجوی اطلاعات
  • صرف‌نظر کردن از افکت‌های متحرک به ویژه در صفحات وب
  • استفاده از ابزارهای برنامه‌نویسی بهینه‌تر – مثلا HipHop به جای PHP
  • کاهش حجم نرم‌افزار و فایل‌های جانبی – مثلا استفاده از ابزارهای کاهش حجم تصویر
  • استفاده از ابزارهای بهینه‌سازی و فشرده‌سازی کد پیش از انتشار – مثلا استفاده از Closure Compiler برای جاوااسکریپت
  • جایگزین کردن جستجوهای آنی با جستجوی مستقیم توسط کاربر یا جستجوی با تاخیر
  • استفاده از فناوری «بارگزاری دیرهنگام(Lazy Loading)»
ارسال شده در برنامه‌نویسی, عمومی | ۴ دیدگاه

رسم نمودار عبارت‌های منظم

سایت regexper.com ابزاری آنلاین است که با کمک جاوااسکریپت، عبارت‌های منظم (Regular Expression) را به صورت نمودار تصویر می‌کند.
این ابزار می‌تواند برای ارزیابی عبارت‌های منظم یا ایجاد آن‌ها به کار رود.

در ادامه سه نمونه از عبارت‌های منظم پرکاربرد به همراه نمودارشان که در این سایت رسم شده را مشاهده می‌کنید.

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

شناسایی شماره‌های موبایل ایران

/(\+98|0)?9\d{9}/

regexp1

عدد طبیعی ۱ تا ۸ رقمی

/^[1-9][0-9]{0,7}$/

regexp2

ساعت و دقیقه با ثانیه یا بدون ثانیه

/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/

regexp3

ارسال شده در برنامه‌نویسی, جاوااسکریپت, عبارت‌های منظم | برچسب‌شده , , | ۴ دیدگاه

جادوی overflow:hidden در شیوه‌نامه‌ها( CSS )

استفاده ویژگی overflow:hidden علاوه بر کاربرد رسمی آن که در استانداردها تعریف شده، کاربردهای دیگری نیز دارد که در طراحی وب بسیار کارآمد است.
علت اصلی کاربردهای جانبی این دستور، تغییر ماهیت عناصر است. عناصری که با ویژگی «overflow:hidden» تعریف شوند حالت نمایشی BFC یا Block formatting context را به خود می‌گیرند.
در حال حاضر ویژگی استانداردی برای تغییر حالت عناصر به BFC تعریف نشده است و تنها راه دستیابی به این حالت استفاده از برخی دستورات CSS است که ساده‌ترین و ایمن‌ترین آن‌ها «overflow:hidden» به حساب می‌آید.

در ادامه برخی کاربردهای حالت BFC را مرور می‌کنیم:
ادامه‌ی خواندن

ارسال شده در CSS, برنامه‌نویسی | ۴ دیدگاه

قالب رایگان امیب ۱ برای بلاگفا

قالب بلاگفا رایگان امیب ۱.۱

۱۹ آذر ۱۳۹۱
با توجه به بازخوردهای موجود، تغییراتی در نسخه‌ی قبلی به وجود آمد که تصویر آن در بالا قابل مشاهده است


این نخستین قالبی است که برای سیستم بلاگفا طراحی کردم
در طراحی این قالب، علاوه بر رعایت آخرین استانداردهای طراحی وب، تلاش شده تا رنگ و طرح آن سنگین و برای کارهای رسمی مناسب باشد.

این قالب بدون استفاده از تصویر طراحی شده است بنابراین قالبی بسیار سبک به حساب می‌آید.

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

برای دریافت کد قالب اینجا کلیک کنید

برای مشاهده‌ی نمونه‌ی آنلاین اینجا کلیک کنید

ارسال شده در قالب سایت | برچسب‌شده , | ۱۵ دیدگاه