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

٢۵ ترفند CSS بسیار مفید که باید بدانید

در این مقاله، ٢۵ ترفند CSS بسیار مفید مطرح شده است که به شما کمک می کند صفحات وب بسیار عالی طراحی کنید. ممکن است شما برخی یا همه ی این ترفند ها را از قبل بلد باشید، با این حال، این می توانید یک مرجع دم دستی برای ترفند های جذاب CSS برای شما باشد که باید بدانید.

این مقاله، ترجمه‌ی آزاد با حذف و اضافات از مقاله‌ی زیر است:
http://webdeveloperplus.com/css/25-incredibly-useful-css-tricks-you-should-know/

١ - تغییر رنگ متن در حالت انتخاب شده

ممکن نیست که این ترفند را بلد بوده باشید!
شما به کمک CSS می توانید رنگ متن صفحات وب را در حالت انتخاب شده مشخص کنید. این ترفند دست کم در مرورگر های جدید نظیر safari و firefox کار می کند.

/**
 * Safari and Opera
 */
::selection {
  background: #c3effd; 
  color: #000;  
}
/**
 * Firefox
 */
::-moz-selection {
  background: #c3effd; 
  color: #000; 
}

همانطور که می بینید، با استفاده از انتخابگر ::selection می توانید متن های انتخاب شده را هدف قرار دهید

۱٠ ترفند CSS که احتمالا تا کنون نمی دانستید!

١ - دستور کوتاه شده‌ی تنظیم فونت‌ها

برای تنظیم فونت ها در CSS احتمالا تا کنون به طریق زیر عمل می کردید:

font-weight: bold;
font-style: italic;
font-variant: small-caps;
font-size: 1em;
line-height: 1.5em;
font-family: verdana,sans-serif;

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

font: bold italic small-caps 1em/1.5em verdana,sans-serif;

روش فوق خیلی بهتر است، اما باید فقط به یک نکته توجه کنید که روش فوق فقط وقتی کار خواهد کرد که هر دو خاصیت font-family و font-size را مشخص کنید. مقدار font-family همواره باید در انتهای خط قرار بگیرد و font-size باید دقیقا قبل از font-family قرار بگیرد.

به طور خلاصه می توان چنین نوشت:

font: FONT-WEIGHT FONT-STYLE FONT-VARIANT FONT-SIZE/LINE-HEIGHT FONT-FAMILY;

نکته ی دیگر این که اگر مقادیر font-weight و font-style و font-variant را مشخص نکنید، مقادیر همه ی این ها به طور پیش فرض برابر normal است.

مقدمه ای بر کلاس EntityFieldQuery دروپال برای پرس و جو از entity ها و فیلد ها

دروپال 7 یک API جدید به نام EntityFieldQuery ایجاد کرده است. API فوق یک کلاس است که به کمک آن می توان به سهولت و سرعت زیاد، از کلیه ی entity ها (از جمله node ها) و فیلد های موجود درسایت گزارش گیری کرد.

لایه ی انتزاع پایگاه داده (Database abstraction layer) دروپال 7 خیلی غنی تر از نسخه های پیشین دروپال است. با این حال، بازهم برای کار با پایگاه داده در دروپال 7 به گونه ای نیاز به ایجاد query های SQL می باشد.

اما کلاس EntityFieldQuery کمک می کند که بدون داشتن دانش SQL از فیلدها و entity ها query های گوناگون بگیریم.

افزایش page rank سایت من!

با سلام خدمت همه ی دوستان عزیز
زمانی که من این وبلاگ شخصی خودم را افتتاح کردم و دامنه ی hejazee.com را ثبت کردم، هدف من این بود که یک سایت کامل دارای همه ی موضوعات مورد علاقه ی من باشد.
انجمن، پرتال، وبلاگ، داشته باشد و یک سایت بسیار فعال باشد.
البته به این هدف نرسیدم و این سایت در حد یک وبلاگ ساده باقی ماند.
اما در عوض به سرعت page rank وبلاگ در گوگل بالا رفت و دارای رنک 5 از 10 شدم.
بعد یک سری مشکلاتی در سرور پیش آمد و مدت زیادی سرور ما down بود و مشغول تعمیر آن بودیم در این مدت رنکینگ سایت به 4 و سپس 3 رسید.
بعد از آن، دامنه ی سایت را تمدید نکردم و در عوض دامنه ی hejazee.ir را ثبت کردم و به این ترتیب، رنک سایت به صفر رسید و چندین ماه صفر ماند.
امشب به طور اتفاقی بررسی کردم و دیدم مجددا به پیج رنک 5 رسیدم.
اولا که این اتفاق را به خودم تبریک می گویم!
ثانیا از همه ی دوستان عزیزی که از وبلاگ بنده بازدید می کنند و همه ی عزیزانی که به این وبلاگ لینک داده اند، تشکر می کنم.
ثالثا شاید یکی از مهم ترین دلایل افزایش رنک سایت این باشد که هرگز هیچ مطلبی را از هیچ سایتی کپی برداری نکرده ام
و کپی برداری فقط در این حد بوده که یک مطلب خارجی را ترجمه کرده باشم و همیشه هم لینک سایت مبدا را قید کرده ام.
برای خودم آرزوی موفقیت می کنم!
برای شما هم همینطور!
 

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

تخفیف های ایرانسلی

ایرانسل پیغام داده است که:
تا 53 % تخفیف یک ماهه، پیام با *140*7*2*3# فقط هزار تومان!
ما هم سادگی به خرج دادیم و این کد رو ارسال کردیم هزار تومان از حسابم کم کرد و ضمنا 20% هم تخفیف داد!
======
کیس بعدی مربوط به چند ماه پیش است که یک کد دیگر داده بود که 50 درصد تخفیف ایرانسلی ویژه داشت
6000 تومان هم هزینه داشت
ولی بعد از دو سه روز، ظاهرا منصرف شدند و به همان قیمت قبلی بدون تخفیف حساب می کردند.
======
به نظر شما باید حتما از دیوار خونه ی مردم بالا بره؟

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

راهنمای تلفظ در زبان فرانسه

زمانی که من 14 سال داشتم، خیلی علاقه مند به یادگیری زبان فرانسه بودم و از همان زمان هم یادگیری زبان فرانسه رو شروع کردم.

برای یادگیری زبان، به طور کل، من هرگز در هیچ کلاس آموزش زبانی (به جز دروس مدرسه و دانشگاه) شرکت نکرده ام. فرانسه را هم در منزل و با مطالعه ی کتب خود آموز موجود شروع کردم. به گونه ای که روزی حداقل 4..5 ساعت مطالعه می کردم.

حتی گاها برای این که کسی از من ایراد نگیرد (چون رسم است که هر کس یک کاری می خواهد شروع کند، همه مسخره می کنند و آدرم رو دلسرد می کنند) گاها شب ها تا صبح بیدار می‌ماندم و یواشکی مطالعه می‌کردم و نکات رو نوت برداری میکردم.

فرایند یادگیری فرانسه‌ی بنده، حدود یک سال طول کشید که البته دو سه ماه اولش مرتب بود و بعدا نامرتب شد و در نهایت کم کم دلسرد شدم و آن را رها کردم!

با این حال هنوز هم به آن علاقه مند هستم و کلا من همیشه به یادگیری زبان های مختلف علاقه داشته ام و تقریبا هر زبانی که فکر کنید را مطالعه کرده ام (البته نه در حد جدی، فقط جهت کنجکاوی) از جمله زبان ژاپنی و آلمانی و اسپرانتو و سوئدی و روسی و ترکی و ... !! :)
با این حال، انگلیسی و فرانسه را جدی گرفتم و در حد قابل قبولی با این دو زبان آشنایی دارم.

یکی از بهترین کتاب هایی که مطالعه کردم، کتاب خودآموز زبان فرانسه چهارجلدی دکتر قیاسی بوده است.

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

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

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

همانطور که می‌دانیم تلفظ‌ها در زبان فرانسه کمی گیج کننده است و از جمله خیلی از حروف تلفظ نمی شوند و خیلی از حروف یک طور نوشته می‌شوند و یک طور دیگر خوانده می‌شوند. به این ترتیب شخص مبتدی ممکن است در همان ابتدای کار دلزده شود!

حقیقت این است که تلفظ در زبان فرانسه بسیار آسان است. فقط باید یک سری نکات رو بلد باشید. حتی از انگلیسی هم راحت تر خواهد شد! نکات زیر را تا به حال ندیدم که در جایی به طور کامل ذکر کرده باشند. بنابراین خالی از لطف نخواهد بود.

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

راجع به کارایی دروپال

