Pull to refresh
1
0

Пользователь

Send message

Микросервисы на Java: практическое руководство

Reading time29 min
Views89K

Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы будете их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов.


Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже.


Содержание


Читать дальше →
Total votes 14: ↑9 and ↓5+7
Comments7

Руководство по Git. Часть №2: золотое правило и другие основы rebase

Reading time6 min
Views28K
Посмотрим, что происходит, когда вы выполняете git rebase и почему нужно быть внимательным. 

Это вторая и третья части гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions. Первую часть можно почитать тут.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments26

Советы и хитрости IntelliJ IDEA: 2. Анализ зависимостей

Reading time7 min
Views21K

Как анализировать зависимости в IDEA с помощью Dependency Structure Matrix и других инструментов.



Этот перевод продолжает серию об IntelliJ IDEA:


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments2

Сети для начинающего IT-специалиста. Обязательная база

Reading time12 min
Views450K

Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.


Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.


А также для самостоятельного изучения или для обучения новых сотрудников.


За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.


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


Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».

Читать дальше →
Total votes 61: ↑50 and ↓11+55
Comments99

Что такое Spring Framework? От внедрения зависимостей до Web MVC

Reading time41 min
Views482K


Вы можете использовать это руководство для различных целей:


  • Чтобы понять, что такое Spring Framework
  • Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC
  • Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов)

Примечание: Статья ~ 9000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже. И даже на компьютере ешь читай этого слона по одному кусочку за раз :-)


Содержание


  • Введение
  • Основы внедрения зависимостей
  • Контейнер Spring IOC / Dependency Injection
  • Spring AOP (Аспектно-ориентированное программирование) и прокси
  • Управление ресурсами Spring
  • Spring Web MVC
  • Дополнительные модули Spring Framework
  • Spring Framework: часто задаваемые вопросы
  • Заключение
Читать дальше →
Total votes 17: ↑14 and ↓3+17
Comments14

Лайфхаки разработчикам от рекрутера

Reading time11 min
Views38K
Недавно на Хабр вышел перевод статьи «Оцениваем рекрутеров по холодным письмам». Примечание переводчика и 120 комментариев показывают, что тема болезненна для русскоязычных разработчиков, а рынок рекрутинга в IT токсичен. С одной стороны страдают разработчики: завал писем на почте, звонки от рекрутеров, которые потом внезапно пропадают, нелепые вакансии с релокацией в Гватемалу, предложения сеньорам поработать в молодом стартапе джуном и собеседования с вопросами «почему люки круглые». С другой — сами рекрутеры страдают от некомпетентных коллег, которые выставляют их как спамеров не отличающих Java от JavaScript, и раскидывающихся вакансиями без разбора, будто они риэлторы на Авито.



Меня зовут Светлана Петровичева, 10 лет работаю в IT-рекрутинге, основатель рекрутингового агентства и платформы для поиска работы в IT. У меня есть мечта избавить IT-рынок от токсичности. Поэтому сегодня я поделюсь своим опытом, поделюсь некоторыми полезными приемами и попробую описать, как работают рекрутеры. Вы узнаете как разработчикам оценивать вакансии и компании, как вас находят и оценивают рекрутеры, влияет ли «личный бренд» на зарплату и почему ее не пишут в вакансиях. Также дам несколько рекомендаций как подготовить резюме, чтобы вы зарабатывали чуть больше, как поймать вакансию раньше остальных, почему «справедливой» зарплаты не существует, а в конце опишу свое видение, как избавиться от токсичности на рынке найма в IT.
Читать дальше →
Total votes 48: ↑37 and ↓11+44
Comments113

Как подружить Telegram-бот с OpenId Connect

Reading time7 min
Views15K

Представим себе ситуацию: аналитики компании Foobar Inc. провели тщательное исследование конъюнктуры рынка и бизнес-процессов компании и пришли к выводу, что для оптимизации издержек и многократного увеличения прибыли Foobar кровь из носу требуется Telegram-бот компаньон, способный подбодрить сотрудников в трудную минуту.


Естественно, Foobar не может позволить, чтобы коварные конкуренты воспользовались их ноу-хау, просто добавив их бота себе в контакты. Поэтому требуется, чтобы бот разговаривал только с сотрудниками Foobar, прошедшими аутентификацию в корпоративной системе единого входа (SSO) на основе OpenId Connect.


Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments6

Введение во взаимную аутентификацию сервисов на Java c TLS/SSL

Reading time15 min
Views65K


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

Читать дальше →
Total votes 8: ↑7 and ↓1+10
Comments7

Дружим ORDER BY с индексами

Reading time8 min
Views19K


Привет, Хабр!


Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke.


Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и следующих статьях я буду обосновывать такой подход — с графиками и примерами, как все любят.

Читать дальше →
Total votes 23: ↑22 and ↓1+25
Comments1

Вещи, которые вы [возможно] не знали о Java

Reading time6 min
Views14K

Приветствую, читатель!


Эта статья разбавит мой поток сознания о производительности. Поговорим о забавных вещах в яве и околояве, о которых вы возможно не знали. О некоторых из перечисленных я сам узнал недавно, так что считаю, что большинство читателей найдёт для себя хотя бы пару-тройку любопытных моментов.

Читать дальше →
Total votes 27: ↑23 and ↓4+25
Comments38

Регистрация и авторизация с помощью Spring Security на примере простого приложения

Reading time21 min
Views297K
Добрый день!

