loading

بروزرسانی

توسعه دهنده فول استک

عمومی
2022 ژانویه 22

توسعه دهنده فول استک

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

توی مرحله اول بزارین یکم از تکنولوژی ها و کاربردهای مختلفشون صحبت کنیم و با مفهوم فرانت اند و بک اند بیشتر آشنا بشیم:

فول استک

فرانت اند

توی هر وبسایتی یه بخشی هست که کاربر داره باهاش کار میکنه و میتونه تمام بخش هاشو  ببینه و باهاش کار کنه یا به اصطلاح ui و ux سایت که میتونه شامل صفحات و قابلیت های مختلفی باشه، پایه و اساس فرانت اند هم به زبان های html, CSS و جاوا اسکریپت برمیگرده. البته توی پرانتز بگم که html یک زبان برنامه نویسی نیست (:

بک اند

بک اند یک وبسایت دقیقا اون قسمتی که از دید کاربر خارجه و مسئولیتشم جواب دادن به درخواست های کاربر و مدیریت دیتاهای دیتابیس.

از زبان هایی که میشه باهاشون بک اند یک سایت رو توسعه داد میشه به پایتون، جاوا اسکریپت، PHP ، گولنگ و … اشاره کرد.

بزارید برای اینکه مفهوم این دوتا کانسپت رو یاد بگیریم یه مثالی بزنم:

یه سایت خبری رو فرض کنید که وقتی واردش میشید باید ثبت نام کنید یا وارد بشید تا بتونید خبرا رو ببینید.

خب اون صفحه یا فرمی که توش ورود یا ثبت نام میکنید و اون صفحه ای که خبرا رو به شما نشون میده جزو قسمتایی که سمت فرانت اند هندل میشه

حالا شاید سوال پیش بیاد که خب بک اند چی شد؟

باید بگم که اون قسمت اعتبارسنجی فرم های ثبت نام و ورود یا مدیریت لیست خبرا یا حتی وضعیت سلامت سروری که سایت روی اونه و مدیریت خیلی چیزای دیگه که از دید منو شما خارجه، سمت بک اند هندل میشن.

خب درکنار بخش های فرانت اند و بک اند یک سری چیزای دیگم هست که تقریبا هر توسعه دهنده ای باید باهاشون کار کرده باشه یا حداقل باهاشون آشنا باشه. بریم یه سری هم به اونا بزنیم: 

اول از همه میریم سراغ 

گیت (Git)

هرکسی که بخواد توی یه تیم یا یه شرکت برنامه نویسی کار کنه باید گیت رو بلد باشه. چرا؟‌ 

به این دلیل که گیت یک نوع سیستم کنترل ورژن (VCS) که به ما کمک میکنه تغییرات اعمال شده توی فایل ها رو ساده تر پیگیری کنیم و خیلی کار ما رو برای کارهای تیمی راحت تر میکنه.

البته اینم بگه گیت با گیت هاب فرق میکنه و گیت هاب یک سایت هاست برای پروژه هایی که از گیت استفاده میکنن مثل گیت لب،‌گیت پاکت و ….

لینوکس

لینوکس یک سیستم عامل مثل ویندوز با این تفاوت که متن بازه و اجازه دسترسی های بیشتری رو بهمون میده مخصوصا وقتی پای سرور وسط باشه

API

 API مخفف واژگان Application Programming Interface  هست و تعریف سادش اینه که بخش های فرانت اند و بک اند رو بهم وصل میکنه و انواع خودشو داره مثل (PRC , soap, rest, … ) 

دیتابیس

شاید بشه گفت مهم ترین بخش یک سایت دیتابیس اون سایته چرا که تمام داده ها توی اون ذخیره شدن و هر نوع آسیبی که بهش وارد بشه ممکنه باعث ازبین رفتن اطلاعات کاربران یا ازون بدتر افشا شدن اطلاعات کاربران باشه که البته ضرر بزرگی هم به شرکت وارد میکنه.

 خلاصه از موضوع اصلی بحث دور نشیم.

دیتابیس جاییه که اطلاعات کاربران و اطلاعات مورد نیاز سایت اونجا ذخیره میشه. دیتابیس های مختلفی داریم مثل MongoDB , SQL, SQLite, …

خب حالا که با یه سری از این مفهوما و تکنولوژیا آشنا شدیم بریم سراغ اصل ماجرا

فول استک

فول استک

تو دنیای طراحی و برنامه نویسی وب، کسایی هستن که هم طراحی وب (دیزاین و برنامه نویسی سمت کاربر) رو انجام میدن و هم به برنامه نویسی وب مسلطن. در واقع این افراد کسایی هستند که به تنهایی میتونن یه پروژه‌ی تقریبا بزرگ رو به پایان برسونن. به این افراد برنامه نویس Full Stack میگن.

اگر بخوایم از زاویه تکنولوژی ها بهش نگاه کنیم میشه گفت فول استک کسیه که هم به تکنولوژی های سمت فرانت مثل html, CSS و جاوا اسکریپت مسلطه هم به تکنولوژی های سمت بک مثل PHP, Django و … و همچنین میتونه راحت با دیتابیس های مختلف کار کنه و دیتا ها رو مدیریت کنه

و چه بهتر اینکه با برنامه نویسی موبایل هم آشنا باشه

خب از اونجایی که تعداد تکنولوژی ها بیشتر از اونیه که یه نفر بخواد همه رو باهم بلد باشه، اومدن فول استک ها رو به دسته بندی های زیر تقسیم بندی کردن:

LAMP stack: JavaScript – Linux – Apache – MySQL – PHP

LEMP stack: JavaScript – Linux – Nginx – MySQL – PHP

MEAN stack: JavaScript – MongoDB – Express – AngularJS – Node.js

Django stack: JavaScript – Python – Django – MySQL

Ruby on Rails: JavaScript – Ruby – SQLite – Rails