تبلیغات
Bcode.ir - مطالب دانستنی ها

کاربرد WAMP و XAMP چیست ؟

نویسنده :
تاریخ:دوشنبه 11 آبان 1394-11:30 ب.ظ


WAMP چیست ؟

ومپ یا WAMP مخفف کلمات Windows ، Apache ، MySQL ، PHP و Perl می باشد و همانطور که از نامش پیداست یعنی بستری برای شما فراهم می کند که بتوانید به یکباره و بدون نیاز به انجام تنظیمات جانبی ، تمامی سرویس های ذکر شده را بر روی سیستم عامل ویندوز بصورت یکجا نصب و راه اندازی کنید در عین حال که رابط کاربری ساده ای در اختیار شما قرار می گیرد. استفاده از WAMP برای نصب ، تست ، برنامه نویسی و اجرا کردن نرم افزارهای تحت وب باز متن یا Open Source در سیستم عامل ویندوز برای برنامه نویسان PHP و Perl ای توصیه می شود که توانایی کار کردن با خود سیستم عامل لینوکس را ندارند. در واقع این نرم افزار یک شبیه ساز وب سرور و تمامی مخلفات لینوکسی آن در ویندوز می باشد و شما تقریبا همه نرم افزارهایی که در قالب Web Application در زبان های برنامه نویسی PHP و Perl نوشته شده اند را می توانید در این محیط نصب و راه اندازی و تست و البته توسعه دهید. البته در برخی اوقات من در سازمان های ایران دیده ام که از همین نرم افزار در محیط کار واقعی نیز استفاده می شود و این چندان خوب نیست.

شما برای اینکه بتوانید یک سیستم مدیریت محتوای تحت وب در اینترنت داشته باشید و بخواهید بر روی آن تغییرات و برنامه نویسی انجام دهید نیازمند خرید یک فضای لینوکسی در اینترنت به نام Host یا هاست هستید ، در ادامه شما نیاز به استفاده از کنترل پنل مدیریت هاست خود دارید تا بتوانید تنظیمات مربوط به پایگاه داده MySQL این سیستم مدیریت محتوا را انجام دهید در اکثر موارد این کنترل پنل به نام Cpanel معروف است که در لینوکس راه اندازی می شود. اگر قرار باشد شما با هر باز کد نویسی بخواهید کد مورد نظر خود را در این هاست کپی کنید و سپس به بررسی نتیجه بپردازید بسیار طولانی و طاقت فرسا می شود ، شما با استفاده از WAMP می توانید براحتی همه این تنظیمات را بصورت محلی بر روی سیستم خود نصب و اجرا کنید و به همین دلیل است که در بسیاری از اوقات به نصب WAMP در سیستم عامل و راه اندازی سیستم های مدیریت محتوا در آن Local Host یا هاست محلی نیز گفته می شود زیرا تمامی مواردی که شما در یک هاستینگ اینترنتی نیاز دارید را بصورت یکجا و با چند کلیک فراهم می کند. توجه کنید که WAMP بصورت یکجا تمامی مواردی که یک نرم افزار باز متن یا Open Source برای اجرا نیاز دارد ، اعم از سیستم عامل ، پایگاه داده ، زبان اسکریپت نویسی و فضای اجرایی را به یکباره در اختیار شما قرار می دهد.

XAMPP چیست ؟


تمامی مواردی که ذکر کردیم در خصوص نرم افزار WAMPP در خصوص نرم افزار XAMPP که زمپ خوانده می شود نیز صادق است. این نرم افزار نیز همانند WAMP عمل می کند و برای شبیه سازی لوکال هاست بر روی سیستم عامل مورد استفاده قرار می گیرد. مشابه WAMP در XAMPP نیز ما سیستم عامل یا OS ، پایگاه داده یا Database ، زبان اسکریپت نویسی یا Scripting Language و فضای ذخیره سازی یا Host را در اختیار می گیرم و به همین شکل Apache و MySQL و Perl و PHP در هنگام نصب هر دو نرم افزار WAMP و XAMPP به سادگی و تنها کلیک کردن چند دکمه انجام می شود. توجه کنید که از این سری نرم افزارها در اینترنت ممکن است زیاد باشد اما بهترین های آنها از نظر بنده در وهله اول WAMP و در وهله دوم XAMPP و در نهایت نرم افزار مشابه دیگری به نام EasyPHP می باشد.

منظور از Local Host ها لوکال هاست چیست ؟


تا اینجا به شما مفهوم لوکال هاست را به سادگی توضیح دادیم اما الان می خواهیم بصورت مفصل به بررسی این مفهوم بپردازیم ، ابتدا مفهوم هاست و هاستینگ را بررسی می کنیم ، منظور از هاست یا Host فضایی از هارد دیسکی است که بصورت مدیریت شده در اختیار شما قرار می گیرد که از طریق اینترنت قابل دسترس می باشد ، این فضا رایگان نیست و شما بایستی در وهله های زمانی معین برای آن هزینه کنید. تمامی وب سایت هایی که طراحان وب طراحی می کنند و در اختیار شما قرار می دهند در نهایت بایستی در اینترنت قرار بگیرند و بدون استثناء همه آنها نیازمند فضایی به نام هاست یا میزبان برای ارائه سرویس خود هستند. به شرکت یا سرویس دهنده ای که خدمات هاست را به ما ارائه می دهد در اصطلاح هاستنیگ سرویس یا Hosting Service گفته می شود.

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

چه نرم افزارهایی را می توانیم بر روی WAMPP و XAMP نصب کنیم ؟


در ابتدا توجه کنید که WAMPP و XAMP بصورت ویژه برای نرم افزارهای کاربردی تحت وب طراحی و ایجاد شده اند و نه نرم افزارهای سیستم عاملی که بر روی سیستم عامل استفاده می شوند. بنابراین سرویس گیرنده های این نرم افزارها افرادی هستند که از اینترنت یا وب استفاده می کنند. نرم افزارهای بسیاری در اینترنت وجود دارد که بصورت رایگان در اختیار کاربران قرار می گیرد و هیچگونه هزینه ای بابت دانلود و استفاده از این نرم افزارها از شما دریافت نمی شود. این نرم افزارها معمولا با استفاده از زبان های برنامه نویسی مانند PHP و Perl نوشته می شوند و سورس یا محتویات کد آنها در اختیار همگان قرار دارد تا بتوانند بر حسب نیاز آنها را تغییر دهند. شما می توانید کلیه نرم افزارهایی که بصورت باز متن و بر اساس برنامه نویسی پویا یا داینامیک نوشته شده اند و در اینترنت براحتی قابل دانلود هستند را در WAMP و XAMP بدون هیچ مشکل قانونی نصب و استفاده کنید.این نرم افزارها می توانند انواع و اقسام سرویس های اینترنتی را به کاربران بصورت رایگان قرار بدهند و شما می توانید براحتی از WAMP و XAMP برای یادگیری و توسعه آنها استفاده کنید ، سیستم های مدیریت محتوای وبی مانند Joomla و WordPress و Drupal و ... از جمله مواردی هستند که براحتی می توانید شما برای راه اندازی وب سایت های اینترنی بصورت رایگان استفاده کنید و برای خود آنها را دلخواه سازی کنید ، اما فقط همین نرم افزارها نیستند ، هر چیزی که در اینترنت فکرش را بکنید را می توانید در قالب این نرم افزارهای Open Source مشاهده کنید ، شاید دوست داشته باشید وب سایتی شبیه فیسبوک برای خود راه اندازی کنید ! نیازی به دانستن دانش برنامه نویسی نیست ، کافیست نرم افزار Social Engine یا چیزی شبیه به آنرا که برای ساختن شبکه های اجتماعی اینترنتی بصورت رایگان در اینترنت قرار گرفته اند را دانلود و برای خود نصب کنید و فیسبوک خود را ایجاد کنید.

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



تلگرام

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

برچسب ها:

نظرات() 

مقایسه PHP با ASP.NET

نویسنده :
تاریخ:دوشنبه 11 آبان 1394-11:22 ب.ظ


برای آشنایی با PHP و ASP.NET این پست ها را بخوانید :


تکنولوژی مورد استفاده در ASP.NET بهتر است یا PHP ؟

زبان برنامه نویسی PHP در اصل و ماهیت برای نوشتن اسکریپت های وب ایجاد شد و هدف اصلی آن کاهش پیچیدگی های برنامه نویسی های وب ای مانند Perl و CGI بود. PHP برای این ایجاد شد که این امکان را ایجاد کند که افراد تازه وارد به دنیای برنامه نویسی وب نیز بتوانند در این حوزه شروع به فعالیت کنند و به همین دلیل بیشتر کارهای ساده و طراحی های وب سایت های کوچک با این زبان برنامه نویسی وب شروع شد و اکثرا در اوایل برنامه نویسان حرفه ای از این زبان استفاده نمی کردند. اما به مرور زمان با توجه به گسترش روزافزون نرم افزارهای Open Source و استفاده بیشتر از زبان Open Source ای به نام PHP حرکت رو به جلوی این زبان بسیار سریع صورت گرفت. یکی از مشکلاتی که به این زبان گرفته می شد عدم وجود توابع زیاد و همچنین دستورات کم بود که با گستردگی استفاده از PHP به مرور این موانع و مشکلات برطرف شد و امروزه می توان با PHP توابع و کارهای تقریبا پیچیده ای را برنامه نویسی کرد. PHP یک زبان مفسری است یعنی در هر بار اجرا بایستی کد توسط وب سرور خط به خط اجرا و نتیجه نمایش داده شود.یکی از مشکلاتی که به PHP برنامه نویسان می گیرند این است که اگر شخصی بتواند به سرور لینوکسی یا آپاچی شما دسترسی پیدا کند ، با توجه به اینکه کدهای شما بصورت کامپایل نشده و Open Source روی سرور قرار دارند می توانند به آنها دسترسی پیدا کنند ، این مشکل در ASP.NET وجود ندارد زیرا برنامه قبل از اجرا به فایل های DLL کامپایل می شود و باعث عدم نمایش کد به مهاجم می شود ، این مشکل را PHP با معرفی تکنولوژی رمزنگاری به نام Zend حل کرد تا بتواند کدهای PHP را Encode کند و دیگر نگران این مسئله نباشد.

در ابتدا PHP از شیء گرایی پشتیبانی نمی کرد اما به مرور این قابلیت به یکی از قدرت های این زبان تبدیل شد . تکنولوژی کاربردی این زبان بیشتر برای نوشتن و اجرا کردن اسکریپت های وب برای اجرا در سیستم عامل های Open Source ای مانند یونیکس و لینوکس استفاده می شود. البته یکی از خرده هایی که به PHP گرفته می شود این است که هنوز تا حدودی نقص های اولیه خود را در خصوص شیء گرایی دارد و به گفته برخی برنامه نویسان خاصیت های حرفه ای شیء گرایی در این زبان برنامه نویسی دیده نشده است. یکی از قدرت های بی بدیل PHP عدم وابستگی به Platform خاص است ، یعنی برنامه هایی که با زبان PHP نوشته می شوند براحتی قابل اجرا بر روی هر سیستم عاملی از جمله ویندوز هستند . اما ذاتا تکنولوژی برنامه نویسی وب PHP مبتنی بر یک ساختار است که به آن در اصطلاح فنی LAMP می گویند. LAMP مخفف کلمات Linux به عنوان سیستم عامل ، Apache به عنوان وب سرور ، MySQL به عنوان پایگاه داده و در نهایت PHP به عنوان زبان برنامه نویسی می باشد. بنابراین اکثر افرادی که به برنامه نویسی وب PHP می پردازند با این ابزارهای کاملا رایگان آشنا هستند. جالب اینجاست که براحتی می توان این ابزارها را در سیستم عامل ویندوز نیز نصب و استفاده کرد برای کسب اطلاعات بیشتر به مقاله زیر مراجعه کنید :

از دات نت یا ASP.NET می توان به عنوان یک Platform نام برد تا یک زبان برنامه نویسی ، دات نت یک محصول کاملا مایکروسافتی است که به عنوان نسل جدید ابزارهای برنامه نویسی و توسعه نرم افزار شرکت مایکروسافت به بازار ارائه شده است. دات نت را می توان بیشتر با Platform هایی مثل جاوا مقایسه کرد و در این میان بیشتر رقابت بین ASP.NET و Java می باشد. توجه کنید که زبان برنامه نویسی کلاسیکی به نام ASP وجود داشت که سابقا استفاده می شد اما امروزه این زبان برنامه نویسی وب منسوخ شده است و دیگر استفاده ای ندارد و هیچ ارتباطی هم به زبان برنامه نویسی ASP.NET ندارد. یکی از قدرت های اصلی ASP.NET وجود کتابخانه ها یا همان Library های بسیار غنی و توایع زیاد و همچنین کلاس های زیادی است که در ASP.NET وجود دارد و همین امر امکان انجام تقریبا هر کاری را در محیط وب به یک برنامه نویس می دهد. در بیشتر موارد برای برنامه نویسی ASP.NET از Microsoft Visual Studio و برای پایگاه داده نیز از Microsoft SQL Server و برای وب سرور نیز از IIS یا همان Internet Information Service مایکروسافت استفاده می شود. در ASP.NET کدها در سمت سرور Encode می شوند و اگر کسی بتواند به سرور دسترسی پیدا کند نمی تواند از این کدها که در قالب فایل های DLL هستند استفاده کند ، در اصطلاح فنی به این عملیات Code-Behind گفته می شود.
زبان برنامه نویسی ASP.NET ذاتا برای سیستم عامل ویندوز و استفاده در آن طراحی و ایجاد شده است و بیشتر برنامه هایی که در این زبان نوشته می شوند وابسته به سیستم عامل ویندوز هستند ، البته این نکته را به عنوان نکته منفی در خصوص زبان برنامه نویسی ASP.NET مطرح می کنند اما توجه کنید که مایکروسافت پروژه هایی را شروع کرده است که برنامه هایی که توسط ASP.NET نوشته می شوند بر روی سیستم عامل های دیگر نیز قابل اجرا باشند که معروفترین این پروژه ها به نام MONO شناخته می شود ، بنابراین در آینده ای نه چندان دور شاهد این خواهیم بود که برنامه هایی که توسط ASP.NET نوشته می شوند براحتی بر روی لینوکس و یونیکس نیز اجرا شوند.از نظر تکنولوژی و معماری ASP.NET و Java از Platform هایی هستند که در سطح Enterprise و کلان استفاده می شوند و PHP معمولا برای نوشتن اسکریپت های وب استفاده می شود. همانطور که قبلا هم اشاره کردیم برای نوشتن یک برنامه پیچیده در زبان ASP.NET تعداد خطوط کد بیشتری نسبت به PHP نیاز است و به همین دلیل زمان تولید و توسعه یا همان Develop Time مربوط به زبان ASP.NET نسبت به زمان مشابه PHP بیشتر است. بر خلاف PHP که یک زبان مفسری است ، ASP.NET یک زبان کامپایلری است ، بدین معنا که کدها بعد از هر بار نوشتن مجددا بایستی کامپایل شده و با فایل های DLL تبدیل شوند.

برنامه نویسی با ASP.NET ساده تر است یا PHP ؟

بحث سادگی کار با یک محیط برنامه نویسی بستگی به موارد مختلفی دارد که از جمله آنها می توان به اندازه پروژه ای که می خواهیم انجام دهیم اشاره کرد. در وهله اول باید بگوییم که یادگیری زبان PHP قطعا برای شروع ساده تر از برنامه نویسی به زبان ASP.NET است اما برای برنامه نویسی اسکریپت های چند خطی یا وب سایت های کوچک نه برای نوشتن Web Application های بزرگ و سازمانی و یا اتوماسیون های اداری پیچیده ، اگر می خواهید صرفا یک وب سایت یا یک CMS یا یک Web Application ساده و دارای پیچیدگی های کم بنویسید برای شروع یادگیری PHP بهترین گزینه است . شما با استفاده از هر ویرایشگر متنی قادر به نوشتن کدهای PHP هستید که این خود یکی از مزایای اصلی این زبان برنامه نویسی وب می باشد . متاسفانه PHP ویرایشگر و ابزار مشخصی برای کدنویسی ندارد ، شرکت های مختلفی در اینترنت ابزارهای مختلفی برای استفاده برای کدنویسی این محصول ارائه داده اند که این خود یک عدم تمرکز برای برنامه نویسی PHP را ایجاد می کند

اما اگر قصد برنامه نویسی Web Application هایی در سطح Enterprise دارید ترجیجا ASP.NET را انتخاب کنید. هدف اصلی و ماهیت واقعی زبان ASP.NET که همانطور که گفتیم یک Platform به حساب می آید نوشتن Web Application های بزرگ و دارای فرم ها و اطلاعات ورودی و پیچیدگی های زیاد است ، برای کسانی که به برنامه نویسی کردن در محیط های گرافیکی عادت دارند این زبان بسیار بهتر است ، در ASP.NET شما در قالب استفاده از ابزارهای گرافیکی براحتی می توانید تولید کد داشته باشید و همچنین با استفاده از فرم های آماده یا همان Web Form ها می توانید براحتی به بانک های اطلاعاتی و ماهیت های مختلف اطلاعات و جدول ها بصورت گرافیکی دسترسی پیدا کنید بدون اینکه نیاز به کد نوشتن داشته باشید ، ASP.NET بصورت خودکار با ماژول هایی که در اختیار دارد این کدها را برای شما ایجاد می کند. در کنار اینها فریم ورک .NET برخی از موارد مانند Caching ، احراز هویت و بسیاری دیگر از این مسائل را به خودی خود انجام می دهد .توابع ASP.NET اینقدر زیاد است که تقریبا شما را از استفاده کردن از توابع خارجی در برنامه نویسی خود بی نیاز می کند. تمامی کارهایی که قرار است شما در ASP.NET انجام دهید در یک محیط یکپارچه یا بهتر بگوییم یک ابزار قدرتمند به نام Microsoft Visual Studio انجام می شود که طبیعتا سادگی های کار گرافیکی در محصولات مایکروسافت به خوبی در این نرم افزار نیز دیده می شود.

وابستگی به سیستم عامل در ASP.NET بیشتر است یا در PHP ؟

یکی از مواردی که تا چند وقت پیش به عنوان مزین PHP بر ASP.NET مطرح می شد این بود که کدهای نوشته شده توسط PHP بر روی هر سیستم عاملی قابل اجرا هستند و این موضوع برای کدهای ASP.NET وجود ندارد . با این موضوع تا حدودی موافق هستم اما نه الان ، در حال حاضر کدهای PHP براحتی با استفاده از نرم افزارهای شبیه سازی مثل WAMP و XAMP و بسیاری از این موارد براحتی بر روی سیستم عامل ویندوز اجرا می شوند و شما نیازی نیست برای برنامه نویسی PHP حتما لینوکس بلد باشید. در مقابل مایکروسافت نیز در سالهای گذشته سعی کرده است این نقطه ضعف خود را پوشش دهد و در این راه پروژه معروفی به نام MONO را ارائه کرده است که توسط آن شما می توانید براحتی کدهای ASP.NET را بر روی Platform هایی مثل لینوکس و یونیکس اجرا و کد نویسی کنید .

همین مورد باعث شده است دیگر ASP.NET این ضعف را نپذیرد ، اما به دلیل عدم شناخت درست افراد از وجود چنین پروژه ای و همچنین عادت کردن به زبان PHP و گسترده شدن این زبان معمولا این مسئله عنوان نمی شود ، هر چند شخصی که واقعا می خواهد کدنویسی در محیط ASP.NET کند در 99 درصد موارد از ویندوز استفاده می کند اما با این پروژه حرف و حدیث ها در مقابل این نقطه ضعف تمام شد. در واقع یکی پروژه MONO به عنوان Open Source ASP.NET با استفاده از وب سرور آپاچی و سرور لینوکس پیاده سازی و استفاده می شود. بنابراین امروزه ASP.NET را نیز می توانیم زبان برنامه نویسی وب مستقل از سیستم عامل عنوان کنیم.

امنیت ASP.NET بیشتر است یا PHP ؟

پرسیدن این موضوع که امنیت در ASP.NET بیشتر است یا در PHP دقیقا مثل همین سئوال است که امنیت در لینوکس بیشتر است یا در ویندوز ، در نهایت شما به جواب قاطعی در این زمینه دست پیدا نخواهید کرد. بحث امنیت بیشتر در حوزه میزان تخصص و دانش برنامه نویس بستگی دارد ، چه بسا شما یک اتومبیل FJCruser ( عشق منه این ماشین ) داشته باشید و بلد نباشید با آن رانندگی کنید ، این اتومبیل با پیکان برای شما تفاوتی نخواهد داشت چون دانش استفاده از آن را ندارید. اما مواردی هم هست که کمی قبل تر هم در مورد آنها صحبت کردیم ، یکی از موارد امنیتی که در پروژه های PHP وجود داشت این بود که فایل های PHP متن باز هستند و در صورتیکه کسی به سرور شما دسترسی داشته باشد می تواند سورس کدهای شما را براحتی بخواند اما در ویندوز با دلیل اینکه فایل ها قبل از اجرا توسط کامپایلر به فایل های DLL تبدیل می شوند و دارای قابلیت Code-Behind هستند نمی توان از این نقطه ضعف استفاده کرد. PHP برای پوشش این مسئله و Encode کردن سورس کد های خود قابلیت Zend را معرفی کرد که یک روش رمزنگاری برای کدهای PHP می باشد که دیگر این نقطه ضعف را نداشته باشند.

یکی دیگر از مزایایی که به عنوان مزیت امنیتی برای PHP محسوب می شود این است که نرم افزارهایی که بصورت عام و در قالب پروژه هایی مثل GNU ارائه می شوند متن باز هستند و شما می توانید سورس کد آنها را مشاهده و از نظر امنیتی آن را تحلیل کنید و به دلیل استفاده زیاد افراد در دنیا از اینگونه نرم افزارها و بدست آوردن باگ های امنیتی آن کدهای PHP از امنیت بالاتری برخوردارند . این بحث درست نیست زیرا همانطور که کدهای باز می تواند باعث بالاتر رفتن امنیت شوند باعث انتشار باگ های امنیتی یک محصول هم می توانند باشند ، یک هکر می تواند سورس کد یک محصول را بصورت کامل در اختیار داشته باشد و آن را از نظر امنیتی تحلیل و با نقاط ضعف بدست آمده به آن حمله کند اما در کدهای ASP.NET همچنین مشکلی وجود ندارد. البته باز هم تاکید می کنم که هیچ ملاکی برای امنیت بیشتر برنامه نویسی PHP بر ASP.NET و برعکس آن وجود ندارد و صرفا این دانش یک برنامه نویس است که تعیین کننده امنیت یک نرم افزار است. برای مثال CMS رایگان Joomla که بصورت رایگان در اینترنت وجود دارد یکی از اهداف همیشگی و ساده هکرها محسوب می شود

برخی اوقات مشاهده می کنیم که برنامه نویس های PHP این ادعا را دارند که چون سایت های بزرگی مثل گوگل ، یاهو و ... از برنامه نویسی PHP استفاده می کنند بنابراین امنیت این برنامه نویسی از ASP.NET بیشتر است. قبل از هر چیز باید یک نکته را خاطر نشان کنیم که این یک تصور نادرست است که بگوییم یک وب سایت بزرگ در دنیا صرفا از یک زبان برنامه نویسی استفاده می کند ، معمولا این وب سایت ها از انواع زبان های برنامه نویسی برای کار خود استفاده می کنند که قطعا PHP هم می تواند جزوی از آنها باشد ، PHP در گوگل به عنوان زبان برنامه نویسی اصلی به کار نمی رود ، زبان غالب اکثرا در این وب سایت ها C و C++ و جاوا می باشد و در برخی از ماژول های زیر مجموعه ممکن است از PHP استفاده کنند ، عزیزان توجه کنید که ASP.NET با برند مایکروسافت معرفی می شود و طبیعی است که حتی اگر بهترین زبان برنامه نویسی دنیا هم باشد شرکت های رقیب از آن برای نمایش کار خود استفاده نکنند. اما به واقع می توان گفت زبان برنامه نویسی PHP بسیار بسیار محبوب تر و مرسوم تر از ASP.NET در اینترنت می باشد

سرعت و کارایی ASP.NET بیشتر است یا PHP ؟

قبل از اینکه این بحث را باز کنیم یک مسئله را روشن کنیم ، توجه کنید که شما هر کاری را که می توانید با برنامه نویسی وب PHP انجام دهید با برنامه نویسی ASP.NET نیز می توانید انجام دهید و بر عکس همین موضوع نیز صادق است . سرعت و کارایی هر زبان برنامه نویسی به عوامل مختلفی بستگی دارد که از آن جمله می توان به تکنولوژی مورد استفاده در زبان برنامه نویسی ، نوع سیستم عامل مورد استفاده ، نوع فایل سیستم مورد استفاده ، بزرگی و گستردگی برنامه و پروژه و دانش برنامه نویسی اشاره کرد. در وهله اول برنامه نویسان ASP.NET اینطور القاء می کنند که چون زبان برنامه نویسی ASP.NET یک زبان کامپایلری است و زبان PHP یک زبان مفسری است بنابراین سرعت اجرا کدها در ASP.NET بیشتر از سرعت اجرا کدها در PHP است. این حرف هم درست است و هم اشتباه ، درست از این بابت که سرعت اجرای برنامه های کامپایل شده که در قالب فایل های DLL وجود دارند از برنامه های مفسری که بصورت خط به خط اجرا می شوند بیشتر است. یک اسکریپت PHP سرعت بیشتری نسبت به اسکریپت مشابه در ASP.NET دارد اما دلیلی برای اینکار وجود دارد. زمانیکه شما یک اسکریپت PHP را اجرا می کنید این کد به سرعت تفسیر شده و اجرا می شود و خروجی به مرورگر کاربر ارسال می شود که در این میان وقفه ای نداریم ، اما زمانیکه صحبت از اسکریپت ASP.NET می شود این کد علاوه بر اینکه به خودی خود باید اجرا شود بایستی چندین ماژول مانند ماژول های خواندن تنظیمات ، کنترل کردن Web Form ها ، انجام authentication ها و بسیاری دیگر از موارد را بصورت همزمان انجام دهد که همین مورد باعث کمتر شدن سرعت آن نسبت به مفسر PHP می شود. اینجاست که برنامه نویس های PHP به خود مغرور می شوند که زبان سریعتری دارند اما حقیقت طور دیگری است. بدون شک در برنامه هایی با تعداد خطوط پایین و اسکریپت های کوچک برتری با PHP است اما در سطوح کلان و برنامه های بسیار بزرگ سطح Enterprise که دارای ده ها یا صدها هزاران خط هستند برتری بدون شک با زبان های کامپایلری است . هر چند برنامه هایی برای سرعت بخشیدن به عملیات اجرای کدهای PHP ایجاد شده است اما همچنان برتری در سطح کلان با ASP.NET است.

نوع سیستم عامل نیز عامل بسیار مهمی در سرعت اجرا نرم افزارها می باشد. قطعا و بدون شک سیستم عامل ویندوز از نظر کارایی و سرعت نمی تواند با سرویس های لینوکسی برابری کند. این را به حساب تجربه کاری بنده با این سیستم عامل ها بگذارید. ویندوز به یکباره کلیه منابع سیستم را در اختیار می گیرد و وجود رابط گرافیکی ناخواسته سرعت اجرای نرم افزارها و سرویس ها را کند می کند ، اما لینوکس بر حسب نیاز اینکار را انجام می دهدو تمامی کارها از طریق Command و دستورات خط فرمان انجام می شود و رابط گرافیکی عملا وجود ندارد. سرویس های لینوکس بسیار قابل اعتمادتر از سرویس ها در ویندوز هستند و قطعا به این مورد برخورده اید که با انجام هر تغییری در سیستم عامل ویندوز یک Restart نیاز است. اما توجه کنید که اگر کدهای ASP.NET را بر روی سرور لینوکس و از طرفی کدهای PHP را بر روی سرور ویندوزی اجرا کنید که قطعا هم این امکان وجود دارد دیگر سیستم عامل جزو ملاک های سرعت و کارایی نمی تواند باشد. از طرفی طبق تحقیقات فایل سیستم مورد استفاده در هارد دیسک شما نیز می تواند عامل سرعت اجرای کد شما باشد که در این حالت گفته می شود بهترین فایل سیستم برای سرعت فایل سیستم لینوکسی ext4 است. هر چند این ملاک ها نسبی است زیرا بیشتر ما می خواهیم در خصوص خود برنامه نویسی صحبت کنیم نه سخت افزار و فایل سیستم ، در اینصورت وجود RAID در هارد دیسک ها نیز می تواند جزو ملاک ها محسوب شود. با توجه به تحقیقات انجام شده در صورت اجرای کدهای ASP.NET با استفاده از MONO در لینوکس سرعت اجرا آن از PHP به نسبت بالاتر خواهد بود. اما از همه اینها بگذریم مهم دانش برنامه نویسی است که در این حوزه استفاده می شود ، شیوه Query گرفتن و شیوه کد نویسی بر حسب دانش افراد در این حوزه متفاوت است ، هر چقدر هم که شما پروژه بزرگتری داشته باشید طبیعی است که دانش بیشتری را نیاز خواهید داشت ، در این خصوص به یک خاطره اکتفا می کنم ، در حوزه پایگاه داده قطعا Oracle از برتری مشهوی نسبت به MSSQL Sever برخوردار است. در یکی از پروژه هایی که یکی از دوستان در یک سازمان دولتی داشت قرار شد که یک Query از دیتابیس های Oracle گرفته شود که بعد از نوشته شدن این Query و اجرای آن در حدود 30 ثانیه پاسخ به Query و دریافت پاسخ از Oracle طول کشید اما جالب اینجا بود که همین Query در MSSQL Server تنها 5 ثانیه طول می کشید. در اینجا مسئله دانش Oracle بود که دوست ما این دانش را نداشت. فردای همان روز یک Oracle کار حرفه ای همان Query را با کمی تغییر در Oracle وارد کرد و مشاهده کردیم که پاسخ در کمتر از یک دهم ثانیه ارائه شد. این نشان از اهمیت دانش برنامه نویسی و کد نویسی در سرعت و کارایی یک برنامه دارد که واقعا از همه چیز در بحث سرعت و کارایی مهمتر است.

ابزارها و رابط های کاربری ASP.NET بهتر است یا PHP ؟

برای هر یک از زبان های برنامه نویسی PHP و ASP.Net یک محیط برنامه نویسی وجود دارد که در اصطلاح فنی به آن IDE گفته می شود.یکی از مزایای بسیار خوب زبان برنامه نویسی PHP این است که نیازی به محیط برنامه نویسی خاصی ندارد ، تقریبا شما می توانید با هر ویرایشگر متنی که در دسترس است به زبان PHP کد نویسی کنید که یکی از مزایای عالی این زبان به حساب می آید. از طرفی برای اینکه بتوانید صرفا در یک محیط متنی کد نویسی کنید بایستی در برنامه نویسی PHP تا حدی حرفه ای باشید تا بتوانید نیاز خود را تمام و کمال برآورده کنید. در مقابل برای ASP.NET یک IDE معروف وجود دارد که تقریبا بصورت انحصاری فقط در این نرم افزار کدهای ASP.NET نوشته می شود و این IDE چیزی جز Microsoft Visual Studio نمی باشد ، نرم افزاری گرافیکی که با استفاده از محیط آن براحتی می توانید برنامه های خود به زبان ASP.NET را کد نویسی کنید. اما خوب انحصاری بودن در این حوزه یکی از نقاط ضعف ASP.NET محسوب می شود . در کنار IDE ها بحث ابزارها و اسکریپت های آماده نیز وجود دارد که در این خصوص بدون شک با توجه به عمومیت بیشتر زبان PHP برای این زبان اسکریپت های آماده و همچنین کدهای آماده بسیار زیادی وجود دارد که حقیقت متن باز بودن این زبان را آشکار می کند. درست است که پروژه های Open Source ای برای ASP.NET هم وجود دارد اما واقعا در قیاس با پروژه ها و اسکریپت ها و نرم افزارهای متن بازی که برای PHP وجود دارد قابل مقایسه نیستند ، تقریبا شما هر نوع اسکریپت آماده ای را که بخواهید می توانید به زبان PHP آن را با یک جستجوی ساده پیدا کنید ، حداقل کاری که با این ابزارهای فراوان می توان انجام داد اعمال تغییرات و بومی سازی برای برنام نویسان مبتدی و الگوبرداری برای نوشتن اسکریپت های بهتر است ، بنابراین بدون شک ابزارها ، نرم افزارها و رابط های کاربری که برای PHP وجود دارد از تنوع و تعداد بیشتری نسبت به ASP.NET برخوردارند اما از این موضوع هم غافل نشویم که اگر در ASP.NET شما فقط از یک IDE انحصاری استفاده می کنید این IDE شما را از استفاده کردن از هر IDE دیگری بی نیاز می کند.

سرعت توسعه و پیشرفت ASP.NET بیشتر است یا PHP ؟

سرعت توسعه و پیشرفت هر یک از این زبان های برنامه نویسی به عوامل متعددی بستگی دارد که از آن جمله می توان به پشتیبانی ، منابع آموزشی و یادگیری و بازار کار این زبان های برنامه نویسی وب اشاره کرد. در خصوص پشتیبانی یکی از مهمترین موارد وجود یک ارگان یا یک شرکت منسجم در پس زمینه می باشد . در خصوص برنامه نویسی ASP.NET قطعا نمی توان به غول نرم افزاری بزرگ دنیا یعنی مایکروسافت شک کرد ، شرکت مایکروسافت به خوبی و با بهترین و منسجم ترین حالت ممکن همیشه در حال بروز رسانی ، پشتیبانی و ارتقاء ASP.NET بوده است و همیشه مرجعی واحد به نام MSDN وجود داشته است که براحتی شما می توانید مشکلات و مسائل خود در خصوص یادگیری را با این مرجعه مرتفع کنید. از دیگر نقاط قوت ASP.NET این است که کتابهایی که برای این محصول نوشته می شود هم همیشه منسجم و دارای نظم و یکپارچگی خاصی هستند زیرا از طرف شرکت مایکروسافت به خوبی پشتیبانی می شوند. وجود وب سایتی مثل TechNet و امثال انها برای پشتیبانی و دریافت بازخورد از کاربران یکی دیگر از نقاط قوت این زبان برنامه نویسی است.

یکی از نقاط قوت برنامه نویسی به زبان ASP.NET پشتیبانی ذاتی این زبان از یونیکد و زبان فارسی می باشد که برای برنامه نویسان ایرانی بسیار این امر مهم است. یکی از نقاط ضعفی که برای پشتیبانی از ASP.NET عنوان می شود این است که فقط یک شرکت انحصاری به نام مایکروسافت از این زبان پشتیبانی می کند و ممکن است این شرکت روزی دیگر از این زبان پشتیبانی نکند و در مقابل برای زبان PHP با توجه به فراگیر بودن آن منابع و پشتیبانی های متعددی وجود دارد ، به نظر من این یک بحث طنز است تا یک بحث انتقادی ، اگر قرار باشد روزی مایکروسافت از ASP.NET پشتیبانی نکند قطعا باید بیشتر به فکر ویندوز باشیم تا برنامه نویسی ASP. NET . در خصوص پشتیبانی از زبان PHP باید بگوییم که در مقایسه با ASP.NET منابعی که در اینترنت برای آموزش و یادگیری PHP وجود دارد بسیار فراوان تر و گسترده تر می باشد. این امر کاملا طبیعی است زیرا عمومیت بیشتری در استفاده از PHP نسبت به ASP.NET وجود دارد و بر حسب ذات Open Source این زبان وب سایت ها و تالارهای گفتمان تخصصی بسیار زیادی برای پشتیبانی از این محصول وجود دارد. در کنار این منابع آموزشی بصورت رسمی شرکتی به نام Zend مسئول توسعه و ارائه نسخه های جدید PHP می باشد که به پشتیبان اصلی این زبان معروف است. شرکت Zend همان کاری را انجام می دهد که مایکروسافت برای ASP.NET انجام می دهد و در واقع بروز کردن Engine مربوط به PHP را بر عهده دارد. طبیعی است که هیچوقت نیازی نیست نگران پشتیبانی یا عدم پشتیبانی از PHP باشیم ، آنقدر منابع آموزشی و اسکریپت های آماده برای یادگیری این محصول وجود دارد که به هیچ عنوان وابستگی به شرکت خاصی ندارد. با توجه به سادگی یادگیری و توسعه نرم افزارها در PHP و سهولت کاربری برای برنامه نویسان تازه کار ، سرعت توسعه و پیشرفت این زبان نیز به سرعت رو به پیشرفت است.

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

هزینه استفاده از ASP.NET بیشتر است یا PHP ؟

قبل از اینکه به سراغ بحث هزینه برویم اول یک مورد را مشخص می کنیم ، آیا شما در کشور ایران زندگی و برنامه نویسی می کنید یا در یک کشور خارجی ؟ این بحث خیلی مهم است ، در خصوص هزینه های استفاده از این زبان های برنامه نویسی یکی از مواردی که PHP کارها به عنوان نقطه قوت خود می دانند رایگان بودن کلیه بسته های نرم افزاری مورد استفاده در این زبان است. ساختار کاری PHP بر اساس پروژه GNU و نرم افزارهای آزاد است بدین معنی که همه چیز در حوزه نرم افزار در اینجا رایگان است . سیستم برنامه نویسی PHP یک ساختار مشخص دارد که به عنوان LAMP شناخته می شود و همانطور که قبلا هم اشاره کردیم مخفف شده کلمات Linux و Apache و MySQL و PHP می باشد. همه این بسته نرم افزاری بدون هیچگونه هزینه اضافی بصورت رایگان چه در ایران و چه در جاهای مختلف جهان برای برنامه نویسان در دسترس می باشد.از این بابت برای افرادی که در خارج از کشور زندگی می کنند کاملا PHP به صرفه است زیرا کوچکترین هزینه ای بابت خرید لایسنس نرم افزار خود نباید بدهند ، هم لینوکس رایگان است و هم آپاچی و هم MySQL پس نیازی به هزینه های اضافی نیست ، از طرفی نمونه نرم افزارهای زیادی بصورت رایگان در اینترنت وجود دارد که بدون هیچ هزینه ای می توانید از آنها استفاده کرده و بومی سازی کنید. توجه کنید که در بحث Add-On ها به هیچ عنوان ASP.NET نمی تواند در این حجم زیاد نرم افزارهای رایگان در اینترنت داشته باشد ، هر چند پروژه هایی برای متن باز کردن ASP.NET وجود دارد اما واقعا در مقابل پروژه هایی که با PHP انجام شده اند و رایگان در اینترنت وجود دارند قابل مقایسه نیستند. از طرف دیگر در برنامه نویسی به زبان ASP.NET چیزی به نام رایگان وجود ندارد. شما باید برای هر چیزی در این حوزه هزینه کنید و طبیعی است زیرا یک شرکت در دنیا پشتیبانی کلی مجموعه ASP.NET را بر عهده دارد نه یک جامعه و به همین دلیل شرکت سازنده بایستی بتواند از پس مخارج خود در بیاید. ASP.NET باید بر روی ویندوزی نصب شود که خود ویندوز سیستم عامل رایگانی نیست ، ASP.NET باید بر روی Microsoft Visual Studio ای ایجاد شود که رایگان نیست ، ASP.NET از پایگاه داده ای باید استفاده کند به نام MSSQL که طبیعتا رایگان نیست و در نهایت از وب سروری استفاده می کند که باید در سیستم عامل های مایکروسافت نصب شود . بنابراین استفاده از ASP.NET هزینه هایی را در بر دارد . اما به یک نکته توجه کنید که این هزینه ها برای اشخاص یا شرکت هایی است که در خارج از کشور هستند ، در ایران ما چیزی به عنوان هزینه نرم افزار نداریم و شما به جای خرید یک عدد ماست 3 کیلویی دبه ای می توانید 5 عدد DVD نرم افزار خریداری کنید با اشانتیون های مختلف ، پس صحبت از هزینه در ایران بی معنی است ، در خارج از کشور هم اینگونه نیست که همه به سراغ PHP بروند زیرا هزینه کمتری دارد ، شرکت ها و سازمان های بزرگی که در حال پیاده سازی پروژه های Enterprise هستند براحتی هزینه های اولیه خرید لایسنس بسته ASP.NET را قبول می کنند زیرا به قابلیت های این بسته برای انجام پروژه های سنگین اعتماد دارند از طرفی این هزینه فقط یکبار انجام می شود و طبیعی است که هر بار نیاز به تکرار آن نمی باشد. یکی دیگر از بحث هایی که ممکن است در این میان پیش بیاید این است که اگر ایران به قانون کپی رایت بپیوندد چه اتفاقی برای برنامه نویسان ASP.NET می افتد ؟ در واقع این نیز یک نکته جالب برای برتری PHP عنوان می شود ، اما خوب چند نکته را در این خصوص باید متذکر شویم ، اولا به این نکته توجه کنید که زمانیکه شما به قانون کپی رایت بپیوندید دغدغه هایی بیشتر از ASP.NET خواهید داشت چون هزاران نرم افزار دیگر نیز داریم که دارای همین مشکل هستند بنابراین اگر ایران به قانون کپی رایت بپیوندد قطعا کشورهای دیگر دنیا با علم به وجود چنین موردی بصورت گام به گام مراحل سوق به سمت کپی رایت را در ایران پیش می برند و نه به یکباره ، از طرف دیگر پروژه هایی که در حوزه ASP.NET انجام می شود معمولا پروژه های بزرگی هستند که هزینه های بالایی نیز دارند ، همیشه به فکر هزینه نباشید ، چه بسا یکبار برای خرید بسته ASP.NET هزینه می کنید اما بارها در پروژه های گسترده سازمانی از آنها استفاده می کنید و قطعا در همان فار اول هزینه های خرید نرم افزار خود را در می آورید. بدون شک چه بخواهیم و چه نخواهیم بسته نرم افزاری ASP.NET از قدرت بیشتر و امکانات بیشتری نسبت به PHP برخوردار است و اگر هزینه ای بابت آن ، آن هم در صورت پذیرفتن قانون کپی رایت به وجود بیاید دریافت شود ازرشش را دارد.

نتیجه گیری کلی در خصوص مقایسه زبان PHP و ASP.NET

فاکتورهای مختلفی را در رابطه با مقایسه این دو زبان برنامه نویسی وب عنوان کردیم اما همانطور که در ابتدای مقاله هم اشاره کردیم سعی کردیم حقایق را عنوان کنیم و طرفداری از محصول خاصی را نکنیم. به هر حال با تمامی این اوصاف در نهایت این خلاقیت ، دانش و مهارت برنامه نویس است که یک زبان برنامه نویسی را خوب جلوه می دهد و یا بر عکس . یک برنامه نویس حرفه ای باید بتواند با Platform ها و ابزارهای مختلف کار کند و با آنها تا حدودی آشنایی داشته باشد ، نوع ابزار مهم نیست مهم دانش و شیوه پیاده سازی است. برای یک برنامه نویس حرفه ای سویچ کردن از برنامه نویسی ASP.NET به PHP و برعکس کار چندان سختی نیست زیرا مفاهیم را همیشه در ذهن دارد فقط syntax اجرای آن را عوض می کند. توجه کنید تعصب بیجا به یک زبان برنامه نویسی صرفا برای برنامه نویسان مبتدی است نه برای برنامه نویسان حرفه ای ، چیزی که در شبکه نیز وجود دارد و بصورت نادرستی سیسکو را با مایکروسافت مقایسه می کنند ، در سطوح بالا هر دو به خوبی با هم کار می کنند اما در سطوح پایین همه با هم مشکل دارند. انتخاب یک زبان برنامه نویسی به صورت ویژه ای به سطح و اندازه کار و نیازمندی های پروژه شما دارد که در پاراگراف های قبل به این مسئله اشاره کردیم. در نهایت مهمترین رکن در برتری یک زبان برنامه نویسی نیروی انسانی است که زبان را در دست می گیرد



تلگرام

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

برچسب ها:

نظرات() 

PHP چیست ؟

نویسنده :
تاریخ:دوشنبه 11 آبان 1394-11:09 ب.ظ

php logo
PHP چیست ؟

PHP مخفف عبارت Hypertext Preprocessor یا پیش پردازنده ابر متن می باشد. این زبان اسکریپت نویسی به همراه HTML  به کار می رود و بر خلاف HTML دارای قابلیت پردازش داده می باشد. اگر با HTML آشنا باشید حتما می دانید که HTML یک زبان برنامه نویسی نیست بلکه یک زبان Markup یا نشانه گذاری می باشد و تنها امکان ایجاد صفحات وب را فراهم می سازد  که در این صفحات متن ها, تصاویر و لینک ها قرار می گیرد. HTML دارای دستورات مفیدی همچون ارسال یک فرم به سرویس دهند وب می باشد ولی با استفاده از این زبان Markup نمی توان داده ها را پردازش کرد.

PHP در سال ۱۹۹۴ توسط Rasmus Lerdorf که در ابتدا با استفاده از زبان Perl برای نگه داری صفحه خانگی خود نوشته بود نوشته شد و سپس با استفاده از زبان C پیاده سازی شد و در اختیار عموم قرار گرفت. در سال ۱۹۹۸ نسخه ۳ این زبان به وجود آمد و اکنون نسخه ۵ آن در اختیار برنامه نویسان قرار گرفته است.

به طور کلی صفحات وب به دو نوع ایستا (Static Pages) و پویا (Dynamic Pages) دسته بندی می شود. در اوایل دهه ۱۹۹۰ بیشتر صفحات وب به صورت ایستا ایجاد می شدند, این صفحات فقط دارای کدهای HTML بودند و در برابر عملیات های کاربر هیچ واکنشی را از خود نشان نمی دادند و صرفا جهت مطالعه یکسری متون بودند. ولی توسعه دهندگان می خواستند صفحاتی را ایجاد کنند که در مقابل عملیات مختلف کاربر عکس العملی از خود نشان دهند تا با کاربر ارتباط محاوره ای داشته باشند,  همچون ایجاد صفحات مخصوصی برای هر کاربر و یا گرفتن داده هایی از کاربر !

با گذشت زمان و به لطف Java Script صفحات وب پویا تر شدند و در مقابل کلیک و یا حرکت موس از  خود عکس العملی نشان می دادند.
زبان های اسکریپت نویسی به دو دسته سمت سرویس گیرنده و سمت سرویس دهنده تقسیم می شوند, اسکریپت هایی همچون Java Script در دسته اول یعنی سرویس گیرنده قرار می گیرند و کاربر می تواند آن ها را مشاهده یا با ابزار هایی تغییر دهد, اما زبان PHP در سمت سرویس دهنده می باشد و کاربر هیچ نشانه ای از کد های PHP را نخواهید دید بلکه فقط نتیجه پردازش های PHP به شکل HTML را خواهید دید.

به طور کلی PHP از سه قسمت زیر تشکیل شده است:

  • ماژول های تابع
  • هسته زبان
  • واسط سرویس دهنده وب

ماژول های تابع قابلیت های با ارزشی را به PHP می افزایند و هسته زبان (Zend) نیز کار ترجمه و اجرای کد های PHP را انجام می دهد و سپس سرویس دهنده وب هم امکان ارتباط PHP با سرویس دهنده وب را فراهم می سازد.

چرا از  PHP استفاده کنیم ؟

یکی از دلایل اصلی استفاده ما از  PHP رایگان بودن و در دسترس بودن کد های آن می باشد و تفاوت اصلی آن با زبان هایی همچون ASP و یا ColdFusion در همین مسئله می باشد.

در زیر مهمترین دلایل استفاده ما از PHP را آورده ایم :

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



تلگرام

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

برچسب ها:

نظرات() 

ASP.NET چیست؟

نویسنده :
تاریخ:دوشنبه 11 آبان 1394-10:54 ب.ظ


ASP.NET نسل بعدی Active Server Pages یا ASP است که توسط شرکت میکروسافت ارائه شده است. این محصول توسط میکروسافت بعنوان شاخص اصلی فناوری در ساخت سایتهای وب در نظر گرفته شده است. با استفاده از ASP.NET می توان هم اینترانت کوچک یک شرکت را ساخت و هم یک سایت وب تجاری خیلی بزرگ را طراحی و پیاده سازی نمود. مهمترین نکاتی که در طراحی این محصول در نظر گرفته شده است راحتی استفاده و بالا بودن کارائی و قابلیت آن می باشد. در زیر برخی ویژگیهای ASP.NET را بررسی می کنیم:


• صفحات ASP.NET کامپایل می شوند:


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


• صفحات ASP.NET با ابزارهای روی سرور ساخته می شوند:


با ابزارهای موجود در ASP.NET می توان صفحات پیچیده وب را براحتی طراحی نمود. بعنوان مثال با استفاده از ابزار DataGrid می توان به آسانی داده های موجود در یک بانک اطلاعاتی را تحت وب نمایش داد.


• مجموعهASP.NET عضوی از بدنه NET. است:


بدنه NET. دارای بیش از 4500 کلاس آماده جهت استفاده در ASP.NET است. این کلاس ها تقریبا هر نیازی را در برنامه نویسی برآورده می کنند. بعنوان مثال از این کلاس ها می توان جهت تولید تصاویر بر حسب تقاضا، به رمز درآوردن یک فایل و یا ارسال یک نامه استفاده کرد.


مقایسه ASP.NET و ASP کلاسیک:


