از مهندسی نرم افزار تا طراحی سرویس های تحت وب

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

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

طراحی و برنامه نویسی تحت وب:

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

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

تکنولوژی های لازم برای شروع برنامه نویسی تحت وب: 

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

 CSS: سی اس اس امکان تغییر گرافیکی صفحات وب را بسیار ساده میکند و دانستن آن کمک بسیاری به شما در طراحی سایت هایی میکند که امکان تغییر صفحات سایت را مانند تغییر قالب وبلاگ فراهم میکنند.

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

یک زبان برنامه نویسی تحت وب: هم اکنون زبان هایی مانند PHP و ASP.net در ایران طرفدار زیادی دارند. پیشنهاد ما برای دانشجویانی که در دانشگاه با C# کار کرده اند،  ASP.net است. اگر هم به مفاهیم اوپن سورس علاقمند هستید php را آغاز کنید. زیرا هم اوپن سورس است و هم cms های زیادی تحت این زبان بصورت رایگان نوشته شده است که می تواند کار طراحی شما را سرعت بخشد.

طراحی بانک اطلاعاتی رابطه ای: اولین چیزی که یک سایت بزرگ نیاز دارد یک بانک اطلاعاتی قدرتمند و بهینه شده است. شما باید اصول طراحی بانک های اطلاعاتی ، نرمال سازی در طراحی بانک های اطلاعاتی ، و سپس پیاده سازی را توسط یک بانک قدرتمند مانند SQL Server و یا MySQL بدانید تا بتوانید اولین قدم را در برنامه نویسی تحت وب بردارید.آجاکس : احتمالا یک اکانت جیمیل دارید. آیا سرعت حذف نامه ها را در این سرویس با سایت های دیگه مقایسه کرده اید؟ گاهی کمتر از نیم ثانیه. جیمیل یکی از سایت هایی است که خیلی زود و درست از تکنولوژی آجاکس استفاده کرد ، امروزه بسیاری از سایت ها از این روش برای بالابردن سرعت لود صفحات سایت خود استفاده میکنند و حتی سایت های ایرانی نیز از اجاکس برای طراحی بهره می برند.

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

آشنایی با شبکه : مفاهیمی در برنامه نویسی تحت وب هست که ممکن است در برنامه نویسی تحت ویندوز هرگز با آن مواجه نشوید. مفاهیمی مانند IP ، Server Configuration ، Browser Compatibility و صدها واژه و مفهوم دیگر که جزئی جدانشدنی از وب هستند. سعی کنید با مفاهیم شبکه ها ، پروتکل های وب مانند FTP و HTTP و تاریخچه ای از وب آشنا باشید. این اطلاعات نه تنها مفید بلکه برای برنامه نویسی تحت وب ضروری است.

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

همچنین سعی کنید از سایت های برنامه نویسی و طراحی در اینترنت بیشترین بهره را ببرید. بسیاری از تکنولوژی هایی که امروزه بصورت متداول در آمده است روزی بعنوان یک ایده در یک وبلاگ مطرح شده است.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *