Boplo.ir
rss


جستجو

مطالب همینجوری

 

 

بر و بچ

MyView


دوستشون دارم


بیلبورد

انواع و اقسام سفارشات طراحی و برنامه نویسی سایت پذیرفته میشه. از سایت حمایت از خرگوشهای صورتی گرفته تا سایت قاچاق اعضای بدن!
تماس

 

از بيماران سرطاني حمايت كنيم

A new begining
AHHP presents

 

Delegation با اسب سفید
14 اسفند 1388 ساعت 00:50

همونطور که مستحضریم، جاوااسکریپت امکان تعیین Event رو به هر Element از صفحه میده که مثلا اگر فلان Element کلیک شد این اتفاقا بیافته و اگر یکی دیگه mouseover شد اون یکی اتفاقا بیفته و غیره. تعیین این Eventها از طریق Frameworkها مثل MooTools و jQuery عجیب آدم رو یاد هلو میندازه. مخصوصا که امکان تعریف Evnet های اختصاصی رو هم میدن مثل OnLoveBoplo، OnVisitBoplo و غیره.

این فریم ورکها، امکانی برای اجرای کد در زمان تکمیل DOM رو دارند که در MooTools رویداد domReady و در jQuery متد ()ready. که به ما امکان قرار دادن کدها رو در <head> صفحه میدن و خیلی کاربرد دارند. مثل کدهای زیر که وقتی هر لینکی کلیک شد، یه alert ناقابل نمایش میده:

// MooTools
window.addEvent('domready', function(){
	$$('a').addEvent('click', function() {
		alert("You've clicked " + this.href + "!");
	});
});

// jQuery
$(document).ready(function(){
	$('a').click(function() {
		alert("You've clicked " + $(this).attr('href') + "!");
	});
});

همونطور که گفتم این کد در زمان تکمیل DOM یکبار انجام میشه و Eventها رو تنظیم می کنه. همه چی آرومه و من خیلی خوشحالم تا اینکه یه جایی یک لینک توسط جاوااسکریپت ساخته میشه یا توسط Ajax به صفحه اضافه میشه و کاملا منطقی خواهد بود که چون موقع اجرای کدهای بالا اون لینک وجود نداشته، Eventاش هم Set نشده و کدهاش هم اجرا نخواهد شد. برای حل این مشکل سه راه وجود داره ....
برای اینکه بفهمی Delegation چیه، چرا خوبه و چطور عمل می کنه، ادامه مطلب رو بخون....

برچسب ها: ,,,

LazyLoad، یک تنبل دوست داشتنی
14 اسفند 1388 ساعت 00:28

یه زمانی جاوااسکریپت منفورترین قابلیت تحت وب بود ولی بعد از پیدایش MooTools و jQuery و Prototype و غیره، به یه بخش مهم سایتهای حرفه ای تبدیل شده. از اون مهمتر اینکه باعث تحریک ذهنهای خلاق و طراحهای خوش ذوق شده. Lazy Load یکی از این خلاقیتهاست. Lazy Load یه روش جالب برای لود تصاویر در صفحه های بلنده. مثلا سایت SmashingMagazine عزیز پست داره با این عنوان: "80 قالب زیبا برای وردپرس" این یعنی این مقاله قراره 80 تا عکس داشته باشه و از اونجاییکه این سایت یک سایت حسابیه و مخاطبینش هم سرعت اینترنت حسابی دارند (البته غیر من)، با خیال راحت کلی عکس با کیفیت میریزه تو صفحه. اما با وجود سرعت بالا هم لود همزمان این تعداد عکس ناجوره.
اینجاست که تکنیک Lazy Load مثل هوخشتره میاد و راهکار ارائه میده. این تکنیک به این صورته که هیچ عکسی لود نمیشه مگر اینکه توی منطقه قابل دید مانیتور یا Viewport کاربر باشه. این یعنی وقتی صفحه لود میشه، عکسها لود نمیشن و وقتی اسکرول می کنیم روی یک عکس، همون موقع شروع به بالا اومدن می کنه! انگار داریم همون عکسی که میبینیم رو باز می کنیم! اینجوری من با خیال راحت مقاله گنده SmashingMagazine عزیز که LazyLoad نصب کرده رو باز می کنم با این نظر که تا موقعی که پایین صفحه نرم اون عکس پایینی ها لود نمیشن و سرعتم کند نمیشه.

هم jQuery و هم MooTools این پلاگین رو دارند که پلاگین MooTools اش رو آقای David Walsh خیلی عزیز نوشته.

یه نکته دیگه اینکه این دو تا پلاگین با اینکه یه کار می کنند ولی یه تفاوت کوچیک دارند و اون اینه پلاگین jQuery وقتی لود تصویر رو شروع می کنه که عکس در Viewport قرار بگیره یا توی کادر مرورگر قابل رویت باشه ولی پلاگین MooTools یکم قبل از رسیدن اسکرول صفحه به محل تصویر عملیات لود رو شروع می کنه که به نظر من بهتره.

شنگول باشید

برچسب ها: ,,,

تبدیل تاریخ مورد نظر به فرمت چند وقت پیش
21 بهمن 1388 ساعت 02:25

یه روش نمایش زمان، مدل چند وقت پیشه که مثلا بجای فلان زمان بنویسیم: 23 روز و 19 ساعت و 45 دقیقه پیش.

تابع زیر همین کار رو می کنه. تاریخ Timestamp میگیره و مدل "چند وقت پیش" تحویل میده. میشه توسط پارامترهاش تعیین کنیم که از سال تا ثانیه چه واحدهایی رو نمایش بده. یعنی مثلا سال و ماه و روز رو فقط نشون بده یا مثلا دقیقه و ثانیه رو نمایش نده و ....

نمونه:

$time = time() - 15*60;
echo getPastTime($time);
خروجی این خواهد بود: 15 دقیقه پیش

/**
 * getPastTime : Get Past Time in String
 * 
 * 
 * Author : AHHP(Amir Hossein Hodjaty Pour) ~ Boplo@Boplo.ir
 * License : GPL
 * Version : 1
 * Created on : 1388/11/20     11:55 pm
 * 
 * @param integer $time Unix Timestamp to parse
 * @param bool $year Set to FALSE to remove Year from output. optional default to TRUE.
 * @param bool $month Set to FALSE to remove Month from output. optional default to TRUE.
 * @param bool $day Set to FALSE to remove Day from output. optional default to TRUE.
 * @param bool $hour Set to FALSE to remove Hour from output. optional default to TRUE.
 * @param bool $minute Set to FALSE to remove Minute from output. optional default to TRUE.
 * @param bool $second Set to TRUE to remove Second from output. optional default to FALSE.
 * @return string Formatted string
 */

function getPastTime($time, $year=true, $month=true, $day=true, $hour=true, $minute=true, $second=false) { }

Download getPastTime.function.zip

برچسب ها: ,,

تابع array_inject
01 بهمن 1388 ساعت 16:10

همونطور که از عنوان مشخصه، یه تابع ساده برای inject یا تزریق مقدار در یک آرایه.

/**
 * Injects input to array
 *
 * @param array $array Original array
 * @param integer $index Index to inject into
 * @param mixed $input Mixed input to be injected
 * @return array New array
*/
function array_inject($array, $index, $input) {
	$start = array_slice($array, 0, $index);
	$inject = is_array($input) ? $input : array($input);
	$end = array_slice($array, $index);
	
	return array_merge($start, $inject, $end);
}

// Example
print_r(array_inject($arr, 2, $arr));
print_r(array_inject($arr, 2, 'an input'));

Download array_inject.function.zip

برچسب ها: ,,

بازگردوندن کاراکترهای ISO-Western به فارسی
18 دى 1388 ساعت 02:11

بازگردوندن کاراکترهای ISO-Western به فارسی یا تبدیل "امیرحسین" به "امیرحسین"

امیرحسین (اینجانب) عضو تیم پشتیبانی فارسی مادایکس به آدرس http://MODxCMS.ir هستم. خیلی وقت پیش یه کرم اینترنتی پخش شد که به محتوای فایلها، کدهای تخریبی اضافه می کرد که دامن این سایت رو گرفت و ما هم اومدیم درستش کنیم زدیم جفت چشماش رو کور کردیم و محتوای کل دیتابیس بصورت Western اینکد (Encode) شد (مثلا به این شکل: "امیرحسین") و دیگه تاریخ پیوست.
تا اینکه چند وقت پیش یکی از اعضای فروم سایت زحمت کشیدند و فایلهای سایت از جمله بخش آموزش رو که قبلا ذخیره کرده بودند رو مرتب کردند، به من دادند تا توی سایت بذارم.

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

از این که بگذریم، من در حین تست این تابع یه روش دیگه برای برگردوندن این کاراکترها پیدا کردم که راستش خیلی ساده تر از این تابع است.
کافیه یه Notepad باز کنیم و این کاراکترها رو توش کپی کنیم بعد از ذخیره، وقتی دوباره این فایل رو باز کنیم، چی میبینیم؟ فارسی!
نظرت چیه؟

Persian sort function

برچسب ها: ,,

پرسيدم چطور مي توان بهتر زندگي کرد؟
30 آبان 1388 ساعت 02:23

پرسيدم: چطور مي توان بهتر زندگي کرد؟

    جواب داد:
  • گذشته ات را بدون هيچ تاسفي بپذير، با اعتماد زمان حال ات را بگذران و بدون ترس براي آينده آماده شو.
  • ايمان را نگهدار و ترس را به گوشه اي انداز.
  • شک هايت را باور نکن و هيچگاه به باورهايت شک نکن.
  • زندگي شگفت انگيز است فقط اگر بداني که چطور زندگي کني.

برچسب ها: ,

MODx Evolution کاملا راستچین
26 آبان 1388 ساعت 03:04

نسخه Evolution مادایکس، برای بخش مدیریت از یه قالب با نام MODxCarbon استفاده می کنه. قبلا چند تا دیگه بود به اضافه قالبی با نام MODxRTL برای زبانهای چپ به راست مثل فارسی. دیروز داشتم آخرین نسخه ارائه شده تا این تاریخ که 1.0.2 هست رو تست می کردم دیدم که قالب MODxCarbon بخوبی RTL رو ساپورت می کنه و وقتی زبان بخش مدیریت رو Persian انتخاب می کنید، این بخش خودش راست به چپ میشه و مشکلی هم نداره غیر از چند تا نکته از جمله راستچین نبودن ویرایشگرش که توی دنباله مطلب توضیح داده شده.

برچسب ها: ,,

زندگی با طعم احساس
19 آبان 1388 ساعت 03:09

الان تو سایت سیمرغ یه مقاله با یه تیتر نه چندان جالب برخوردم که خود مطلبش خیلی جالب و لطیف بود و به ما لذت تزریق کرد. تو هم بخون جالبه.
این عین مقاله از اینجاست:

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

1- گاهی به تماشای غروب آفتاب بنشینیم.
2- سعی كنیم بیشتر بخندیم.
3- تلاش كنیم كمتر گله كنیم.
4- با تلفن كردن به یك دوست قدیمی، او را غافلگیر كنیم.
5- گاهی هدیه‌هایی كه گرفته‌ایم را بیرون بیاوریم و تماشا كنیم.
6- بیشتردعا كنیم.
7- در داخل آسانسور و راه پله و... باآدمها صحبت كنیم.
8- هر از گاهی نفس عمیق بكشیم.
......

کلا 45 تاست که پنج تای آخر از افاضات بنده است. ادامه مطلب » »

برچسب ها: ,

CSS و سردرد ناشی از مرورگرهای مختلف
05 آبان 1388 ساعت 03:12

وقتی میخوای CSS بنویسی حتما می دونی که کدهات توی مرورگرهای مختلف که هر روز دارند بیشتر می شن، متفاوت رندر میشه. مخصوصا اینترنت اکسپلورر که به زبون خودش حرف می زنه! واسه اینکه CSS به اصطلاح Cross-Browser داشته باشیم یعنی توی همه مرورگرها، خروجی ثابتی داشته باشه، دو راه وجود داره:

این دو راه توی ادامه پست توضیح داده شده.

برچسب ها: ,,

تولدم مبارک!
23 مهر 1388 ساعت 19:38


من 22 سال پیش تو همین لحظه به این دنیا اومدم.
پس تولدم مبارک!
happy

برچسب ها:

< قبلیبعدی >

1234

 

me امیرحسینم. اسمم رو دوست دارم، خودم رو دوست دارم. ساکن تهرانم. دانشجوی رشته صنایع هستم شغل درست و حسابی ندارم. طراحی وب می کنم ولی همه اش واسه سرگرمی بوده. برنامه نویس PHP هستم. برنامه نویسی و وقت گذرونی با کامپیوتر تنها کاریه که خسته ام نمی کنه.
آدم خیلی سردی هستم، اینو دور و وری هام میگن. ولی به نظر خودم سرد نیستم در واقع گرمای خودم رو کم بروز می دم! آدما رو اغلب دوست دارم غیر از اون مواقعی که اونا من رو نادیده میگیرن!

این سایت رو بعد از کلی اینور اونور دوباره راه انداختم تا هرچی دوست دارم توش بنویسم، چه کسی بخونه چه نخونه.
خلاصه اینجا خونه منه،

به خونه امیرحسین خوش اومدی...

MODx | Template World