بایگانی برای شهریور

پنل مانیتورینگ کره‌ی زمین

جمعه, 30 شهریور 1386

چند روز پیش یکی از دوستان ایمیلی برایم فرستاد با عنوان «ساعت جهانی» که لینک به یک فایل فلش بود که یکسری آمار کلی از کره‌ی زمین رو نمایش می‌داد که خیلی برام جالب بود. این هم لینکش:

http://www.poodwaddle.com/worldclock.swf

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

این آمار از طریق اطلاعات و آمار واقعی موجود محاسبه میشه، برای اطلاعات بیشتر در مورد این ساعت و منابع مورد استفاده‌ی اون، صفحه زیر رو ببینید :

http://www.poodwaddle.com/worldclock.htm

احتمالا اگر خدا سایت داشته باشه. سمت پنل مدیریت سایتش یه چیزی شبیه به این باید برای مانیتورینگ کره‌ی زمین داشته باشه. :)

سازگار کردن کد با ورژن های جدید php

چهارشنبه, 28 شهریور 1386

هر بار با بروز رسانی php ممکنه تغییرات جدیدی در php ایجاد بشه که برای برنامه نویس ها درد سر ساز بشه. البته معمولا این دردسر ها زیاد جدی نیستند و با تغییر مختصری در کد مشکل حل میشه. ولی share کردن تجربیات در این زمینه میتونه پیدا کردن و رفع مشکلات رو راحت تر کنه.

عمده ترین مشکل در بروز رسانی از نسخه 4 به 5 تداخل شناسه های برنامه شما با شناسه ها و یا کلمات کلیدی جدید در php5 هست که با تغییر نام دادن اون شناسه مشکل حل میشه. برای مثال تداخل نام کلاس soapclient در nusoap با کلاس soapclient در php5.
بهترین راه برای پیشگیری از وقوع اینگونه تداخل ها استفاده از namespace در نام گذاری کلاس ها و توابع است. یعنی از انتخاب نام های عمومی برای شناسه ها خودداری کنید و مثلا حروف اختصاری نام خودتون یا شرکتتون رو به عنوان پیشوند یا پسوند در نام گذاری شناسه استفاده کنید. مثلا بهتر بود که به جای نام soapclient از نام nu_soapclient استفاده میشد.

و اما مشکل دیگه ای که من برخورد داشتم این بود که در php5 در حالت CLI (خط دستور) دایرکتوری جاری با مسیر فایل php یکسان نیست و اگر بخواهید فایلی رو include کنید و یا با فایل ها کار کنید باید حتما قبلش chdir کنید به مسیر مورد نظر. جالب اینجاست که این تغییر در php5.2.4 مجددا به حالت قبل برگشته است.

مشکل دیگه ای هم که من بعد از بروز کردن به php 5.2 داشتم و ساعت ها وقت من رو گرفت این بود که در صورت استفاده از ob_start با callback چنانچه output buffering بدون استفاده از توابع مربوطه خاتمه یابد درون تابع callback نمیتوان از یک آبجکت که قبلا تعریف شده استفاده کرد.
این مشکل بیشتر شبیه به یک باگ هست تا تغییر ورژن. لذا من بعد از کلی کلنجار رفتن با این مشکل به قسمت گزارش باگ در سایت php رفتم و با یک سرچ متوجه شدم که این مشکل ناشی از اینه که در ورژن جدید بعد از خاتمه کد اول آبجکت ها destroy میشن بعد بافر خالی میشه. پس برای رفع این مشکل تنها راه اینه که قبل از خاتمه برنامه خودمون بافر رو خالی کنیم. برای اطلاعات بیشتر در مورد این مشکل اینجا رو کلیک کنید.

و اما مشکلی که در آخرین بروز رسانی به php 5.2.4 پیش اومد. اینکه در حالت CLI عنصر SCRIPT_FILENAME از آرایه سراسری $_SERVER مقدار نداره. (در مورد سایر عناصر تست نکردم شاید اونها هم تغییر کرده باشه)
و اما تغییر دیگه ای که تو این نسخه بود و قبلا بهش اشاره کردم اینکه در حالت CLI دایرکتوری جاری مجددا در این ورژن با مسیر فایل php یکسان شده.

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

معمولا خود سایت php برای تغییرات در نسخه های ماژور، سرفصلی در php manual باز میکنه. که موارد زیر از آن جمله اند:

http://www.php.net/manual/en/faq.migration5.php
http://www.php.net/manual/en/migration5.php
http://www.php.net/manual/en/migration51.php
http://www.php.net/manual/en/migration52.php

برای نسخه های مینور هم میتونید به ChangeLog مراجعه کنید.

مقالات wikipedia از مرز 2 میلیون گذشت

پنجشنبه, 22 شهریور 1386

تعداد مقالات انگلیسی wikipedia در تاریخ 9 سپتامبر از مرز 2 میلیون گذشت.

ویکیپدیا در ژانویه 2001 راه اندازی شده و هم اکنون بزرگترین دایره المعارف چند زبانه دنیا محسوب میشه به طوری که از نظر حجم اطلاعات حدود پنجاه بار بزرگتر از دایره المعارف بریتانیکاست. در حال حاضر تعداد کل مقالات آن بیش از 8.2 میلیون مقاله به 253 زبان دنیا می باشد.

هم اکنون ویکیپدیا بر روی بیش از 100 سرور میزبانی میشه و حدود 10 الی 35 هزار درخواست در ثانیه به سرورهای ویکیپدیا ارسال میشه و بر طبق آمار منتشره در اوایل سال 2005 به طور میانگین تعداد 200 میلیون query در روز بر روی پایگاه داده این پروژه اجرا میشده است. این در حالیه که تا سال 2004 برای میزبانی این پروژه فقط از یک سرور استفاده میشد.

این پروژه به زبان PHP نوشته شده و با پایگاه داده mysql کار میکند و بر روی وب سرور Apache و سیستم عامل لینوکس قرار دارد و نمونه بسیار خوبی از قدرت LAMP برای پروژه های بزرگ می باشد.

ویکیپدیا متعلق به یک سازمان غیر تجاری است که تمام هزینه های آن از محل کمک های مردمی تامین میشود.

Open Komodo

پنجشنبه, 22 شهریور 1386

به تازگی شرکت Active State از راه اندازی پروژه Open Komodo خبر داده است که یک بستر Open Source برای توسعه سایر IDE ها خواهد بود. چیزی شبیه به Eclipse با این تفاوت که Eclipse با جاوا نوشته شده و این پروژه بر بستر Mozilla توسعه یافته است. از مزایای توسعه بر بستر Mozilla می توان به Cross Platform بودن و توسعه پذیر بودن آن اشاره کرد. گفتنی است Active State قصد دارد سایر محصولات خود از جمله Komodo IDE و Komodo Edit را بر روی بستر Open Komodo توسعه دهد.

Komodo Edit ادیتوری قدرتمند و رایگان است که از اکثر تکنولوژی های وب از جمله php و javascript و HTML و XML به خوبی پشتیبانی میکند. و با توجه به اینکه بر بستر Mozilla توسعه یافته، مشابه FireFox قابل توسعه توسط Extention های xpi می باشد.

احتمالا Open Komodo اوایل نوامبر در دسترس خواهد بود.

معمای Web History

پنجشنبه, 22 شهریور 1386

چند روزیه که یک مسئله عجیب ذهنم رو مشغول کرده. و اون نحوه عملکرد Web History گوگل هستش.

اونطوری که توی خود گوگل توضیح داده ظاهرا این سرویس گوگل فقط در صورتی کار می کنه که Google Toolbar روی مرورگر شما نصب باشه و اگر نصب نباشه فقط Search Histoy رو ذخیره میکنه. و نکته عجیب اینجاست که من Google Toolbar ندارم ولی این سرویس برای من کار میکنه و گوگل تمام History من رو ثبت میکنه. هم از منزل و هم از محل کار تست کردم در هر دو جا بدون اینکه Toolbar داشته باشم تمام history من ثبت میشه.

البته این نکته رو هم اضافه کنم که فقط در صورت استفاده از مرورگر فایرفاکس این اتفاق میافته.

به نظر شما Web History چه جوری کار میکنه ؟!!

شاید گوگل با FireFox تبانی کرده باشه !!!

صفحه ای بدون حتی یک خط کد HTML

سه شنبه, 20 شهریور 1386

امروز میخوام یک معما طرح کنم.

آدرس زیر رو نگاه کنید و سعی کنید کد HTML صفحه رو بدست بیارید. (برای دیدن صفحه از Firefox یا Opera استفاده کنید.)

http://farhadi.ir/test/nohtml.php

منتظر نظرات هستم …

آپدیت :
معما حل شد.
تمام آنچه در این صفحه دیده میشه با استفاده از CSS تولید شده و از قابلیت لینک کردن فایل CSS به صفحه از طریق Header استفاده شده. که البته در IE کار نمیکنه.
در کل با این روش نمیشه یه صفحه کامل طراحی کرد چون با CSS نمیشه کد HTML تولید کرد. مگر اینکه از حقه قدیمی قرار دادن کد javascript در CSS استفاده کنید که اون هم فقط در IE و نسخه های قدیم opera کار میکنه. نتیجه اینکه این روش شاید کاربردی نباشه ولی برای سرکار گذشتن خوبه! ;)

