help

راهنماي سوالات متداول نوآموزان و کاربران


يادگيري برنامه نويسي وب چه فايده اي دارد؟

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

براي برنامه نويس وب شدن از کجا شروع کنيم؟

براي برنامه نويس وب شدن بايد قبل از هر چيز مباني وب را بشناسيم، در خصوص واژه هايي مانند اينترنت، مرورگر، سرور، آدرس URL، سايت، وبلاگ و کدنويسي HTML اطلاعات اوليه داشته باشيم، در گام دوم بايد سه دسته از زبان هاي برنامه نويسي را ياد بگيريم، زبان هاي سمت کاربر (براي شروع HTML)، زبان هاي سمت سرور (مانند زبان برنامه نويسي PHP) و زبان هاي بينابيني (مانند Ajax).

چرا در وب سه دسته زبان برنامه نويسي بايد ياد بگيريم؟

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

در وب چه زبان هاي برنامه نويسي را بايد ياد بگيريم؟

اين زبان ها در سمت کاربر شامل موارد زير است که بهتر است به ترتيب ياد گرفته شوند:
- HTML، زبان پايه کدنويسي وب است و تقريبا هر آنچه که در مرورگرها مي بينيم در نهايت بايد با قوانين اين زبان نوشته شده باشند، شايد بپرسيم ما که در مرورگرها چيزي جزء متن، تصوير و... نمي بينيم پس زبان HTML کجا استفاده شده است؟! در پاسخ به اين سوال کافي است در صفحه وب کليک راست کرده و گزينه ي View HTML Source یا View Page Source را انتخاب نمائيم، خواهيم ديد که در پشت صفحات ساده اي که در حال مرور آنها هستيم مجموعه اي از کدهاي برنامه نويسي قابل روئيت است که اين کدها براي مرورگرها قابل تشخيص و پردازش هستند و در نهايت ساختار کلي صفحه را شکل مي دهند، HTML زبان شيرين و ساده اي است و بيشتر شامل يک سري قواعد نشانه گذاري (Markup) مي شود و اصول خيلي پيچيده اي ندارد.
- CSS، در کنار HTML و معمولا پس از فراگيري آن بايد با زبان استايل نويسي ديگري تحت عنوان CSS آشنا شويم، HTML به تنهايي صرفا اسکلت بي جان صفحات وب را ايجاد مي کند، براي دميدن روح به اين اسکلت بي جان بايد از CSS استفاده کنيم، با CSS مي توانيم هرآنچه که به رنگ و فرم مربوط مي شود را در صفحات وب پياده سازي کنيم، يادگيري CSS در مقايسه با HTML کمي زمانبر است و تبحر در آن نيازمند کسب تجربه تدريجي و آزمايش و خطا دارد.
- JavaScript، گفتيم که HTML ساختار ساده اي دارد و نمي توانيم با آن ساز و کارهاي پيچيده اي طراحي کنيم، به فرض نمي توانيم عرض صفحه نمايشگر کاربر را تشخيص داده يا مقادير وارد شده در يک فرم را به صورت پیشرفته اعتبارسنجي کنيم، براي موارد اينچنيني و تقريبا هرآنچه که به قابليت هاي تعاملي در صفحه مرورگر مربوط مي شود نيازمند ورود به دنياي حرفه اي برنامه نويسي جاوا اسکريپت هستيم، جاوا اسکريپت زبان قدرتمندي است که براي ايجاد امکانات سمت کاربر بسيار کاربرد خواهد داشت و علاوه بر وب در بسياري از پلتفرم هاي ديگر نيز استفاده مي شود، براي يادگيري جاوا اسکريپت بايد وارد دنياي هوش منطقي شويم که بسيار شيرين و جذاب است، فراگيري اين زبان اندکي از دو مورد بالا زمانبرتر و پيچيده تر خواهد بود.
پس از فراگيري سه مورد اشاره شده در بالا نوبت به فراگيري زبان هاي سمت سرور زير است:
- PHP، زبان قدرتمند و فراگير براي نوشتن کدهايي است که در سرور قابل اجرا هستند، همان طور که گفتيم پس از ارسال درخواست دريافت محتواي يک صفحه اين درخواست به سرور ميزبان آن صفحه ارسال مي شود و سرور با توجه به برنامه اي که ما برايش تعريف مي کنيم به درخواست کاربر پاسخ خواهد داد که اين برنامه با زبان هاي برنامه نويسي مانند PHP قابل تعريف است، انتخاب PHP اجباري نيست و انتخاب هاي ديگري مانند ASP.NET، Python، Java و... وجود دارد، اما براي کاربردهاي متداول به جهت سادگي و در عين حال قدرتمندي، متن باز (Open-source) بودن، جامعه کاربران فراوان، سهولت استفاده، نصب و راه اندازي ارزان و مطمئن و مواردي از اين دست پيشنهاد ما اين است که حداقل به عنوان پايه کار حتما PHP را ياد بگيريد، بسياري از برنامه هاي معروف مانند وردپرس، جوملا، ديتالايف و... با اين زبان نوشته شده اند، يادگيري PHP در مقايسه با ساير زبان هاي مشابه بسيار شيرين و آسان است و اصول اوليه کار با آن را به سرعت فرا خواهيد گرفت.
- MySQL، يک زبان برنامه نويسي نيست بلکه سيستم مديريت پايگاه داده است که با زبان هاي برنامه نويسي مانند PHP در تعامل است، امروزه اطلاعات رد و بدل شده در برنامه هاي تحت وب عموما بر روي پايگاه داده نگهداري مي شوند و براي دسترسي و مديريت اين پايگاه هاي داده نياز به سيستم هاي خاصي مانند MySQL است، MySQL بيشترين سازگاري را با PHP دارد و مي توانيم با کدنويسي به صورت حساب شده و منظم موارد را در پايگاه داده ذخيره يا از آن استخراج کنيم، در صورت آشنايي با PHP يادگيري استفاده هاي اوليه MySQL بسيار ساده خواهد بود.
و در نهايت زبان بینابینی:
- Ajax، منظور از بينابيني اين است که اين زبان در مرورگر کاربران اجرا مي شود اما درخواست را به سرور ارسال کرده و نتيجه را از سرور دريافت و در صفحه مرورگر پردازش يا نمايش مي دهد، Ajax فناوري نويني است که باعث مي شود بدون نياز به رفرش صفحات وب بتوانيم در پس زمينه اطلاعات را رد و بدل کنيم که در اغلب برنامه ها کاربردي و مورد نياز است، زبان Ajax ترکيبي از JavaScript و XML است و يادگيري آن زمان کمي مي برد.

آيا صرف يادگيري زبان هاي اصلي وب کفايت مي کند؟

برنامه نويسي وب مستقل از ساير مفاهيم دنياي کامپيوتر و برنامه نويسي پلتفرم هاي ديگر نيست، لذا در کنار زبان هاي سمت سرور، سمت کاربر و زبان هاي بينابيني بايد با پروتکل ها، دستورات و استانداردهاي ديگري مانند XML، JSON، HTTP، Regular Expressions، htaccess و مواردي از اين دست آشنا باشيم، اينها مفاهيمي کلي هستند که در ساير پلتفرم ها نيز کاربرد خواهند داشت.

چه سيستم و نرم افزارهايي براي برنامه نويسي وب مورد نياز است؟

خوشبختانه برنامه نويسي وب نياز به سيستم سخت افزاري خيلي خاصي ندارد، با يک سيستم معمولي و صفحه نمايش با ابعاد متوسط نيز مي توانيم کدنويسي وب را شروع کرده و نتيجه را در مرورگر مشاهده کنيم، در مورد نرم افزار نيز اگرچه با برنامه Notepad ساده ويندوز هم مي توانيم کدنويسي کنيم اما در پروژه هاي حرفه اي برنامه هاي پيشرفته و قوي مانند PhpStorm، Notepad++، Dreamweaver، Photoshop، InkScape، IconWorkshop و مواردي از اين دست مورد نياز خواهند بود.

آيا نياز است که حتما آنلاين برنامه ها را اجرا کنيم؟

خير، براي کدنويسي و اجراي برنامه هاي تحت وب هيچ نيازي به اتصال به اينترنت و آنلاين بودن نيست، حتي کدهايي که در سرور اجرا مي شوند نيز با نصب برنامه سرور مجازي در سيستم عامل قابل اجرا هستند، تنها زماني که بخواهيم برنامه ها به صورت آنلاين قابل استفاده باشند بايد آنها را به هارد ديسک سرور منتقل کنيم.

يادگيري برنامه نويسي وب چقدر زمان مي برد؟

پاسخ روشني نمي توانيم به اين سوال بدهيم! بسته به ميزان آشنايي قبلي با دنياي برنامه نويسي، هدف، مدت زمان صرف شده در روز و استعداد و علاقه اين زمان بين افراد مختلف متغير خواهد بود، به فرض اگر بخواهيد برنامه نويسي وب را در حد طراحي يک قالب وب بياموزيد قطعا زمان کمتري نسبت به حالتي که مي خواهيد يک سيستم مديريت محتواي شخصي طراحي کنيد مورد نياز است، به طور معمول براي کسي که مي خواهد صفر تا صد کار را ياد بگيريد و از سطح پايه به سطح پيشرفته برسد شايد زماني در حدود 1 تا 3 سال در صورت کار مداوم و 2 تا 5 سال در صورت کار متناوب مورد نياز است.

