معرفی لینوکس ردهت (کلاه قرمز)

لینوکس یک سیستم عامل سریع ، پایدار و کد باز برای کامپیوتر های خانگی و ایستگاه های کاری است که شامل سرویس های حرفه ای اینترنت ابزارهای برنامه نویسی گسترده رابطهای گرافیکی کاربر (GUI ) کاملا کاربردی و حجم عظیمی از برنامه های کاربردی از مجموعه آفیس گرفته تا برنامه های کاربردی چند رسانه ای می باشد. لینوکس در اویل دهه 1990 توسط Linus Torvalds به همراه چند برنامه نویس دیگر در مناطق مختلف جهان نوشته شد. به عموان یک سیستم عامل ، لینوکس خیلی از عملکردهای یونیکس ، مکنتاش ، ویندوز و ویندوز NT را انجام می دهد. به هر حال لینوکس به خاطر قدرتش و انعطاف پذیری اش معروف است . اغلب سیستم عامل های PC مثل ویندوز کارشان را با کامپوتر های شخصی کوچک آغاز کردند که اکنون به ماشین های مرسوم امروزی تبدیل گشته اند. چنین سیستم عامل هایی به طور مداوم در حال به روزرسانی هستند تا اینکه خود را با قابلیت های دائما در حال تغییر سخت افزارهای PC وفق دهند. از طرف دیگر لینوکس با هدف دیگری نوشته شد . لینوکس نسخه PC سیستم عامل یونکس است که چند دهه روی کامپوترهای بزرگ و مینی کامپوتر ها مورد استفاده قرار می گرفت و هم انون سیستم منتخب برای سرویس دهنده ها و ایستگاه های کاری موجود در شبکه می باشند. لینوکس سرعت کارایی مقیاس پذیری و انعطاف پذیری یونیکس را برای PC شما به ارمغانمی آورد و از تمام قابلیتهای که کامپوترهای شخصی هم اینک می توانند فراهم نمایند، بهره می برد.
از لحاظ فنی ، لینوکس شامل برنامه سیستم عامل است که با نام کرنل شناخته می شود و بخشی است که اساسا توسط Linus Torvalds نوشته شده است. اما همیشه به همراه حجم عظیمی از برنامه های کاربردی نرم افزاری، از سرویس دهنده های شبکه و برنامه های امنیتی گرفته گرفته تا برنامه های کاربردی آفیس و ابزار های برنامه نویسی، توزیع می شود. لینوکس از طریق بازگذاشتن کد اصلی آن زمانی گسترش پیدا کرد که برنامه نویسان مستقل دست به دست هم دادند تا نرم افزاری رایگان و باکیفیت رابرای تمامی کاربران فراهم کنند. لینوکس به عنوان پلات فرم اصلی برای نرم افزارهای کد باز درآمد که بیشتر آن توسط پروژه GNU مربوط به Free Software Foundation نوشته شد. بیشتر اینبرنامه های کاربردی به عنوان ضمیمه ای به همراه محصولات استاندارد لینوکس عرضه می شوند. هم اکنون هزاران برنامه کاربردی کد باز را می توان از سایت هایی چون open source development network (OSDN) به آدرس OSDN soueceforge.net و rpmfind.net و freshmeat.net سایت apps.kde.com مربوط به KDE و سایت gnome.com مربوط به GNOME دانلود کرد.
به همراه قابلیت های سیستم عامل لینوکس، ویژگی های قدرتمنهد شبکه شامل پشتیبانی اینترنت ، اینترانت، ویندوز و شبکه AppleTalk وجود دارد. به عنوان یک استاندارد ، لینوکس به همراه سرویس دهنده ها ی سریع ، کارا و پایدار اینترنتی از قبیل سرویس دهنده های وب FTP و DNS به همراه سرویس دهنده های پراکسی ، اخبار و پستی عرضه می شود. به عبارت دیگر لینوکس دارای تمام آن چیزی است که شما جهت راه اندازی ، پشتیبانی و نگه داری یک شبکه کاملا عملی بدان نیاز دارید.
با GNOME و دسک تاپ K لینوکس هم
چنین رابطه های GUI با همان با همان سطح انعطاف پذیری و قدرت را فراهم می کند. برخلاف ویندوز و مک می توانید رابط را خودتان انتخاب کنید و سپس در آینده به آن قالب اپلت محیط های کاری مجازی و منو اضافه کنید که تمام این کارها با قابلیت های کشیدن و رها کردن ماوس و ابزارهای اینترنتی مسیر می باشد.
لینوکس تمام این امکانات را با هزینه شگفت انگیزی در اختبار ما قرار می دهد. لیونکس به همراه سرویس دهنده های شبکه و محیط های کاری GUI آن رایگان می باشد . برخلاف سیستم عامل موفق یونیکس، لینوکس تحت مجوز عمومی عامل GUN که توسط انجمن نرم افزار رایگان مشخص شده است.به طور رایگان عرضه می گردد تا هر کس که می خواهد از آن استفاده کند. GUN مخفف GUN is not UNIX می باشد. و پروژه ای است که توسط انجمن نرم افزار رایگان پایه گذاری و مدیریت می شود تا نرم افزار رایگان را برای کاربران برنامع نویسان و توسعه دهندگان فراهم کند. حق کپی لینوکس محفوظ است و یک نرم افزار حوزه استفاده عمئمی نیست. هر چند مجوز عمومی GUN تقریبا بیشتر موارد حوزه عمومی را شامل می شود. مجوز عمومی GNU طراحی شده است تا اطمینان دهد که لینوکس در عین حال که رایگان است. استاندارد نیز باشد . لینوکس از لحاظ فنی کرنل سیستم عامل است (عملیلت درونی) و فقط یک لینوکس رسمی وجود دارد. بعضی وقت ها مردم گمان می کنند چون لینوکس یک نرم افزار رایگانه می باشد پس نمی تواند یک سیستم عامل حرفه ای باشد. که این طور نیست. در حقیقت لینوکس نگارش PC و ایستگاه کاری یونیکس است . خیلی ها عقیده دارند که لینوکس نسبت به ویندوز خیلی پایدارتر و قوی تر می باشد. این قدرت و پایداری سبب شده است به سیستم عامل منتخب یک سرویس دهنده شبکه تبدیل گردد.

