آشنایی با یک برنامه نویس full-stack


برنامه نویس وب Full-Stack ٬ بر اساس نظر سنجی Stack Overflow در 2016پر طرفدار ترین شغل برنامه نویسی است . علاوه براین خیلی جالبه که بدانید با وجود اینکه منابع خیلی زیادی در اینترنت موجوده که می شود با استفاده از اون به یک برنامه نویس Full-Stack تبدیل شد ، این زمینه یکی از پردرآمد ترین شغل های برنامه نویسی هم هست.
خب برنامه نویس full-stack کیه؟
برنامه نویس فول استک کسی هست که هم در front-end و هم در back-end می تواند کار کند . فرانت اند به بخشی از برنامه گفته می شود که کاربر می تواند ببیند و با آن تعامل کند و بک اند بخشی دیگری از برنامه هست که کار با دیتابیس و احراز هویت کاربر و کانفیگ سرور و … را به عهده دارد .البته این به این معنی نیست که حتما باید برنامه نویس فول استک متخصص هر دو حوزه باشد ولی باید کار با این دو را بلد باشد .
برای کسانی که می خواهند برنامه نویس Full-Stack شوند لیستی از مواردی که برای این راه ضروری است را آورده ایم .
1- HTML/CSS
در اکثر دوره هایی برنامه نویسی وب که در اینترنت وجود دارد ، ابتدا HTML , CSS مورد بحث قرار می گیرد . قالب کلی وب سایت با این دو پیاده سازی می شود . HTML به شما اجازه می هد که محتوای مد نظرتون رو در وب سایت بگذارید و CSS کار استایل دهی به محتوای شما رو انجام می دهد .
منبع خوب برای این موضوع : سایت w3schools هسنش که مرحله به مرحله به شما به صورت متنی و آزمایشگاهی HTML , CSS , bootstrap رو آموزش میدهد.
2- Javascript
جاوا اسکریپت یک زبان برنامه نویسی هستش که روز به روز بر محبوبیت آن افزوده می شود .این زبان کتابخانه ها و فریمورک های خیلی قدرتمندی دارد که بر اساس آمار سایت Stack Overflow ، محبوب ترین زبان برنامه نویسی است. جاوا اسکریپت تنها زبانی هست که به صورت محلی (native) در مرورگر اجرا می شود و می تواند عملیات سمت سرور را هم بر عهده بگیرد.
یک برنامه نویس Full-Stack در جاوا اسکریپت باید به موارد زیر توجه داشته باشد:
- آشنایی با چگونگی کار با DOM , JSON
- آشنایی با برنامه نویسی شی گرا
- توانایی پیاده سازی ساختار مناسب کد ها و استفاده از برنامه نویسی ماژولار (Webpack,browserify )
- آشنایی داشتن با یکی از فریمورک های محبوب جاوا اسکریپت (Angular, React )
- آشنایی با کلیت توسعه با jQuery
- آشنایی با Es6
3- Back-End Language
هر وقت احساس کردید به صورت کامل با HTML , CSS آشنا شدید و توانایی پیاده سازی صفحات مختلف وب را دارید می تونید به سراغ بک اند بروبد. در سمت سرور برای برقراری ارتباط با سرور و انجام عملیات سمت سرور نیاز به زبان های برنامه نویسی دیگری داریم از جمله : php , Node.js , Ruby , python
این زبان ها هر کدام مزیت ها و چالش های خاص خودشان را دارند و برای همین تحقیق برای انتخاب یک زبان برنامه نویسی از اهمیت ویژه ای برخوردار است .
4 – Databases & Web storage
هنگامی که در حال توسعه برنامه هستید شاید بخواهید اطلاعاتی رو در جایی ذخیره کنید و بعدا به آن دسترسی داشته باشید و از آن در برنامتون استفاده کنید. به همین منظور شما باید با دیتابیس و موارد زیر آشنا باشید:
- آشنایی با مزیت های دیتابیس های رابطه ای مثل SQL
- یادگیری مفاهیم ذیتابیس های NoSQL مانند MongoDB
- استفاده از دیتابیس مناسب در هر موقعیت خاص
- یادگیری چگونگی ارتباط با database با زبان بک اند مورد نظر
- آشنایی با ذخیره اطلاعات در وب مانند کش و سشن ها و کوکی ها
5 – HTTP & REST
HTTP یک پروتکل در بستر وب هست که به کاربر اجازه ارتباط با سرور رو میده در زیر لیستی از مواردی که باید برنامه نویس Full-Stack با آن آشنا باشه آورده ایم:
- REST چیست و چه اهمیتی داره؟
- آشنایی با RESTful API و GET\POST
- گواهینامه SSL چیه ؟
- آشنایی با HTTP/2 و SPDY
- آشنایی با کاربرد Chrome Devtools
6 – Web Application Architecture
اگر شما بخواهید برنامه های پیچیده ای رو توسعه دهید ٬ نیاز دارید تا با ساختار کد های برنامتون ٬ نحوه جداسازی فایل ها ٬ ذخیره سازی فایل های حجیم برنامه ٬ ساختار database, … آشنایی داشته باشید همچنین باید درباره :
- paaS مانند Heroko و AWS
- نحوه بالا بردن کارایی برنامه
- ساختار استاندارد برنامه
- طراحی MVC
مطالبی رو بدانید .
7 – Git
Git یک Version Control System که به دولوپر ها اجازه می دهد به صورت تیمی با هم کار کنند و از تغییرات کد های اصلی برنامه با خبر شوند . این تکنولوژی برای برنامه نویس ها خیلی مهم و کاربردی هست . چون با این ابزار شما به راحتی می توانید کد های از دست رفته را بازگردانی کنید ٬ کد های بخشی از برنامه را به روز کنید ٬ تعمیرات انجام دهید و به راحتی کد های کاربر ی دیگر را تغییر دهید . شما در این راه باید با کلیت عملکرد Git آشنا باشید و بتوانید از آن استفاده کنید.
8 – Basic Algorithms & Data Structures
برنامه نویسان وب فکر می کنند که تمرکز گذاشتن روی علوم کامپیوتر مثل مرتب سازی ها ٬ آنالیز الگوریتم و … کار درستی نیست. در حالی شرکت هایی مانند گوگل در مصاحبه های استخدام از این مباحث سوال می کنند. همین امر اهمیت زیاد این موضوع رو نشان می دهد . در اکثر برنامه های جست و جو کارایی بالا مد نظرهستش که با داشتن دانش کافی در پیاده سازی الگوریتم های جست و جو ٬ به نتیجه مطلوب می توانیم دست پیدا کنیم .
تبدیل شدن به یک برنامه نویس Full-Stack پروسه خیلی طولانی دارد ولی مطمئن باشید اگر با علاقه وارد این مسیر شده اید حتما به نتیجه مطلوب خواهید رسید .
مطالب زیر را حتما مطالعه کنید
چگونه از ماژول های نیتیو Android و IOS در React Native استفاده کنیم؟
تفاوت توسعه برنامه های android و ios
بهترین زبان های برنامه نویسی برای هوش مصنوعی
تفاوت زبان های برنامه نویسی و اسکریپت نویسی
تفاوت for in و for of
بهترین فریمورک های UI برای استفاده در 2021
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام بسیار ممنون
خواهش میکنم حمید رضا عزیز