Sarp
مدیر بازنشسته
اکثریت قریب به اتفاق دانشجوهای کامپیوتر تفاوت طراحی با برنامه نویسی وب رو نمیدونند .
این موضوع ربطی هم به نمره و معدل و این چیزها نداره .
طرف دانشجوی ممتاز کارشناسی نرم افزار هست ، ولی هنوز نمیدونه طراحی چیه و برنامه نویسی چیه .
البته اینها چیزیه که بنده مشاهده کرده ام و به عنوان یه آمار قابل استناد نیست .
میخوام با چن تا مثال و با زبانی ساده و قابل فهم تفاوت این دو رو توضیح بدم .
سعی میکنم هر اصطلاح تخصصی ای که بهش برخورد میکنم رو هم در پایان توضیح بدم .
این کدها رو تو یه فایل نوت پد کپی کنید و با اسمی دلخواه و با فرمت htm یا html ذخیره کنید . مثلا : Iran-Eng.html
این کدهای html فکر نکنم چیز بخصوصی واسه توضیح داشته باشه .
یه فرم تعریف کردیم با یه لیست بازشونده به اسم list که سه تا گزینه داره به مقادیر 1 و 2 و 3
هر گزینه ای از این لیست رو که انتخاب کنید مقدار گزینه در متغیر list ذخیره خواهد شد .
مثلا اگر گزینه "معرفي دوستان" رو انتخاب کنید ، مقدار 2 به متغیر list منتسب خواهد شد .
اگر در این کد مشکلی داشتید بپرسید .
خب!
فایل Iran-Eng.html رو اگر با مرورگر خود باز کنید نتیجه ای مثل این خواهید داشت :
حالا از لیست گزینه ای رو انتخاب کرده و روی دکمه "انتخاب" کلیک کنید
چه اتفاقی میفتد ؟
هیچی ؟!
مسلما هیچ اتفاق خاصی نمیفته :دی
چون html نه توان اینو داره که مقادیر رو باهم جمع کنه نه تفریق و نه ضرب و نه تقسیم و . . . . و نه حتی قدرت ارتباط با دیتابیس رو داره تا بتونه مقادیر رو در دیتابیس ذخیره کنه
پس این html به چه دردی میخوره ؟
جواب مشخصه
کاربرد html فقط برای بزک و تزئین صفحات سایتهاست (همون طراحی صفحات وب)
تا اینجا نتیجه این شده که html فقط برای طراحی صفحات وب به کار میره
این جمله رو به خاطر داشته باشید تا یه توضیح کوچولو بدم .
سروکار html به همراه css و زبانهایی مثل جاوا اسکریپت و وی بی اسکریپت و انواع تکنولوژیهای ای جکس و جی کوئری و . . . با کلاینت هست . یعنی با کاربری مثل من و شما که این مطلب رو میخونید سروکار داره . وظیفه ش هم طراحی و تزئین صفحات سایتهاست . یعنی همان چیزی که ما در مرورگر خود مشاهده میکنیم .
کار یک طراح صفحات وب درست کردن قالب برای انواع وبلاگها و cms ها با استفاده از همین html و css و . . . است .
تا اینجا کاربرد html و معنی طراحی صفحات وب رو سعی کردم توضیح بدم .
و از این به بعد سعی میکنم به زبان برنامه نویسی وب بپردازم .
اون کدی که بالا نوشتیم وقتی نتونه کاری انجام بده به چه درد ما میخواد بخوره ؟
پس کد بالا رو یه کوچولو تغییر میدم تا لااقل بتونه یه واکنشی نشون بده که کلا هم بیمصرف به نظر نیاد :دی
کد رو اینجوری دستکاری میکنم :
میبینید که خاصیت action رو به form اضافه کرده ام و مقدارش رو برابر با Babak.php قرار داده ام .
یعنی حالا اگر از بین گزینه های لیست یکی رو انتخاب کنیم ، بعد کلیک دکمه "انتخاب" نتیجه انتخاب به فایلی به اسم Babak.php ارسال خواهد شد که ما هنوز نمیدونیم این فایل Babak.php چه بلائی میخواد سر گزینه انتخابی ما بیاره :دی
بعد این ما به برنامه ای مثل wamp یا xampp یا easyPHP یا IIS یا . . . نیازمندیم تا بتونیم رو سیستم خودمون یه سرور مجازی راه اندازی کنیم که بتونیم فایلهای php رو مورد استفاده قرار دهیم .
این کدها رو تو نت پد کپی کنید و با اسم و فرمت Babak.php ذخیره کنید :
سعی کردم مثالی استفاده کنم که برای همه قابل درک باشه
در اینجا من فقط از یه switch ساده استفاده کرده ام که متغیرش برابر با list است که تو کدهای بالایی ازش استفاده کردیم
در کدهای html بالایی اگر ما گزینه "موتورهاي جستجو" رو انتخاب کنیم متغیر list برابر مقدار 1 میشه و . . . . بقیه گزینه ها !
دستورات switch هم که باز زیاد نیاز به توضیح نداره .
حالا ما چگونه این فایل php رو اجرا کنیم ؟
فایل html رو مرورگر میتونه بخونه و نتیجه ش رو نشون بده .
ولی فایلهایی مثل php و asp رو نه .
چون این فایلها فقط روی سرور قابل استفاده هستند .
حالا که متوجه شدید لوکال هاست چیه ، دو تا فایل html و php رو که درست کردیم رو در فولدر www برنامه wamp کپی کنید و آدرس فایل html رو در مرورگر تایپ کنید (که آدرسش اینجوری میشه : http://localhost/iran-Eng.html) و با انتخاب یه گزینه و کلیک دکمه "انتخاب" نتیجه رو دوباره مشاهده کنید
این مطلبی که نوشتم ممکنه از نظر تخصصی (نه علمی) مورد قبول نباشه .
مهم هم نیست
چون این مطلب مخصوص کسانیست که زمینه ای در مورد موضوع نداشتند و من هم سعی کردم تا حد ممکن ساده توضیح بدم که این افراد متوجه بشن .
به هر حال هر جا سوالی بود بنده در خدمتم
هی میخواستم این پست رو تایپک کنم
ولی به دلایل مختلف نمیشد
قبلنا موقع نوشتن انشا هم اولش میگفتم کی این انشا رو باید بنویسه خدایا !!
ولی بعد اتمامش میدیدم یه 10 - 12 صفحه انشا نوشتم
این موضوع ربطی هم به نمره و معدل و این چیزها نداره .
طرف دانشجوی ممتاز کارشناسی نرم افزار هست ، ولی هنوز نمیدونه طراحی چیه و برنامه نویسی چیه .
البته اینها چیزیه که بنده مشاهده کرده ام و به عنوان یه آمار قابل استناد نیست .
میخوام با چن تا مثال و با زبانی ساده و قابل فهم تفاوت این دو رو توضیح بدم .
سعی میکنم هر اصطلاح تخصصی ای که بهش برخورد میکنم رو هم در پایان توضیح بدم .
این کدها رو تو یه فایل نوت پد کپی کنید و با اسمی دلخواه و با فرمت htm یا html ذخیره کنید . مثلا : Iran-Eng.html
HTML:
<html encoding="UTF-8">
<header>
<title>Iran-Eng</title>
</header>
<body>
<form>
<table border="0">
<tr bgcolor="#c7ff00">
<td width="220" align="center"><font face="tahoma" color="red">
<h5>چگونه با باشگاه مهندسان ايران آشنا شده ايد ؟</h5>
</td>
</tr>
<tr>
<td align="center">
<select name="list">
<option value="1">موتورهاي جستجو</option>
<option value="2">معرفي دوستان</option>
<option value="3">لينک از سايتها</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="انتخاب"></td>
</tr>
</table>
</form>
</body>
</html>
این کدهای html فکر نکنم چیز بخصوصی واسه توضیح داشته باشه .
یه فرم تعریف کردیم با یه لیست بازشونده به اسم list که سه تا گزینه داره به مقادیر 1 و 2 و 3
هر گزینه ای از این لیست رو که انتخاب کنید مقدار گزینه در متغیر list ذخیره خواهد شد .
مثلا اگر گزینه "معرفي دوستان" رو انتخاب کنید ، مقدار 2 به متغیر list منتسب خواهد شد .
اگر در این کد مشکلی داشتید بپرسید .
خب!
فایل Iran-Eng.html رو اگر با مرورگر خود باز کنید نتیجه ای مثل این خواهید داشت :

حالا از لیست گزینه ای رو انتخاب کرده و روی دکمه "انتخاب" کلیک کنید
چه اتفاقی میفتد ؟
هیچی ؟!
مسلما هیچ اتفاق خاصی نمیفته :دی
چون html نه توان اینو داره که مقادیر رو باهم جمع کنه نه تفریق و نه ضرب و نه تقسیم و . . . . و نه حتی قدرت ارتباط با دیتابیس رو داره تا بتونه مقادیر رو در دیتابیس ذخیره کنه

پس این html به چه دردی میخوره ؟

جواب مشخصه
کاربرد html فقط برای بزک و تزئین صفحات سایتهاست (همون طراحی صفحات وب)
تا اینجا نتیجه این شده که html فقط برای طراحی صفحات وب به کار میره
این جمله رو به خاطر داشته باشید تا یه توضیح کوچولو بدم .
شما مرورگر رو باز میکنید و آدرس www.www.www.iran-eng.ir رو تایپ کرده و دکمه اینتر رو فشار میدید .
از موقع زدن دکمه اینتر و نمایش صفحه اول iran-eng ، اتفاقاتی پشت پرده میفته که ما نمیبینیمش .
بعد تایپ آدرس مرورگر ما درخواستی به سرور میفرسته . سرور ، درخواست رو بررسی میکنه و میبینه کاربر درخواست صفحه ای به آدرس www.www.www.iran-eng.ir رو داره . پس صفحه اول iran-eng رو برای مرورگر میفرسته که باعث میشه ما سایت رو ببینیم .
در آخر توضیح میدم که سرور چیه . ولی اینکه مرورگر از کجا تشخیص میده باید به کدام سرور درخواستش رو بفرسته و چجوری میفرسته و . . . به بحث ما ربطی نداره و بحثش مربوط به مبحث شبکه ست .
سروکار html به همراه css و زبانهایی مثل جاوا اسکریپت و وی بی اسکریپت و انواع تکنولوژیهای ای جکس و جی کوئری و . . . با کلاینت هست . یعنی با کاربری مثل من و شما که این مطلب رو میخونید سروکار داره . وظیفه ش هم طراحی و تزئین صفحات سایتهاست . یعنی همان چیزی که ما در مرورگر خود مشاهده میکنیم .
کار یک طراح صفحات وب درست کردن قالب برای انواع وبلاگها و cms ها با استفاده از همین html و css و . . . است .
تا اینجا کاربرد html و معنی طراحی صفحات وب رو سعی کردم توضیح بدم .
و از این به بعد سعی میکنم به زبان برنامه نویسی وب بپردازم .
اون کدی که بالا نوشتیم وقتی نتونه کاری انجام بده به چه درد ما میخواد بخوره ؟
پس کد بالا رو یه کوچولو تغییر میدم تا لااقل بتونه یه واکنشی نشون بده که کلا هم بیمصرف به نظر نیاد :دی
کد رو اینجوری دستکاری میکنم :
HTML:
<html encoding="UTF-8">
<header>
<title>Iran-Eng</title>
</header>
<body>
<form action="Babak.php" method=post>
<table border="0">
<tr bgcolor="#c7ff00">
<td width="220" align="center"><font face="tahoma" color="red">
<h5>چگونه با باشگاه مهندسان ايران آشنا شده ايد ؟</h5>
</td>
</tr>
<tr>
<td align="center">
<select name="list">
<option value="1">موتورهاي جستجو</option>
<option value="2">معرفي دوستان</option>
<option value="3">لينک از سايتها</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="انتخاب"></td>
</tr>
</table>
</form>
</body>
</html>
یعنی حالا اگر از بین گزینه های لیست یکی رو انتخاب کنیم ، بعد کلیک دکمه "انتخاب" نتیجه انتخاب به فایلی به اسم Babak.php ارسال خواهد شد که ما هنوز نمیدونیم این فایل Babak.php چه بلائی میخواد سر گزینه انتخابی ما بیاره :دی
بعد این ما به برنامه ای مثل wamp یا xampp یا easyPHP یا IIS یا . . . نیازمندیم تا بتونیم رو سیستم خودمون یه سرور مجازی راه اندازی کنیم که بتونیم فایلهای php رو مورد استفاده قرار دهیم .
این کدها رو تو نت پد کپی کنید و با اسم و فرمت Babak.php ذخیره کنید :
PHP:
<html>
<body>
<?php
switch ($list)
{
case '1' :
print ('Search Engines');
break;
case '2' :
print ('Friends');
break;
case '3' :
print ('Other Sites Links');
break;
default :
print ('Forgot?');
break;
}
?>
</body>
</html>
سعی کردم مثالی استفاده کنم که برای همه قابل درک باشه
در اینجا من فقط از یه switch ساده استفاده کرده ام که متغیرش برابر با list است که تو کدهای بالایی ازش استفاده کردیم
در کدهای html بالایی اگر ما گزینه "موتورهاي جستجو" رو انتخاب کنیم متغیر list برابر مقدار 1 میشه و . . . . بقیه گزینه ها !
دستورات switch هم که باز زیاد نیاز به توضیح نداره .
حالا ما چگونه این فایل php رو اجرا کنیم ؟

فایل html رو مرورگر میتونه بخونه و نتیجه ش رو نشون بده .
ولی فایلهایی مثل php و asp رو نه .
چون این فایلها فقط روی سرور قابل استفاده هستند .
سرور چیه ؟
سرور نوعی کامپیوتر مثل همین کامپیوترهای ماست که به یک اینترنت با سرعت بالا وصله و همچنین از سخت افزار قویتری بهره میبره .
رو این کامپیوتر (سرور) برنامه هایی نصب میشه تا بتونند از فایلهای php و . . استفاده کنند و پردازش کنند . برنامه هایی مثل apache و sql و . . .
کسی که میخواد سایتی راه اندازی کنه مقداری از هارد این سرور رو میخره و فایلهای مورد نیاز سایتش رو میریزه تو قسمت هارد خودش (که به این یه مقدار هارد میگن هاست) و با خرید یه دامنه میتونه به این فایلها و سایتش دسترسی داشته باشه
کامپیوتری که ازش به عنوان سرور استفاده میشه همیشه باید روشن و فعال باشه
همچنین باید از نظر استحکام به قدری مورد اطمینان باشه که موقع حوادثی مثل زلزله هم اتفاقی برای این کامپیوتر نیفته و یا موقع قطعی برق ، انرژی برق ذخیره شده کافی داشته باشه .
سرور مجازی چیست ؟
کسی که با زبانهای تحت وب مثل php و asp و . . . کار میکنه آیا مجبوره دامنه و مقداری هاست بخره و برای تست هر تکه کدی که مینویسه به اینترنت متصل باشه ؟
یه فرد معمولا برنامه نویسی یاد میگیره که پول درآره نه که کلی هم پول خرج کنه :دی
خب !
برای این مشکل ما میتونیم رو سیستم خودمون یه سرور مجازی راه بندازیم
یعنی برنامه هایی که برای راه اندازی یک وب سرور نیاز هست رو روی سیستم خودمون نصب کنیم و فایلها و کدهامون رو روی سیستم خودمون تست کنیم .
برای این کار من خودم روی ویندوز از برنامه wamp استفاده میکنم که شما هم میتونید از اینجا دانلود کنید (با استفاده از انواع و اقسام راههای دور زدن فیلــرینگ)
با نصب این برنامه همه برنامه های مورد نیاز مثل آپاچی و MyAQL و php رو سیستم ما نصب میشن .
(برای یادگیری کار با این برنامه هم گوگل در خدمت شماست)
البته برنامه های دیگه هم برای این کار وجود دارند که کم و بیش کار همه شون شبیه همدیگه ست .
به عبارت ساده تر و عامیانه سیستمهایی که سرویس میدن سرور نامیده میشن
به وب سرور مجازی لوکال هاست هم گفته میشه
حالا که متوجه شدید لوکال هاست چیه ، دو تا فایل html و php رو که درست کردیم رو در فولدر www برنامه wamp کپی کنید و آدرس فایل html رو در مرورگر تایپ کنید (که آدرسش اینجوری میشه : http://localhost/iran-Eng.html) و با انتخاب یه گزینه و کلیک دکمه "انتخاب" نتیجه رو دوباره مشاهده کنید
منظور از کلاینت همین سیستمهای من و شماست که با مرورگر خود درخواستهایی به سرورها میفرستیم
و یا به عبارتی به سیستمهایی که سرویس میگرند کلاینت گفته میشه .
دیتابیس ابزاری برای ذخیره دیتا به صورت منظم و سازمان یافته ست . به طوری که این داده ها بعد ذخیره قابل دستیابی و پردازش و حذف و اضافه و . . .باشند .
فکر کنم همه تا الان وبلاگ داشته اید . به سایت سرویس دهنده وبلاگ داخل میشید و یوزرنیم و پسورد رو وارد میکنید و وارد کنترل پنل مدیریت وبلاگ میشید .
از این کنترل پنل میتونید مطلب و لینک و . . . به وبلاگ اضافه کنید و به نظرات جواب بدید و کلی کارهای دیگه .
حالا کسی اگر بخواد یه وبلاگ شخصی داشته باشه چیکار میکنه ؟
واسه وارد کردن یوزرنیم و پسورد به کدوم سایت باید مراجعه کنه ؟
برای ساخت یه وبلاگ کافیه به یکی از سایتهای سرویس دهنده وبلاگ مراجعه کنیم و یه اکانت برای خود بسازیم .
خود سایت هاست و دامنه رو در اختیارمون میذاره البته به صورت محدود . مثلا نمیتونیم توش فایل بذاریم و فقط میتونید از نوشته استفاده کنیم . یا دامنه ش از دو بخش تشیل میشه که یه بخشش اسم سایت سرویس دهنده ست .
برای ساخت یه سایت یا وبلاگ شخصی که همه چیزش دست خودمون باشه ما باز هم نیاز به دامنه و هاست داریم .
دامنه رو میتونیم با مراجعه به سایت یکی از شرکتهای ثبت کننده دامنه بخریم .
هاست هم همینطور . میتونیم به یکی از افراد یا شرکتهای فروشنده مراجعه کرده و مقدار هاست مورد نظرمون رو خریداری کنیم .
حالا میگید دامنه و هاست رو خریدیم . پس چجوری کنترل پنل واسه مدیریت سایتمون داشته باشیم ؟
cms اینجاست که باید تعریف بشه .
cms برنامه ایست که روی هاست نصب میشه (میتونید روی لوکال هم نصب کنید و باهاش کار کنید)
کارش هم اینه که یه سایت واسه شما میسازه . به همراه کنترل پنل . میتونید به سایتتون قالب و اضافه کنید و قسمتهاییش رو حذف یا اضافه کنید و . . .
دامنه ای هم که خریده اید به هاست شما وصل میشه و با تایپ دامنه یا همون آدرس در مرورگر ، سایتتون نمایش داده میشه.
cms هم هم البته انواع مختلف دارند که هرکدام کاربرد و مزیت و عیب خاص خودش رو داره .
مثل جوملا و وردپرسو دلفین و دروپال و نیوک و . . .
این مطلبی که نوشتم ممکنه از نظر تخصصی (نه علمی) مورد قبول نباشه .
مهم هم نیست
چون این مطلب مخصوص کسانیست که زمینه ای در مورد موضوع نداشتند و من هم سعی کردم تا حد ممکن ساده توضیح بدم که این افراد متوجه بشن .
به هر حال هر جا سوالی بود بنده در خدمتم
هی میخواستم این پست رو تایپک کنم
ولی به دلایل مختلف نمیشد
قبلنا موقع نوشتن انشا هم اولش میگفتم کی این انشا رو باید بنویسه خدایا !!
ولی بعد اتمامش میدیدم یه 10 - 12 صفحه انشا نوشتم

آخرین ویرایش: