استفاده از PgBouncer در PostgreSQL

PostgreSQL

در پایگاه داده های مختلف، اتصال متعدد کاربران می تواند پاسخ دهی را به تاخیر بیاندازد. برای مثال یک صفحه وب سایت به یک اتصال پایگاه داده نیاز دارد. حال برای باز کردن این صفحه به ازای هربار فراخوانی یا هر کاربر که از این صفحه دیدن می کند، یک اتصال به پایگاه داده ایجاد شده و پس از پایان بارگیری اتصال از بین می رود. با افزایش تعداد کاربران تعداد اتصالات نیز افزایش می یابد که باعث بار اضافی به سیستم می شود. برای رفع این مشکل از تکنیک Connection Pool استفاده می شود.

(بیشتر…)

رفع ایرادات و اشکالات وب سرور Apache – بخش چهارم

Apache Web Server

Debug کردن یک برنامه که دارای چندین Process است کار سختی است. وب سرور  Apache نیز در هنگام فعالیت چندین Process از خود ایجاد می کند؛ اما می توانید به هنگام نیاز وب سرور را طوری تنظیم کنید که تنها از یک Process برای تمامی فعالیت های خود استفاده نماید.

(بیشتر…)

رفع ایرادات و اشکالات وب سرور Apache – بخش سوم

Apache Web Server

برخی اوقات و در مواقع خاصی وب سرور Apache به اصطلاح Crash می کند و از کار می افتد. در این مواقع پیدا کردن مشکل اصلی گاهی کار سختی خواهد بود چراکه اغلب در Log فایل ها نیز چیزی در این مورد ثبت نشده است.
در این هنگام برای رفع این مشکل می توانید از ماژول mod_whatkilledus استفاده کنید.

(بیشتر…)

رفع ایرادات و اشکالات وب سرور Apache – بخش دوم

Apache Web Server

یکی از مهمترین کارها پس از نصب وب سرور Apache بر روی سرور و راه اندازی چندین سایت روی آن، مشاهده Logهای ایجاد شده خطاها توسط این وب سرور است. به صورت پیش فرض این فایل ها به صورت متنی و با نام error_log در مسیر Apache/logs وجود دارند.

(بیشتر…)

رفع ایرادات و اشکالات وب سرور Apache – بخش اول

Apache Web Server

یکی از دلایل مشکلاتی که در وب سرور Apache ممکن است رخ دهد، تنظیمات اشتباه آن در فایل httpd.conf است. در این حالت Apache شروع به کار نمی کند و پیدا کردن مشکل در آن کار سخت و وقت گیری است. در این هنگام می توانید با یک ابزار فایل httpd.conf را بررسی نمایید و اگر در آن اشکالی وجود داشت آن را بیابید.

(بیشتر…)

OPcache چیست؟

PHP Zend OPcache

همانگونه که می دانید PHP یک زبان مفسری است. به این معنی که در هر بار اجرای یک فایل PHP، آن فایل خوانده و سپس Parse می شود. آنگاه نتیجه Parse شده فایل PHP که به آن OPcode گفته می شود، آماده اجرا خواهد بود. این کار در هر بار اجرا اتفاق خواهد افتاد.
حال برای جلوگیری از تکرار این مراحل ابزارهایی برای Cache کردن OPcode ایجاد شده اند. یکی از این ابزارها OPcache است.

(بیشتر…)

APC چیست؟ چگونه سرعت پردازش را افزایش می دهد؟

APC in PHP

در تمامی زبان های برنامه نویسی مکانیزمی برای Cache (کش) کردن اطلاعات تعبیه شده است و PHP نیز چندین پلاگین برای این منظور دارد. APC یا همان Alternative PHP Cache یکی از این پلاگین ها می باشد. وظیفه اصلی آن ذخیره سازی خروجی مفسر PHP در حافظه اصلی است. بدین وسیله در پردازش ها و درخواست های آتی نیازی به Compile مجدد کد منبع نخواهد بود.

(بیشتر…)

Joel Test چیست؟

JoelTest

تا کنون با عبارت Joel Test برخورد کرده اید؟ اگر در وب سایت های خارجی یک کار برنامه نویسی خوب را جستجو کنید به عبارت 12 Joel Test برخواهید خورد. Joel Spolsky موسس Stackoverflow.com برای برنامه نویسان 12 پیشنهاد ارایه کرده است که با رعایت این موارد میتوان گفت که شما برنامه نویس خوبی هستید و میتوانید با مقایسه توانمندی های خود با موارد زیر دید بهتری نسبت به سطح کد نویسی خود دست پیدا کنید : (بیشتر…)

برنامه نویس خوب-گام دوازدهم-استفاده از کد

SoftwareDesign

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

(بیشتر…)

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

برنامه نویس خوب

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

(بیشتر…)