ASP.NET نسل بعدی ASP یا ASP کلاسیک است. اما این یک پیشرفت تکاملی است بطوریکه این دو فناوری تقریبا از یکدیگر متفاوتند. صفحات ASP با زبان های دستورالعمل نویسی مانند VBScript یا JScript ایجاد می شوند اما در ASP.NET ما یک فرایند کامل برنامه نویسی با زبانهای Visual Basic یا #C (سی-شارپ تلفظ شود) داریم. همچنین در ASP کلاسیک تنها پنج کلاس استاندارد (Request, Response, Application Session, Server) وجود دارد حال آنکه در ASP.NET می توان از بیش از 4500 کلاس استاندارد موجود در بدنه NET. بهره جست.همچنین علیرغم قدرت و امکانات زیاد و متعدد ASP.NET، استفاده از آن در مقایسه با ASP کلاسیک بسیار آسانتر است. بعنوان مثال با استفاده از چند ابزار در یک صفحه ASP.NET می توان یک صفحه بسیار پیچیده HTML بدست آورد که ساخت آن در ASP کلاسیک ممکن است نیاز به چند روز کار داشته باشد

زبانهای برنامه نویسی در ASP.NET:


شما در ASP.NET می توانید از هر زبان برنامه نویسی که با بدنه NET. سازگار باشد استفاده کنید. این زبانها عبارتند از Visual Basic.NET و #C و JScript.NET . این بدین معنی است که شما جهت نوشتن برنامه در ASP.NET نیاز به فراگیری زبان جدیدی ندارید و اگر یکی از زبانهای ویژوال بیسیک یا ++C یا جاوا را می دانید هم اکنون می توانید در ASP.NET برنامه بنویسید.از طرف دیگر تعدادی زبانهای دیگر توسط بعضی از شرکتهای فعال در این زمینه به مجموعه زبانهای استاندارد ASP.NET افزوده شده است. بعنوان مثال اگر مایل باشید حتی می توانید از PERL و COBOL هم در ASP.NET استفاده کنید.

ابزارهای ASP.NET:


سالهاست که برنامه نویسان ویژوال بیسیک جهت ساخت فرم های خود از ابزارهای ویژوال بیسیک مانند TextBox و ListBox استفاده کرده اند. در ASP.NET هم شما می توانید از ابزارهای فراوان موجود در آن برای ساخت فرم ها و صفحات خود استفاده نمائید. در ASP.NET چهار دسته عمده از ابزارها موجود است:
• ابزارهای اصلی مانند TextBox، RadioButton، ListBox و Button.
• ابزارهای اعتباری برای حصول اطمینان از ورود و تائید صحت اطلاعات ورودی فرم ها.
• ابزارهای داده ای برای ارتباط با بانک اطلاعاتی و دستکاری داده.
• ابزارهای پیشرفته جهت نمایش عناصر پیچیده در واسط کاربر مانند تقویم و آگهی های تبلیغاتی.

با استفاده از Visual Studio.NET شما براحتی می توانید با چیدن تصویری این ابزارها بر روی فرم مورد نظر، صفحه دلخواه خود را بسازید. در صورت تمایل حتی می توانید در یک ویرایشگر ساده متن مانند Notepad برنامه مورد نظر را نوشته و از این ابزارها استفاده کنید.




تلگرام

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

برچسب ها:

نظرات() 

انواع ابر ها در پردازش ابری

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-02:21 ب.ظ

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

انواع استقرار ابر  Cloud Deployment Models

1.  ابر عمومی     Public cloud  
2.  ابر خصوص Private cloud   
3.  ابر ترکیبی Hybrid cloud   
4.  ابر گروهی  Community cloud
  

1. ابر عمومی Public cloud


ابر عمومی public cloud

ابر عمومی یا Public Cloud در قالب یک سرویس در اینترنت قابل دسترس است. معمولا کاربرانی که از سرویس های ابر عمومی استفاده می کنند بصورت ماه به ماه مبالغی را به ازای پهنای باند مصرفی و سرویسی که دریافت می کنند پرداخت می کنند. کاربران در چنین حالتی نیازی به خریداری سخت افزارها و دستگاه های ذخیره سازی اطلاعات و سایر موارد ندارند و این در واقع همان ماهیتی است که مقیاس پذیری Cloud را نشان می دهد ، در صورت نیاز به سرویس و خدمات بیشتر بلافاصله از سایر منابع خدمات مورد نیاز کاربر تامین می شود. این وظیفه شرکت ارائه دهنده سرویس Public Cloud است که برای شما زیرساختارها و بخش مهمی از منابع را نگهداری کند. با توجه به اینکه کاربران Public Cloud نیازی به خریداری نرم افزار یا سخت افزار خاصی ندارند ، هزینه های استفاده از اینگونه سرویس ها معمولا پایین است. ابعاد استفاده از Public Cloud بسیار متنوع است ، شما می توانید از نگهداری چند فایل مهم تا ذخیره سازی مقدار زیادی اطلاعات بر روی این سرویس ها حساب باز کنید. در Public Cloud هزینه ها بر اساس مدت زمان استفاده از تجهیزات ذخیره سازی تعیین می شوند ، بنابراین هر چقدر شما داده ها را بخواهید مدت زمان بیشتری نگهداری کنید بایستی هزینه بیشتری پرداخت کنید ، پیشنهاد می شود که از Public Cloud بیشتر در مواردی که نیاز به استفاده از داده های پویا یا Dynamic Data هست استفاده کنید.


2. ابر خصوصی Private Cloud
ابر خصوصی Private cloud

ابر خصوصی ( Private Cloud ) یک مدل خاص از محاسبات ابری ( Cloud Computing ) است که شامل یک محیط مبتنی بر ابر مجزا و امن است که تنها برای یک مشتری کار می کند. همانند دیگر مدل های ابر، ابر خصوصی قدرت محاسباتی را به عنوان یک سرویس در یک محیط مجازی با استفاده از یک استخر از منابع محاسبات فیزیکی ارایه می دهد.با این حال، در مدل ابر خصوصی، ابر (استخر از منابع) تنها توسط یک سازمان ارائه دهنده با کنترل بالاتر که حفظ حریم خصوصی را دارد در دسترس است.مکانیزم فنی مورد استفاده برای ارائه خدمات مختلف که می تواند به عنوان خدمات ابر خصوصی طبقه بندی شده که بطور قابل توجهی کاهش می یابد و بنابراین می تواند متفاوت باشد آنچه سخت است تعریف جنبه های فنی یک ابر خصوصی است. این خدمات معمولا توسط ویژگی های که آنها را به مشتری ارائه داده اند دسته بندی کرد. صفات که مشخص ابرهای خصوصی فنس کشی یک ابر برای استفاده انحصاری از یک سازمان و به امنیت بالاتر لایه شبکه است . آنها می توانند در مقابل یک ابر عمومی است که مشتریان خدمات مختلف مجازی که دسترسی به تمام قرعه کشی از منابع همان استخر خود را از سرور در سراسر شبکه های عمومی تعریف شده است. مکانیسم های فنی مورد استفاده برای ارائه خدمات مختلف است که می تواند به عنوان خدمات ابر خصوصی می تواند متفاوت باشد، بطور قابل توجهی طبقه بندی شده و آنچه سخت است تعریف جنبه های فنی یک ابر خصوصی است.

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

ویژگی های و مزایای ابرهای خصوصی یا Private Clouds

امنیت بالاتر و حفظ حریم شخصی: خدمات ابر خصوصی می توانند یا سطح معینی از امنیت را با استفاده از منابع با دسترسی محدود و پشت فایروال و همچنین خطوط اختصاصی استیجاری و میزبانی داخلی که قابل جستجو نباشد حاصل نماید.
کنترل های بیشتر: به یک ابر خصوصی تنها یک سازمان امکان وصل شدن مدیریت و اعمال تنظیمات خود را برای رسیدن به یک راه حل شبکه ای را دارد.
هزینه و صرفه جویی در انرژی:پیاده سازی یک مدل ابر خصوصی می تواند تخصیص منابع در یک سازمان و تضمین دسترسی به منابع بخش خصوصی کسب و کار را بهبود بخشد. در اقتصاد های کوچک این با افزایش سربار مدیریتی همراه است که با استفاده کار امد تر ازمنابع این شبکه به حداقل می رسد.
بهبود قابلیت اطمینان : حتی در جایی که منابع (سرور، شبکه و غیره) داخل میزبان است ، ایجاد محیط های مجازی به این معنی است که شبکه انعطاف پذیر تر نسبت به استفاده از زیرساخت های فیزیکی است.. علاوه بر این، سازمان هنوز هم می تواند از امنیت فیزیکی که توسط زیرساخت های میزبانی در مراکز داده بهره مند شوند.

3. ابر ترکیبی Hybrid cloud
ابر ترکیبی Hybrid cloud
ابر ترکیبی در واقع ترکیبی از فواید ابر خصوصی و عمومی است. در این حالت انتخابهای متعددی از حالت عمومی و خصوصی با تدارک کنندهای متفاوت پیش رو است. در این حالت شما هر بخش از کسب و کارتان را می­توانید روی ابر مخصوص و متناسب خود قرار دهید. عیب این روش این است که باید روشها و تدارک کننده های متفاوت را ردیابی و مدیریت کنید.
یک ابر ترکیبی یا ابر آمیخته متشکل از چندین ارائه دهندهٔ داخلی و یا خارجی، گزینهٔ مناسبی برای بیشتر مؤسسات تجاری می‌باشد. با ترکیب چند سرویس ابر کاربران این امکان را می‌یابند که انتقال به ابر عمومی را با دوری از مسائلی چون سازگاری با استانداردهای شورای استانداردهای امنیت داده‌های کارتهای پرداخت آسانتر سازند.
از قابلیت‌های رایانش ابری تركیبی با امنیت بالا محافظت در برابر تهدیدات رایانش ابری و شناسایی هویت الكترنیكی و فردی همه دستگاه‌های متصل به فضای رایانش ابری می‌باشد و دسترسی به رایانش ابری توسط كاربران بدون شناسایی ممكن نمی‌باشد

4.ابر جامعه Community cloud

ابر جامعه Community cloud
زیرساخت های ابر برای استفاده انحصاری و مشروط توسط یک جامعه خاص از مصرف کنندگان از یک سازمان به اشتراک گذاشته شده اند (به عنوان مثال، ماموریت، امنیتمورد نیاز، سیاست، و ملاحظات انطباق). ممکن است ابر متعلق به یک یا بیشتر از سازمان ها در جامعه، شخص ثالث، و یا برخی ازترکیبی از آن ها، باشد




تلگرام

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

برچسب ها:

نظرات() 

لایه های تشکیل دهنده معماری پردازش ابری

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-02:05 ب.ظ

لایه های ابر
در حالت کلی معماری معماری پردازش ابری از سه لایه تشکیل شده است:

-  نرم افزار به عنوان سرویس Software as a service - SaaS
-  بستر به عنوان سرویس    Platform as a service - PaaS  
-  زیرساخت به عنوان سرویس Infrastructure as a service - IaaS 

اما در اصل این معماری حاوی 5 لایه است:

لایه اول: کاربر

کاربر رایانش ابری متشکل از سخت افزار و نرم افزاری است که برای تحویل برنامه های کاربردی از ابر استفاده می کند و یا آنکه به طور ویژه تنها برای تحویل سرویس های ابر طراحی شده است که در هر دوی موارد بدون وجود ابر بی استفاده باشد در حالت کلی خصوصیات این لایه عبارت است از:

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

از جمله مثال های لایه کاربری می توان به موارد زیر اشاره کرد:

تلفن های همـراه بـا سیسـتم عامـل هـای IOS ، آندرویـد و وینـدوز موبایـل ، کـاربران سـبک مثـل Zonbu ، CherryPal و سیستم های مبتنی بر gos ، کاربران بزرگ و مرورگرهای وب مثل فایرفـاکس ، گوگل کروم و وب کیت هستند.

لایه دوم: نرم افزار به عنوان سرویس

سرویس های برنامه کاربردی ابری یا نرم افزار به عنوان سـرویس (SaaS) ، نـرم افـزار را بـه صورت سرویس روی اینترنت تحویل میدهند و بدین وسیله نیـاز بـه نصـب نـرم افـزار روی رایانه های مشتریان را ازبین می برند و نگهداری و پشتیبانی را ساده تر می سـازد . ویژگـی هـای اصلی این سرویس ها عبارتند از:
  •    دسترسی و مدیریت نرم افزار تجاری از طریق شبکه
  •    فعالیت هایی که از سوی مراکزی خاص اداره می شوند این مراکز در جایی غیر از مکان هریـک ازمشتریان هستند و در نتیجه مشتریان می توانند از راه دور و از طریق وب به برنامه ها دسترسـی داشـته باشند.
  • مدل تحویل نرم افزار به مدل یک به چنـد ( یـک نسـخه در حـال اجـرا از برنامـه - مـدل چنـد مستاجری) نزدیک تر است تا مدل یک به یک.
  • به روز رسانی و ارتقای نرم افزار به صورت مرکزی اداره مـی شـود و نیـاز بـه بـارگیری (دانلـود) وصله ها یا ارتقا دهنده ها را برطرف می سازد.
نرم افزارهای P2P مانند : اسکایپ ، برنامه هـای وب ماننـد : فـیس بـوك ، تـوییتر و یوتیـوب ، سرویس های امنیتی مانند : MessageLabs ، سرویس های نرم افزاری مانند:GoogleLabs  ، IBM Lotus Live  ، CRM ،HR  ، Payroll ، Google Calendar  ، Gmail ، salesforce.com سرویس های اضافه بر نرم افزارها مانند : سرویس های آنلاین مایکروسافت و سرویس های ذخیره سازی از جمله مثال های لایه برنامه است.
کمپانی های زیر اختصاصا" برای تجارت نرم افزار به عنوان سرویس تأسیس شده اند که درقبال ثبت نام کاربران خود مبلغی را به عنوان شارژ دریافت می کنند. و نرم افزار های آن ها در سرورهای مرکزی شان نصب شده است و کاربران از طریق اینترنت به برنامه دسترسی پیدا می کنند.
Salesforce.com , Google , NetSuite , Taleo , Concur Technologies


لایه سوم: بستر به عنوان سرویس

سرویس های بستر ابری یا « بستر به عنوان سرویس » بستر رایانشی و یا پشـته راهکـار ( کـه اغلب روی زیرساخت ابری اجرا شده و برنامه کاربردی ابری را تغذیه می کند ) را به صورت سـرویس ارایـه می دهد. در این مدل به جای نرم افزار  پلتفرم مانند یک سرویس است .
با بستر به عنـوان سـرویس نرم افزارها را می توان بدون صرف هزینه و پیچیـدگی در خریـد و مـدیریت سـخت افزارهـا و نـرم افزارهای اصلی و همچنین مهیا کردن امکانات میزبانی وب گسترش داد و توسعه دهنده های نـرم افزار برای ایجاد برنامه های جدید یا توسعه برنامه های قبلی نیاز به صرف هزینه های توسعه نیسـتند .
این سرویس یک لایه ی نرم افزاری را به صورت بسته ارایه می دهد که می تـوان ازآن بـرای تولیـدسرویس های سطح بالاتر استفاده نمود. سرویس پلتفرمی شامل میان افزار، امکانات تجمیـع ، تبـادلپیغام ، اطلاعات و تنظیم اتصال می باشد. یک مثال خوب می تواند موتور تولید نرم افزارGoogle Apps باشد که امکان اجرای برنامه های کاربردی توسـط زیـر سـاخت گوگـل را فـراهم مـی آورد.سرویس های پلتفرمی مانند این می توانند امکانات پایه ای قدرتمندی را برای توسعه ی نرم افزارهایکاربردی در اختیار ما قرار بدهند و صد البته این امکاناتی که در اختیار توسعه دهنده قرار مـی گیـرد.توسط سرویس دهنده می تواند محدود گردد یعنی مثلا برنامه ای که با موتـور Google Apps تولیـدکنیم اختیارش در نهایت دست گوگل است و ما نمی توانیم امکاناتی فراتر از آن چه گوگـل در ایـن موتور (بسته)  قرارداده است .در دسترس کاربر نهایی قرار دهیم .کمپانی های زیـر پلتفـرم هـایی راتوسعه داده اند که به کاربر نهایی امکان می دهد برنامه هـا را ازطریـق سـرورها ی مرکـز ی توسـط اینترنت اجرا کنند . سیستم عامل Azure از مایکروسافت و Google Apps Engin نمونههایی از این سرویسها می باشند.

لایه چهارم:  زیرساخت به عنوان سرویس

سرویس های زیرساخت ابری یا زیرساخت به عنوان سرویس زیرساخت رایانه ای را ( که عمومـا یک بستر مجازی است ) به صورت سرویس ارائه می دهند. کـاربران بـه جـای خریـد سـخت افـزار و نرم افزار و فضای مرکز داده و یا تجهیزات شبکه ، همه این زیر ساختها را به صورت یک سرویس کاملا برون سپاری شده می خرند. صورت حساب سرویس معمولاً بر اساس مدل رایانش همگـانی و میزان منابع مصرف شده صادر میشود و بنابر این هزینه منعکس کننده میزان فعالیت اسـت . ایـن شیوه در واقع تکامل یافته مدل عرضه سرورهای خصوصی مجازی است که غالبـا" بـه صـورت یـک محیط محاسباتی مجازی می باشد.
درکل با زیرساخت به عنوان سرویس می توان زیر ساختار کامپیوتر و محیط پلتفرم مجازی ساز را مانند یک سرویس ارائه داد. سرویس AWS آمازون یکی از این نمونه ها می باشد .
مثال های این نوع سرویس ها شامل ، VMWare ،Amazon EC2 ،haouse،IBM Blue در Sun Parascale ، Microsoft Azure Platfor و... هستند . در زیر نام های دیگری را می بینید:
Google ‐ Managed hosting, development environment
International Business Machines (IBM) ‐Managed hosting
SAVVIS ‐ Managed hosting
Terremark Worldwide ‐Managed hosting
Amazon.com ‐ Cloud storage Parascale

لایه پنجم: سرور

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




تلگرام

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

برچسب ها:

نظرات() 

محاسبات ابری Cloud Computing

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-01:53 ب.ظ

رایانش ابری ، محاسبات ابری cloud computing
مقدمه‌ای بر پردازش ابری

1-1 مقدمه

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

1-2تعریف پردازش ابری

 پردازش ابری مدلی رایانهای است که تلاش میکند دسترسی کاربران را بر اساس نوع تقاضایی که از منابع اطلاعاتی و رایانشی دارند، آسان کند. این مدل سعی دارد با کمترین نیاز به منابع نیروی انسانی و کاهش هزینه ها و افزایش سرعت دسترسی به اطلاعات، جواب گوی نیاز کاربران باشد
از آنجا که اکنون این فناوری دوران کودکی خود را می گذراند، هنوز تعریف استاندارد علمی که مورد قبول عام باشد برای آن ارائه نشده است اما بیشتر صاحبنظران بر روی قسمت هایی از تعریف این پدیده هم رای هستند .
  • تعریف موسسه ملی فناوری و استانداردها از رایانش ابری:
 رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعه ای از منابع رایانشی قابل تغییر و پیکربندی ( مثل: شبکه ها، سرورها، فضای ذخیرهسازی ،برنامههای کاربردی و سرویسها ) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شده یا آزاد ( رها ) گردد.

  • یک تعریف کلی و ساده از رایانش ابری :

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

