بک اند چیست

بک اند چیست

بک اند (Back End) چیست؟ چه اتفاقاتی اون پشت میفته؟

بک اند چیست؟ اگه به حوزه برنامه نویسی وب علاقه داشته باشید، حتما کلمه های فرانت اند و بک اند به گوشتون خورده.
back-end: برنامه نویسی بک اند (Back End) مربوط به کدنویسی و برنامه نویسی چیز هایی هست که کاربرد اون رو مشاهده نمیکنه و نمیتونه ببینه، یعنی مربوط به کارهای پشت صحنه وب سایته. مثلا وقتی که یک وبسایت، مقالات را از دیتابیس دریافت میکنه، این کار توسط بک اند انجام میشه.
وظیفه‌ی یک برنامه نویس بک اند اینه که چیز هایی رو که هسته اصلی یک وبسایت رو تشکیل میدن برنامه نویسی کنه که کد هاش رو هیچکس جز خود برنامه نمیتونه ببینه. به زبان خیلی ساده بخوام بک اند رو توضیح بدم به اتفاقاتی که پشت یه وبسایت اتفاق میوفته، تا سایت به خوبی کار کنه، بک اند میگن؛ اما این پشت سایت دقیقا کجای سایت هست؟ اصلا مگه سایت پشت داره؟
باید بگم نه، سایت پشت نداره و بک اند نمیره پشت کامپیوتر از عقب کار کنه باهاش! حالا یه یه برنامه نویس بک اند کیست؟ به کسی که منطق و مغز یک وبسایت رو میسازه، برنامه نویس بک اند میگن. چطوری؟ مقاله رو بخون تا کامل تر و تخصصی تر متوجه شی که back end چیست!
توی این مقاله قصد داریم از زبان یکی از خبره ترین برنامه نویس های بک اند، در مورد مباحثی مثل بک اند چیست، برنامه نویس بک اند، بازار کار بک اند و … توضیح بدیم و به سوالات پر تکرار مرتبط با بک اند پاسخ بدیم.

تفاوت بک اند و فرانت اند

واضح بگیم، فرانت یعنی ظاهر، قسمت جلویی و قسمت قابل مشاهده از هر چیز؛ کلمه بک یعنی پشت، باطن و قسمت غیر قابل مشاهده از هر چیز. در حوزه برنامه نویسی وب هم دقیقا همینطوره!

بک اند چیست
بک اند چیست

front-end، ظاهر سایت

هرچیزی که شما میتونید از این سایت ببینید رو طراح وب یا همون Front End Developer طراحی کرده که مربوط به کد نویسی جلوی سایت میشه، دقیقا جایی که کاربر توش میگرده و میبینتش.
بریم یه مثال قشنگ از این قسمت سایت ببینیم که دقیق تر متوجه شیم؛ یه نگاه به عکس پایین که از سایت سبزلرن هست بندازید:

ما کاربر سایت سبز لرن هستیم و میتونیم قسمت Header رو ببینیم، یا حتی میتونیم فوتر، قسمت محصولات، دوره ها یا مقاله هارو ببینیم. تمام این قسمتایی که برای ما قابل مشاهده هست رو فرانت اند (Front End) نام گذاری کردن.

back-end، باطن سایت

برنامه نویسی بک اند (Back End) مربوط به برنامه نویسی هر آن چیزی است که کاربر نمیتونه ببینتش و مربوط به کارهای پشت صحنه وب سایت است. مثلا وقتی که یک وبسایت مقالات رو از دیتابیس میگیره، یک امر مربوط به بک اند است. وظیفه‌ی یک برنامه نویس بک اند، برنامه نویسی چیزهایی است که هسته اصلی وبسایت هستند و کاربر کدهای آن‌ را بصورت مستقیم نمیتونه ببینه.

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

شما همین صفحه لاگین از وب سایت سبزلرن را در نظر بگیرید، برای ورود به پنل کاربری خود از شما اطلاعات نام کاربر و گذرواژه رو میخواد و شما اطلاعات رو وارد میکنید و روی دکمه “ورود” کلیک میکنید.
حالا، نتیجه این کلیک به اطلاعات شما بستگی داره، یعنی ممکنه شما بتونید وارد شید و ممکن هم هست سایت به شما اخطار بده که نام کاربردی یا رمز ورودتون اشتباهه!
اگه نمیدونید وظیفه بک اند چیست، دقیقا همینجا وظیفش شروع میشه! سبزلرن چطور و از کجا متوجه صحیح یا غلط بودن اطلاعات شما شد؟
یا چه بلایی سر اطلاعات شما میاد تا به شما اجازه ورود به پنل رو بدن؟ اینا سوال هاییه که ما جوابشو نمیدونیم چون نمیتونیم ببینیم این قسمت هارو، چون وظیفه کد هایی هست که Back End سایت رو ساختن.