من چندین سال است که دروپال کار می‌کنم و همیشه از آن خیلی راضی بودم.
اما یک نکته‌ی تعجب بر انگیز این بود که در همه‌ی این مدت عقیده داشتم که کارایی و سرعت دروپال خیلی بیشتر از Wordpress و Joomla و ... است.
و برای این عقیده دلیل هم داشتم و تجربه هم کرده بودم.

اما مدتی است که به عکس شده بود و همه‌ی سایت های دروپالی ای که داشتم، همگی و دست جمعی با هم دست به یکی کرده بودند (!) و با هم کند شده بودند :)
فرقی هم نمی کرد که کدام سایت است. سایت هایی که روی سیستم ویندوز خودم داشتم، سایت هایی که روی VirtualBox و با Ununtu داشتم، سایت هایی که آنلاین بودند و بر روی سرور Debian بودند، سایت هایی که بر روی Directadmin و Centos داشتم، همه و همه به شدت کند شده بودند!...
جریان خیلی مشکوک می زد و .... :) بگذریم.

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

الان میتوانم بگویم که دروپال به طور کلی سیستم کندی است. نمی دانم که از وردپرس یا جوملا کندتر است یا خیر. چون من با این ها زیاد کار نکرده ام.

از مسائل شخصی که بگذریم، چند تا نکته هست که ممکن است برای دیگران مفید باشد. راجع به کارایی دروپال موارد زیر قابل ذکر است:

کلا دروپال سیستم سریعی نیست. البته می توان آن را سریع هم کرد. اما کلا چون دروپال برای توسعه داده شدن ساخته شده، لذا برنامه نویسی و توسعه ی آن آسان است. اما چنین سیستمی نمی تواند سریع هم باشد.
البته اشتباه هم نکنید، خود هسته ی دروپال به قدر کافی سریع است. من که می گویم دروپال کند است، منظورم دروپال توسعه داده شده و سفارشی شده است که کلی ماژول بر روی آن نصب شده باشد.

برای یک سایت سریع، باید حداکثر 100 تا ماژول فعال داشته باشید. هرچه تعداد ماژول ها کمتر باشد بهتر است. اگر فقط 40 الی 60 تا ماژول فعال داشته باشید، سایت مانند نور سریع خواهد بود...
بنا به تجربه‌ی من، تا 100 عدد ماژول قابل تحمل است، اما اگر از صد تا بیشتر شد، سایت کند می‌شود و باید برای سرعت بخشیدن به آن، میزان رم سرور رو افزایش بدهید، apc استفاده کنید، ترجیحا از هارد ssd استفاده کنید و سرعت cpu را افزایش دهید و ..
البته حرفه‌ای های این کار، می گویند که تا 150 تا ماژول خوب است و از 150 به بالا کند میشود (به نقل از omega8.cc)

1 - برای سرعت بخشیدن به دروپال، اول از همه تعداد ماژول ها را کاهش دهید و ماژول های غیر ضروری را حذف کنید.

2 - بعد، یک سری ماژول مضر را حذف کنید و یک سری ماژول خوب را نصب کنید. بعضی از ماژول های مضر بنا به تجربه ی من این ها هستند:
database logging,  field permissions, cck,  rules,  relation

برخی از ماژول های مفید این ها هستند:
boost, authcache, esi, css_emimage, entity cache, memcached

3 - اگر می توانید، به جای این که از cck استفاده کنید، content type های مورد نظرتان رو خودتان کد نویسی کنید و یک ماژول سفارشی درست کنید. خیلی سریع تر میشود.

4 - برای فیلد های content type ها، بهتر است که تمام فیلد ها داخل یک جدول در دیتابیس باشد. رفتار پیش فرض دروپال این است که برای هر فیلدی، چند تا table درست می کند و این باعث می شود که تعداد join های دیتابیس زیاد شود و سایت کند شود.
اگر می توانید، یک ماژول درست کنید که تمام فیلد ها را داخل یک جدول قرار دهد.

5 - هرچه می توانید تعداد فیلد ها را کاهش دهید. مثلا اگر می خواهید فایل ضمیمه داشته باشید، فقط یک فیلد فایل و یک فیلد تصویر داشته باشید و بی خودی فیلد تکراری درست نکنید.

6 - ماژول های مجوز فیلد ها را در صورت امکان غیر فعال کنید چون تعداد زیادی join ایجاد می کنند.

7 - هر کاری را از راه استاندارد آن انجام دهید. مثلا داخل پوسته ی سایت، دستور SQL اجرا نکنید!

8 - کارها و ترفند های دیگری هم برای سرعت بخشیدن به دروپال موجود است که با تجربه بدست می آید و خارج از حوصله ی این پست می باشد...

9 - نرم افزار و سخت افزار سرور را بررسی کنید. فرقی نمی کند که سرور اختصاصی و یا اشتراکی باشد. دروپال باید بتواند بر روی سرور اشتراکی به خوبی کار کند، اما چند تا مسئله هست که اگر بر روی سرور رعایت شده باشد، سرعت دروپال زیاد می شود:

10 - از هاست هایی که Overselling انجام می دهند اکیدا پرهیز کنید.

11 - سروری که استفاده می کنید، اگر از مجازی سازی استفاده می کند، توجه کنید که حتی الامکان از OpenVZ و Virtuozzo استفاده نکرده باشد. زیرا بسیار پیش آمده که OpenVZ مشکلات فراوانی به وجود آورده.
OpenVZ را بد ترین انتخاب برای هاستینگ دروپال می دانند (به نقل از 2bits.com)

12 - بهتر است مجازی سازی سرور مبتنی بر VMware و یا Xen باشد. البته OpenVZ هم اگه درست پیکربندی شود، خیلی هم عالی است. منتها مشکل اینجاست که اکثر OpenVZ را درست پیکربندی نمی کنند و این مشکلاتی که عرض شد به وجود می آید.

13 - بهتر است که به عنوان وب سرور، از nginx استفاده کنید. نسبت به apache سرعت خیلی بیشتری دارد.

14 - برای PHP بهتر است از fastcgi استفاده کنید. ماژول mod_php در آپاچی خیلی کند است و اصلا توصیه نمی شود.

15 - دقت کنید که حتما apc فعال باشد. البته ظاهرا Zend Optimizer با آن مشکل دارد و نمی توانند در کنار هم کار کنند. در هر حال از Op code cahing استفاده کنید.

16 - اگر می توانید تلاش کنید که ترافیک دیتابیس MySQL را کاهش دهید. مثلا می توانید caching دروپال را با استفاده از redis-server و یا با apc و یا با memcached انجام دهید (هر کدام با دیگری فرق دارد)

17 - استفاده از هارد ssd به خصوص برای database خیلی سیستم را سریع می کند

18 - اگر تجربه ی خاصی راجع به کارایی دروپال دارید، لطف کنید و حتما برای من هم ارسال کنید. متشکرم :)

طرح خدمات اینترنتی

به امید خدا یک سری طرح دارم که قصد دارم انجام بدم.
البته از آن جایی که بودجه برای شروع کار ندارم، انجام شدن یا نشدن آن‌ها به دست تقدیر است!...

1 - طراحی و پیاده سازی سیستم پشتیبانی آنلاین جهت پشتیبانی مشتریان به صورت live و دارای قابلیت چت زنده
2 - طراحی و پیاده سازی سیستم Website provisioning جهت راه اندازی فوری سایت و وبلاگ با امکانات تحت کنترل
3 - خدمات هاستینگ و میزبانی وب محدود و با قابلیت های ویژه
4 - خدمات پشتیبانی سرور های لینوکس و پشتیبانی نرم افزاری

تجربه‌ی محیط توسعه‌ی PHP این بار با Nginx

بسیاری از ما (برنامه نویس های PHP)، از XAMPP ویا WAMP برای توسعه‌ی PHP در ویندوز استفاده می کنیم.

پیش از هرچیز، لازم است مفهوم AMP را توضیح دهم. AMP مخفف سه کلمه‌ی Apache ، MySQL ، PHP است که یک محیط توسعه ی PHP را فراهم می آورد. Apache در نقش سرویس دهنده وب، MySQL در نقش سرور پایگاه داده و PHP زبان برنامه نویسی می باشد.

در صورتی که AMP را بر روی لینوکس راه اندازی کنیم، به آن LAMP گفته می شود (Linux Apache MySQL PHP) و چنانچه بر روی ویندوز راه اندازی شود، می توان آن را WAMP نامید... (در این مقاله، من راجع به ویندوز صحبت می کنم)

برنامه های متعددی هم برای سهولت بیشتر در راه اندازی پشته ی فوق (WAMP) موجود است:

  • XAMPP : یکی از معروف ترین نرم افزار های موجود که علاوه بر apache و mysql و php ، امکانات بیشتری از جمله سرور FTP و سرور Mercury mail و افزونه ی Apache tomcat و همچنین Perl و بسیاری از افزونه های کاربردی PHP را نیز فراهم می آورد و به این ترتیب به یک نرم افزار بسیار مفید تبدیل شده است.
  • WAMP Server نیز مشابه xampp است، با این تفاوت که کاربری آن ساده تر است و دارای user interface ساده تری است.
  • EasyPHP ساده ترین نرم افزار wamp می باشد که برای تازه کارها طراحی شده است و از هرگونه پیچیدگی به دور است
  • ...

اما آنچه در این مقاله مورد بحث ما است، wamp نمی باشد.

پشته ی LEMP

LEMP یک اصطلاح دیگر مشابه LAMP است و مخفف کلمات زیر است:
Linux Nginx MySQL PHP

همان طور که می بینید، جای Apache با Nginx عوض شده است. همانطور که می دانید Apache معروف ترین وب سرور دنیا می باشد. اما مشکلاتی در Apache موجود می باشد که باعث می شود Apache بهترین گزینه ی موجود نباشد.

وب سرور آپاچی به دلیل ساختار درونی که دارد، در صورتی که برای یک وبسایت پربازدید استفاده شود، Overhead بالایی خواهد داشت و میزان مصرف ram و cpu ی آن بسیار زیاد خواهد شد. البته می توان به پیکربندی های خاصی، این مشکل را تعدیل کرد. از جمله:

  • استفاده از mpm prefork و تنظیم worker ها
  • استفاده از fastcgi و یا fcgid به جای استفاده از mod_php جهت پردازش فایل های PHP
  • ...

 صرف نظر از راه حل های فوق، اما در مجموع، بازهم کارائی Apache در سایت های پربازدید، یک نقطه ضعف به حساب می آید.

وب سرور Nginx یکی از پر طرفدار ترین وب سرور هایی است که به جای Apache استفاده می شود. Nginx را به صورت "Engine X" تلفظ می کنند. به دلیل ساختار درونی Event driven ای که دارد دارای سرعت بسیار بالا به ویژه برای ارسال فایل های static می باشد به طوری که گاها ده ها برابر سریع تر از apache کار خود را انجام میدهد.

برای استفاده از Nginx برای پردازش فایل های PHP ، نیاز به fastCGI خواهد بود زیرا تنها راه حل موجود می باشد. fastcgi بسیار سریع می باشد و برای سایت های بسیار پربازدید، بهترین گزینه به حساب می آید.

اما در مورد Winginx

پس از مقدمه چینی های فوق، به مطلب اصلی می رسیم.
من اخیرا به نرم افزار winginx آشنا شدم و آن را نرم افزاری بسیار مهیج و جذاب یافتم!

Winginx جایگزین بسیاری مناسبی برای Xampp برای توسعه ی PHP می تواند باشد. زیرا با نصب Winginx بر روی ویندوز (که خیلی هم ساده می باشد) برنامه های زیر را بر روی سیستم خود نصب خواهید کرد:

  • Nginx Web Server
  • PHP 5.3, PHP 5.4 - FastCGI
  • MySQL Database server
  • MingoDB NoSQL Database server
  • Node.js Framework
  • Redis Server
  • MemCached Caching server
  • Hosts editor utility
  • XDeug PHP debugger
  • phpMyAdmin database administration tool
  • PHP Config tool
  • Node-Inspector
  • Adminer database administraction tool
  • RockMongo Db administration tool for mongodb
  • phpMemcachedAdmin
  • HeidiSQL Database Administration tool
  • ...

بسیار جالب و مهیج به نظر می رسد! این طور نیست؟

یکی از نکات جالب، این است که به طور درونی از Drupal ، Joomla ، Wordpress ، CakePHP و چندین cms و framework دیگر نیز پشتیبانی می کند و دارای سیستم نصب خودکار این سیستم ها می باشد و به طور خودکار rule های rewrite مربوطه را نیز ایجاد می کند

فکر می کنم دیگر واجب شد که حتما این برنامه را تست کنید!! :)

آموزش Objective-J

این مقاله، ترجمه‌ی آزاد از مقاله‌ی زیر است:
http://cappuccino.org/learn/tutorials/objective-j-tutorial.php
کلیه ی حقوق این اثر متعلق به مترجم است و هرگونه کپی کردن و تکثیر این اثر بدون مجوز کتبی مترجم (و مولف) ممنوع می باشد.

صفحه‌ها

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