Топ-100
Сейчас ищут:

Скачать FullStack разработчик веб проектов [javabegin] [Тимур Батыршинов]

Admin

Администратор
Команда форума
Регистрация
30 Дек 2017
Сообщения
149,066
Симпатии
4,179
Timur.PNG


FULLSTACK разработчик:

В разных компаниях могут по-разному трактовать это понятие, но общее одно - минимально вы должны уметь:
  1. создавать серверную часть на микросервисах (backend) - Java/Kotlin/Spring Cloud
  2. создавать клиентскую часть (frontend) - React/Angular
  3. использовать инструменты аутентификации (OAuth2, OpenID)
  4. собирать и распространять свой проект в контейнерах (Kubernetes, Docker)
  5. правильно обновлять приложение с помощью DevOps, CI/DI
Cегодня компании хотят получить готового самодостаточного программиста, который уже многое умеет.
Проходит то время, когда с вами будут идти за ручку с нуля и обучать за счет компании.
Время - деньги! Особенно сейчас.
Если вы придете подготовленным и с опытом разработки на современных инструментах - ваши шансы повышаются в сотни раз. Вы уже должны быть достаточно опытным
Должно быть хотя бы 1-2 проекта в портфолио

Какие технологии использовать? Ведь их очень много
Нужно выбрать какой-то один стек и хорошо его выучить. Остальное - чуть позже по необходимости.
Желательно изучать технологии, которые давно себя зарекомендовали и будут "на коне" еще долгое время.

Современные системы чаще всего построены по этим принципам:
а) Микросервисная архитектура для backend (вместо "монолита")
Весь функционал приложения заключаются в веб сервисы (API). Сервисы могут находиться в разных приложениях (не как раньше - в одном, "монолит"). Один и тот же сервис может использоваться разными приложениями. Создаете один раз - используете всегда. Между сервисами и клиентом существует "экран" или "адаптер", который распределяет все входящий запросы. Сервисы могут находиться на разных серверах и быть не связаны между собой. Технологии: Spring, Swagger

б) RESTful сервисы для backend
RESTful - самый простой и быстрый способ обмена данными. Простой в использовании и создании (по сравнению с SOAP). Вы создаете один раз нужный сервис и используете в разных приложениях. За всеми запросами наблюдает общий "адаптер". Технологии: Spring, Swagger

в) Безопасность отделена от приложения
Вы не "вшиваете" внутрь своего приложения функционал безопасности, а делегируете его в отдельный узел (на другом сервере), который имеет свое API и все могут им пользоваться. В самом приложении вы только настраиваете роли и доступы. Технологии: OAuth2, OpenID и некоторые другие.

г) Фреймворки JavaScript для клиентского UI
Современные и отзывчивые веб/мобильные приложения делают на JS фреймворках: React, Angular, Vue.js. Ушли в прошлое тяжеловесные стеки типа JavaEE, JSF и пр. Сейчас "на коне" ajax вызовы, которые отправляют запрос в RESTful-сервис, получают ответ и тут же обновляют только нужную часть страницы. И все это с данными аутентификации/авторизации, по безопасному HTTPS каналу.

д) Сборка и дистрибуция проекта
Чтобы ваше приложение можно было быстро запустить - вам нужно будет правильно его собрать и настроить. Это все - в автоматическом режиме ("нажимаем одну кнопку"). Вручную собирать весь стек технологий - это медленно и неэффективно, "прошлый век". Технологии: Kubernetes, Docker.

е) Единое хранилище кода
Система контроля версий, куда вся команда "сливает" свой код. У вас всегда будет актуальная версия проекта. Это тоже стандарт в любой крупной компании (с очень древних времен). Не важно, какие технологии вы используете - всегда нужно будет хранить все коды не только у себя на компьютере, но и в удаленном репозитории.

Все эти принципы вы будете применять в данном обучении:
1) Java/Kotlin
Это язык, который будет востребован еще долгое время. Если выучите Java, в будущем сможете легко одолеть и Kotlin. Один язык плавно перетекает в другой. Но сначала желательно хорошо понять Java. На этих языках вы будете создавать микросервисы и весь функционал бэкенд. Java почти всегда находится на 1-3 месте по индексу TIOBE

2) PostgreSQL
Популярная бесплатная база данных с большим функционалом. В последние годы вырвалась в лидеры. Во многих случаях имеет выигрыш в производительности перед MySQL, типов данных, гибкости настроек. Многие хостинги, например Heroku, имеют поддержку этой БД в бесплатном тарифе - это говорит о том, что они уже сделали выбор. Раньше в фаворе был MySQL.

3) Spring/Hibernate
Самые популярные фреймворки, которые облегчают разработчику backend приложений. С помощью них вы сможете быстро организовать нужные веб сервисы и выполнить запросы в БД. Spring дает возможность настроить микросервисы с общим "экраном", подключить безопасность, OAuth2 и многое другое. Можно сказать, что это один большой и функциональный комбайн. Spring является самым популярным Java/Kotlin фреймворком.

4) Angular/React/TypeScript
Для того, чтобы создать клиентский интерфейс - вы можете...

Вам нужно зарегистрироваться для просмотра ссылки

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.

or

Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.



Скачать:

Для просмотра содержимого вам необходимо авторизоваться или зарегистрироваться.

Если у Вас нет Премиум статуса:

Преимущества VIP-подписки

Оформить VIP-Подписку

 

Похожие курсы:

Сверху