گزارش کارآموزی طراحی سایت
گزارش کارآموزی طراحی سایت در حجم 233 صفحه و در قالب word و قابل ویرایش و با قسمتی از متن زیر:
فصل اول :آشنایی با مکان کارآموزی
فصل دوم: ارزیابی آموخته ها
فصل سوم: نیایج و گزارشات
فرمهای ضمیمه
مقدمه:
يک سايت مي تواند نقش يک بروشور تبليغاتي را براي شما بازي کند حتي با امکاناتي بسيار بيشتر از يک بروشور ساده. شما با استفاده از يک سايت اينترنتي مي توانيد به راحتي محصولات خود را به بازديد کنندگان خود معرفي کنيد، آنها را از آخرين تغييرات مطلع کنيد، اطلاعات مورد نياز آنها را در اختيارشان قرار دهيد و يا حتي نظرات و پيشنهادات آنها را جمع آوري کنيد. حتي مي توان با ايجاد يک انجمن گفتگو در سايت به سايرين اجازه داد نظرات خود را اعلام کنند و به نظرات ديگران پاسخ دهند.
از يک سايت اينترنتي مي توان براي ايجاد ارتباط مؤثر ميان اعضاي يک سازمان هم استفاده کرد به صورتي که هر يک از اعضا در هر جا که باشند بتوانند به اطلاعات مورد نياز خود از طريق سايت سازمان دسترسي پيدا کنند، از آخرين اخبار مطلع شوند و آخرين تغييرات را مشاهده کنند.
در حقيقت مي توان از يک سايت اينترنتي به عنوان بخش مهمي از سيستم اطلاعاتي داخل سازمان استفاده کرد و هر گروه از افراد به اطلاعات مربوط به سطح سازماني خود دسترسي داشته باشند. يعني اطلاعاتي که کارمندان از سايت دريافت مي کنند متفاوت با اطلاعات مديران و همچنين متفاوت با اطلاعاتي باشد که بازديد کنندگان خارج سازمان از سايت دريافت مي کنند.
يک وب سايت راهي مناسب براي ارائه اطلاعات مختلف در مورد کالا و هم خدماتي است که شرکت به مشتريان ارائه مي دهد. بدون اينکه مشتري مجبور باشد در زمان خاصي به شرکت مراجعه کند و يا اينکه با شرکت تماس بگيرد مي تواند در هر کجا که باشد به سايت شرکت مراجعه کند و اطلاعات مورد نظر خود را کسب کند.
با استفاده از يک سايت اينترنتي مي توان به راحتي اطلاعات مربوط به محصولات جديد را منتشر کرد بدون اينکه نيازي به چاپ بروشورها و آگهي هاي جديد باشد.
طراحي سايتهاي اينترنتي تا حد زيادي بستگي به موارد استفاده آن سايت و نيازهاي کاربران آن دارد. اگر در طراحي سايت نياز کاربران در نظر گرفته نشود و يا نيازها به صورت روشن مشخص نشوند نبايد انتظار داشت تا سايت کارايي لازم را داشته باشد.
با استفاده از زبانهاي برنامه نويسي طرف سرور نظير PHP و با استفاده از پايگاههاي داده ها و بانکهاي اطلاعاتي نظير MySQL مي و تکنيکهايي مثل Ajax و JavaScript امکان طراحي سايتها با انواع کاربري مختلف وجود دارد. اما در طراحي سايت ها بايد از اين امکانات در جاي مناسب استفاده شود تا نيازهاي کاربران نهايي برآورده شود.
وب سايت چيست؟
هر وب سايت به طور کلي از تعدادي صفحه وب تشکيل شده که بر روي يک يا چند سرور ميزباني مي شود که عموما از طريق اينترنت توسط يک يا چند آدرس وب قابل دسترسي است! حال به توضيح بعضي از موارد بالا مي پردازيم:
صفحه وب (Web Page) :
صفحه وب سندي است که براي مثال به زبان xhtml نوشته شده است که توسط پروتکل http قابل دسترسي است.
ميزبان وب (Web Host):
براي اينکه وب سايتي که طراحي مي کنيد از طريق اينترنت براي همه قابل دسترسي باشد بايد وب سايت خود را در يک کامپيوتر قرار دهيد که به اينترنت متصل است!
خوب ما ADSL 512K داريم! اگه يك وب سايت بسازيم در کامپيوترمان همه مي توانند با اينترنت اين وب سايت را ببينند!؟؟؟
جواب منفي است! موضوع اصلي اين است که وقتي کامپيوتر ما به اينترنت متصل مي شود از طريق کامپيوتر يک شرکت سرويس دهنده اينترنت(ISP) اين کار صورت ميگيرد!
خوب در اين حالت کامپيوتر ما يک IP دارد که ISP به آن داده اما مشکل اينجاست که اين IP متعلق به شبکه داخلي ISP است! (شبکه اي که از کامپيوتر ما و بقيه کامپيوترهايي که از طريق اين ISP به اينترنت متصل مي شود تشکيل شده است).
نکته جالب توجه اين است که IPي که شما بوسيله آن در اينترنت ديده مي شويد IP ديگري است که متعلق به کامپيوتري است که کل شبکه ي آن ISP از طريق آن به اينترنت متصل مي شوند!
فکر کنم مشکل اصلي تا اينجا مشخص شده باشد! اگر نه بدانيد مشکل اينجاست که کامپيوتر شما از طريق اينترنت تنها درصورتي قابل دسترسي هست که يک IP VALID اصطلاحا داشته باشد IPِي که شما بايد آن را خريداري کنيد!
نکته ديگه اين است که براي خريد IP بايد شما مجوز داشته باشيد و اينکه تجهيزات خاص ديگري هم نياز هستند که جاي بحث آنها در اينجا نيست!
پس راه حل چيست؟
راه حل اينجاست که ميزبان هاي وب به کمک شما مي آيند ميزبان هاي وب عموما شرکت هايي هستند که کارهايي که در بالا گفته شد انجام مي دهند و کامپيوترهاي پر قدرتي را هم خريداري کرده اند! ضمنا امنيت سرورها را تضمين مي کنند و نگهداري از سرورها را نيز انجام مي دهند. تنها کاري که شما بايد انجام بدهيد خريد مقداري از فضاي ديسک و پهناي باندي است که آنها در اختيار دارند(يعني شما وب سايت خودتان را روي آن فضا قرار مي دهيد).
آدرس وب (Web Address):
هر وب سايت براي اينکه قابل دسترسي باشد بايد که حداقل يک نام داشته باشد تا افراد بتوانند از طريق آن آدرس يا نام دامنه ، وب سايت را مشاهده کنند به اين آدرس URL يا URI نيز مي گويند که مخفف Uniform Resource Identifier است به معناي شناسه واحد منبع! چون اين آدرس در همه جاي دنيا به يک شکل خاصي بايد نوشته شود به آن مي گويند Uniform و از آنجا که دارد به يک وب سايت اشاره ميکند(از طريق اين نام به وب سايت دسترسي پيدا مي کنيم) به آن مي گويند Resource Identifier!
توجه کنيد که بايد اين نام را خريداري کنيد! معمولا اين کار را توسط همان شرکتي از آن فضا خريداري مي كنيد انجام مي دهد!
خوب تا اينجا فهميديم که وب سايت چيست و براي اينکه يک وب سايت داشته باشيم بايد چکارهايي انجام بدهيم.
از مرورگر به سرور!
تا به حال به اين فکر کرديد که وقتي که آدرس يک وب سايت را در نوارآدرس مرورگر خود وارد مي کنيد چه اتفاقاتي مي افتد تا صفحه مورد نظر براي شما نمايش داده شود!
وقتي شما آدرس يک وب سايت (URL) را در نوار آدرس مرورگر خود وارد مي کنيد در اولين قدم آدرسي که وارد شده بايد تبديل به يک IP شود تا بوسيله آن موقعيت کامپيوتر(ها)ي که وب سايت در آن قرار دارد مشخص شود. اين وظيفه مهم را سيستم نامگذاري دامنه - Domain Name System - يا به اختصار DNS بر عهده دارد!
مي توانيد با وارد کردن آدرس IP سايت گوگل در نوار آدرس مرورگر خود اين موضوع را تست کنيد...
چرا DNS؟
اصلا چه نيازي به DNS هست؟! من دوست دارم IP وب سايت رو حفظ کنم!
دو دليل اصلي براي استفاده از DNS وجود دارد:
1. براي همه انسانها حفظ کردن يک نام بسيار ساده تر از حفظ کردن عددي 12 رقمي است! DNS همان کاري که دفترچه تلفن برروي اسامي و تلفن ها انجام مي دهد ، روي اسامي وب سايت ها و آدرس IP آنها تکرار مي کند.
2. هميشه با داشتن يک IP نمي توانيم وب سايت مورد نظر را مشاهده کنيم زيرا در بعضي مواقع يک مجموعه وب سايت با يک آدرس IP مشخص مي شوند - مجموعه اي از وب سايت ها توسط يک ماشين ميزباني مي شوند(Virtual Hosting) - که در اين صورت DNS مي تواند بوسيله ي آدرس وب سايت مشخص کند که کدام وب سايت بايد نمايش داده شود. البته عکس اين موضوع نيز صادق است ممکن است يک آدرس وب روي چند سرور مختلف با IPهاي متفاوت قرار گرفته باشد.
حالا بايد درخواستي آماده شود که به سرور مورد نظر ارسال شده تا پاسخ مناسبي از سرور دريافت شود. در خواست مورد نظر توسط مرورگر و بر طبق پروتکل HTTP آماده شده و به سرور ارسال مي شود.
در قدم بعدي بايد درخواست شما مورد بررسي قرار بگيرد تا مشخص شود کدام وب سايت و کدام صفحه از آن بايد براي شما ارسال شود! اين کار توسط وب سرور (Web Server) انجام مي شود. وب سرور در خواست شما که توسط مرورگر وب ايجاد شده است را بررسي مي کند و بر اساس آن صفحه يا صفحات مورد نظر را مجددا بر اساس پروتکل HTTP باز مي گرداند!
بايد توجه داشته باشيد که در اين ميان دست ابزارها ، کامپيوترها و نرم افزارهاي ديگري نيز در کار است اما اکثر آنها مربوط به مباحث شبکه مي شوند و در اينجا به آنها نمي پردازيم.
با مطالعه دقيق بخش قبل حتما متوجه شديد که از مرورگر صحبت کرديم اما در مورد سيستم عامل يا کامپيوتري که مرورگر روي آن نصب است و به همين ترتيب از کامپيوتر سرور و ... چيزي مطرح نکرديم. دليلش اين است که دوست نداريم به سيستم خاصي وابسته باشيم!
برنامه اي را که در visual basic نوشته ايم در کامپيوترهاي ديگرهم اجرا ميكنيم. معني آن ، اين است که به سيستم من وابسته نيست .
بله به کامپيوتر شما وابسته نيست اما منظور ما سيستم عامل يا معماري کامپيوتري بود. وقتي شما يک برنامه با يک زبان برنامه نويسي مثل vb يا #C يا دلفي مي نويسيد و بعد کامپايل مي کنيد به کدهاي ماشين تبديل مي شودو فقط در ماشين هايي که با آن کدها سازگارند اجرا خواهد شد... مثلا همين برنامه شما که نهايتا با يک فايل exe شناخته مي شود در سيستم عامل لينوکس قابل اجرا نيست! مي توانيد امتحان کنيد...
اگر وابسته باشيم چي مي شود؟
در اين صورت بايد براي ديدن هر وب سايت از سيستم عامل يا کامپيوتر خاصي استفاده مي کرديم! اما اگر اين وابستگي نباشد که نيست ما به راحتي وب سايتي که داخل ويندوز يا لينوکس يا يک مک بوک اپل طراحي شده در هر کامپيوتر يا حتي موبايل به همان شکلي که بقيه مي بينند مي بينيم. اما براي انجام اين کار بايد چه کارهايي انجام بدهيم؟ حقيقت اين است که ما نيازي نيست فعلا کار خاصي انجام بدهيم چراکه قبلا در موردش خيلي ها فکر کردند و ما فقط اشاره اي به بعضي از آن کارها مي کنيم.
اولين چيزي که بايد بدانيم اين است که متن يا همان text ساده ترين چيزي است که تقريبا همه کامپيوترها مي توانند بدون هيچ واسطه اي بفهمند!پس اگر وب سايت ها و برنامه هايي که داريم را بر اساس متون منتقل کنيم همه مي توانند از آن برنامه ها استفاده کنند! البته براي اين کار بايد دو ويژگي زيرا را داشته باشيم:
1. زبان واحد داشته باشيم!
2. يک توافقنامه (قرارداد) يا همون protocol بين همه ماشين ها براي انتقال اطلاعات وجود داشته باشد!
زبان HTML که مخفف Hyper Text Markup Language همان زبان واحدي است که ازآن صحبت کرديم و به ما کمک ميکند که به توصيف صفحات بپردازيم! اگر ميخواهيد يک نمونه از کد html رو ببينيد خيلي ساده است فقط در مرورگر راست کليک کنيد و بعد گزينه View Page Source را در فايرفاکس و View Source را در اينترنت اکسپلورر انتخاب کنيد.
پروتکلي هم که از آن صحبت کرديم پروتکل معروف HTTP يه که مخفف Hyper Text Transfer Protocol است که هميشه قبل از آدرس وب سايت ها در مرورگر خود مي نويسيد!
از ديد يک برنامه نويس يا توسعه دهنده هر وب سايت به دو بخش براي کدنويسي تبديل مي شود!
1- کدنويسي سمت کاربر(Client Side Scripting) : کدهاي توليد شده سمت کاربر اجرا خواهند شد.
2- کدنويسي سمت سرويس دهنده (Server Side Scripting) : کدهاي توليد شده سمت سرويس دهنده اجرا مي شوند.
مرورگر در خواست خود را به وب سرور ارسال ميکند وب سرور بين فايل هايي که دارد به دنبال فايل(صفحه) مورد نظر مي گرده و در صورت پيدا شدن فايل:
اگر فايل(صفحه) در خواست شده از نوع Client Side باشد مثلا يک صفحه html! براي اينکه نمايش داده شود بايد اول از سرور به کامپيوتر کاربر منتقل شود و بعد توسط مرورگر اجر شود!
حالا اگر فايل(صفحه) در خواستي از نوع Server Side باشد مثلا يک صفحه php! اول توسط کامپايلر php اجرا ميشد! کارهايي که بايد انجام بدهد - مثلا پيدا کردن يک رکورد در بانک اطلاعاتي - انجام ميدهد و بعد نتيجه اين کارها را در صورت لزوم به صفحه html تبديل ميکند و براي صفحه html ايجاد شده عمليات Client Side انجام مي شود!
ذکر اين نکته خيلي ضروري است که اگر قرارباشد چيزي براي کاربر نمايش داده شه بايد به کد html تبديل شده باشد.
هر وب سايت يا برنامه تحت وب را علاوه بر دو بخش اصلي مي توانيم به بخش هاي زير نيز تفکيک کنيم. به شکل زير نگاه کنيد:
در سمت کاربر علاوه بر html از css کمک مي گيريم که بر روي نحوه نمايش عناصر html و ساختار ظاهري آن کنترل بيشتري داشته باشيم و بتوانيم ظاهر مجموعه اي از صفحات را با يک يا چند فايل css مديريت کنيم. از JavaScript هم براي بررسي و پردازش اطلاعات کاربر و همچنين پويايي و تعامل با کاربر استفاده خواهيم کرد.
در سمت سرويس دهنده از MySQL براي نگهداري اطلاعات کاربر و از PHP براي ذخيره سازي و بازيابي اين اطلاعات و همچنين توليد محتوا به صورت پويا dynamic استفاده مي کنيم! البته در اين سمت انتخاب هاي ديگري وجود دارد. مثلا MS SQL Server يا Oracle به عنوان جايزگزين هاي MySQL مطرح مي شود و براي زبان برنامه نويسي نيز ASP.NET ازجمله ي انتخاب ها مي تواند باشد.
براي کار طراحي وب سايت نياز به يک ويرايشگر متن Text Editor داريم که اولا Unicode را پشتيباني کند ثانيا Syntax Highlighting را براي زبانهاي برنامه نويسي مختلف داشته باشد! يکي از بهترين اين ويرايشگرها برنامه ++ Notepad است که امکانات فوق العاده اي دارد ، Open Source است ، اکثر زبان هاي اسکريپت نويسي را پشتيباني مي کند و خيلي سريع و راحت نصب يا بروز رساني مي شود . براي کار ما همين نرم افزار کفايت ميکند! اما نرم افزارهاي خيلي زيادي نيز براي طراحي وب سايت وجود دارند و دست ما براي انتخاب باز است! در مورد اين برنامه هاي طراحي ذکر اين نکته خيلي ضروري است که اکثر اين برنامه ها بيشتر براي طراحي ظاهري وب سايت ها به کمک ما مي آيند و بقيه کار را بايد خودمان توسط کد نويسي انجام بدهيم البته بعضي از آنها کدهاي آماده هم وجوددارد! از بين اين نرم افزارها ميشه Dreamweaver را نام برد! نرم افزار Visual Web Developer Express Edition 2008 نرم افزار بسيار خوبي است که براي توسعه وب سايت ها تحت دات نت .NET از آن استفاده مي شود. Frontpage که احتمالا اسمش را شنيديد. از مشکلات هميشگي نرم افزار Frontpage اين است که کدهايي را بدون اينکه کاربر بخواهد به صفحه اضافه مي کند که استفاده از آن توصيه نمي شود!
براي برنامه نويسي به زبان php نياز به کامپايلر آن و وب سرور Apache همچنين بانک اطلاعاتي MySQL داريم! البته نصب هر کدام از اينها به صورت جداگانه براي کار ما ، عاقلانه به نظر نمي آيد! به جاي اين کار برنامه هاي ديگري وجود دارند که همه ي آنها را به صورت يک پکيج يکجا دارند و با چند کليک نصب مي شوند. Xampp انتخاب مناسبي است که براي هر کدام از سيستم عامل هاي رايج مثل Windows ، Linux ، MAC OS و Solaris پکيج مخصوصي راآماده کرده است!