این فقط یک مثال خوب برای درک مفهوم بک اند بود و قسمت های زیادی از هر وب سایت داینامیک توسط بک اند هندل میشه؛ مثل سبد خرید، درگاه پرداخت، ثبت نام و …

مهارت های فنی مورد نیاز یک برنامه نویس بک اند – چی لازمه بلد باشم؟

یکی از مهم ترین قسمت های یادگیری یه حوزه جدید اینه که ابزار ها و مفاهیم مربوط بهش رو بدونیم تا یه شروع خوب داشته باشیم؛ حالا مهارت های لازم برای برنامه نویسی بک اند چیست؟

  1. دانش حداقلی از مفهوم فرانت اند و بک اند
  2. تسلط به حداقل یک زبان برنامه نویسی سمت سرور (Back end)
  3. گیت
  4. کار با دیتابیس یا پایگاه داده

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

مهارت های پایه و اساسی یک برنامه نویس بک اند – به جز مهارت فنی چی لازم دارم؟

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

برای ورود به دنیای برنامه نویسی وب باید ریاضی بلد باشیم؟

برنامه نویسی با کد کار داره، نه با انتگرال؛ پس نه!
البته ریاضی نقش هایی داره توی برنامه نویسی، مثلا اگه شما ریاضی بلد باشید قوه حل مسئلتون سریع تر کار میکنه و سرعت انجام کارهاتون میره بالاتر؛ اما مهم رسیدن به مقصده هست.
پس شما چه با بلد بودن ریاضی و چه بدون اون میتونید راحت وارد این حوزه شید؛ فوقش با حل کردن مسائل الگوریتمیک و مطالعه سوالات مسابقات ACM، قوه حل مسئلتون رو تقویت کنید.

پایگاه داده (دیتابیس) در برنامه نویسی بک اند چیست؟

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

بک اند چیست

مفهوم API و API نویسی برای برنامه نویس بک اند

ممکنه بعد از اینکه کلمه API رو توی حوزه برنامه نویسی وب شنیده باشید بنظرتون مبحث سختی بیاد، ولی اصلا اینطور نیست!
وقتی شما میخواید از اطلاعات سرور و وب یک سایت استفاده کنید؛ به اطلاعاتش دسترسی ندارید، یعنی مدیر سایت به شما اجازه نمیده که کل اطلاعات رو داشته باشید!
برای همین منظور یک API نوشته میشه تا برنامه نویسان بتونن به اطلاعات مجاز آن وب سایت دسترسی داشته باشن.
با یه مثال بهتر توضیح بدیم: شما وقتی وارد وب سایت دیجی کالا میشید به اطلاعات محصولات یا اطلاعات کاربرای ساخت دسترسی ندارید.
حالا ممکنه قصد داشته باشید از اطلاعات محصولات دیجی کالا استفاده کنید، برنامه نویس های بک اند دیجی کالا یک API نوشته و در اختیار شما قرار میدن تا شما به کمک API به اطلاعات هر محصول مثل عنوان، قیمت، تعداد فروش و … دسترسی داشته باشید.
در کل API برای دسترسی به اطلاعاتی که خارج از سرور ما قرار دارن استفاده میشن.
پس وقتی که شما تبدیل به یه برنامه نویس بک اند شدید، API نوشته شده توسط شما توی دیتابیس یا همون پایگاه داده ذخیره میشه.
حالا برای اینکه این اطلاعات توی ظاهر سایت دیده بشه، شما این اطلاعات API رو به برنامه نویس Front End تحویل میدید تا اون رو روی سایت قرار بده!

زبان های برنامه نویسی بک اند چیست؟

حالا وقت اینه که بدونیم یه برنامه نویس بک اند به چه زبانی با کامپیوترش حرف میزنه و دستور ها رو بهش میفرسته؛ اینجاست که مهم میشه زبان های برنامه نویسی رو که توی این کار کمکمون میکنن بهتر بشناسیم!

بک اند چیست

 

 

زبان برنامه نویسی C#

سی شارپ یکی از زبان های ساده، مدرن، شی گرا، کاربردی و منطقی هست که از تکنولوژی ASP.Net برای ایجاد و طراحی سایت استفاده میکنه. سی شارپ حسابی تو ایران محبوبه و از سایت بانک ملی و ملت گرفته تا دیجی کالا و بلاگفا رو با سی شارپ درست کردن!

زبان برنامه نویسی PHP

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

زبان برنامه نویسی Python

پایتون یکی از زبان های مدرن، ساده، شی گرا و چند منظوره هست و شما بهتر از زبان های دیگه میتونید یادش بگیرید، این زبان نه تنها برای طراحی سایت و بک اند، بلکه برای کارهای بیشتری هم کاربرد داره و محبوبی مثل پینترست، نت فیلیکس و اوبر از پایتون برای طراحی سایتشون استفاده کردن.

زبان برنامه نویسی Perl

یکی دیگه از زبان های برنامه نویسی چندمنظوره که هم برای حوزه وب هم برای بقیه حوزه های برنامه نویسی مثل هوش مصنوعی و طراحی های صنعتی، Perl هست؛ این زبان سرعت خیلی خوبی داره و شما میتونید با یادگرفتنش چندین کار رو باهم انجام بدید چون کاملا قابل اعتماده!

بازار کار و درآمد برنامه نویسی بک اند

امروزه هر شغلی به طراحی سایت و نرم افزار نیاز داره، پس برنامه نویس های بک اند اگه کارشون خوب باشه حسابی نونشون تو روغنه!
این یه حقیقته که قبل از ورود به هر حوزه ای، درآمدش رو چک میکنیم و مطمئن میشیم که تلاش هامون ما رو به جای خوبی برسونه، اما توی برنامه نویسی زیاد مهم نیست حوزه شما چی باشه، اگه خوب یادگرفته باشید که با کد ها چه چیزایی رو خلق کنید پس بدون شک درآمد خوبی هم دارید.
درآمد سالانه متخصصان پایتون در آمریکا، تقریبا ۹۰ هزار دلار در ساله، همین متخصص ها تو ایران تقریبا درآمدی بین 5 تا 10 میلیون دارن. برنامه‌نویسی با استفاده از SQL در آمریکا، به 95 هزار دلار در سال میرسه، در حالی که در ایران، کارشناسان این حوزه حدود 5 تا 7 میلیون درآمد دارن. البته تمام این درآمد ها بستگی به نوع پروژه هایی داره که شما میگیرد؛ مسلما اگه شما تونسته باشید خوب برنامه نویسی رو یادبگیرید میتونید به صورت فریلنسری کار کنید و حتی درآمد دلاری داشته باشید.

بک اند چیست

در چه مدت زمانی میتونم به بک اند مسلط شم؟

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

راه و روش اصولی یاد گرفتن برنامه نویسی بک اند چیست؟

برای یادگرفتن اصولی برنامه نویسی Back End لازمه تا یه برنامه ریزی خوب داشته باشید، قدم اول اینه که بدونید قراره چیکار کنید و تو چه زمینه ای دارید با کامپیوترها همکاری میکنید. قدم بعدی یادگیری اصطلاح ها و پارت های مختلف هست و بعدش باید روی یک زبان زمان بذارید و خوب یادش بگیرید.
مثلا اگه قصد دارید هم توی حوزه وب فعالیت کنید و هم در آینده در حوزه توسعه بازی، میتونید زبان چند منظوره پایتون رو انتخاب کنید؛ یا زبان قدرتمند سی شارپ هم برای شروع افراد مبتدی کاملا مناسب و قدرتمنده.
ما هم دوره های خیلی زیادی از صفر تا صد برنامه نویسی رو براتون آماده کردیم که بعضیاش رو میتونید حتی رایگان داشته باشید!

بک اند چیست

برنامه نویس بک اند باید امنیت هم کار کنه؟

اصلا رابطه بین امنیت و بک اند چیست؟ میزان تسلط بر موضوع امنیت یکی از بیشترین سوالات توی این حوزست!
امنیت و تست نفوذ یکی از حوزه های مرتبط با برنامه نویسیه و نمیشه گفت یک برنامه نویس بک اند حتما باید یک امنیت کار هم باشه؛ اما به صورت کلی یک برنامه نویس بک اند باید حداقل مهارت های حوزه امنیت را بلد بوده و در پروژه های خود پیاده سازی کنه.
مثلا، یک برنامه نویس بک اند باید در در زمینه باگ های Xss، CSRF، Sql Injection و … Validation های مختلف اطلاعات کافی را داشته باشه.
برای یادگیری مباحث مورد نیاز امنیت در حوزه کاری خودتان، کافیه یک دوره امنیت در همان حوزه بگذرونید؛ به عنوان مثال اگه برنامه نویس بک اند هستید و با زبان برنامه نویسی PHP کار می کنید، میتونید توی دوره “امنیت در PHP” شرکت کنید تا کامل مشکلتون رفع شه.

 

آخرین حرفمون

مسیر یادگیری بک اند ممکنه یکم سخت و پیچیده باشه، اما واقعا هیجان انگیز و مهیجه؛ جدا از اون بازار کار خیلی خوبی هم داره و شما میتونید حسابی با کاری که میکنید لذت ببرید.
پس یادتون نره که زبانی که انتخاب میکنید برای یادگیریتون رو دوست داشته باشید تا بتونید با علاقه پیش برید و اگ هنوز توی انتخاب زبان شک دارید، میتونید بیاید سراغ دوره های ما که کامل و روان براتون توضیح دادیم هر زبان چی به چیه و اصولی توی یادگیری هر زبان جلو میبریمتون!

 

دیدگاهتان را بنویسید