واژه ابر واژه ای است استعاری که به اینترنت اشاره میکند و در نمودارهای شبکه های رایانهای نیز از شکل ابر برای نشان دادن شبکه اینترنت استفاده میشود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابری جزئیات فنی اش را از دید کاربران پنهان می سازد و لایه ای از انتزاع را بین این جزئیات فنی و کاربران به وجود می آورد به عنوان مثال آنچه یک ارائه دهنده سرویس نرم افزاری رایانش ابری ارائه می کند ، برنامه های کاربردی و تجاری برخط است که از طریق مرورگر و یا نرم افزارهای دیگربه کاربران ارائه می شود .نرم افزارهای کاربردی واطلاعات ، روی سرورهاذخیره می گردند و براساس تقاضا در اختیار کاربران قرار میگیرد. جزئیات از دید کاربر مخفی میمانند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده می کنند ندارند.
عموما مصرف کننده های رایانش ابری مالک زیر ساخت فیزیکی ابر نیستند، بلکه برای اجتناب از هزینه سرمایهای آن را از عرضه کنندگان شخص ثالث اجاره میکنند. آن ها منابع را در قالب سرویس مصرف میکنند و تنها بهای منابعی که به کار میبرند را میپردازند. بسیاری از سرویس های رایانش ابری ارائه شده، با به کار گیری مدل رایانش همگانی امکان مصرف این سرویس ها را به گونه ای مشابه با صنایع همگانی( مانند برق ) فراهم می سازند. این در حالی است که سایر گونه های عرضه کنندگان بر مبنا یا اشتراك سرویس های خود را عرضه میکنند. به اشتراك گذاردن قدرت رایانشی مصرف شدنی و ناملموس میان چند مستاجر میتواند باعث بهبود نرخ بهره وری شود؛ زیرا با این شیوه دیگر سرور ها بدون دلیل بیکار نمی مانند ( که سبب می شود هزینه ها به میزان قابل توجهی کاهش یابند در عین حال که سرعت تولید و توسعه برنامه های کاربردی افزایش می یابد ). یک اثر جانبی این شیوه این است که رایانه ها به میزان بیشتری مورد استفاده قرار میگیرند زیرا مشتریان رایانش ابری نیازی به محاسبه و تعیین سقفی برای بار حداکثر خود ندارند.
پردازش ابری مرحله بعدی نقش مهمی در تحول اینترنت است. این برنامه ، وسیله ای است که از طریق آن ، همه چیز قدرت محاسباتی و فرآیندهای کسب و کار و.. به عنوان یک سرویس به شما تحویل داده می شود ؛ در هر کجا و هر زمان که شما به آن نیاز دارید.

1- 3 مزایای استفاده از ابر

در زیر تعدادی از مزایای استفاده از ابر معرفی می‌شود.

1- 3-1 حمایت از چابکی کسب و کار

یکی از فوری ترین مزایای استفاده از خدمات مبتنی بر ابرتوانایی اضافه کردن سریع قابلیت های جدید و یا ظرفیت های جدید است.این ویژگی کسب و کار را قادر می سازد پاسخ سریع تر و موثر به بازار و رقابت در حال تغییر بدهد.
ارائه دهنده خدمات ابر معمولی از صرفه جوئى هاى امکان پذیر در روند تولید انبوه استفاده می کنند که یک سازمان شخصی ، فاقد آن است. توانایی سلف سرویس ابر بدان معنی است که سازمان های فناوری اطلاعات براحتی می توانند چرخه محاسبه را اضافه کنند و یا ذخیره سازی مورد نیاز را تامین کنند.
با ظهور ابر ، یک سازمان می تواند یک نرم افزار جدید را تولید و یا حتی توسعه یـک نـرم افـزار جدید را بدون سرمایه گذاری در سخت افزار، نرم افزار، و شبکه امتحان کند . این عمل روی شرکت هایی که نوآوری می خواهند بکنند تاثیر مثبت دارد و تجربه ای بدون خطر است.
بار اقتصادی کمپانی ها، چالش بزرگی برای فناوری اطلاعات است در حالی که به حداقل رساندن هزینه های سرمایه ای از اهداف پردازش ابری است. به عنوان مثال ، ممکن اسـت شـرکت شـما یـک کسب و کار جدید نرم افزار بخواهد ، اما نشانی از بودجه های اضافی برای سخت افزار و یا نرم افزار و مدیریت این نرم افزار نیست. ممکن است شما نیاز بـه افـزایشِ مقـدار فضـای ذخیـره سـاز یِ در دسترس ، برای بخش های مختلف داشته باشید ، ارائـه دهنـدگان سـرویس پـردازش ابـری ایـن نـوع خدمات را با قیمت مناسب و سرشکن ( نسبت به قیمت پایه پیش بینی شده ) ارائه می دهند.
فروشنده خدمات پردازش ابری ممکن است ذخیره سازی داده هایتان را بر اساس هر مگابایـت یـا گیگابایت به شما اجاره بدهند . فروشندگان دیگر نرم افزار این سرویس را به ازای هر کـاربر بـرای یک برنامه محاسبه می کنند. برخی از فروشندگان ارائه خدمات پردازش ابـری می توانند هـر دوخدمات داخلی سیستم ها و نرم افزار به عنوان سرویس دهنده را مبتنی بر برنامه هـا ی کـاربرد ی با هم ترکیب کنند. بنابراین ، این شرکت ها می توانند تنها با دریافت هزینه ای برای کاربران کـه  نیـاز به نرم افزاردارند ( بدون سرمایه گذاری آن ها در زیرساخت های فیزیکی ) این خدمات را ارائه کننـد . ممکن است، یک برنامه کاربردی ، که توسط هزاران نفر از کاربران داخلی بسیاری مورد استفاده قـرارگرفته است ، مقرون به صرفه تر از پیاده سازی آن در خانه باشد . یک فروشنده ممکن اسـت یـک نـرم افراز را به صورت خاص یا تخصصی به تعداد کمی از مشتریان علاقه مند ارائه دهـد . در ایـن مـورد ، اجاره این قابلیت ممکن است ارزشمند نباشد زیرا هزینه ها به ازای هر مشتری ، بالا هستند. بـا  ایـن حال ، در شرایط دیگر، هزینه های داخلی، بالاترازهزینـه ی خـدماتی اسـت کـه از طریـق ابـر بـه آندسترسی پیدا می کنند.

1- 3-2 صرفه جویی در زمان

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

1- 3-3 نقص و خرابی کمتر

اپلیکیشن هایی که از طریق رایانش ابری کار می کنند ، به مدلهای کمتری نیاز دارند. نیاز به ارتقـای برنامه کمتر می شود و این ارتقاها عموما با مراکز داده مدیریت می شوند. لازم اسـت توجـه کنـیم کـه بنگاه های مختلف ، اغلب با نرم افزارها مشکل پیدا می کنند ، چرا که طوری طراحی نشده انـد کـه بتـوانند با اپلیکیشن های مشابه ، از آنها استفاده کرد. رایانش ابـری باعـث مـی شـود کـاربران انـواع مختلـف اپلیشکن ها ، از جمله سیستمهای مدیریت ، کلمه پرداز (processor word) و ایمیل را با هم تلفیق کند.
هر چقدر نواقص کمتر باشد، بهرهوری کارمندان بیشتر میشود.
 
1- 3-4 بسیج خدمات

خدمات مورد نیاز شما ، می تواند از هر کجای دنیا در دسترس شما باشد . مثلا فروش از طریق تلفن مدیریت می شود. رایانش ابری دری را به سوی دنیای جدیدی از ابزارهای بدون سیم به سوی کـاربران باز میکند که همه این ابزارها برای دسترسی به هر اپلیکیشنی می توانند مورد استفاده قرار بگیرند.

1- 3-5 مطابق با تمایلات مصرف کننده

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

1- 3-6 کاربرد در رسانه های اجتماعی

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

1- 3-7 سازگاری با هر نوع برنامه ای

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




تلگرام

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

برچسب ها:

نظرات() 

زبان Delphi

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-01:46 ب.ظ

Borland Delphi
دلفی دات نت راه حل بورلند برای پوشش نیازهای توسعه گران در راستای تولید و توسعه نرم افزار مبتنی بر فناوری دات نت مایکروسافت است

ادامه مطلب

تلگرام

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

برچسب ها:

نظرات() 

ساختار کد شبا چگونه تعیین می شود؟

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-01:45 ب.ظ

کد شبا

کد شبا :

ساختار و اجزاء شبا


شبا یک کد 26 کاراکتری است که به صورت زیر به سه بخش اصلی تقسیم می شود


جزء

BBAN

CD

CC

توضیح

شماره حساب پایه

کد کنترلی

ثابت= IR

طول

22 رقم

2 رقم

2 حرف

مثال

2960 0000 0010 0324 2000 01

06

IR


ساختار BBAN

سه رقم سمت چپ شناسه بانک ، 19 رقم بعدی هم شماره حساب

 



تلگرام

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

برچسب ها:

نظرات() 

ساختار کد ملی چگونه تعیین می شود؟

نویسنده :
تاریخ:یکشنبه 19 مهر 1394-01:36 ب.ظ

کد ملی
کد ملی :

 کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان محل صدور شناسنامه ، شش رقم بعدی کد منحصر به فرد برای فرد دارنده شناسنامه در شهرستان محل صدرو و رقم آخر آن هم یک رقم کنترل است


 

ساختار کد ملی

ارقام کد

رقم کنترل

9 رقم سمت چپ کد ملی

موقعیت

1

2

3

4

5

6

7

8

9


 


 

حساب کردن کد کنترل :

- رقم آخر از سمت چپ ، هر رقم را در موقعیت خود ضرب کرده و حاصل را با هم جمع کنید.

- مجموع بدست آمده از مرحله یک را بر ۱۱ تقسیم کنید

- اگر باقی‌مانده کمتر از ۲ بود، رقم کنترل باید برابر باقی‌مانده باشد در غیر اینصورت رقم کنترل باید برابر عدد یازده منهای باقی‌مانده باشد

مثال : آیا کد 7731689951 یک کد ملی معتبر است؟

 

ساختار کد ملی

ساختار کد

رقم کنترل

9 رقم سمت چپ کد ملی

ارقام کد

1

5

9

9

8

6

1

3

7

7

موقعیت

1

2

3

4

5

6

7

8

9

10

محاسبه حاصل ضرب

 

10

27

36

40

36

7

24

63

70

حاصل جمع ضرب ارقام 2 الی 10 را در موقعیت آنها محاسبه می کنیم

7*10+7*9+3*8+1*7+6*6+8*5+9*4+9*3+5*2=313

313÷11=28 و R=5

چون باقیمانده برابر 5 و بزرگتر مساوی 2 است پس باید رقم کنترل این کد برابر 6 (یازده منهای 5 ) باشد که با دقت در کد متوجه می شویم که رقم کنترل ورودی برابر 1 است پس کد مورد نظر به عنوان یک کد معتبر قابل قبول نیست

 



تلگرام

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

برچسب ها:

نظرات() 


  • تعداد صفحات :5
  • 1  
  • 2  
  • 3  
  • 4  
  • 5