نسخه الکترونیکی ماهنامه شبکه 256
پرونده ویژه شماره 256 مجله شبکه به مبحث بکاند اختصاص پیدا کرده است. در پرونده ویژه این شماره به شما خواهیم گفت، پرکاربردترین زبانهای برنامهنویسی دنیای بکاند چه زبانهایی هستند، با نمونه پرسشها و پاسخهای استخدام توسعهدهنده بکاند آشنا خواهید شد، نگاهی به بازار کار توسعهدهندگان بکاند خواهیم داشت، مفهوم بکاند و برنامهنویسی بکاند را بررسی خواهیم کرد، با چارچوبهای کلیدی توسعه بکاند آشنا خواهیم شد و در نهایت نقشه راهی را که شما را به یک توسعهدهنده بکاند تبدیل میکند بررسی خواهیم کرد.
پرونده ویژه
- Back-end حوزه پردرآمد دنیای برنامهنویسی
- بکاند و برنامهنویسیِ بکاند به چه معنا است؟
- نقشه راهی که شما را به یک توسعهدهنده بکاند تبدیل میکند
- بازار کار توسعهدهندگان بکاند به چه صورتی است؟
- آشنایی با نمونه پرسشها و پاسخهای استخدام توسعهدهنده بکاند
- آشنایی با زبانهای برنامهنویسی پرکاربرد دنیای بکاند
- توسعهدهندگان بکاند باید بهفکر یادگیری این دوازده چارچوب کلیدی باشند
شاهراه اطلاعات
- واقعیت افزوده و لنزهای هوشمند دید شما را فراطبیعی خواهند کرد
- در آینده نزدیک، عینکهای واقعیت افزوده جای گوشیهای هوشمند را خواهند گرفت
- دستیابی تلسکوپ فضایی جیمز وب به دستاوردهایی فراتر از انتظار
فناوری شبکه
- شبکه بهعنوان سرویس (Network as a Service) چیست؟
- ذخیرهسازی ابرمحور چه مزایا و معایبی دارد؟
- فناوری NVMe over Fabrics چیست و چه کاربردی در دنیای شبکههای کامپیوتری دارد؟
امنیت
- «تور امنیت سایبری» چیست و اشاره به چه مفهومی دارد؟
- «امنیت سایبری پیشگیرانه» چیست و چگونه از شما محافظت میکند؟
عصر شبکه
- مغز کممصرف
- حل مسائل پیچیده به سبک ایلان ماسک
کارگاه
- چه آیندهای پیش روی شبکههای عصبی قرار دارد؟
- تکنیک «تست درخت» چه نقشی در بهبود طراحی وبسایتها دارد؟
Back-end حوزه پردرآمد دنیای برنامهنویسی
پیشرفتهای بدون وقفه فناوری باعث شده تا همهچیز بهشکل آنلاین در دسترس باشند، بهطوری که وقتی صحبت از گشتوگذار در اینترنت به میان میآید، نهتنها متخصصان فناوری اطلاعات، بلکه کاربران عادی نیز باید با مفاهیم اولیه مثل اینترنت چیست و چگونه کار میکند، آشنا باشند. اینترنت بزرگترین شبکه ارتباطی است که از طریق اتصال شبکههای محلی و گسترده کوچک و بزرگ به یکدیگر پدید آمده است. اینترنت را باید رسانه جمعی بسیار بزرگی در نظر بگیریم که اجازه میدهد افراد از طریق آن اطلاعات را بهاشتراک بگذارند. همچنین، خدمات آنلاین مختلفی مانند وب (مجموعهای از صفحات وب)، رسانههای اجتماعی (بستری برای اشتراکگذاری دیدگاهها، عکسها) و غیره را ارائه میکند.
علاوه بر این، اینترنت بزرگترین بستر برای کاوش و تحقیق است، زیرا انواع مختلفی از دادهها، گزارشها و تحقیقات را بهشکل رایگان یا غیررایگان در دسترس کاربران قرار میدهد. اطلاعاتی که برای دسترسی به آنها به پهنای باند خوب و دستگاهی که قابلیت اتصال به شبکه را داشته باشد، نیاز دارید. بهطور کلی، این فرآیند را میتوان اینگونه توصیف کرد، هنگامی که نیازمند دسترسی به منبعی در اینترنت هستید، درخواست شما از طریق شبکههای مختلف مسیربابی شده و از طریق پروتکلهای اینترنت (IP)، پروتکل کنترل انتقال (TCP) به مبدا ارسال شده، در آنجا پردازش شده و از طریق پروتکلهای فوق پاسخ برای مرورگر شما ارسال میشود. در جریان ارسال و دریافت اطلاعات، پروتکلها اطمینان حاصل میکنند که فرآیند انتقال دادهها بهشکل درست و قابل اعتمادی انجام شده است.
همانگونه که مشاهده میکنید، اینترنت بر مبنای سازوکار مشخصی کار میکند که نقش مهمی در کارکرد درست وبسایتها دارد، اما تاکنون به این موضوع فکر کردهاید در پشت صحنه یک وبسایت چه میگذرد، دقیقا چگونه کلیک کردن روی یک دکمه شما را به صفحه دیگری میبرد و هنگامی که در یک سایت ثبتنام میکنید، اطلاعات شخصی شما کجا میرود؟ پاسخ در مفهومی که توسعه بکاند نام دارد، مستتر است و فردی که عهدهدار انجام این وظایف است، توسعهدهنده بکاند نام دارد. توسعه بکاند به فرآیند کدنویسی ستون فقرات یک وبسایت یا برنامه وب، پردازش دادهها و اقداماتی که توسط وبسایتها انجام میشود، اشاره دارد. در شرایطیکه فرانتاند اشاره به تمام عناصر بصری دارد که روی وبسایتی مشاهده میکنید، بکاند پیرامون ذخیرهسازی دادهها، تامین امنیت و حفظ عملکردهای سمت سرور وبسایتها است. بهطور کلی، توسعه بکاند بهمعنای کار روی نرمافزار سمت سرور و موضوعاتی است که کاربران عادی قادر به مشاهده آنها نیستند، اما وبسایتها بر مبنای آن کار میکنند. بهطور کلی، بکاند به هر بخش از یک وبسایت یا برنامههای کاربردی اشاره دارد که کاربران قادر به مشاهده آنها نیستند.
بکاند در نقطه مقابل فرانتاند قرار دارد. در دنیای برنامهنویسی، بکاند لایه دسترسی به دادهها (Data Access Layer) است. در شرایطی که فرانتاند بهعنوان لایه نمایش (Presentation Layer) شناخته میشود. بیشتر وبسایتهای امروزی ماهیت پویایی دارند، به این معنا که محتوای صفحه وب دائما در حال تغییر است. یک صفحه پویا شامل یک یا چند اسکریپت است که این اسکریپتها هر بار که صفحهای مورد دسترسی قرار میگیرد روی وبسرور اجرا میشوند. بکاند در یک وبسایت یا برنامه وبمحور به ترکیبی از فناوریهای نوین و برنامهنویسی اشاره دارد که باعث میشود یک وبسایت عملکرد قابل قبولی داشته باشد و کار با آن برای کاربر ساده باشد. بکاند در هر وبسایتی شامل سه مولفه کلیدی سرور، برنامه و پایگاه داده است که توسط کاربران قابل مشاهده نیست. بکاند ترکیبی از نحوه بهکارگیری بانکهای اطلاعاتی و نرمافزاری سمت سرور است که روی سرورهای وب، سرورهای ابری یا ترکیبی از هر دو اجرا میشود.
برای برقراری ارتباط سرور، برنامه و پایگاه داده با یکدیگر، توسعهدهندگان بکاند از زبانهای برنامهنویسی مثل پایتون، جاوا، روبی، پیاچپی و نمونههای مشابه به همراه ابزارهایی مثل مایاسکیوال، اوراکل و اسکیوالسرور بهعنوان راهحلهای ذخیرهسازی و سازماندهی اطلاعات استفاده میکنند. برنامهنویسان بکاند دادهها را پیدا میکنند، آنها را ذخیره کرده یا تغییر میدهند و در کدهای فرانتاند قرار میدهند. در مجموع باید بگوییم، مجموعه اقداماتی که قبل از نمایش صفحه روی مرورگر کاربران اتفاق میافتد، بخشی از بکاند هستند.
امروزه در دنیای وب، دو نقش اصلی و مهم وجود دارد که توسعهدهندگان فرانتاند و بکاند نام دارند. توسعهدهندگان فرانتاند، روند طراحی مولفههای بصری یک برنامه وبمحور را بر عهده دارند. هر کاری که یک توسعهدهنده فرانتاند انجام میدهد روی لایه نمایش یا همان رابط کاربری تاثیرگذار است. به بیان دقیقتر، چیزی که کاربر مشاهده میکند، همان مجموعه عناصر و دستوراتی است که توسعهدهنده فرانتاند آنها را نوشته است. بهطور کلی، توسعهدهندگان فرانتاند با استفاده از سه ابزار HTML ،CSS و Javascript اقدام به طراحی فرانتاند میکنند. تمرکز اصلی توسعهدهنده فرانتاند روی این موضوع است که تجربه کاربری خوبی به کاربر ارائه دهد و مطمئن شود که لایهبندی وبسایت و دیگر عناصر سایت منسجم هستند. همانگونه که ممکن است حدس زده باشید، چارچوبهای مورد استفاده توسط یک توسعهدهنده فرانتاند متفاوت از بکاند است.
در سویی دیگر توسعه بکاند قرار دارد. در این حوزه کارهایی که توسعهدهنده انجام میدهد، برای کاربر قابل تشخیص نیست، زیرا در بیشتر موارد کاربران ارتباط مستقیمی با آنها ندارند. در واقع کدهای نوشتهشده توسط یک توسعهدهنده بکاند در پسزمینه وبسایت اجرا میشوند. توسعهدهندگان بکاند به مجموعه عظیمی از کتابخانهها، واسطهای برنامهنویسی کاربردی، وبسرویسها و غیره برای ساخت برنامههای کاربردی وبمحور دسترسی دارند.
همانگونه که ممکن است حدس زده باشید، پرونده ویژه این شماره مجله شبکه به مبحث بکاند اختصاص پیدا کرده است. در پرونده ویژه این شماره به شما خواهیم گفت، پرکاربردترین زبانهای برنامهنویسی دنیای بکاند چه زبانهایی هستند، با نمونه پرسشها و پاسخهای استخدام توسعهدهنده بکاند آشنا خواهید شد، نگاهی به بازار کار توسعهدهندگان بکاند خواهیم داشت، مفهوم بکاند و برنامهنویسی بکاند را بررسی خواهیم کرد، با چارچوبهای کلیدی توسعه بکاند آشنا خواهیم شد و در نهایت نقشه راهی را که شما را به یک توسعهدهنده بکاند تبدیل میکند بررسی خواهیم کرد.