مهدی عزیزی

۴ مطلب در بهمن ۱۳۹۲ ثبت شده است

CGI چیست و چگونه کار می‌کند

CGI مخفف Common Gateway Interface است. CGI یک بخشی از وب سرور (Web Server) است که این قابلیت را فراهم میکند تا برنامه ای در سمت سرور اجرا شود و خروجی آن برنامه برای کاربر متصل شده به سرور از طریق صفحه ی وب به نمایش در آید. CGI یکی از اولین روش ها برای تولید صفحات وب پویا (Dynamic) به حساب می‌آید که دارای قدمت زیادی ست. به عنوان مثال در موتور های جستجو کاربر تنها یک صفحه در مقابل خود میبیند که شامل یک کادر برای وارد کردن کلید واژه و یک دکمه‌ی جستجو ست. وقتی کاربر دکمه ی جستجو را میزند، CGI یه اسکریپت را (فرضا" به زبان Perl) که در پوشه‌ی خاصی (cgi_bin) روی سرور قرار گرفته اجرا می کنه. با اجرای این اسکریپت کلید واژه ی کاربر به عنوان ورودی استخراج شده و در پایگاه داده‌ای این کلید واژه جست و جو می‌شود تا نتایج جست و جو به دست آید. در نهایت در خروجی اسکریپت یه فایل HTML درست شده که نتایج جستجو را شامل می‌شود و CGI این HTML را به عنوان پاسخ برای کاربر ارسال میکند. چون پویش در یک پایگاه داده به طور مستقیم از راه HTML ممکن نیست، مجبور شدیم از کد Perl برای این کار کمک بگیریم و CGI فقط نقش یه واسطه را بازی میکند.

۲۷ بهمن ۹۲ ، ۱۳:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

آموزش ساخت افزونه برای فایرفاکس

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

کتاب Build Your Own Firefox Extension تمامی‌آنچه که برای ساخت یک افزونه فایرفاکس نیاز دارید را به شما آموزش می‌هد. در این کتاب با ساختار پوشه‌ها و فایل‌های موجود در یک افزونه، شیوه توسعه رابط کاربری از طریق CSS و XUL، ایجاد قابلیت‌ها و ویژگی‌های پیشرفته به وسیله جاوا اسکریپت، اضافه کردن میانبر‌های صفحه کلید و امکانات بین المللی، آموزش شیوه انتشار محصول نهایی و نیز با مقدمه از Jetpack آشنا خواهید شد. از لینک زیر می توانید این کتاب انگلیسی را دریافت کنید.

دانلود کتاب ساخت افزونه برای فایرفاکس

۱۷ بهمن ۹۲ ، ۲۱:۲۸ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

نرمال سازی(normalization) دیتابیس

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

شکل 1NF

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

  1. نوع داده‌ها و اطلاعات در هر ستون یکسان باشد.
  2. محتویات هر ستون یک مقدار مشخص باشد اتمیک باشد.
  3. هر سطر از جدول منحصربه‌فرد باشد به این منظور می‌توان از قید کلید اصلی یا PK استفاده نمود.
شکل 2nf

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

  1. در فرم اول نرمال باشد.
  2. کلید ستون‌های غیر کلید وابستگی تابعی کامل به کلیه ستون‌های کلید داشته باشد.
شکل 3nf

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

  1. در فرم اول و دوم نرمال باشد
  2. فاقد وابستگی‌های با واسطه باشد

لازم به ذکر است که فرم های دیگری هم وجود دارد ولی این 3 اصلی ترین فرم های نرمال سازی است.

۱۷ بهمن ۹۲ ، ۱۵:۰۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

Collation

 Collation برای این منظور بکار برده می شود که بتوانیم اطلاعات رشته ای رو به صورتی کارامد تر ذخیره و بازیابی و سرچ کنیم. این زمانی که شرکت ها تصمیم به پشتیبانی از زبان های غیر انگلیسی گرفتند، شروع شد.

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

از اونجایی هم که برای ذخیره 128 نماد نیاز به 7 بیت هست و تعداد بیت ها می باید مضربی از 8 می بود، از 8 بیت یا یک بایت برای ذخیره استفاده کردند.

برای 128 فضای خالی باقی مونده هم از علائمی استفاده کردند که بتوانند به صورت ساده گرافیک و جدول را پیاده کنند و پرینت بگیرند.

در حالت فارسی هم از همون فضای کاراکتر های چاپی استفاده می کردند.

تا این جا مشکلی نبود اما با ورود زبانهای دیگر به کامپیوتر یک بایت اضافی هم در نظر گرفته شد. این بایت در حقیقت نمایانگر زبان مورد استفاده بود.

یعنی مثلا اگر کاراکتر 186 علامت || در زبان استاندارد ASCII بود این بار اگر کد پیج (همون کاراکتر اضافی) روی زبانی غیر از انگلیسی بود این کاراکتر به معنی مثلا آلفا می شد.

این کاراکتر برای زبان استاندارد صفر و برای زبان فارسی 6 در نظر گرفته شد. (254 هم هست)

می تونید برای اطلاعات بیشتر از برنامه CharMap خود ویندوز جریان رو ببینید.(در Run تایپ کنید)

در برنامه نوت پد هم در حالتی که بخواهید در استاندارد جدید (UniCode) متنتون رو ذخیره کنید خواهید دید که حجم جدید به دو برابر + 2 بایت اضافی برای هدر تشخیص افزایش خواهد یافت.

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

در حالت استاندارد اسکی برای هر کاراکتر یک بایت در نظر گرفته خواهد شد که انواع داده ای Char, Text, VarChar از همین نوعند.

اگر قرار باشد که حروف فارسی رو ذخیره کنید کدپیج کجا ذخیره می شد؟

ادامه مطلب...
۰۵ بهمن ۹۲ ، ۱۶:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی