Чем занимаются бэкендеры и как начать работать в этой области? — Академия Яндекса
Работа бэкендера не видна пользователю, но именно этот человек помогает сделать так, чтобы сервисы понимали запрос, а сайты правильно реагировали на действия пользователей. Мы выяснили, чем занимаются бэкендеры и почему сейчас легче прийти в профессию, чем еще пару лет назад.
Кто такой бэкендер?
Бэкенд — это всё, что под капотом у любого сайта или сервиса. Например, вы спрашиваете у навигатора маршрут. Пишете нужный адрес, нажимаете на кнопку, и на экране появляется карта с вариантами пути. Всё, что вы видите — интерфейс, анимация, сама карта — обеспечивает фронтенд. Скрытая часть — изучение запроса, вычисление маршрута и передача данных — результат работы бэкендера.
«Пользователь совершает действие, а реакция сервиса или сайта на него затрагивает нужную часть бэкенда. В это понятие входит всё, что позволяет вам реализовывать логику работы тех функций, которые предоставляет интерфейс», — объясняет Алексей Шаграев, руководитель службы разработки Яндекс.Поиска.
Работа фронтенда и бэкенда видна в любых взаимодействиях с приложением или сайтом. Например, вы подписываетесь на рассылку. «Фронтенд отвечает за то, что берет адрес, который пользователь ввел, и отправляет его на сервер. А сервер принимает адрес, парсит его (изучает и понимает, какой это провайдер), обращается к почтовому провайдеру (провайдер отвечает, что такой адрес существует) и формирует сообщение, с помощью которого провайдер скажет уже другой системе, что на этот адрес нужно отправить письма. Бэкендер отвечает за всё, что происходит после того, как пользователь ввел адрес в строку и данные ушли на сервер», — объясняет Виктор Мамлютов, системный аналитик компании Норбит.
Бэкендер работает с объектами, которые нельзя увидеть или потрогать. Поэтому исторически сложилось, что в эту профессию шли специалисты с техническим образованием. Математический бэкграунд позволяет сразу говорить с более опытными разработчиками на языке общих понятий. Сейчас ситуация меняется.
Появляется больше специалистов, которые переквалифицировались из нетехнических областей в программирование, и могут объяснить материал людям с гуманитарным бэкграундом
«Преимущество технарей только в том, что они раньше сталкиваются с абстракциями, которые облегчают понимание бэкенда. Но нет никаких фундаментальных проблем с тем, чтобы освоить его с любым бэкграундом», — рассказывает София Техажева, руководитель факультета бэкенд-разработки Яндекс.Практикума.
«Бэкенд — это та часть, которая на вопрос «А можно ли сделать вот так?» отвечает: «Можно сделать всё что угодно, просто на это уйдет разное количество временны́х или человеческих ресурсов»», — Виктор Мамлютов, системный аналитик, компании Норбит.
Как строится работа над проектом
Инструменты могут различаться от проекта к проекту, но команды устроены по похожим принципам. Задача разработчиков — улучшать сервис. В этом им помогает руководитель, который объясняет стратегию.
«У проекта есть команда, в которую входит в том числе бэкендер. У команды есть задачи по развитию сервиса: добавление функциональности и возможностей для пользователя. Руководитель сервиса отвечает за эти задачи — он объясняет всем, что сейчас важно делать и почему. Обычно бэкендер отвечает за конкретный кусочек продукта, с которым надо делать что-то разумное. Например, ускорять его», — говорит Алексей Шаграев из Яндекс.Поиска.
Начинающий специалист обычно работает в команде с более опытными бэкендерами, фронтендерами и техническим лидером. На разных этапах к разработчикам подключается менеджер. Он не может принять техническое решение, но на его комментарии стоит ориентироваться, чтобы понимать потребности продукта и бизнеса.
«Могу рассказать на примере команды Яндекс.Практикума. Я как заказчик для бэкенда говорю: «Нам нужно, чтобы платформа умела делать то-то и то-то. Например, чтобы я вводила код в окошко, а платформа мне что-то отвечала». Дальше мы садимся с бэкендом и обсуждаем задачу: что нужно сделать, как это реализовать, какие есть ограничения. Мы можем выбирать решение вместе, потому что я и моя команда понимаем в разработке. Иначе у бэкендеров была бы дополнительная задача — объяснить нам как заказчикам особенности каждого решения», — рассказывает София Техажева.
Когда задача поставлена, ее разбивают на промежуточные этапы. Обычно для сервиса или сайта строится гибкая структура, где разные части взаимодействуют друг с другом. Поэтому на разных этапах бэкендер может работать с теми участниками команды, которые отвечают за нужный фрагмент сервиса. Еще у любого продукта есть бэклог — в нем собраны функции, которые хотелось бы когда-нибудь реализовать, и указаны ошибки. Для бэкендера это как список задач на будущее, он может постепенно их выполнять.
Если проект начинают с нуля, то шаги для бэкендера будут такими:
- Выбрать язык. Python, C++, Java, PHP — это основные языки, на которых пишут бэкенд. Так, на Java написано большинство банковских систем — этот язык используют в Райффайзенбанке и Сбербанке. На PHP создана сеть Badoo и часть сервиса ВКонтакте. Чаще всего это исторически обусловленные решения. Когда в компании уже пять лет пишут на Java, сложно переводить огромный массив кода на другой язык.
- Выбрать инструменты. Например, базу данных или фреймворк. Набор этих инструментов плюс языки, которые бэкендер выбирает, чтобы строить свой двигатель, все вместе называются стек технологий. Стеки бывают разные, в зависимости от задач и традиций компании.
- Написать код. Здесь бэкендер пользуется инструментами для создания версий, тестирования и хранения данных.
Если разработчик бэкенда приходит в уже состоявшийся проект, то язык и инструменты на этом этапе уже выбраны. Тогда бэкендер работает по такому алгоритму:
- Изучает контекст задачи. Если нужно исправить ошибку, то выясняет ее причины, если дописать функцию — смотрит нужный фрагмент кода.
- Предлагает решение. В больших проектах на этом шаге случается планерка с техническим лидером и другими участниками команды, которые отвечают за конкретный фрагмент сервиса. В небольшой команде бэкендер может принять решение сам.
- Пишет код.
«В больших компаниях бэкендер растет так: вначале он действует как механик — что-то чинит, вставляет новые части. А обучение и опыт приводят к тому, что он начинает проектировать новые структуры самостоятельно», — объясняет София Техажева.
Работа бэкендера не видна пользователю, но ошибки всегда заметны
Например, вы отправляете запрос, а ответа нет или выпадает бессмысленный текст — значит, с сервисом что-то не так. Когда пользователь видит ошибку, он редко может определить, где она случилась — во фронтенде или в бэкенде. Но если происходит сбой на сервере, то система выдает соответствующие сообщения (Error 503 Backend fetch failed и другие).
Что нужно для старта
Знать хотя бы один язык программирования и писать код без ошибок — этого достаточно, чтобы сделать первые шаги в бэкенде, считает Алексей Шаграев. Другие инструменты будут зависеть от специфики проекта, поэтому их лучше осваивать уже в работе.
Идеально сочетать практику с советами от друга-бэкендера. Вначале не нужно много теории, лучше уделять время решению задач
А с вопросами, которые возникают по ходу, обращаться к более опытному разработчику.
«Мы стараемся выступить в качестве такого друга, который поможет разобраться. Скорость самостоятельного обучения зависит от мотивации. Первые строки кода можно написать за день, а учиться делать что-то крутое — от нескольких месяцев до нескольких лет. Важно, насколько человек готов не сдаваться и разбираться, когда что-то не получается», — говорит София Техажева про задачи факультета бэкенд-разработки Яндекс.Практикума.
«Я не думаю, что разработка требует какого-то особого строения интеллекта. Такое мнение было распространено в прошлом, но сейчас его уже практически никто не разделяет», — считает Алексей Шаграев.
Глубокие математические знания или безупречный технический английский не гарантируют успеха в профессии. Конечно, полезно разбираться в абстрактных понятиях, иметь доступ к иностранной литературе и онлайн-ресурсам для разработчиков, но хорошие аналитические навыки и желание освоить бэкенд на старте будут гораздо важнее.
Профессия бэкенд-разработчик на Яндекс.Практикуме
Frontend и backend: что это?
Все слышали в программировании про эти понятия. Простыми словами я расскажу о Frontend и Backend: что это такое? Давайте быстро пробежимся.
Frontend и backend, чем они отличаются?
Есть допустим стартовая страница Яндекса (рис.1). Мы видим на ней дизайн, видим страницу.
Рис.1 Страница Яндекса ( дизайн)
Если нажать код этой страницы, мы увидим код этой страницы в браузере (рис.2).
Рис.2 Frontend
Это и есть frontend – это код, который скачивается в браузере, и который я вижу.В этом коде описаны все элементы, цвет стрелочки, цвет текста, верстка, что здесь такой отступ. То есть все взаимодействия внутри браузера – это frontend.
Backend – это огромные сервера, которые располагаются в самом Яндексе (рис.3).
Рис.3 Backend
Кстати, рекомендую посмотреть прямо сейчас:
Frontend или Backend, что выбрать?
Для ответа на этот вопрос важно понять, чем отличается frontend от backend. Давайте на примере разберем.
Я в браузере пишу поисковой запрос, нажимаю на кнопочку и на этом frontend кончается, дальше мой запрос уходит на сервер яндекса, происходит какая-то магия и я вижу выдачу результата. И я вижу все это на фронтенде. А сами алгоритмы поиска яндекса, они на бэкэнде.
Поэтому frontend — это:
- html
- css
- java script
- frameworks
- Jquery, Angular, Backbone, Closure, Extj
Backend – это уже для конкретных программистов, backend дизайнеру знать необязательно. Вот чем frontend отличается от backend.
Backend:
1. Php
2. Rails
3. Ruby
4. Python
5. C#
6. Java
7. .NET
8. SQL
9. Node.js
10. Django
11. Xamarin
12. Swift
Frontend и Backend в работе веб-дизайнера
Дизайнеру важно знать Frontend и иметь представление о работе backend. Нужно просто понимать как это работает, какие данные мы понимаем. И лучше держать под боком программиста, который в backend соображает.
за чем стоим и с чего начать свой путь — Разработка на vc.ru
Для всех, кто не любит делать UI, «дышит» очередями и мечтает об идеальном API, в четвёртый выпуск подкаста «Сушите вёсла» мы позвали backend-разработчиков Андрея, Азата и Антона.
Железные разработчики Redmadrobot Артём и Рома записывают подкаст, где вместе с гостями обсуждают разные стороны создания ИТ-продуктов и делятся опытом в диджитале. В четвёртом выпуске ведущие разузнали у собеседников, с чего начинался их путь в backend, какой web-framework стоит выбрать, снится ли им верстка экранов и как объяснить маме, кем ты работаешь.
Прикладываем подкаст и ответы на несколько животрепещущих вопросов.
Тайминг
01:27 — Как приходят в backend-разработку.
10:33 — Что привлекает специалистов в backend.
12:32 — Срыв покровов: нужны ли глубокие знания алгоритмов для тех, кто «пилит апишку»?
15:17 — Вопросики масштабирования и безопасности.
16:23 — Одинаковую ли работу делают все backend-разработчики?
19:23 — Ruby on Rails, его «магия», взлёт и падение.
24:23 — Как выбрать платформу?
28:06 — Зачем нужны микрофреймворки и как с ними работать?
33:55 — Что такое асинхронный сервер и для чего он нужен?
35:58 — Go: простота и архитектура.
41:46 — Postgresql вместо MySQL. Почему?
44:58 — Зачем нужно изучить Docker как можно быстрее и для чего стоит поставить nginx?
50:49 — «Зелёные» разработчики: какими минимальными навыками необходимо обладать выпускникам университетов, чтобы устроиться на работу?
1:04:21 — Лучшие книги по алгоритмам.
1:09:33 — Что нужно знать и что не нужно делать на собеседовании?
1:14:29 — Не хочется ли ребятам уйти из backend?
1:20:28 — И все-таки, чего не стоит делать на работе и почему «с людьми нужно общаться»?
Как приходят в backend-разработку?
Несмотря на популярность мобильной разработки, остались еще те, кому милее старый-добрый backend. Среди них, разумеется, и наши гости.
Азат, например, рассказал, как он не пошел в мобильную разработку и решил, что логичнее заниматься веб-разработкой в широком смысле. А вот история Антона тесно связана с Python.
Выбираем лучший бэкенд-фреймворк 2021 года / Блог компании RUVDS.com / Хабр
Недавно мы опубликовали статью, автор которой размышлял о том, какой язык программирования, JavaScript, Python или Go, лучше всего подойдёт для бэкенд-разработки в 2021 году. Сегодня мы представляем вашему вниманию перевод ещё одного материала того же автора. Здесь он пытается найти ответ на вопрос о том, на какой фреймворк для разработки серверных частей приложений стоит обратить внимание тем, кто хочет во всеоружии встретить 2021 год.
О роли фреймворков в IT-индустрии
Я, проанализировав результаты опроса разработчиков, проведённого в 2020 году Stack Overflow, понял, что использование фреймворков играет огромную роль в IT-индустрии. А именно, речь идёт об ответах на вопрос о том, что разработчики считают самым важным при поиске работы.
Факторы, влияющие на выбор места работы
Как оказалось, самым важным для программистов является то, с какими языками, фреймворками и другими технологиями им нужно будет работать на новом месте.
Разработчик обычно знаком хотя бы с одним фреймворком. Здесь я собираюсь рассказать о трёх фреймворках — о Node.js/Express, Django и Spring Boot. Полагаю, что тот, кто, готовясь к 2021 году, решит сделать своим основным инструментом один из них, в любом случае, не прогадает. Но у каждого из них есть свои особенности, которые мне и хотелось бы здесь обсудить.
Результаты исследований и другие данные
▍Данные с GitHut
Ресурс GitHut позволяет узнать различные сведения о репозиториях. В частности, речь идёт о количестве активных репозиториев, об общем количестве PR, и о разных показателях, рассчитываемых по состоянию на один репозиторий: количество PR и форков, число открытых задач, количество новых подписчиков.
Популярность языков программирования на GitHub
▍Исследование Stack Overflow
Если взглянуть на результаты исследования Stack Overflow, то окажется, что Express находится на первом месте среди бэкенд-фреймворков, которые любят разработчики. Два других интересующих нас фреймворка, Spring и Django, следуют за Express с небольшим отрывом. В результате оказывается, что проект, основанный на самом перспективном скриптовом языке, на JavaScript, лидирует, а за ним идёт проект, в котором используется один из языков, обладающих самыми широкими возможностями, то есть — Python.
Популярность веб-фреймворков
▍GitHub-репозитории
Некоторые люди не любят перемен, но изменения необходимо принимать, если альтернативой является катастрофа.
Илон Маск
Фреймворк Express создан на базе платформы Node.js, поэтому тут мы будем сравнивать репозитории Node.js, Spring Boot и Django
Репозиторий node
Репозиторий spring-boot
Репозиторий django
Как видно, больше всего звёзд у репозитория Node.js. Но разница между звёздами проектов не так сильна, как различие в количестве их форков. У Spring Boot и Django имеется гораздо больше форков, чем у Node.js.
Теперь поговорим о том, в каких ситуациях имеет смысл выбирать тот или иной из рассматриваемых нами фреймворков.
Node.js/Express
Node.js представляет собой серверную платформу, которая является частью стека технологий, охватывающих все нужды веб-разработки, и основанных на JavaScript. В Node.js используется JavaScript-движок V8, тот же самый, что применяется в браузере Chrome и в других браузерах, основанных на Chromium. В результате оказывается, что благодаря использованию Node.js код, предназначенный для выполнения на сервере, можно писать на JavaScript. На базе платформы Node.js создано множество фреймворков, включая такие популярные, как Express.
▍Сильные стороны Node.js
- Появление Node.js сделало возможным фуллстек-разработку веб-проектов на JavaScript. В результате в распоряжении разработчиков серверных частей приложений оказались и сильные возможности JavaScript, и наработки экосистемы JS, библиотеки, которыми стало реально воспользоваться в серверном окружении.
- JavaScript-код, аналогичный по функционалу, например, коду, написанному на C, оказывается компактнее. Производительность JavaScript-кода при этом достаточно высока для применения его в проектах, в которых важна скорость работы кода.
- Код клиентских и серверных частей проектов легче поддерживать в согласованном состоянии, так как и там и там используется один и тот же язык.
- Один и тот же код можно совместно использовать и на клиенте, и на сервере.
- Благодаря существованию модулей Node.js, которые, в сущности, представляют собой особым образом оформленные фрагменты кода, разработчики могут с удобством использовать в своих проектах чужой код, а так же собственные наработки.
- Платформа Node.js, и, соответственно, основанные на ней фреймворки, отличаются нетребовательностью к ресурсам и масштабируемостью. Именно поэтому Node.js — это платформа, к которой часто прибегают те, кто пользуется микросервисными архитектурами.
- Эта платформа хорошо подходит для разработки микросервисов ещё и из-за существования системы модулей Node.js, которые можно представить себе в виде строительных блоков серверных приложений.
- В Node.js JavaScript код компилируется в машинный код, что позволяет получить гораздо более высокую производительность, чем при интерпретации кода. Сообщество JavaScript-разработчиков видит постоянное улучшение производительности Node.js за счёт того, что Google постоянно работает над совершенствованием V8.
- Благодаря тому, что в Node.js имеется система ввода-вывода, не блокирующая главный поток, эта платформа демонстрирует высокую производительность. Достойная скорость обработки запросов достигается благодаря использованию JavaScript-механизмов конкурентного однопоточного выполнения кода.
- Node.js — это опенсорсный проект, вокруг которого собралось огромное сообщество разработчиков. Это значит, что тот, кто столкнётся с какой-то проблемой, сможет достаточно быстро найти её решение.
- Node.js, в ближайшем будущем, может стать платформой, которую будут использовать для проведения «тяжёлых» вычислений, наподобие тех, которые применяются для решения задач машинного обучения.
▍Компании, которые используют Node.js
- Paypal
- Netflix
- Uber
- eBay
- Yahoo
Если учесть сильные стороны Node.js и то, в каких компаниях используется эта платформа, становятся понятными причины её огромной популярности. Зарплата Node.js-разработчиков в США варьируется в пределах $40,000-$130,000 в год. В результате можно сказать, что если вы чувствуете, что Node.js и фреймворки, основанные на этой платформе, вам интересны, вы вполне можете выбрать именно их в качестве базы для своих разработок 2021 года.
Spring Boot
Проект Spring Boot — это фреймворк для разработки бэкенд-приложений, основанный на Java, который, как и Node.js, используется для разработки микросервисов. Этот фреймворк упрощает создание приложений, основанных на Spring, его можно представить себе в виде инструмента для создания самостоятельных Spring-приложений. Если вы планируете в 2021 году перейти на Spring, то вам, определённо, стоит знать о том, чем вам в этом деле сможет помочь Spring Boot.
▍Сильные стороны Spring Boot
- Spring Boot позволяет с минимальными усилиями создавать самостоятельные Spring-приложения, облегчает процесс их конфигурирования, упрощает работу над ними. Подобные приложения легко запускаются с помощью команды
java -jar
. - Если в процессе создания Spring Boot-приложения произошла ошибка, встроенный анализатор ошибок поможет справиться с проблемой.
- Spring Boot поддерживает встроенные серверы, вроде Tomcat и Jetty. Это значит, что тем, кто пользуется Spring Boot, не нужно развёртывать .war-файлы на внешних серверах.
- Использование Spring Boot позволяет облегчить конфигурирование Maven за счёт наличия в системе начальных вариантов файла
pom.xml
. - В возможности фреймворка входит автоматическое конфигурирование Spring.
- Spring Boot хорошо интегрируется с другими фреймворками.
- Фреймворк предоставляет разработчику конфигурации, готовые для продакшн-использования. Сюда входят, например, метрики состояния проекта и внешние конфигурации.
- При использовании Spring Boot нет нужды в применении XML-конфигураций или средств для генерирования кода.
- Применение Spring Boot облегчает труд разработчиков за счёт применения принципа проектирования ПО, известного как «Convention over Configuration».
▍Компании, которые используют Spring
- Platform
- Intuit
- MIT
- Zillow
- TransferWise
Честно говоря, я — не фанат Java. И я не будут использовать Spring Boot для серверной разработки в 2021 году. Но, если верить статистике, существует много программистов, применяющих этот фреймворк. Если говорить о зарплатах соответствующих специалистов, то это что-то около $50,000-$104,000 в год. Это немного меньше, чем зарплаты Node.js-разработчиков.
Django
Django — это опенсорсный бэкенд-фреймворк, написанный на Python. Как известно, Python — это один из таких языков, которые пользуются наибольшей любовью разработчиков. И это — одна из основных причин того, что Django является одним из самых популярных серверных фреймворков. Но у того, чтобы выбрать Django в качестве своего фреймворка 2021 года, есть и другие причины.
▍Сильные стороны Django
- Django позволяет без особых сложностей создавать динамические веб-приложения с использованием Python. Данный фреймворк написан на Python. В этом заключается одно из главных достоинств Django.
- Фреймворк поддерживает паттерн проектирования MVC. Это помогает разработчикам в разделении пользовательского интерфейса и бизнес-логики Django-приложений.
- Это быстрый фреймворк, не перегруженный ненужными возможностями. Я имеют в виду то, что использование Django позволяет быстро выйти на работоспособный проект.
- Django не относится к минималистичным фреймворкам, широко используемым для разработки микросервисов. Он отличается мощностью, универсальностью и определённым своеобразием.
- Создатели этого фреймворка серьёзно относятся к безопасности. Поэтому они дают разработчикам, использующим Django, соответствующие инструменты. Я уверен, что все вы знаете о том, как много проблем существует в наши дни в сфере кибербезопасности. Поэтому чрезвычайно важными являются вопросы защиты веб-проектов. Django поддерживает систему аутентификации пользователей, содержит инструменты для защиты от различных атак. Среди них — средства защиты от SQL-инъекций, от межсайтового скриптинга, от межсайтовой подделки запросов, от кликджекинга.
- Django-проекты отличаются компактностью кода.
- Разработчики, использующие Django, могут моделировать базовые классы. Это значит, что в их распоряжении всегда имеется ORM.
- Django — это кросс-платформенный проект. Он отлично работает на различных операционных системах. Кроме того, он поддерживает взаимодействие с различными базами данных.
- Это — фреймворк, приложения, созданные с использованием которого, хорошо поддаются масштабированию. Поэтому тот, кто выбирает Django, может быть уверенным в том, что сможет эффективно развивать свой проект по мере его роста.
- Вокруг Django сформировалось активное сообщество. Поэтому тот, кто столкнулся с какой-то проблемой, сможет без особых сложностей её решить.
▍Компании, которые используют Django
- Mozilla
- NASA
- Bitbucket
Так как Django основан на Python, о производительности этого фреймворка и о его поддержке можно не беспокоиться. Кроме того, если взглянуть на список компаний, использующих Django, можно сделать вывод о том, что это — фреймворк, достойный внимания и в этом, и в будущем году. Если проанализировать зарплаты Django-разработчиков, то окажется, что это что-то между $90,000-$120,000 в год. В результате оказывается, что спрос на Django-специалистов достаточно высок.
Итоги
Вышеприведённые факты позволяют сделать вывод о том, что платформа Node.js, в лице фреймворка Express, и Django показывают себя очень хорошо. Но, в то же время, Spring Boot тоже представляет собой достаточно интересное явление. Полагаю, что самым интересной платформой для разработки серверных частей приложений в 2021 году будет Node.js. Хотя и Django — это отличный, развитый фреймворк, который вполне может стать чьим-то выбором в будущем году.
Каким фреймворком для разработки серверных частей веб-проектов вы планируете пользоваться в 2021 году?
Как работает backend? — Хабр Q&A
Если очень вкратце, то:
1) Собственно, сервер (свой или выделенный, физический или виртуальный). Вы на нем царь и Бог. Сами ставите удобную для вас ОС (Linux, Windows Server или что-то еще). Сами разворачиваете службу (IIS, Apache и пр.), которая будет отвечать на запросы пользователей(обычно по портам 80/443 http/https, если речь о WEB’е) . Если у вас одиночный сервер, то запиливаете сюда же и базу данных по своему вкусу. Конфигурируете это все, настраиваете брандмауэр и еще всякую фигню. Когда сервер работает — вы публикуете свои сайты/приложения в папки (физические и виртуальные) службы (IIS, Apache).
2) Хостинги. То же самое, что и пункт 1: только всю работу по настройке (выбор платформы, БД и пр.) берет на себя провайдер, а вам предоставляет доступ (обычно через WEB-интерфейс, FTP и SSH) ТОЛЬКО на закрепленную за вами папку в службе (IIS, Apache) и ТОЛЬКО к вашей схеме/каталогу БД.
Это что касается размещения вашего приложения. Сама же работа довольно таки простая: Браузер шлет запрос серверу (для простоты рассмотрим GET HTTP по порту 80). Сервер принимает запрос через службу, которая денно и нощно прослушивает требуемый порт на наличие запросов. Получив запрос, служба парсит его, выделяет из заголовков нужную информацию (тип, кому предназначена, зачем вообще нужна) и перенаправляет далее. Уже зная какое приложение/сайт нужно запросу, запускается выполнение. В IIS, например, для этого используют так называемые Application Pools — выделенные мощности на сервере (обычно, память), внутри которых крутятся приложения/сайты и если сайт/приложение крашится, то кладет оно не всю службу IIS, а лишь свой пул. Ну и между пулами нельзя общаться — типа защита и все такое. Наконец-таки запрос доходит до самого сайта/приложения, где обрабатывается по логике, заложенной программистом.
По пути, естественно, может случаться всякое: не найдена страница — возвращаем 404, не авторизован пользователь (а в настройках службы/пула/приложения стоит, что неавторизованных шлем подальше) -401 ошибка и пр…
Что такое Backend Developer? Навыки, необходимые для того, чтобы стать веб-разработчиком
- Home
Testing
- Back
- Agile Testing
- BugZilla
- Cucumber
- meter Database Testing
- 0003000
- J2000 J2000
000
000
- JUnit
- LoadRunner
- Ручное тестирование
- Мобильное тестирование
- Mantis
- Почтальон
- QTP
- Назад
- Центр качества (ALM)
- RPA 9000 Test4 Управление
- TestLink
SAP
- Назад
- ABAP
- APO
- Начинающий
- Basis
- BODS
- BI
- BPC
- CO
- Назад
- CRM
- Crystal Reports
- MMO
- HANA
- Назад
- PI / PO
- PP
- SD
- SAPUI5
- Безопасность
- Менеджер решений
- Successfactors
- SAP Tutorials
000
Web
- Назад
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- Назад
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- SQL
- UML
- VB.Net
- VBScript
- Веб-службы
- WPF
000
000
000
0003 SQL
000
Обязательно учите!
- Назад
- Бухгалтерский учет
- Алгоритмы
- Android
- Блокчейн
- Business Analyst
- Создание веб-сайта
- CCNA
- Облачные вычисления
- COBOL
9000
Я не говорю на вашем языке: интерфейс и серверная часть
«Я не говорю на вашем языке» даст вам краткий обзор технических терминов в нашей отрасли. Знание этих терминов поможет вам в общении и позволит более эффективно создавать лучшие продукты. На этой неделе мы обсуждаем вопросы о том, что такое бэкэнд и что такое фронтенд.
В последнее время в комментариях к блогам ведется много дискуссий о том, что такое дизайн и разработка, когда дело касается Интернета.Я изо всех сил стараюсь помочь вам, наши дорогие читатели, на вашем пути к тому, чтобы стать лучшим веб-профессионалом, на который вы только можете.
Наша цель — выслушать вас и создать контент, имеющий отношение к обсуждению и проблемам, с которыми вы сталкиваетесь, поэтому я подумал, что воспользуюсь этой возможностью, чтобы выделить различия между дизайном и разработкой. Моя цель здесь — заложить основу для дальнейшего обсуждения и посмотреть, сможем ли мы вместе определить линии.
Бесплатная пробная версия Treehouse: Хотите узнать больше о серверной и интерфейсной веб-разработке? Подпишитесь на бесплатную пробную версию Treehouse.
Различия между дизайном и разработкой на самом деле приводят к большему количеству дискуссий о веб-интерфейсе и серверной части. Что такое бэкэнд? А что такое фронтенд? Начнем с внешнего интерфейса…
Что такое интерфейс?
Когда мы обсуждаем «интерфейс» сети, на самом деле мы говорим о той части сети, которую вы можете видеть и с которой вы можете взаимодействовать. Интерфейс обычно состоит из двух частей: веб-дизайна и интерфейсной веб-разработки.
Раньше, когда кто-то обсуждал разработку, это обычно относилось к бэкэнду, но в последние годы возникла реальная необходимость различать дизайнеров, которые работали строго в Photoshop, и тех, кто мог кодировать HTML и CSS.Дело пошло еще дальше, когда дизайнеры перешли границы и начали работать с JavaScript и jQuery.
Итак, теперь, когда мы обсуждаем термин «веб-дизайн», мы действительно говорим о тех, которые работают с Photoshop и Fireworks, и тех, которые кодируют с использованием HTML, CSS, JavaScript или jQuery (здесь может быть важно указать, что jQuery — это скомпилированная библиотека Javascript).
Все, что вы видите при использовании Интернета, представляет собой комбинацию HTML, CSS и JavaScript, которые контролируются браузером вашего компьютера.Сюда входят такие вещи, как шрифты, раскрывающиеся меню, кнопки, переходы, ползунки, контактные формы и т. Д.
Теперь, чтобы все это стало реальностью и хранить информацию, которую вы помещаете в элементы интерфейса, нам нужны технологии, чтобы это произошло. Войдите в бэкэнд…
Что такое бэкэнд?
Серверная часть обычно состоит из трех частей: сервера, приложения и базы данных. Если вы бронируете рейс или покупаете билеты на концерт, вы обычно открываете веб-сайт и взаимодействуете с внешним интерфейсом.После того, как вы ввели эту информацию, приложение сохранит ее в базе данных, созданной на сервере. Для простоты представьте себе базу данных как гигантскую электронную таблицу Excel на вашем компьютере, но ваш компьютер (сервер) хранится где-то в Аризоне.
Вся эта информация остается на сервере, поэтому, когда вы снова входите в приложение для печати билетов, вся информация остается в вашей учетной записи.
Мы вызываем человека, который создает всю эту технологию, для совместной работы backend-разработчика .Бэкэнд-технологии обычно состоят из таких языков, как PHP, Ruby, Python и т. Д. Чтобы сделать их еще проще в использовании, они обычно расширяются такими фреймворками, как Ruby on Rails, Cake PHP и Code Igniter, которые делают разработку быстрее и упрощают совместную работу. .
Многие веб-профессионалы, которые только начинают работать в этой области, возможно, слышали, как многие люди говорят о WordPress. WordPress является хорошим примером совместной работы внешнего и внутреннего интерфейса, поскольку WordPress — это платформа с открытым исходным кодом, построенная на PHP, которую необходимо установить на свой сервер с базой данных.Затем дизайнеры настраивают внешний вид и функциональность сайтов WordPress с помощью CSS, jQuery и JavaScript.
Заключение
Я надеялся, что это поможет многим из вас понять, когда люди говорят о внешнем и внутреннем интерфейсе Интернета, а также понять, когда они говорят о дизайне, а не о разработке.
Границы между дизайном и разработкой кажутся с каждым днем все более и более размытыми, но по сути они все еще очень разные.
Для того, чтобы каждый мог вести интересные дискуссии и сотрудничать над отличными продуктами, очень важно, чтобы мы четко понимали, о какой части продукта мы на самом деле говорим.
Что вы думаете о дизайне и разработке, а также о интерфейсе по сравнению с серверной частью? Пожалуйста, присоединяйтесь к беседе, оставив комментарий ниже. Ура!
Разработчиком может быть любой.
Получите техническое образование и навыки, необходимые для начала карьеры в сфере технологий.
.
Что такое бессерверный бэкэнд?
Есть новый подход, который устраняет ранее обременительные задачи разработки. Бессерверный бэкэнд, также известный как бэкэнд как услуга и функция как услуга, переносит бэкэнд-функции, такие как данные и аутентификация, в облако. Используя поставщика услуг, разработчики выбирают необходимые им функции и интегрируют их в свои приложения. Команды разработчиков больше не обременены трудоемкими и дорогостоящими инициализацией и обслуживанием серверов. Они могут делать то, что они умеют лучше всего, — разрабатывать приложения, уделяя особое внимание взаимодействию с внешним интерфейсом пользователя.
Мечта сбывается
Разработка облачных продуктов — это гонка без финиша. Как только вы выпустите релиз, вам нужно будет исправить ошибки, отсортировать новые идеи и выпустить новый релиз. Но вы еще не закончили — вам все еще нужно подготовить и обслуживать новые серверы. Но что, если бы вы могли сосредоточиться на том, что вы и ваша команда делаете лучше всего? Что, если бы вы могли просто разрабатывать отличные приложения, сосредоточиться на расширении их функций, которые нужны вашим клиентам, и оставить заботу о внутренних функциях другим? Что, если бы вы могли быть без сервера?
Серверы, функции и серверная часть все еще существуют — они находятся только в облаке, все настроены и готовы к работе, когда они вам понадобятся.Но вам не нужно беспокоиться о предоставлении и обслуживании этого сложного набора технологий. В этом суть бессерверности.
Похоже, мечта сбылась, не так ли? В отличие от большинства снов, этот настоящий.
Прочтите: Бизнес-ценность бессерверного бэкэнда Kinvey
Как работает бессерверный бэкэнд
У этого нового подхода есть несколько имен. Мы называем это бессерверным, но вы можете услышать, что это называется бэкэнд как услуга (BaaS) или функция как услуга (FaaS).BaaS и FaaS — это, по сути, просто разные уровни обеспечения бессерверной внутренней интеграции. Перенося бэкэнд-функции в облако, что кажется логичным шагом, бессерверность делает нечто довольно революционное.
Принцип работы прост. Как и в случае с облачными приложениями, поставщики предлагают различные внутренние функции, такие как данные и аутентификация в качестве услуг. Разработчики могут подписаться, а затем выбрать функции, которые им нужны, в зависимости от требований своего приложения. И вот так они могут интегрировать их в свою работу.
Бессерверный подход устраняет или снижает потребность разработчиков в управлении сложными и трудоемкими функциями внутреннего сервера, что означает, что они могут сосредоточиться на функциональности внешнего интерфейса приложения и взаимодействии с пользователем. Это сокращает окно для предоставления минимально жизнеспособных продуктов (MVP) и ускоряет выпуск новых функций.
Практически каждая отрасль обращается к бессерверному бэкэнду. Допустим, поставщик медицинских услуг хочет создать мобильное приложение, соответствующее требованиям HIPAA, чтобы пациенты могли записываться на прием, проверять результаты лабораторных исследований и находить врачей по местоположению, доступности и специальности.Бэкэнд-функции, такие как доступ к данным пациентов, календарям и расписанию, соответствие требованиям HIPAA и аутентификация пациентов, могут использовать преимущества бессерверной архитектуры. Когда разработчик покупает эти функции в качестве размещенных сервисов, о серверных функциях заботятся поставщики, что экономит время и деньги. В каждой отрасли есть свои собственные требования к серверной части, но пример из сферы здравоохранения показывает, что сложные функции могут быстро работать при перемещении в облако в бессерверной среде.
Основные элементы облачной бессерверной серверной платформы
Чтобы создать удобное приложение, вам понадобится богатый набор аналитики, чтобы вы могли понимать такие вещи, как сбои приложений, производительность и использование.Чтобы получить эту информацию, приложению необходим доступ к серверным системам, поэтому бессерверная платформа должна обеспечивать возможность абстрагироваться и подключаться к информации в устаревших системах записи и системах взаимодействия, таких как ERP, корпоративный стиль и CRM, с использованием повторно используемых сервисов. Кроме того, бессерверная платформа должна включать синхронизацию данных для автономного доступа. Вы также должны иметь возможность выбрать поставщика облачных услуг IaaS, который вам нужен, чтобы платформа работала в нескольких облаках.
Облачный и бессерверный подход, использующий микросервисы, может обеспечить те результаты, которые необходимы для быстрого создания и конкурентоспособности ваших приложений, не беспокоясь о серверной части.Такие услуги предлагают такие крупные игроки, как Amazon AWS, Microsoft Azure, Google GCP или IBM Cloud. Но большинству организаций такие варианты недоступны. Кроме того, они привязывают вас к единому облаку, что может стать большой проблемой для организации, ведущей международные операции в областях с различными правилами.
Прогресс делает все проще
Наша цель в Progress — сделать все это проще для всех. Современная мобильность, ориентированная на когнитивные функции, должна быть достижима даже для организации среднего размера, а для продвинутых организаций она должна быть намного проще и быстрее в реализации, чем типичное решение сегодня.Вот несколько способов, которыми Progress упрощает предоставление цифровых возможностей и бизнес-приложений следующего поколения:
Мы рассматриваем их как ключевые компоненты когнитивных приложений будущего (и сегодня). Здесь вы можете узнать больше о том, как создавать бизнес-приложения, ориентированные на когнитивные функции.
Узнайте больше о нашем бессерверном бэкэнде Progress Kinvey по ссылке ниже.
Узнать больше о Kinvey
.
Добавить комментарий