Search
Write a publication
Pull to refresh
4
1

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

Send message

6 способов выполнения метода при старте Spring Boot приложения

Reading time8 min
Views57K

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

Рассмотрим различные способы выполнения метода после запускаSpring Boot.

Читать далее

Как подготовиться к докладу на техническую тему

Reading time7 min
Views19K
На MoscowJS приходят докладчики разного уровня. У некоторых за плечами опыт выступлений на крупных конференциях. Кто-то преподавал в ВУЗе или вёл тренинги. Многие выступают на публике в первый раз.

Мы помогаем ребятам подготовиться. Даём советы по контенту, организуем совместные прогоны. Качество доклада зависит от многих факторов. В первом приближении всё сводится к двум вещам:

  • Как вы готовитесь к докладу;
  • Как вы ведёте себя во время выступления.

В этой статье я расскажу о первом пункте. А именно, как подготовить себя к докладу на техническую тему.
Читать дальше →

Использование Spring state machine на практическом примере

Reading time4 min
Views9.5K

Использование Spring state machine на примере протокола РОСЭУ


В статье описано использование Spring state machine на примере установки соединения согласно технологии РОСЭУ. Соединение устанавливается между двумя операторами ЭДО в режиме точка-точка или через роуминговый центр. Описано как управлять состояниями, переключать состояния по событию и выполнять заданные действия при смене состояния. Если заинтересовало, то прошу под кат.

image
Читать дальше →

О выгорании в СССР из книжки 1973 года

Reading time8 min
Views77K

Досталась мне от бати книжка издания 1973 года, отпечатанная на ротапринте. Наткнулся в ней на вещи, которые бы мы сейчас назвали проблемой "выгорания". Термина в то время еще не было, но проблема была. Я выписал кое-какие вещи чисто для себя, но потом решил все же опубликовать, может кому пригодится...

Читать далее

Компиляция контейнеров — Dockerfiles, LLVM и BuildKit

Reading time11 min
Views15K

Как получаются контейнеры? Обычно из серии операторов, таких как RUN, FROM и COPY, которые помещаются в Dockerfile и собираются. Но как эти команды превращаются в образ, а затем в работающий контейнер? Понять это можно если пройти этапы создания образа контейнера самостоятельно. Мы создадим образ программно, а затем разработаем обычный синтаксический интерфейс и будем использовать его для создания образа.

Погружаемся

Основы Java Bytecode

Reading time29 min
Views35K

Внимание, статья содержит довольно много картинок и получилась довольно тяжелой и объемной

Как и многие базовые вещи на habr уже были статьи о bytecode, основные же отличия данной статьи - в попытке визуализировать, что происходит внутри, и краткий справочник инструкций (может кому пригодиться), многие с примерами использования.

В данной статье будут рассмотрены только основы Java Bytecode. Если вы уже знакомы с его основами, статья вряд ли будет вам интересна.

Вглубь

Разработка системы аутентификации на Java+Tarantool

Reading time23 min
Views7.9K
Системы аутентификации есть везде. Пока вы скучаете в лифте по пути с седьмого этажа на первый, можно успеть проверить баланс в приложении банка, поставить пару лайков в Instagram, а потом проверить почту. Это минимум три системы аутентификации.

Меня зовут Александр, я программист в отделе архитектуры и пресейла в Mail.ru Group. Я расскажу, как построить систему аутентификации на основе Tarantool и Java. Нам в пресейле очень часто приходится делать именно такие системы. Способов аутентификации очень много: по паролю, биометрическим данным, SMS и т.п. Для наглядности я покажу, как сделать аутентификацию по паролю.

Статья будет полезна тем, кто хочет разобраться в устройстве систем аутентификации. На доступном примере я покажу все основные части архитектуры, как они связаны между собой и как работают в целом.
Читать дальше →

«Пару слов о вашей работе?» или как мы готовим спикеров: история, личный опыт, лайфхаки

Reading time11 min
Views2.1K

