Zero Downtime и Spring Boot. Апдейтим базу
Привет! Когда-то обновление версии сервиса было сложной задачей. Нужно было последовательно выполнить ряд действий, перезапустить инстансы, и не забыть предварительно забэкапить наши данные. Пользователям сервиса показывалось предупреждение, что сервис временно недоступен, и куча усилий тратилась на то, чтобы максимально снизить время этой недоступности.
Сейчас же у нас есть супер-мощные инструменты для управления сервисами. Они позволяют иметь несколько разных версий сервиса одновременно. Бизнес-пользователи могут управлять тем, какую версию видит та или иная группа пользователей. Обновление и откат версии сервиса могут происходить без прерывания работы пользователей. И когда появился такой мощный и красивый молоток, все начали хотеть забивать гвозди только им. Даже те, кому это, на самом-то деле, вообще не нужно. И тут есть проблема - наличие инструмента не означает автоматической готовности сервисов для того, чтобы этот инструмент с ними можно было использовать. И если обновлять сервисы старым способом было сложно, то новым это делать еще сложнее. Давайте посмотрим, почему это так, и как вообще получить этот ваш Zero Downtime.
Читать статью
Привет! Когда-то обновление версии сервиса было сложной задачей. Нужно было последовательно выполнить ряд действий, перезапустить инстансы, и не забыть предварительно забэкапить наши данные. Пользователям сервиса показывалось предупреждение, что сервис временно недоступен, и куча усилий тратилась на то, чтобы максимально снизить время этой недоступности.
Сейчас же у нас есть супер-мощные инструменты для управления сервисами. Они позволяют иметь несколько разных версий сервиса одновременно. Бизнес-пользователи могут управлять тем, какую версию видит та или иная группа пользователей. Обновление и откат версии сервиса могут происходить без прерывания работы пользователей. И когда появился такой мощный и красивый молоток, все начали хотеть забивать гвозди только им. Даже те, кому это, на самом-то деле, вообще не нужно. И тут есть проблема - наличие инструмента не означает автоматической готовности сервисов для того, чтобы этот инструмент с ними можно было использовать. И если обновлять сервисы старым способом было сложно, то новым это делать еще сложнее. Давайте посмотрим, почему это так, и как вообще получить этот ваш Zero Downtime.
Читать статью
Teletype
Zero Downtime и Spring Boot. Апдейтим базу
Привет! Когда-то обновление версии сервиса было сложной задачей. Нужно было последовательно выполнить ряд действий, перезапустить...
👍6
JDBC vs JPA
В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение.
Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA?
В этой статье мы поговорим о JDBC и JPA: истории появления и некоторых особенностях.
Читать статью
В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение.
Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA?
В этой статье мы поговорим о JDBC и JPA: истории появления и некоторых особенностях.
Читать статью
Telegraph
JDBC vs JPA
В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение. Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать?…
❤13👍4
Разрешение конфликтов слияния Git в IntelliJ IDEA
В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.
Читать статью
В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.
Читать статью
👍6
Создание PDF-документа на Java и Spring
Друзья, пришло время практики!
Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.
Хорошей практики! 😃
Читать статью
Друзья, пришло время практики!
Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.
Хорошей практики! 😃
Читать статью
👍5
Принципы SOLID на примерах
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
Читать статью
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
Читать статью
👍4🔥3
Обработка исключений в Java
Вы, конечно, знаете, что в Java обработка ошибок осуществляется при помощи исключений.
Мы не будем спорить о том, хорошим было это решение или нет, мы просто еще раз повторим этот механизм.
Теория, здравствуй! 😳
Читать статью
Вы, конечно, знаете, что в Java обработка ошибок осуществляется при помощи исключений.
Мы не будем спорить о том, хорошим было это решение или нет, мы просто еще раз повторим этот механизм.
Теория, здравствуй! 😳
Читать статью
👍5
FAQ по var в Java
Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной.
Читать статью
Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной.
Читать статью
Telegraph
FAQ по var в Java
Вопрос 1. Для чего используется var в Java? Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания…
👍4
Spring Boot Best Practices для разработчиков
Spring Boot представляет собой популярный и производительный фреймворк для корпоративных приложений. 😏
Предложенная сегодня статья предоставит рекомендации, как такое приложение улучшить и сделать его еще более эффективным.
Приятного чтения!
Читать статью
Spring Boot представляет собой популярный и производительный фреймворк для корпоративных приложений. 😏
Предложенная сегодня статья предоставит рекомендации, как такое приложение улучшить и сделать его еще более эффективным.
Приятного чтения!
Читать статью
👍6
Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore
Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.
На источники, откуда черпалась информация, предоставлены ссылки в конце статьи.
Статья будет полезна тем, кто изучает или повторяет основы Java Core.
И тем, кто готовится к собеседованию.
Читать статью
Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.
На источники, откуда черпалась информация, предоставлены ссылки в конце статьи.
Статья будет полезна тем, кто изучает или повторяет основы Java Core.
И тем, кто готовится к собеседованию.
Читать статью
Telegraph
Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore
Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными. Это мой конспект…
👍7
Про интерфейсы и изолированные классы в Java
Иногда полезно смотреть на какое-либо "решение" под разными углами, через призму восприятия другими людьми. 😳
В предложенной сегодня статье Брюс Эккель рассмотрит интерфейсы и изолированные классы в Java.
Приятного чтения!
Читать статью
Иногда полезно смотреть на какое-либо "решение" под разными углами, через призму восприятия другими людьми. 😳
В предложенной сегодня статье Брюс Эккель рассмотрит интерфейсы и изолированные классы в Java.
Приятного чтения!
Читать статью
👍8🔥1
Еще один путь снизить боль при работе с Java проектами и их документированием
За время карьеры, чаще всего сталкивался с ситуацией, когда получаешь проект в котором непонятно где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят, что «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же много раз после перебросок между многочисленными проектами, бывало встречалась ситуацию, когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.
Читать статью
За время карьеры, чаще всего сталкивался с ситуацией, когда получаешь проект в котором непонятно где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят, что «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же много раз после перебросок между многочисленными проектами, бывало встречалась ситуацию, когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.
Читать статью
Teletype
Еще один путь снизить боль при работе с Java проектами и их документированием
Ты не видел тут американскую подлодку? Видел. Куда она поплыла? Курс Зюйд-Зюйд-Вест. Ты не умничай, пальцем покажи.(С) бородатый анекдот
👍9
Забавная статистика о JDK 20
Задумывались ли вы когда-нибудь о том, сколько классов в стандартной библиотеке Java, или какое самое длинное имя класса, или какой размер самого маленького или самого большого класса и тд. Эта необычная и интересная статья погрузит вас в подобную статистику.
Читать статью
Задумывались ли вы когда-нибудь о том, сколько классов в стандартной библиотеке Java, или какое самое длинное имя класса, или какой размер самого маленького или самого большого класса и тд. Эта необычная и интересная статья погрузит вас в подобную статистику.
Читать статью
👍8🔥2
Как в Java считывать данные из файла в 2023 году
Если вы спросите StackOverflow или ChatGPT, как преобразовать InputStream в String в Java, то получите устаревшие способы с утомительными циклами. Современная Java решает эту и подобные задачи одной строкой кода. Подробности в статье.
Читать статью
Если вы спросите StackOverflow или ChatGPT, как преобразовать InputStream в String в Java, то получите устаревшие способы с утомительными циклами. Современная Java решает эту и подобные задачи одной строкой кода. Подробности в статье.
Читать статью
👍7❤1🔥1
Java и низкая задержка
Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.
Читать статью
Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.
Читать статью
Telegraph
Java и низкая задержка
Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность»…
👍6🔥1
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Читать статью
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Читать статью
Telegraph
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.…
👍5
ТОП недооцененных горячих клавиш Intellij IDEA
Друзья, знаете ли вы, но горячие клавиши в IntelliJ IDEA буквально зашиты в ДНК: с их помощью можно выполнить любое действие, о котором вы даже не задумывались.
Предложенная сегодня статья предлагает вам ТОП недооцененных горячих клавиш для Intellij IDEA.
Хорошей практики!
Читать статью
Друзья, знаете ли вы, но горячие клавиши в IntelliJ IDEA буквально зашиты в ДНК: с их помощью можно выполнить любое действие, о котором вы даже не задумывались.
Предложенная сегодня статья предлагает вам ТОП недооцененных горячих клавиш для Intellij IDEA.
Хорошей практики!
Читать статью
🔥8
Сравниваем Hashtable, HashMap и ConcurrentHashMap
Друзья, следующая статья имеет практический характер. 😳
В предложенной статье рассмотрены структуры данных HashMap, HashTable и ConcurrentHashMap с точки зрения производительности на реальных примерах.
Компетенция, приди!
Читать статью
Друзья, следующая статья имеет практический характер. 😳
В предложенной статье рассмотрены структуры данных HashMap, HashTable и ConcurrentHashMap с точки зрения производительности на реальных примерах.
Компетенция, приди!
Читать статью
👍7☃1
Сергей Куксенко про виртуальные потоки.
YouTube
Java Virtual Threads
Concurrent applications, those serving multiple independent application actions simultaneously, are the bread and butter of Java server-side programming. The thread has been Java’s primary unit of concurrency since its inception and is core to the entire…
👍8
Давайте посмотрим, как IntelliJ IDEA может помочь в анализе зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
IntelliJ IDEA: Analyzing Dependencies
If you're working on a real world project, you're probably using external dependencies. You might need to analyze which dependencies your application uses. For example, you may want to find out how a particular version of a dependency ended up in your application.…
👍8🔥3
Из данного видео вы узнаете, как делать code reviews
YouTube
How To REALLY Do Code Reviews
Follow-Up to https://youtu.be/EhEESITArnE with many moooooore details on code reviews. Scenario: A user sent in a GitHub pull request for our Google Photos clone. Which means we have to do a code review. How should you do such review? What is or isn't important?…
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Quick Features in IntelliJ IDEA
A few IntelliJ IDEA features or actions include the term ‘quick’. Do they speed up certain processes? Let’s find out.
In this video, I’ll cover what these features are, why you need them, and how you can use them.
00:00 - Intro
00:41 - Quick Lists
03:19…
In this video, I’ll cover what these features are, why you need them, and how you can use them.
00:00 - Intro
00:41 - Quick Lists
03:19…
👍12❤1