آيا برنامه نويسي وب مي تواند درآمدزا باشد؟

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

چرا يادگيري زبان هاي وب خيلي پيچيده است؟

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


آخرین دیدگاه ها
form یه سوال کننده
در:
سلام. ببخشید چطور میشه ایمیل هایی رو میفرستن که ریپلای زدن رو ایمیلی که از طرف ما نبوده بیشتر تو تبلیغات دیدم امیدوارم منظورم و...
۰۳:۲۳:۰۸ ۱۳۹۸/۰۸/۲۴

form پرتو
در:
با عرض سلام و خسته نباشید امیدوارم حالتون خوب باشه من دو سه سال پیش وبلاگم رو حذف کردم ایا امکانش هست برگرده؟ ادرس...
۱۴:۵۵:۵۲ ۱۳۹۸/۰۸/۲۰

form علی
در:
سلام من نمی تونم html tag رو چطور در وبلاگم قرار بدم وبلاگم اینه
tagtak.blog.ir
۱۰:۲۳:۳۴ ۱۳۹۸/۰۸/۲۰

form حمید
در:
سلام. خسته نباشید. من میخاستم استایل فیلدهای فرمم رو تغییر بدم منتهی نمیدونم از چه کدهایی باید استفاده کنم. برای اینکه فرمی به شکل...
۱۰:۳۶:۱۹ ۱۳۹۸/۰۸/۱۹

form سمیه
در:
سلام ممنون بابت آموزش مفیدتون توی تگ ها هرچیزی که در تگ head قرار بگیره نمایش داده نمیشه، اما ممنون میشم...
۲۰:۴۹:۲۳ ۱۳۹۸/۰۸/۱۷

form استادمجازی
در:
سلام. از ادمین عزیز و همگی دعوت می کنم آموزش های خوبتون را بصورت آموزش ویدیویی یا صوتی و... در سایت ostadmajazi.com استادمجازی ...
۲۲:۱۲:۲۳ ۱۳۹۸/۰۸/۱۳

form mohamad
در:
سلام و خسته نباشید ، توی فرمی که ساختم چند تا drop down دارم که میخوام با php براشون شرط بذارم به طوری...
۱۳:۵۱:۳۴ ۱۳۹۸/۰۸/۱۰

form رضا
در:
خسته نباشید این جلسه آخر html بود؟؟؟؟
۰۱:۱۵:۰۷ ۱۳۹۸/۰۸/۱۰

form امیرمحمد
در:
سلام و خسته نباشید استاد بنده میخوام بین دو کد زیر که مشخص کردم رو به دست بیارم
// ---------------------set سلام...
۱۹:۳۰:۵۳ ۱۳۹۸/۰۸/۰۸

form حجت
در:
خیلی ممنونم از لطف شما. اوکی شد.
۱۰:۲۸:۳۵ ۱۳۹۸/۰۸/۰۶

form میلاد
در:
آشنایی نسبی با css, php و ajax دارم و نمیخام از library های موجود در نت استفاده کنم. خواستم با همین متد که انصافا روان...
۲۳:۲۲:۵۵ ۱۳۹۸/۰۸/۰۵

form عرفان
در:
با سلام. مدتی بود که بدلایل مشکلات زیاد نتونستم به وبلاگم رسیدگی کنم ولی وقتی برگشتم میبینم که هزاران بازدید داشتم و همشونم به زبان...
۲۲:۴۹:۴۴ ۱۳۹۸/۰۸/۰۵

form raha
در:
سلام وقتتون بخیر ببخشید علامت @ در کل به چه معناست ممنون میشم پاسخ دهید
۲۰:۱۲:۵۹ ۱۳۹۸/۰۸/۰۵

form میلاد
در:
باسلام تشکر از مطالب روان و پرکاربردتان. در خصوص آموزش مذکور، نحوه و ترفند نمایش محور عمودی در سمت چپ نمودار (مشابه...
۰۲:۳۸:۴۰ ۱۳۹۸/۰۸/۰۵

form حجت
در:
با عرض سلام و خسته نباشید بنده میخواستم لینک زیر رو
example.ir/49/blogtitle.html
به لینک
example.ir/blog.php?tag=49&title=blogtitle
دایرکت کنم تو htaccess کد...
۱۷:۰۳:۴۸ ۱۳۹۸/۰۸/۰۴