Всем привет, меня зовут Артамонова Анастасия. В Мир Plat.Form я занимаюсь вопросами обучения наших ИТ-специалистов, одна из моих задач – подготовка спикеров к различным публичным выступлениям. Тематика обучения, тренингов, конференций, встреч и других развивающих направлений деятельности у ИТ-специалистов – одна из приоритетных, но идет обычно в качестве «допнагрузки» к основной работе. При этом затрагиваются личные качества, ценности и амбиции, поэтому организация этих процессов требует особой щепетильности. В этой статье я поделюсь, как этот процесс устроен сейчас, и какие трудности могут встречаться у «непрофессиональных» спикеров.

Немного о себе: за одним плечом у меня больше 10 лет работы в ИТ, за другим – управленческое и психологическое образование, сертификат коуча, преподавание в ВУЗе, семинары и частная практика.  Так вышло, что все мои изначально «гуманитарные» знания применялись на практике в работе с ИТ-специалистами разных «видов и калибров», это позволило мне легче находить общий язык и строить процессы с их участием таким образом, чтобы «ни один инженер в этом процессе не пострадал». Ну или пострадал не так сильно, как планировал. И, в довершение портрета, почти 30 лет личного опыта публичных выступлений, со всеми вытекающими: сценическая речь, постановка голоса, работа с аудиторией и т.д. и т.п.

Как это вообще всё началось

Пару лет назад мы в Мир Plat.Form поняли, что выступлениям, докладам, собраниям – быть. Что приятно (и, на самом деле, правильно) привело нас к этому пониманию несколькими дорогами. Во-первых, мы накопили много опыта и практики в разных направлениях; во-вторых, количество человек было уже настолько большим, что, просто зная о существовании друг друга и работая в одном офисе, было сложно быть в курсе того, что происходит в другой команде; в-третьих, у нас появилась задача рассказать о себе рынку на отраслевых конференциях.

Читать далее

Регулярные выражения. Всё проще, чем кажется

Reading time7 min
Views127K

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

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

Читать далее

Как формируются зарплаты с точки зрения экономики и почему программисты столько получают

Reading time4 min
Views56K

Всем же интересно про зарплаты? Давайте про зарплаты

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

Под катом я рассказываю о том, как формируется зарплата (особенно программиста) с точки зрения экономики.

Читать далее

Lombok + JPA: Что может пойти не так?

Reading time4 min
Views42K

Lombok — это отличный инструмент, с которым Java-код становится чище и лаконичнее. Однако есть несколько нюансов, которые надо учитывать при его использовании с JPA. В этой статье мы выясним, как неправильное применение Lombok может повлиять на производительность приложений или даже привести к ошибкам. Разберемся, как этого избежать не теряя преимуществ Lombok.

Читать далее

Отладка Java-приложений из командной строки

Reading time6 min
Views17K

Некоторые ошибки трудно воспроизвести на вашем персональном компьютере, но их легко воспроизвести на производственных или тестовых машинах. Это обычная ситуация, с которой часто сталкиваются профессиональные Java-разработчики. Для отладки таких проблем OpenJDK предоставляет два инструмента: remote debugging и jdb. Эта статья посвящена jdb.

Для приложений Java типичными производственными и тестовыми машинами являются серверы Linux без графического интерфейса, поэтому доступны только инструменты командной строки. И мы не можем использовать профессиональные IDE, такие как IntelliJ IDEA, Eclipse или Apache NetBeans IDE.

В таких сценариях мы можем использовать jdbjdb - это отладчик командной строки, входящий в состав OpenJDK.

Это перевод руководства для начинающих. Очевидно эксперты все это знают и им не стоит тратит время на его чтение...

Читать далее

Проверка данных — Java & Spring Validation

Reading time14 min
Views133K
Проверка данных класса (bean) в java тема не новая, но актуальная и здесь я объединю различные аспекты: валидацию данных в рамках JSR-303, покажу как это сделать чисто в Java и с использованием Spring, как делать в стандартном приложении и в Web.

Содержание: Валидация данных (JSR-303) в

  • стандартном Java приложении
  • c использованием Spring
  • объединение Java + Spring
  • Spring MVC