В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользователя.
Главная цель статьи показать как можно ограничить доступ к различным страницам сайта для пользователей с разными ролями.

Что будет представлять из себя приложение


Сайт со следующими страницам:

  • страницы доступные всем пользователям: главная, регистрации и логина;
  • страница доступная для зарегистрированных пользователей: новости;
  • страница доступная для администратора.

Что будем использовать


  • JDK 8+;
  • Intellij Idea;
  • Spring (Spring Boot, Spring MVC, Spring Security);
  • Hibernate;
  • JSP;
  • PostgreSQL.
Читать дальше →
Total votes 13: ↑8 and ↓5+8
Comments10

Анонс книги «Машинное обучение без лишних слов»

Reading time3 min
Views6.5K
image Привет, Хаброжители!

Готовится к сдаче в типографию полноцветная новинка «Машинное обучение без лишних слов»
#1 in Data Mining
#2 in Programming Algorithms
#3 in Machine Theory

Эту книгу рекомендуют к прочтению Питер Норвиг, Джеймс Гаррет и Орельен Жерон. Предисловие к русскоязычному изданию написал Сергей Николенко, автор нашей культовой книги «Глубокое обучение»

В ближайшее время мы выложим отрывок и откроем предзаказ, а пока предоставляем слово Сергею Николенко и благодарим его за бесценные рекомендации, которые позволили улучшить русскоязычное издание книги.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0

Слепой тест камер: iPhone, Pixel, Samsung и Huawei

Reading time1 min
Views36K


Недавно техдир Хабра, buxley, купил себе Google Pixel 4. А у меня был iPhone 11 Pro. И мы, конечно, стали сравнивать: какой аппарат делает фоточки круче. А потом решили, что раз нам так интересно, то возьмём ещё пару смартфонов с крутыми камерами и проведём слепое тестирование — чтобы было по-честному. Раздобыли ещё Samsung Galaxy Note 10+ и Huawei Mate 30 Pro. И придумали для всех четырёх 16 заданий, чтобы посмотреть на разные условия съемки.
Читать дальше →
Total votes 38: ↑30 and ↓8+49
Comments81

'Hello World' вам в облако

Reading time69 min
Views25K

Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успешном прохождении тестов. Итак, в данной статье будет показан пример того, как может быть построен процесс разработки продукта от спецификации до деплоя в прод. Инетересно? тогда прошу под кат

Total votes 51: ↑50 and ↓1+64
Comments47

Умеем ли мы готовить Java, Kotlin RestController?

Reading time4 min
Views5.5K
Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы, на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spring boot версии 1.5 и 2.0, а также quarkus — недавно появившийся соперник spring boot от red hat.

image

Читать дальше →
Total votes 11: ↑9 and ↓2+15
Comments9

Ускоренная разработка с помощью Spring Boot DevTools

Reading time8 min
Views35K
Как ускорить разработку на Spring Boot с DevTools и сделать этот процесс более приятным и продуктивным?

Настройка


Как обычно при разработке на Spring Boot, настройка достаточно проста. Все, что вам нужно сделать, это добавить правильную зависимость, и готово. Spring Boot находит ее и автоматически настраивает DevTools соответственно.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments1

Что нового в Spring Boot 2.2?

Reading time8 min
Views9.3K
Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework».




16 октября 2019 года был выпущен Spring Boot 2.2 !

В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments4

Что мы делаем не так со Спрингом

Reading time9 min
Views12K

В этой заметке хочу поделится наблюдениями о некоторых антипаттернах, встречающихся в коде приложений, работающих на Спринге. Все из них так или иначе всплывали в живом коде: либо я натыкался на них в уже существующих классах, либо вылавливал во время вычитки творчества коллег.


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

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments81

Введение в Git

Reading time17 min
Views149K

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments27

План подготовки к собеседованию на позицию Java разработчика

Reading time5 min
Views63K
Каждый раз, готовясь к собеседованиям на позицию «Java разработчик», я понимаю, что мне бы очень помог конкретный план подготовки. Поэтому все свои записи, накопившиеся в ходе прохождения собеседований, было решено структурировать и опубликовать. Надеюсь, кому-то этот план будет полезен.

И я намеренно не пишу, для кого предназначен этот план подготовки: для senior, middle или junior разработчика — все зависит от конкретной вакансии и от требований работодателя. Поэтому опирайтесь на этот план, но фильтруйте и в то же время не воспринимайте его как исчерпывающее руководство.

  1. Java core. Здесь можно ориентироваться например на книгу «OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809» для подготовки к Java сертификации уровня Professional. Есть подобная книга «OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808» для уровня Associate — на нее тоже можно взглянуть. Пройдитесь по оглавлению и выделите для себя, что можно повторить. Конечно же, не стоит пускаться во все тяжкие и читать книгу от корки до корки — многие темы из этой книги можно обойти стороной, например форматирование дат. Выделите самое основное. Например для меня это были следующие темы: коллекции (стандартные вопросы «Как устроена HashMap?» или «Чем отличается LinkedList от ArrayList?» все также часто задают на собеседованиях), дженерики, функциональные интерфейсы, многопоточность (тут тоже фильтруйте — не нужны вам cyclic barrier и fork join framework).
    Также не забывайте проецировать знания на свой опыт. Например, когда вам приходилось использовать многопоточное программирование? Какие проблемы вы решали? Какие блокировки использовали?
  2. Многопоточность.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments16
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity