مفهوم SOLID در برنامه نویسی – LSP

solid-OOP

یکی از اصول دیگر برنامه نویسی شی گرا و اصل سوم SOLID مفهوم LSP یا Liskov Substitution Principle می باشد, به این معنی که هیچ کلاسی نباید رفتار کلاس والد را تغییر دهد. برای رعایت این اصل باید در نظر داشته باشیم که هر کلاسی میتواند از کلاس دیگر ارث بری کند به شرطی که رفتار کلاس والد را تغییر ندهند. (بیشتر…)

ادامه مطلب

مفهوم DRY در برنامه نویسی

DRY

DRY مخفف Don’t repeat yourself به معنی خودت رو تکرار نکن!! اما چرا باید توی برنامه نویسی این اصل رو رعایت کرد؟ وقتی شما مجبور شدید برای اصلاح یک قسمت از برنامه, چند قسمت از کدتون رو تغییر بدید, دقیقا برعکس DRY عمل میکنید. بیایید فرض کنیم که یک وب سایت یا برنامه نوشتیم که در چند بخش مختلفش فرم ثبت نام مشابه داره. بدترین حالتی که میتونیم پیاده کنیم اینه که برای هر فرم ثبت نام یک فرم مجزا ایجاد کنیم!! اما وقتی DRY رو رعایت کنیم روش ما باید کمی فرق داشته باشه. یک فرم ایجاد میکنیم و در بخش های مختلف ازش استفاده میکنیم. حتی اطلاعات ارسالی رو هم در یک بخش خاص مدیریت کنیم, نه در چند بخش. در گفتار خیلی کار راحتیه!! اما وقتی پای پروژه و پیاده سازی نرم افزار به میون میاد, کمی مشکل و نیاز به فکر داره. (بیشتر…)

ادامه مطلب

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

PostgreSQL

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

(بیشتر…)

ادامه مطلب

رفع ایرادات و اشکالات وب سرور 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 مجدد کد منبع نخواهد بود.

(بیشتر…)

ادامه مطلب

یک صفحه وب چطور پردازش می شود؟ بخش دوم

javascript-performance

در بخش قبل گفتیم که مرورگر چطور DOM و CSSOM را ایجاد میکند و با ترکیب آنها Render-Tree را ایجاد کرده و در نهایت با محاسبه اندازه و موقعیت هر عنصر, آنها را در صفحه نمایش میدهد. در رابطه با جاوا اسکریپت هایی که در یک صفحه استفاده می کنید نیز باید دقت داشته باشید. برای جلوگیری از کند شدن سرعت صفحه بایستی بدانیم که چطور از جاوا اسکریپت استفاده نماییم.

در استفاده از جاوا اسکریپت نکات زیر را در نظر داشته باشید :

  • موقعیت قرارگیری کد جاوااسکریپت در صفحه مهم است و در سرعت پردازش صفحه تاثیر گذار است.
  • ایجاد DOM توسط مرورگر, زمانی که پردازش خط به خط اجرا شده و به کد جاوااسکریپت می رسد تا زمان تکمیل اجرا و دانلود جاوااسکریپت متوقف می شود.
  • جاوااسکریپت امکان تغییر DOM و CSSOM را دارد.
  • اجرای جاوااسکریپت تا زمانی که CSSOM آماده نشده است به تاخیر می افتد.

(بیشتر…)

ادامه مطلب

یک صفحه وب چطور پردازش می شود؟ بخش اول

DOM-CSSOM

به طور کلی مراحل پردازش یک صفحه وب در مرورگر شامل این 5 مرحله است :‌

  1. مرورگر HTML را پردازش و DOM را ایجاد می نماید
  2. مرورگر CSS ها را پردازش کرده و CSSOM را ایجاد می نماید
  3. DOM و CSSOM با هم ترکیب شده و Render-Tree ایجاد میشود.
  4. مرورگر در مرحله Layout مختصات و اندازه هر یک از بخش ها را مشخص می کند.
  5. در مرحله Painting رنگهای مشخص شده در صفحه نمایش ثبت شده و نمایش داده می شود.

(بیشتر…)

ادامه مطلب

Joel Test چیست؟

JoelTest

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

ادامه مطلب