Php چیست؟


PHP یک زبان برنامه نویسی است که آوازه آن با سرعت زیادی در همه محافل برنامه نویسی پیچید. این زبان در اصل به عنوان مجموعه ای از ماکروها (برنامه های آماده) جهت کمک به افرادی که مشغول طراحی صفحات وب بودند ایجاد شد . ولی به زودی اهداف بزرگتر و مهم تری از صفحات خانگی را نشان کرد. از آن زمان تا به حال قابلیتها و توانایی های PHP توسعه زیادی یافته است به گونه ای که یکسری ابزارها و برنامه های سودمند به یک زبان برنامه نویسی کامل قوی و کارآمد تبدیل شده و هم اینک می توان توسط آن به مدیریت سایت های بسیار بزرگی که حجم وسیعی از داده ها را در بانک های اطلاعاتی نگه داری می کنند پرداخت.
نیازهایی که PHP می تواند برآورده کند.
عمومیت و مقبولیت این زبان نیز به موازات رشد توانایی ها و قابلیتهای آن افزایش پیدا کرد.طبق آمار منتشر شده در سایت Netcraft به آدرس اینترنتی http://www.netcraft طراحی و برنامه نویسی بیش از یک میلیون وب سایت مختلف تا ماه نوامبر 1999 توسط زبان php صورت گرفته است و این رقم تا ماه سپتامبر 2001 به رقم شش میلیون سیر صعودی خود را طی کرده است . همچنین طبق آمار منتشر شده در وب سایت http://www.securityspace.com زبان phpمهمترین ماجول قابل استفاده بر روی وب سرور Apach است که بدین ترتیب از ماجول بسیار محبوب mod_ssl نیز پیشی گرفته است .
عنوان رسمی PHP عبارتست از PHP: Hypertext preprocessor(لازم به توضیح است که برای حاصل شدن نام PHPمی بایست عنوان Hypertext preprocessor را به صورت بازگشتی ،یعنی به شکل Hypertext preprocessor Hyper text… تلفظ کنید_مترجم).این زبان یک زبان اسکریپت نویسی برای سمت سرور است که معمولا خود در متن یک سند HTML نوشته می شود برخلاف صفحات HTML معمولی ،اسکریپت های PHP توسط سرور به سمت کلاینت ارسال نمی شوند .بلکه توسط برنامه ویژه ای موسوم به موتور PHP مورد تجزیه قرار میگیرند. طی این فرایند عناصر HTMLاز برنامه اسکریپت نوشته شده با PHP حذف شده و کد PHP حذف شده و کد PHPباقیمانده پس از ترجمه اجرا می گردد. برنامه های PHP قابلیتهای بسیار متعدد و متنوعی همچون پرس و جو از بانکهای اطلاعاتی ، ایجاد تصاویر گرافیکی ، نوشتن و خواندن فایل ها، محاوره با سرویس دهنده های راه دور و بسیاری از قابلیتها متصور شد. پس از اجرای کد PHP خروجی برنامه با عناصر HTML ترکیب شده و نتیجه برای مشاهده کاربر به سمت کلاینت گسیل می شود.
نیازهایی که PHP می تواند برآورده کند
—— اسکریپت نویسی و زبانهای برنامه نویسی اسکریپت به موازات وب رشد کرده و توسعه پیدا کرده اند. از آنجا که نیاز به ایجاد سایت هایی با محتوای پویا و غیر استاتیک در سالهای اخیر بیش از گذشته احساس میشود بنابراین بیش از همیشه به روشها، شیوه ها و ابزارهایی جهت توسعه سریع و کارآمد محیطهای Online نیازمندیم. با وجودی که زبان برنامه نویسی C را میتوان یک ابزار کارآمد در رابطه با توسعه سریع ابزارهای سمت سرور به حساب اورد اما بهره گیری از این زبان به سادگی امکان پذیر نبوده و علاوه بر این در صورتی که توجه خاصی حین توسعه برنامه های مربوطه با این زبان برنامه نویسی محبوب صورت نگیرد، به سادگی می توان شکافهای امنیتی خطرناکی را انتظار داشت. از سویی دیگر، زبان Perl یک زبان برنامه نویسی است که در اصل جهت پردازش رشته های کاراکتری طراحی شده و طبیعتاً خلاً موجود در رابطه با فقدان محیطهای پویای وب را پر کرده است. زبان Perl در این رابطه از امنیت بیشتری نسبت به زبان برنامه نویسی C برخوردار بوده و کارایی پایین تر آن نسبت به زبان مذکور، همواره با سرعت بالای توسعه ان جبران شده است. علاوه بر این تعداد کتابخانه های قابل توجهی که به روز نیز بر تعداد آنها اضافه می شود، از دیگر نقاط قوت زبان Perl محسوب میشود. اما در این بین زبان PHP در کدام جایگاه قرار دارد؟ زبان PHP به طور ویژه برای توسعه برنامه های وب ایجاد شده است. از این رو مسائل و مشکلاتی که اغلب برنامه نویسان وب را مشغول به خود می کند از طریق خود زبان حل و فصل شده اند. به دو نمونه از این مسائل توجه کنید:
* برنامهنویسان Perl جهت دستیابی به داده ها و اطلاعاتی که کاربران وب در فرم های مختلف وارد میکنند، همواره نیازمند استفاده از یک کتابخانه خارجی بوده و یا مجبورند تا کدهای مورد نیاز را خود تولید نمایند. این در حالی است که PHP چنین اطلاعاتی را به طور خودکار در اختیار برنامه نویسی قرار داده است.
* برنامه نویسان perl جهت نوشتن برنامه هایی که نیازمند دستیابی به اطلاعات موجود در بانکهای اطلاعاتی هستند، به ناچار باید ماجول هایی را که چنین امکاناتی در اختیارشان قرار می دهند برروی کامپیوترشان نصب کنند، حال آنکه PHP ذاتاً مجموعه کاملی از بانکهای اطلاعاتی مطرح را مورد پشتیبانی قرار میدهد.( البته برای کسب این پشتیبانی کامل لازم است تا هنگام نصب PHPاطلاعاتی به قرار زیر است:dbase,dbm,filepro,hyperwave,in formix?? Interbase,Microsoft sql server, msql, my sql, odbc ,oracle, oracle8,postgre sql,Sybase.
به طور خلاصه، به دلیل phpدر اصل برای برنامه نویسان وب طارحی شده است، تقریبا به طور هر نوع مساله ای که برنامه نویسان وب با ان مواجه می شوند، از مدیریت جلسات کاربران گرفته تا بهره گیری از اسناد xml به مجموعه ای از توابع و ابزارهای مفید مجهز شده است .
به چنین امکانات و تسهیلاتی در مورد phpبه احتمال قوی، این سوال را در ذهن خواننده دبه وجود می اورد که آیا این امکانات به بهای از دست دادن کارایی به دست آمده اند؟ پاسخ منفی است.
سرعت اجرای برنامه php بر روی وب سرور به طور شگفت آوری بالاست .آن چنان که سرعت اجرایی آن برنامه های  cgl نوشته شده با زبان perl نیز بیشتر است.
اولین ویرایش کتاب حاضر مقارن با زمانی بود که  php4هنوز مراحل پایانی توسع خود خود را طی میکرد .در حال حاظر این زبان محبوب مراحل تکاملی خود را با موفقیت پشت سر گذاشته و به عنوان محیطی امن و پایداد در دنیای برنامه نویسی وب به رشد خود ادامه می دهد ضمن اینکه روز به روز نیز بر شمارگان برنامه نویسانی که از آن استفاده می کنند افزوده می شود.
ویژگی های جدید در php4
Php4 چندین ویژگی جدید معرفی کرده است که کار برنامه نویسان وب را از چندین جهت ساده تر و جالب توجه تر می کند. در زیر به چند نمونه از این ویژگی ها اشاره می کنیم:
*عبارت foreach جدید که مشابه نمونه خود در زبان perlاست، پیش از گذشته کار پردازش عناصر ارایه ها را ساده تر کرده است ما در بسیاری از مثال های مربوط به ارایه ها در این کتاب از این عبارت جدید استفاده خواهیم کرد در رابطه با پردازش ارایه ها نیز هم اکنون php4 توابعی را معرفی کرده که کار بر روی ارایه ها را به اسانی ممکن می سازد
*نوع Boolean به نوع دادهای جدید معرفی شده است.
* یکی از ویژگی های قابل توجه php3 قابلیت نام گذاری عناصر فرم ها بود، به گونه ای که برنامه نویس می توانست ان عناصر را جز یک ارایه فرض کند. این بدان معنی است که برنامه نویس قادر بود تا اسامی و مقادیر عناصر مذکور در قالب یک ارایه در اختیار برنامه قرار قرار دهد. این ویژگی هم اکنون در php4به ارایه های چند بعدی توسعه و تعمیم پیدا کرده است.
* پشتیبانی از مشخصه های شی گرایی و برنامه نویسی شی گرا همواره یکی از نقاط قوت زبان برنامه نویسیphp بوده است .این ویژگی نیز در php4 به طور قابل ملاحظه ای توسعه پیدا کرده است. برای نمونه در حال حاظر فراخوانی متدهای رونویسی شده کلاس پدر در درون کلاس فرزند، به سادگی امکان پذیر می باشد.
* php4به واسط بهره گیری از کوکی ها و رشته های پرس و جو امکان پشتیبانی از جلسات کاربران را در اختیار برنامه نویسان قرار داده است. برنامه نویسان اکنون می توانند با ثبت متغییر های مربوط به جلسات مختلف به هنگام ایجاد جلسات، امکان دستیابی به مقادیر انها در جلسات اینده را از طریق اسامی این متغییرها به راحتی فراهم کنند.
* php4شامل عملگر مقایسه ای جدیدی با عنوان === است که مقایسه نوع داده دو متغییر را به خوبی مقایسه مقادیرشان ممکن می سازد.
*ارایه های انجمنی جدید در php4 که شامل متغییر های سرور و متغیرهای محیطی می باشند ، به همراه متغییری که اطلاعاتی را در مورد فایل های بار گذاری شده در خود ذخیره می کند امکانات جالب توجهی را در اختیار برنامه نویسان قرار داده است
|* پشتبانی ذاتی php4 ازgava وxml نکته بارز دیگری است که بدون شک به تعداد کاربران php خواهد افزود.
با وجود اینکه ویژگی های مذکور به همراه سایر ویژگی هایی که در اینجا ذکر نکردیم به طور قابل ملاحظه ای موجب بهبود در عملکرد زبان برنامه نویسی phpشده اند، شاید مهمترین تغییری که در php4صورت گرفته، بهبود عملکرد ان از نظر کارایی باشد که به واسطه تغییرات داده شده در کد منبع phpحاصل شده است.