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

mobile_website_usage-e1340306750350

(بیشتر…)

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

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

border-radius

border-radius

می‌توان این خصوصیت را به سادگی یکی از محبوب‌ترین خصیصه‌های CSS3 خصوصا در زمان ظهور که گوشه‌های گرد محبوب شده بودند٬ برشمرد. border-radius

(بیشتر…)

ویرایش تصاویر در PHP

فروردین ۲۴م, ۱۳۹۲ | نوشته‌شده به دست علی محمدمیرزایی در پی‌اچ‌پی - PHP - < ۲ دیدگاه >

PHP کتابخانه‌های متنوعی در اختیار برنامه‌نویسان قرار داده که یکی از محبوب‌ترین آن‌ها GD Library هست که امکان ویرایش و دستکاری تصاویر را به برنامه‌نویس می‌دهد.
حتما با تصاویری که لوگو یا آدرس سایت منتشرکننده آن‌ها بر رویشان حک شده برخورد کرده‌اید و یا سایت‌هایی که عکس را بعد از آپلود resize می کنند تا فضای کمتری اشغال شده و تصاویر سایت یک دست به نظر بیایند.
در این پست شما را با شیوه‌ی پیاده‌سازی این گونه تغییرات در تصاویر با PHP آشنا می‌کنیم.

colors-art-painting-hand

(بیشتر…)

عرض در طراحی وب یکی از عناصری است که تعریف جایگاه آن کار بسیار دشواری است. از لحظه‌ای که شروع به نوشتن کدهای یک صفحه می‌کنیم٬ با عرض‌ها سر و کار داریم تا ساخت و درآوردن کوچکترین جزئیات آن.
بگذارید اول یک نکته‌ی کوچک در مورد عرض‌ها در سی‌اس‌اس را مطرح کنیم٬ عرض عناصر را تعدادی از خصوصیت‌ها که عبارتند از : خود عرض٬ Padding و خط حاشیه عنصر یا Border تشکیل می‌دهند.
به عبارتی :
عرض کل = Width + Padding + Border

css3-boxsizing

(بیشتر…)

speed up wordpress

ابزارهای آماده و ‌APIهایی که وردپرس در اختیار توسعه دهنده ها قرار می دهد بدون شک یکی از مهمترین علت‌های محبوبیت آن است. وقتی پوسته‌ یا افزونه‌ای برای وردپرس پیاده‌سازی می کنیم معمولا نیاز به ذخیره‌سازی اطلاعات، بروز‌رسانی و بازیابی آن ها داریم که Option API وردپرس به خوبی این نیاز را پاسخ می‌دهد. اما زمانی که با اطلاعات موقت انبوه سروکار داریم استفاده از option بهینه نیست؛ همچنین دریافت اطلاعات – چه از دیتابیس و چه از منابع خارجی برای مثال، گرفتن تعداد فالورها از توییتر – زمان‌بر بوده و بهتر است از cache استفاده شود.

خوشبختانه وردپرس Transients API را در اختیارمان گذاشته که عملکردی مشابه option دارد با این تفاوت که امکان تعیین زمان انقضای اطلاعات ( expiration time ) را نیز به ما می‌دهد؛ پس می‌توان از آن برای کش کردن کوئری‌ها و اطلاعاتی که نیاز به اتصال به سرویس خارجی دارند استفاده کرد.

برای کار با transient سه تابع در اختیار داریم:

  1. get_transient کلید یک transient را گرفته، درصورت موجود بودن و مقدار آن و در غیر این صورت false را برمی‌گرداند.
  2. set_transient کلید transient، مقدار آن و مدت انقضای آن ( به ثانیه ) را گرفته و آن را ذخیره یا بروزرسانی می‌کند.
  3. delete_transient کلید transient مورد نظر را گرفته و آن را حذف می‌کند.

همچنین اگر بر روی وردپرس یک پلاگین caching نصب کرده‌اید ( w3 total cache و … )، transientها در دیتابیس ذخیره نشده و از متدهای سیستم cache سرور برای ذخیره سازی آن ها استفاده می‌شود.

wp-includes/option.php :

در این پست به پیاده‌سازی نمونه‌‌های استفاده‌ از transient می‌پردازیم.

(بیشتر…)

حتما برای شما هم پیش آمده که در یک اسکریپت، نیاز به اجرای دیتابیس کوئری‌های متعددی داشته باشید و برای سهولت در کد نویسی، کوئری مورد نظر را در تابع قرار داده و با پاس دادن آرگومان های مورد نظر، خروجی را از تابع دریافت کرده و در برنامه خود استفاده می‌کنید. درخواست زیاد اطلاعات از دیتابیس باعث کند شدن اجرای برنامه می‌شود؛ پیش‌تر در مورد کش کردن اطلاعات در PHP جهت سرعت بخشیدن به اجرای اسکریپت توضیح داده بودیم اما در این پست روشی ساده و البته جالب برای حل این مشکل ارائه می‌دهیم: استفاده از متغیرهای static !

Speed-Up-your-PHP

(بیشتر…)

سایت کدنوشت، مانند بسیاری از سایت‌های دیگر، با PHP ساخته شده و PHP این امکان را در اختیار ما می‌گذارد که محتوی ها را از منابع مختلف مثل MySQL، XML و … در قالب خروجی صفحات به نمایش بگذاریم. اما این قابلیت بخشی منفی‌ نیز دارد – زمان پردازش !

بگذارید صفحه اول سایت کدنوشت را مثال بزنیم ! صفحه index.php  یک اسکریپت است که برای مثال کار های زیر را انجام می دهد :

  1. به دیتابیس MySQL متصل می شود
  2. درخواست ۱۰ پست آخر را به دیتابیس ارسال می‌کند ( + تعداد کامنت‌ها، تگ ها، دسته بندی ها، ویجت ها و … )
  3. با توجه به تنظیمات محلی سازی، عبارت های استفاده شده در پوسته سایت را ترجمه می کند
  4. اطلاعات را در پوسته جایگذاری کرده و نتیجه نهایی را به کاربر نشان می دهد

این پروسه ها هزینه دار هستند؛ وقتی که تعداد بازدیدکننده‌ها افزایش یابد، تفاوت میان زمان اجرای اسکریپت PHP و زمان نشان دادن یک فایل .html کاملا محسوس خواهد بود. وب سرور برای نشان دادن صفحات static پردازشی انجام نمی دهد، تنها محتویات فایل html را به مرورگر ارسال می کند. با استفاده از کش می توانیم سرعت را به صفحات پویا برگردانیم.

php-cache-cpu

قصد داریم متدهای مختلف cache کردن ( Full page caching , Opcode caching و … )  و فریم‌ورک APC برای PHP caching را توضیح دهیم.

(بیشتر…)

زمانی که برای کارهای گرافیکی ساده دست به دامن فتوشاپ می‌شدیم٬ در حال گذر است. این روزها ما ابزار قدرتمند و محبوبی مثل CSS3 را در اختیار داریم و با گذشت زمان قابل توجهی از ظهور این تکنیک‌ها٬ دیگر مساله‌ای یا نگرانی در باب پشتیبانی مرورگرها از این قابلیت وجود ندارد٬ مخصوصا خصوصیت box-shadow در سی‌اس‌اس۳.
در این مقاله قصد دارم با کمک هم خلق چند جلوه زیبا با سایه‌های جعبه‌ها با استفاده از CSS3 را یاد بگیریم. در پایین می‌توانید خروجی نهایی از چیزی که ما تنها با CSS درست کردیم ببینید. اینجاست که باید برای تشکر از این تکنولوژی و احترام به آن٬ لحظه‌ای سکوت کرده و از جایمان برخیزیم!

cn-css3-box-shadow-post

(بیشتر…)

تست کردن کدهای جاواسکریپت توسط کتابخانه‌های تست – قسمت سوم

اسفند ۱۰م, ۱۳۹۱ | نوشته‌شده به دست علی طبیب‌زاده در جاواسکریپت - < دیدگاه‌ها برای تست کردن کدهای جاواسکریپت توسط کتابخانه‌های تست – قسمت سوم بسته هستند >

قبل از هر چیز باید از تمامی خواننده‌های بزرگوار برای تاخیر بوجود آمده در ادامه مطالب سری معرفی کتابخانه – Library های تست جاواسکریپت٬ عذرخواهی کنم٬ در این مطلب قصد داریم قسمت سوم و آخرین قسمت از این مجموعه را منتشر کنیم.
در قسمت اول به معرفی مفهوم کلی نوشتن تست‌ها و TDD ( Test-Driven Development ) و نحوه کار کردن این کتابخانه‌ها و چیزهایی از این قبیل پرداختیم٬ در قسمت دوم شروع به معرفی این کتابخانه‌ها و آموزش استفاده از آنها کردیم و ۲ کتابخانه از ۵ تا از محبوب‌ترین کتابخانه‌ها را پوشش دادیم.
و حالا نوبت به سه کتابخانه بعدی رسیده است.
jstesting-3

(بیشتر…)

در دهه گذشته تصاویر بیشتر و بیشتر در وبی که امروز ما می‌بینیم جا گرفتند و به خوبی تبدیل به بخش جدانشدنی از آن شدند. تکنیک text-indent: -9999px ؛ تکنیک معروفی برای جایگزین کردن عکس‌ها با متون برای بهترین بخش‌ها از دهه گذشته بوده و هست. اما در این پست می‌خواهیم به یک امکان جدید اشاره کنیم که نتیجه یکسانی را به ما می‌دهد.

text-indent

(بیشتر…)