بررسی میزان سازگاری مرورگر ها با استانداردهای وب

یکشنبه, 18 شهریور 1386

طراحی سایتی سازگار با تمام مرورگرها مستلزم داشتن دانش کافی در رابطه با سازگاری مرورگرها با استانداردهای وب است. و در این راستا استفاده از سایت WebDevout.net به عنوان مرجع می تونه کمک بسزایی در جهت کسب اطلاعات مورد نیاز در این زمینه باشه.

این سایت سازگاری ورژن های مختلف مرورگرها رو با استاندارد های HTML و CSS و DOM و ECMAScript به تفصیل مورد بررسی قرار داده.

به عنوان مثال شما می تونید سازگاری یک attribute خاص از یک element رو با ورژن های مختلف مرورگرها از طریق اطلاعات موجود در این سایت بررسی نمایید.
اطلاعات این سایت بقدری دقیقه که به عنوان مثال در مورد یک attribute به ذکر فقط سازگار بودن یا نبودن اکتفا نکرده وعدم سازگاری در شرایط خاص را هم لحاظ کرده است.

جدول زیر آمار کلی سازگاری مرورگرهای پرطرفدار با استاندارد های وب رو نشون میده.

Technology IE 6 IE 7 Firefox 1 Firefox 2 Opera 8.5 Opera 9
HTML / XHTML 73% 73% 90% 90% 84% 85%
CSS 2.1 51% 56% 88% 92% 92% 94%
CSS 3 changes 10% 13% 14% 24% 8% 19%
DOM 50% 51% 79% 79% 78% 84%
ECMAScript 99% 99% 100% 100% 100% 100%

همونطور که در جدول فوق می بینید IE7 نسبت به IE6 هیچ پیشرفت چشمگیری نداشته و با سایر مرورگرها فاصله زیادی داره.
اما رقابت بین FireFox و Opera شدیده و باید منتظر بود و دید Opera 9.5 و FireFox3 در این رقابت چه میکنند.

opera 9.5 سلطان مرورگر ها

شنبه, 17 شهریور 1386

Opera Logoبالاخره opera 9.5 نسخه آلفا منتشر شد.

همونطور که قبلا اعلام شده بود این نسخه تمام 578 تست Selector های CSS3 رو بدون حتی یک خطا پشت سر گذاشته. ضمنا نسخه 9 این مرورگر قبلا تست acid2 رو با موفقیت پشت سر گذاشته بود. این مرورگر استاندارد ترین و سریعترین مرورگر دنیاست.

در ضمن بالاخره مشکل این مرورگر با نمایش border های جداول راست به چپ (rtl) هم توی این نسخه حل شده.

تکنولوژی جدید تغییر اندازه تصویر

جمعه, 16 شهریور 1386

امروز یک ویدئو توی youtube دیدم که فکم افتاد. اولش تو وبلاگ عصرونه یه مطالبی راجع به این تکنولوژی خوندم ولی خوندن کی بود مانند دیدن.
میشه تصویر را بدون اینکه کش بیاد یا جمع بشه از یک طرف resize کرد.
نکته جالب دیگه اینکه میشه یک قسمت از تصویر رو انتخاب و حذف کرد مثلا تصویر یک نفر رو از تو عکس حذف کرد.

با توجه به این که adobe مبتکر این تکنولوژی رو استخدام کرده احتمالا این تکنولوژی تو نسخه های بعدی photoshop قابل استفاده خواهد بود.

توصیه می کنم حتما این ویدئو رو نگاه کنید:
http://youtube.com/watch?v=qadw0BRKeMk

Internet Explorer Developer Toolbar

جمعه, 16 شهریور 1386

امروزه طراحی و اشکال زیادی سایت ها با استفاده از فایرفاکس و ابزارهایی نظیر فایرباگ خیلی راحت شده. ولی اگر سایتتون در IE مشکل داشته باشه ممکنه ساعت ها وقت صرف یافتن و رفع مشکل بکنید.

امروز می خوام ابزاری رو معرفی کنم که گرچه در مقابل فایرباگ بسیار امکانات ناچیزی داره ولی از هیچی بهتره و اگر بخواهیم مقایسه کنیم امکاناتش در حد DOM Inspector پیشفرضی هست که همراه فایرفاکس نصب میشه. این ابزار با نام اختصاری IEDevToolbar محصول خود مایکروسافته. از اونجایی که هیچکس حاضر نیست وقت ارزشمندش رو صرف تولید ابزارهای اینچنین برای IE بکنه، مایکروسافت مجبور شده خودش این کار رو انجام بده. در هر صورت دستشون درد نکنه.

و اما این هم لینک دانلود :

Internet Explorer Developer Toolbar