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

همه چیز در مورد Cappuccino و Objective J

کاپوچینو یک فریمورک جذاب و مفید برای ساخت Application های تحت وب می‌باشد. هم اکنون مشغول تحقیق و مطالعه در خصوص این کتابخانه می‌باشم و حاصل برخی از مطالعاتم را در مقالات آتی در این وبلاگ منتشر خواهم کرد.
Cappuccino یک زبان برنامه نویسی ابداع کرده است به نام Objective J
اگر بخواهم Objective J را توضیح دهم، می توانم به طور خلاصه بگویم که ترکیبی است از Javascript و Objective C

نو آوری!!

سرویس پست الکترونیکی ایرانی چاپار، یکی از سرویس های ایمیل ایرانی است که مثلا رقیب جیمیل به حساب می آید!

در لیست قوانین این سرویس، نکات بسیار جالبی یافت می شود. از جمله:

چاپار دائماً در حال نوآوری می باشد تا بهترین سرویس مناسب را برای کاربرانش فراهم آورد، شما تصدیق و تایید می نمایید که سرویس های چاپار، از زمانی به زمانی دیگر، ممکن است تغییر نماید و این تغییرات می تواند بدون اطلاع قبلی به شما صورت گیرد.
4.3 قسمتی از این نوآوری مشمول توقف دائمی یا موقت سرویس های فراهم شده توسط چاپار برای شما یا کاربرانش می باشد، بنابراین شما تصدیق و تایید می نمایید که هر توقف دائمی ویا موقت سرویس ها , براساس صلاحدید چاپار، می تواند بدون اطلاع قبلی به شما صورت پذیرد.

یعنی این نو آوریش منو کشته!

دسته بندی‌ها: 

VMware vSphere 5.1.0 's vim-cmd command reference guide

I have spent some time searching the internet looking for a refernce manual for
VMware vSphere's vim-cmd command. But I couldn't find it.
So I decided to fetch all the commands manually!

The approach I've chosen was to write a PHP script which connected to the server via SSH
and executed `vim-cmd help` command.

As the result, it generated a reference list of commands.
I need this list becuase I'm going to write an application which uses these commands and provides a REST API for ESXi.
I want to make sure that I've included all the available commands and haven't missed anything!

I have attached these two files to this post:
1 - List of all command names
2 - List of all comands with descriptions

I hope it will help somebody like me.

باز هم مهاجرت از دروپال 6 به دروپال 7

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

مجددا عرض می کنم که کد ذیل، فقط برای سایت jahizieh.net کاربرد داشته و برای استفاده برای سایت های دیگر، لازم است که در آن تغییرات لازم انجام گیرد.
این کد در واقع تغییر یافته‌ی کدهایی است که برای وبلاگ خودم نوشته بودم.

تکمیل ترجمه‌ی ماژول Userpoints دروپال 7

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

از دوستان دعوت می کنم که در تیم ترجمه‌ی دروپال شرکت کنند و به این وسیله در درجه‌ی اول برای خودشان کار را راحت می کنند (وارد کردن ترجمه ها به صورت خودکار با ماژول l10n_import ) و هم کار را برای دیگران راحت می کنند و هم زحمات سایر دوستان تیم ترجمه را جبران می کنند.

دسته بندی‌ها: 

تغییر آدرس سایت

با سلام آدرس سایت رو از hejazee.com به hejazee.ir تغییر دادم

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

قیمت بعضی دامنه ها هم که به 170 هزار تومان رسیده و شدیدا امیدوارم که روزی برسد که قیمت دامنه به 10 میلیون تومان برسد....

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

دسته بندی‌ها: 

شبیه سازی مرورگر با PhantomJS

PhantomJS یک موتور اختصاصی برای شبیه سازی مرورگر مبتنی بر Webkit می باشد.
نصب این برنامه هم در ویندوز و هم در لینوکس و MAC امکان پذیر است. یک برنامه ی خط فرمانی است که یک Console در اختیار برنامه نویس قرار می دهد که می توان به کمک آن برنامه به زبان JavaScript را اجرا کرد.
به عبارت دیگر می توان گفت که یک مفسر JavaScript با یک Library ویژه جهت شبیه سازی مرورگر است.

به کمک این برنامه می توان یک مرورگر واقعی را بدون این که لازم باشد واقعا مروگر گرافیکی نصب باشد شبیه سازی کرد و کاربرد های آن متعدد است. از جمله:
تست وبسایت ها
پردازش DOM به شیوه ی استاندارد معمول
آنالیز شبکه
...

این برنامه برای من بسیار جالب بود. برای اطلاعات بیشتر به سایت فوق مراجعه کنید.

دسته بندی‌ها: 

پیغام پاورقی در دروپال 7

در دروپال 6 یک صفحه وجود دارد به نام Site information (یا اطلاعات سایت) که در آن برخی تنظیمات سایت از جمله نام سایت، شعار سایت و ... را پیکربندی می کنیم. همچنین در این صفحه، گزینه ای به نام پیغام پاورقی وجود دارد.
متنی که به عنوان پیغام پاورقی انتخاب می کنیم، در پایین سایت نمایش داده می شود. طرز کار آن هم به این صورت است که یک متغیر theme به نام $footer_message وجود دارد که پیغام پاورقی را در خود نگاه می دارد. پوسته ها هم در فایل page.tpl.php متغیر مذبور را echo می کنند.

این ویژگی "پیغام پاورقی" در دروپال 7 وجود ندارد. شاید دلیل آن این باشد که طراحان دروپال 7 با خود فکر کرده اند که بهتر است برای پیغام پاورقی، یک بلوک سفارشی جدید ایجاد کنیم و ان را در یکی از region هایی که در پایین سایت وجود دارد قرار دهیم. به این ترتیب انعطاف پذیری و همه گیر بودن سیستم بیشتر می شود.
این طرز فکر کاملا صحیح است و بهترین روش برای نمایش پیغام پاورقی هم همین است که یک بلوک سفارشی ایجاد کنیم.
با این همه، بعضی ها، از جمله من، به ویژگی پیغام پاورقی دروپال 6 علاقه داریم و از آن بیشتر خوشمان می آید!

اما مسئله ی مهم تری هم وجود دارد و آن این است که با حذف ویژگی پیغام پاورقی در دروپال 7، متغیر theme به نام $footer_message هم حذف شده و دیگر وجود ندارد. به این ترتیب، پوسته هایی که برای دروپال 6 نوشته شده اند، هنگام تبدیل به دروپال 7، باید این متغیر را از فایل page.tpl.php حذف کنند. کار سختی نیست، ولی خوب اگر این کار را نکنیم، راحت تریم!!
ماژول footer_message برای همین منظور نوشته شده است.

این ماژول را بررسی کنید:
http://drupal.org/project/footer_message

این ماژول سبب می شود که ویژگی مشابه دروپال 6، در دروپال 7 به وجود بیاید و متغیر فوق الذکر را هم ایجاد می کند و در اختیار پوسته ها قرار می دهد.
با این که از نظر من، اصلا این کار، کار سختی نیست، ولی از این ماژول در این سایت استفاده کردم!

مهاجرت به دروپال 7

بسم الله الرحمن الرحیم
بالاخره، ما هم تصمیم گرفتیم که دروپال 6 را کنار بگذاریم. اکنون وقت آن است که به دروپال 7 مهاجرت کنیم.
کم کم دارم تلاش می کنم تا با ویژگی های جدید دروپال 7 آشنا شوم و معلومات قبلی خود در مورد دروپال 6 را به فراموشی بسپارم!
اولین اقدام هم در این رستا، انتقال وبلاگ خودم از دروپال 6 به دروپال 7 بود. در حال حاضر این سایت از دروپال 7 استفاده می کند. از آن جایی که برای اولین بار بود که یک سایت نسبتا پر محتوا را از نسخه ی 6 به 7 Upgrade می کردم، کمی کار طولانی شد و کمی هم دشوار بود!
در حال حاضر تمامی مطالب سایت به Drupal7 منتقل شده اند، اما هنوز پیکربندی سایت و تنظیمات آن کامل نیست و بعلاوه پوسته ی قبلی سایت را هم دارم به دروپال 7 تبدیل می کنم و به زودی سایت به شکل قبلی خود در خواهد آمد!
برای دوستانی که تا حالا با دروپال کار نکرده اند، باید توضیح دهم که مهاجرت بین نسخه های Major دروپال چندان کار ساده ای نیست. یعنی بر خلاف برخی از CMS های دیگر، آپگرید کردن دروپال می تواند حتی در برخی شرایط بسیار بسیار مشکل باشد. زیرا میزان تفاوت هایی که بین دو نسخه ی 6 و 7 دروپال وجود دارد بسیار زیاد است.
به ویژه برای سایتی که (مثل همین سایت) بیش از 100 تا ماژول فعال دارد، مهاجرت کردن قدری مشکل می شود. سایت های تجاری و بزرگتر که گاهی حدود 400 ماژول فعال دارند کار پر زحمتی خواهد بود.
در ادامه شرحی از تجربیاتی که کسب کردم خواهم نوشت.

چگونه Apache را تنظیم کنیم تا هر کاربر برای خودش پوشه‌ی وب مجزا داشته باشد؟

(سیستم مورد بحث، Ubuntu 11 و Apache2 است. گرچه سایر سیستم ها هم مشابه اند.)

هنگامی که در لینوکس Apache و PHP را نصب می کنیم، فقط یک پوشه‌ی /var/www به وجود می آید که می توان در آن فایل های وب (فایل های php ) را قرار داد.

در مقاله‌ی قبلی توضیح دادم که چگونه با استفاده از VirtualHost ها چندین سایت متفاوت را میزبانی کنیم و برای هرکدام، پوشه های مختلفی را به عنوان پوشه ی root مشخص کنیم.

اما تصور کنید که می خواهیم برای هر کاربری در سیستم، یک پوشه ی وب اختصاص دهیم. به خصوص هنگامی که قصد داشته باشیم که سرور برای Web Hosting اشتراکی و تجاری تهیه کنیم، باید برای مشتریان، در سیستم User تعریف کنیم و برای هر کدام یک پوشه ی وب اختصاص دهیم.

اگر بخواهیم برای هر یک از مشتریان، یک VirtualHost ایجاد کنیم، ممکن است قدری کار سختی باشد!
یک روش بهتر این است که از ماژول UserDir در Apache استفاده کنیم.

صفحه‌ها

اشتراک در خوراک صفحه اصلی