|
|
 |
 |
 |
 |
| |
 |
 |
تخم مرغ شانسی PHP |
 |
|
 |
اين هاپوی آقای Zeev Suraski خدمات شايانی در توسعه PHP داشته اند و مرگ ایشان احتمالا اثر قابل ملاحظه ای در روند توسعه اين زبان اسکريپت نويسی محبوب خواهد گذاشت. [...]
اسکاچ جان جای تو در قلبهای تک تک ماست.
Kevin در وبلاگ PHP سایت SitePoint در مورد تخم مرغهای شانسی PHP نوشته که خواندنش خالی از لطف نيست.
|
 |
سطح: مقدماتي
نوشته شده در تاريخ: دوشنبه، 19 دي 1384
ساعت: 21:58 |
|
| |
 |
 |
PECL Input Filter |
 |
|
 |
شديدا با نظر Ben Ramsey در زمينه توابع تصفيه داده های ورودی موافقم و روش Whitelist رو نسبت به رویکرد لیست سیاه از ورودی های خطرناک، ترجیح میدم. یعنی صرفا داده های معتبر رو فیلتر کنیم و اگر کاربر داده نادرستی وارد کرد، اون رو مجبور به اصلاح کنیم. فرمهایی که من برای ورود داده های Web Appهام طراحی می کنم دقیقا از همین رویکرد استفاده می کنند، کاربر رو موظف به رعایت استانداردها و قواعد تکمیل فرم می کنم و اجازه نمی دم اسکریپت در این زمینه انعطاف به خرج بده.
موضوع پست بالا در مورد اکستنشن Input Filter هست که قراره در نسخه ۵.۱.۱ و نسخه ۶ درون خود PHP پياده سازی بشه و هدف اون هم ترويج شيوه های صحيح ايمن کردن اسکريپها هست. هرچند کلاسها و متدهای خوبی برای اينکار نوشته شده ولی خوب با پياده سازی اين اکستنشن در Core، برنامه نويسان بی دقت و تنبل هم سعی می کنند داده های ورودی رو فيلتر کنند.
نمونه کدهای ساده کاربرد اين افزودنی جديد رو هم همونجا می تونيد مشاهده کنيد.
|
 |
سطح: متوسط
نوشته شده در تاريخ: جمعه، 18 آذر 1384
ساعت: 19:04 |
|
| |
 |
 |
Zend Studio 5 و از هول حليم توی ديگ افتادن! |
 |
|
 |
شايد يکم بی انصافی باشه ولی Zend Studio نسخه ۵ به نظر من هنوز باگهای ريز و درشت زيادی داره و نبايد به اين زوديها عرضه می شد. دیگه عرضه MySQL 5 باعث شد که دیگه Zend یه خیز بزرگ برداره و اونهم نسخه ۵ ادیتورش رو عرضه کنه. حالا هم PHP و هم یار با وفاش MySQL و هم IDE محبوبش به نسخه ۵ رسیدن و اهداف بزرگتری رو در پیش رو دارند.
من حدودا از نسخه ۲.۵ با اين IDE قدرتمند کار می کنم و تا الان اينقدر از دستش کلافه نشده بودم! برخی از اين اشکالات را گزارش کردم که فهمیدم همه جز باگهای برنامه به شمار می آيند. يک نمونه تابلو اينکه وقتی در پنجره Preferences تب Desktop و بخش Appearance از منوی Drop Down با عنوان Encoding مقدار UTF-8 رو انتخاب می کنيد، اين تنظيمات صرفا تو همون Sessionای که با برنامه کار می کنيد معتبر هست و بعد از اجرای مجدد برنامه اين مقدار ريست شده و به مقدار Default ست ميشه. بنابراين هر دفعه بايد اين کار انجام بشه تا فایلهایی که متن فارسی دارن قابل خواندن باشند. در مورد سرعت اجرا هم روی ويندوز XP من که Home هست با 512MB رم و سی پی يو 1.6 سنترينو جونی ميکنه ولی تو لينوکس SuSE که نصب کردم و باهاش کار کردم خيلی سريعتر بود، البته اونجا هم باگهای خاص خودشو داشت مثلا بعضی وقتها بعد از Remote Debuging پنجره مربوطه محو نمی شد و بدون محتوا همچنان Active بود. يه اشکال ديگه عدم نمايش Headerهايی هست که اسکريپت در پاسخ به درخواست می فرسته. با اينکه در همون پنجره فوق الذکر در تب Debug گزينه مربوطه برای نمايش هدرها انتخاب شده است.
من نمی دونم چرا اين مرورگر وب درون ساخته مبتنی بر Gecko نيست و از IE در پيت استفاده کردند؟ همين مرورگرشم جون ميکنه تا مقداردهی اوليه بشه. شاید پیش خودشون فکر کردن خیلی کسایی که از Zend Studio استفاده می کنند محیط توسعه اشون ویندوزه!!
بخش اتصال مستقيم به بانکهای اطلاعاتی اش هم بهتر شده و الان با نسخه MySQL 4.1 به بعد که از Unicode پشتيبانی می کنند ميشه راحت فيلدهای اطلاعاتی فارسی رو به درستی مشاهده کرد و ديگه خرچنگ قورباغه نيستند.
Code Folding هم واقعا از چيزهای ضروری بود که خوب شد اضافه شد ولی هنوز باگهای ظريفی داره که من تو کار گاهی برخورد می کنم که نهايتا با يه Refresh حل ميشه.
موقع تايپ کلمات فارسی لابلا يا انتهای کدها هم برخی اوقات قاط ميزنه و بايد با يک Enter و انتقال کلمات فارسی به يک خط مجزا اين مشکل رو هم حل کرد.
در مورد Version Control هم افزودن Subversion از نکات قوت اين نسخه هست. (در فرصت مناسب در مورد Subversion و اینکه چه مزایایی نسبت به CVS داره بحث می کنم.)
هنوز فرصت نکردم با WSDL Generator اش کار کنم، اميدوارم اون از باگ مبرا باشه!
ولی کلا مرحله Deploy کار با Zend Studio خيلی راحت و بی دردسر و ايمن هست. من که هميشه از FTP Client درون ساخته خودش برای اينکار استفاده می کنم و حتی سورسها رو روی Server اديت می کنم.
اگه با استايل phpDocumentor کدهاتون رو مستند کنيد، امکان Nested Code Completion عجيب حالی ميده به آدم و ديگه لازم نيست فايلهای پروژه رو يک به يک باز کنيد يا متدها رو بخاطر بسپاريد.
در آخر هيچی جای ابزارهای Debugging اين اديتور قدرتمند رو نميگيره و من بدجوری معتاد اين قسمت اش هستم! 
البته باگهاش به همینجا محدود نمیشه ولی همینقدر حوصله توضیح داشتم. شما هم اگه باگی یافتید همینجا کامنت بگذارید.
*) Zend Studio من نسخه ۵.۰.۰ ساخت ۱۸۳ و Enterprise Edition هست و اگه باگهای ديگه پيدا کنم حتما به نسخه ۴.۰.۲ Downgrade می کنم! 
|
 |
سطح: مقدماتي
نوشته شده در تاريخ: جمعه، 11 آذر 1384
ساعت: 00:48 |
|
| |
 |
| 
|
 |
|
 |
 |
 |
 |
|
|
 |
 |
 |
 |
 |
نام:
نيما شايافر
متولد:
7/7/1362
تحصيلات:
دانشجو
شغل:
طراح وب و برنامه نويس
وضعيت:
آفلاين |
 |
|
 |
 |
 |
 |
|