Читать дальше →

Микросервисная архитектура, Spring Cloud и Docker

Reading time14 min
Views264K

Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

Читать дальше →

О клиенте и сервере в микросервисной архитектуре

Reading time21 min
Views11K

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

В качестве прикладного дополнения к рассуждениям мы разработали несколько Proof of Concept, сопроводили их разработку краткими пояснениями и приложили исходный код PoC.

Читать далее

Руководство по пограничным вычислениям для архитектора. Самое важное

Reading time10 min
Views6.7K
Для современного энтерпрайз-архитектора критически важно разбираться в пограничных вычислениях (edge computing). В этой статье будут рассмотрены основы пограничных вычислений и приведены примеры использования этой технологии на практике.



Пограничные вычисления – определенно существенная часть современного технологического ландшафта. Объем рынка для продукции и услуг, связанных с пограничными вычислениями, более чем удвоился с 2017 года. Причем, согласно статистическому сайту Statista, к 2025 году ожидается взрывной рост этого рынка (см. рисунок 1 ниже). 


Рисунок 1: Объем мирового рынка пограничных вычислений: текущая ситуация и прогноз на 2025 год (в миллиардах долларов США) (Statista)

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

Учитывая эволюцию этой технологии и ее рост, ожидаемый в ближайшие годы, современному энтерпрайз-архитектору принципиально иметь базовое понимание пограничных вычислений. Цель этой статьи – дать такое понимание.

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

Шпаргалка по Spring Boot WebClient

Reading time6 min
Views94K

WebClient — это неблокирующий, реактивный клиент для выполнения HTTP-запросов.

ПРИМЕЧАНИЕ: Начиная с версии 5.0, этот класс законсервирован и в дальнейшем будут приниматься только минорные запросы на изменения и на исправления багов. Пожалуйста, подумайте об использовании org.springframework.web.reactive.client.WebClient, который имеет более современный API и поддерживает синхронную, асинхронную и потоковую передачи.

Читать далее

Apache Camel и Spring Boot

Reading time12 min
Views23K

Apache Camel — это фреймворк для интеграции приложений и эффективного взаимодействия между различными системами, с чем приходится часто сталкиваться в любой корпоративной инфраструктуре. Apache Camel позволяет разработчику сосредоточиться на логике процессов, не переводя данные в канонический формат, так как Camel поддерживает более 80 API для реализации различных протоколов и типов данных. Таким образом, разработчику — то есть вам — достаточно просто знать, как Camel соединяет все вместе. В этой статье мы по шагам рассмотрим, как интегрировать Apache Camel и Spring Boot.

Но прежде чем обратиться к примеру со средой Spring Boot, разберемся с основными понятиями и терминами Camel.

Читать далее

Изучение и анализ Spring Boot приложения с помощью Actuator и jq

Reading time18 min
Views13K

Spring Boot Actuator помогает нам отслеживать и управлять нашими приложениями в производственной среде. Он предоставляет конечные точки, которые публикуются показатели работоспособности и другая информация о запущенном приложении. Мы также можем использовать его для изменения уровня ведения журнала приложения, создания дампа потока и т. д. - короче говоря, возможностей, которые упрощают работу в производственной среде.

Хотя Actuator в основном используется в производственной среде, он также может помочь нам во время разработки и сопровождения. Мы можем использовать его для изучения и анализа нового приложения Spring Boot.

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

Читать далее

Обзор модульного и интеграционного тестирования Spring Boot

Reading time11 min
Views106K

Модульное и интеграционное тестирование - неотъемлемая часть вашей повседневной жизни как разработчика. Однако для новичков Spring Boot написание содержательных тестов для своих приложений оказывается проблемой:

- С чего начать мои усилия по тестированию?

- Как Spring Boot может помочь мне в написании эффективных тестов?

- Какие библиотеки мне использовать?

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

Читать далее

Information

Rating
2,677-th
Location
Ижевск, Удмуртия, Россия
Works in
Date of birth
Registered
Activity