+1? или Зачем ещё один блог программиста?

Ну, во-первых, это красиво…

Если начать с конца, то во всем виноваты умные мессенджеры smile

Надо было созвониться с одним человеком и я кинул ему свой скайп-логин: kapion.ru

А мессенджер принял это имя как ссылку и еще текст и миниатюру подтянул в сообщение. А там вылезло что-то типа «пишу программы на java заказ» и кактус. Это просто был какой-то стандартный шаблон и заголовок с потолка, потому что программы на заказ я не пишу, т.к. работаю в «кровавом энтерпрайзе».

Так не годится, подумал я и решил причесать главную страничку, а там понеслось smile Эта давно зреющая идея вдруг обрела смысл. Вести блоги я начал давно в жж и на драйве, но это все непрофессиональной направленности. Опыта скопилось немало, и им надо делится.

Ну а началось все 4 года назад, когда я доделывая очередной selecion-screen на абапе понял, что больше не хочу и не могу писать под SAP. Это огромная ERP система, сильно повредила мне мозг. Я мог без компа на листочке налабать отчетик с табличками и селектами, знал тайные места, где можно внедриться в стандартный функционал и как можно хакнуть в случае чего кое-какие настройки. Можно почувствовать себя гуру и еще лет 10 клепать отчетики, благо платят за это нормально. Но как программист я понял, что тупею. Меня перестало что-то интересовать в мире IT, кроме смехуечков. SAP это тупик, потому что это закрытая система. Ты не можешь никуда больше применить свой гигантский опыт, а сертификатом можешь подтереться, нигде кроме консалтинговых контор или их клиентов (жертв маркетинга) он не имеет значения.

С тех пор, с 2014 года я взялся за джаву. Она мне всегда была интересна, в первую очередь потому, что на ней основан android. А еще эта заставка при установке JDK — java используется на более 3 миллиардах устройств, ммм :-Р

Эта гибкость меня и подкупила)) Хотя некоторые мои знакомые и друзья посмеялись узнав об этом, утверждая, что java мертва. А я просто посмотрел рынок, посмотрел зп в отрасли, почитал хабр и не стал никого слушать)

И вот сейчас я пишу блог, потому что за 3 года профессиональной работы на java я уже набрался опыта и могу им делиться. К тому же это хорошая мотивация продолжать изучать что-то новое, потому что судьба такая у программистов — необходимость всегда чему-то учиться. И это здорово!

з.ы. подобных блогов миллион, добавлю-ка я еще +1  laugh

Back-End — это магия

Во всем и во всех есть две стороны: черная и белая.
Важно лишь то, какую сторону выбрал ты.
Это определяет все. © Гарри Поттер — Кубок Огня.

Вы наверняка уже слышали эти модные в сфере программирования слова «фронтенд» и «бэкенд», но что за ними стоит? КЭП сообщает, что  фронтенд и бэкенд чаще употребляются в сфере веб-приложений, но это далеко не всегда так. Предлагаю в этом разобраться.

Давайте начнем с определений.

Фронтенд — все, что браузер может читать, выводить на экран и/или запускать. Что касается веб-приложений, то это HTML, CSS, JavaScript и фреймворки на их основе.

Сфера ответственности фронтенд-разработчика охватывает создание пользовательского интерфейса, что в свою очередь подразумевает некоторую иерархию. Это дизайн макета, верстка, адаптация. Важной частью разработки веб-приложения является UI/UX дизайн — то, что в наибольшей степени влияет на первое впечатление пользователя. В эпоху современных веб-приложений, в подавляющем большинстве реализующих некоторую бизнес-логику, их поведение не менее важно, чем внешний вид.

Как фронтенд смотрит на бэкенд

Как фронтенд-разработчик смотрит на бэкенд 🙂

Конечно же, кроме веб-приложений, фронтенд есть и в мобильных приложениях и десктопных.

Бэкенд — все, что работает на сервере, то есть «не в браузере» или «на компьютере, подсоединенном к сети, который отвечает на сообщения от других компьютеров». Бэкенд — это серверная логика веб-приложения. Здесь реализуется работа с хранилищем данных, поэтому человек, занимающийся разработкой серверной логики, должен иметь навыки работы с базами данных. Именно от бэкенд-разработчика зависит производительность серверного кода, его масштабируемость, безопасность и рациональность.

Как бэкенд отвпечает на запросы

Бэкенд отвечает на запросы

Помимо серверной логики в сферу ответственности бэкенд-разработчика входит отладка и прототипирование с использованием клиентской части приложения. Это влечет за собой необходимость понимания работы стека протоколов TCP/IP, HTTP, REST/SOAP, принципов взаимодействия браузера с веб-приложением.

Для бэкенда неважно, откуда пришел запрос — от браузера, мобильного приложения или любого другого устройства, главное — соответствие интерфейсу и протоколу. Если эти условия соблюдаются, что то запрос будет обработан и выдан результат.

Для бэкенда вы можете использовать любые инструменты, доступные на вашем сервере. Это означает, что вы можете использовать любой универсальный язык программирования: Java, PHP,  Ruby, Python, JavaScript/Node, bash и т.д. Это также означает, что вы можете использовать любые системы управления базами данных, такие как Oracle, MySQL, PostgreSQL, MongoDB, Cassandra, Redis, Memcached и т.д.

Настоящий программист способен разобраться в любой технологии при наличии достаточного времени, но важно выбрать специализацию.

п.с. Выше я не зря упомянул JavaScript/Node. Когда появились NoSQL базы данных, стала стираться граница между фронтенд- и бэкенд- разработчиками.  Стало необязательно учить SQL и верстальщик веб-страниц вполне может тащить данные непосредственно из БД и  реализовывать бизнес логику на клиентской части.