Java библиотека

channel icon
Книги, статьи, мемы и многое другое для Java программиста!

Условия размещения

Цена за 48 часов в ленте 6000,00
Цена за 1 час закрепления N/A
Взаимопиар Нет
Дополнительные условия рекламы Отсутствуют
-13
31 483
подписчиков
+122
~4.5k
охват 1 публикации
0
~3
постов / день
+0,4%
14,3%
ERR % ?

Статистика

Последние публикации

Java библиотека
13 ноября 2024 г. 20:03
⚡️⚡️ Уровни изоляции транзакций в базах данных

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

🔑 Что такое изоляция транзакций?


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

🔒 Типы уровней изоляции:

🔹 Read Uncommitted:
Самый низкий уровень изоляции. Транзакции могут читать изменения, сделанные другими транзакциями, даже если они не были зафиксированы (грязные чтения). Быстро, но рискованно.

🔹 Read Committed:
Видны только зафиксированные данные. Это исключает грязные чтения, но могут возникать неповторяемые чтения (данные меняются между двумя запросами).

🔹 Repeatable Read:

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

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

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

💬 Какой уровень изоляции вы чаще используете в своих приложениях?

@javalib@javalib #java#java
Java библиотека
13 ноября 2024 г. 15:02
👩‍💻 Мечтаете научиться программировать на Java? Пора начинать!

🗓 20 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик» от Otus.

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

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

Хотите научиться создавать приложения? Узнать, как строятся программы на Java? Этот урок — ваш первый шаг в IT!

🔗 Ссылка на регистрацию: https://vk.cc/cEAf6Y

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Java библиотека
13 ноября 2024 г. 13:15
Создаём Telegram Бота с Нуля на Java и Spring Boot | Часть 1: Проектирование и Первые Шаги

Мы с вами вместе напишем реальный проект Telegram бота. Автор постарается в повествовательной, меньше технической, манере поведать вам об этапах разработки, поехали?

@javalib@javalib #java#java
Java библиотека
13 ноября 2024 г. 10:01
Разработчики, встречаемся 22 ноября – митап, который нельзя пропустить 😎

Закрываем осенний сезон крутыми хардовыми докладами и жаркими дискуссиями на конференции от Технохаба Сбера в Казани. Расскажем, как оптимизировать процесс разработки и уменьшить lead time, поделимся лучшими инженерными практиками, а также поговорим про ИТ-рынок труда.

Спикеры и темы:
✅ Владислав Ламзенков, Senior Java-разработчик: «JMH: как мы бенчим в Java»
✅ Искандер Габдрахманов, Java-разработчик: «Spring AOP – все про него знают и слышали, но часто ли его используют на самом деле?»
✅ Алия Хазиева, Project Manager: «Какие метрики помогут оптимизировать Agile-процессы команды разработки?»
✅ Лидер компетенции Екатерина Руденко, Лидер компетенции Василий Маркитан, Руководитель команды IT-подбора Седа Саакян: дискуссия «Реалии рынка труда против требований нанимающего руководителя»

Регистрируйтесь на митап IT Talk by Sber по ссылке 💚
Java библиотека
12 ноября 2024 г. 22:41
Когда у тебя на одном проекте Java 21…

@javalib #java
Java библиотека
12 ноября 2024 г. 21:21
🕯🕯 Паттерн Adapter (Адаптер)

Adapter — это структурный паттерн, который позволяет объектам с несовместимыми интерфейсами работать вместе. Он действует как обёртка между двумя классами, приводя их интерфейсы к общему виду.

Использование:

🔹 Когда необходимо использовать сторонний код, который не соответствует ожидаемому интерфейсу.
🔹 Подходит для миграции систем, когда новые и старые классы должны работать вместе.
🔹 Для интеграции различных библиотек в проект без изменения их исходного кода.

Преимущества:

1️⃣ Устраняет зависимость от конкретных интерфейсов, облегчая дальнейшее развитие системы.
2️⃣ Позволяет легко адаптировать старый код к новым условиям, не затрагивая его исходный функционал.

Недостатки:

1️⃣ Увеличивает сложность системы за счёт введения дополнительных классов.
2️⃣ Может привести к увеличению времени выполнения программы при частом использовании.

📌 Часто используется при интеграции различных систем, например, при адаптации старого API для использования с новыми клиентами или библиотеками.

@javalib@javalib #java#java
Java библиотека
12 ноября 2024 г. 17:02
Yandex DEVent PRO: митап для опытных бэкенд-разработчиков

Приготовили для вас три хардовых доклада:

🔸 Роман Косарев, руководитель разработки Яндекс Недвижимости. Расскажет, как и почему ребята пришли к федеративному GraphQl в архитектуре синхронного API сервиса

🔸 Никита Макаров, руководитель Универсального поиска. Подробно покажет, как внедрение YandexGPT помогло пользователям быстрее принимать решения при покупке товара

🔸 Дмитрий Плещеев, руководитель группы разработки сервисов картографии. Расскажет, как команда Автономного транспорта создаёт высокоточные карты и зачем они нужны

✏️ Зарегистрироваться на митап можно тут.

Мероприятие пройдёт в офлайн-формате. Количество мест ограничено. Пожалуйста, после регистрации дождитесь подтверждения вашего участия — мы пришлём его на электронную почту.

Реклама. ООО "Яндекс", ИНН 7736207543.
Java библиотека
12 ноября 2024 г. 15:35
Память Cassandra по полочкам. Cassandra memory footprint

Углубляемся в механизмы работы с памятью в Apache Cassandra: как устроены механизмы управления памятью, сколько места занимают те или иные данные в памяти, как это мониторить, какие оптимизации по работе с памятью сделаны или еще в процессе.

Будет интересно Java-разработчикам, которые разрабатывают подобного рода системы, и тем, кто эксплуатирует Apache Cassandra.


@javalib@javalib #java#java
Java библиотека
12 ноября 2024 г. 12:10
👩‍💻 Открытый урок «Интернационализация и локализация в приложениях Spring»

🗓 25 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Разработчик на Spring Framework» от Otus.

Узнайте, как эффективно реализовать интернационализацию и локализацию в Spring-приложениях.

На вебинаре разберем:

✔️работу с классом Locale, использование MessageSource в Spring Boot и без него;
✔️ способы хранения и смены локали в веб-приложениях;
✔️ локализацию в шаблонах Thymeleaf и сообщений Bean Validation;
✔️ обсудим, почему не стоит локализовывать исключения;
✔️ проанализируем исходный код для лучшего понимания процессов.

🔗 Ссылка на регистрацию: https://vk.cc/cEyO9g

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Java библиотека
12 ноября 2024 г. 9:01
Gradle

Это инструмент автоматизации сборки, который в основном используется в Android-разработке. Популярная альтернатива Ant и Maven.

Gradle позволяет определять и управлять зависимостями проекта, запускать модульные тесты и упаковывать приложение для развертывания. Gradle также имеет систему плагинов, которая позволяет добавлять функциональные возможности и настраивать процесс сборки.


@javalib@javalib #java#java
Java библиотека
11 ноября 2024 г. 12:01
Как построить облако с нуля? Узнайте от разработчиков новой облачной платформы MWS.

MWS запускает реалити-проект Building the CloudBuilding the Cloud о создании новой публичной облачной платформы. В прямом эфире наши эксперты и инженеры раскрывают закулисье облачной разработки, делятся уникальным опытом и отвечают на вопросы.

В первом выпуске расскажем о сердце облака — сервисе Compute.

О чём поговорим:
● Зачем мы строим новое публичное облако MWS
● Как устроена архитектура сервиса Compute в новой платформе MWS
● Что происходит «под капотом» облака, когда создаётся виртуальная машина
● Расскажем о планах и роудмапе новой платформы

Приглашаем разработчиков и профессионалов облачного рынка! Задайте свои вопросы разработчикам нового облака MWS и узнайте всё из первых рук.

📅 Дата: 20 ноября 2024, 11:00
👉 Регистрируйтесь сейчас, чтобы не пропустить эфир
Java библиотека
8 ноября 2024 г. 19:55
CompletableFuture

CompletableFuture — это класс в Java, введенный в Java 8, который представляет собой асинхронную задачу, которая будет выполнена в будущем и возвращает результат. CompletableFuture предоставляет множество методов для работы с асинхронными задачами, комбинирования их и управления их выполнением.

Основные возможности CompletableFuture включают:

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


@javalib@javalib #java#java
Java библиотека
8 ноября 2024 г. 15:32
🔥Пишем веб-сервис на Java, а затем преобразуем его в Kotlin за 1 урок

Приглашаем на бесплатный вебинар, он будет интересен Java-разработчикам и бэкенд-разработчикам на Kotlin!

⏰Дата: 12 ноября в 19:00 МСК


В первой части занятия мы познакомимся с основными концепциями:
• null-безопасность;
• сокращение шаблонного кода;
• лямбда-выражения.

Во второй части — напишем веб-сервис с CRUD-операциями на Java, а затем преобразуем его в Kotlin. Так вы увидите, как синтаксис Kotlin упрощает код.

📌Занятие проведёт Сергей Прощаев — ведущий инженер и Java-разработчик в крупной компании

После вебинара вы сможете приобрести курс «Kotlin Backend Developer. Professional», который доступен в рассрочку!

👉🏻Записаться на событие

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Java библиотека
8 ноября 2024 г. 11:43
PG для Java-разработчиков

В процессе переноса нагруженного сервиса с Oracle на PG пришлось разбираться в тонкостях работы с последней из Java. Обнаружились разные нюансы настройки драйвера pgJDBC, Hikari и Spring, о которых, как оказалось, многие разработчики не знают / забывают / узнают через боль и страдания в процессе эксплуатации сервиса позже.

Сергей собрал в этом докладе все полезные настройки, которые помогли решить ту или иную проблему.

PS: Про Hibernate в этом докладе не говорим.


@javalib@javalib #java#java
Java библиотека
7 ноября 2024 г. 20:50
Метод isPowerOfTwo()

Метод isPowerOfTwo() используется для проверки, является ли число степенью двойки.

Этот метод полезен при работе с битовыми операциями и оптимизации алгоритмов.


@javalib@javalib #java#java
Java библиотека
7 ноября 2024 г. 12:40
👩‍💻 Обучение для тех, кто хочет освоить Java на профессиональном уровне — JVM с профилированием и оптимизацией приложений в облаках.

Пройди тест по Java и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь
— пройдешь на продвинутый курс "Java Developer. Advanced" от OTUS по специальной цене.

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cEdJt8

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Java библиотека
7 ноября 2024 г. 8:27
Принципы SOLID

Как разработчики, мы стремимся к тому, чтобы наш код был поддерживаемым, масштабируемым и готовым к изменениям. Один из способов достичь этого — следовать принципам SOLID. Эти пять принципов проектирования помогают создавать системы, которые легко понимать и поддерживать, что ведет к более чистому и надежному коду.

Рассмотрим каждый принцип:

1️⃣ Принцип единственной ответственности (S)
Каждый класс должен иметь только одну причину для изменения, то есть он должен отвечать за одну задачу или ответственность. Это достигается за счет того, что классы фокусируются на выполнении конкретных задач. Соблюдение этого принципа делает код более модульным и простым в поддержке.

2️⃣ Принцип открытости/закрытости (O)
Классы должны быть открыты для расширения, но закрыты для изменения. Это значит, что поведение класса можно расширять, не изменяя его существующий код. В Java это часто реализуется через использование интерфейсов или абстрактных классов.

3️⃣ Принцип подстановки Барбары Лисков (L)
Объекты суперкласса должны заменяться объектами подкласса без нарушения корректности программы. В Java это особенно важно при работе с наследованием, чтобы подклассы правильно расширяли базовые классы, не изменяя их поведение.

4️⃣4️⃣ Принцип разделения интерфейса (I)
Клиенты не должны зависеть от интерфейсов, которые они не используют. В Java это достигается путем разделения крупных интерфейсов на более узкоспециализированные, чтобы классы реализовывали только те методы, которые им действительно нужны.

5️⃣5️⃣ Принцип инверсии зависимостей (D)
Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций. В Java это часто реализуется через внедрение зависимостей (Dependency Injection), которое позволяет передавать зависимости извне, что способствует слабой связности и гибкости системы.

@javalib@javalib #java#java
Java библиотека
6 ноября 2024 г. 17:01
Podlodka Java CrewPodlodka Java Crew снова в деле!

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

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

- На круглом столе Митя Александров и Александр Нозик обсудят, что эффективнее в Java — виртуальные потоки, реактивность или корутины 💬

- В сессии Евгения Молокова обсудим, в каких случаях Kafka Streams может уступать Apache Flink и как Flink решает задачи потоковой обработки данных🚀

- Денис Винокуров и Дмитрий Разуваев объяснят, почему асинхронность Kafka не всегда соответствует ожиданиям и как это фиксировать 💻

- Сергей Петрелевич проведет воркшоп по WebFlux для асинхронных систем, где разберет реальные кейсы 🛠️

Никакой теории, только конкретные подходы для использования!

Скорее забирай early-bird билеты — https://podlodka.io/javacrew.https://podlodka.io/javacrew.
Java библиотека
6 ноября 2024 г. 16:10
Блокирующий метод

Блокирующий метод (blocking method) — это метод, который приостанавливает выполнение текущего потока и ждет определенного события или условия.
Они используются для синхронизации потоков, например при работе с сетью или файлами.

При вызове блокирующего метода поток переходит в состояние ожидания и не выполняет других операций.

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

Например, метод readLine() блокирует поток до тех пор, пока пользователь не введет строку и не нажмет Enter.
После ввода данных метод возвращает управление потоку и программа выводит введенную строку.

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


@javalib@javalib #java#java
Java библиотека
6 ноября 2024 г. 12:40
Какой самый больной вопрос для IT-команд? Тестирование микросервисов!

Откройте все секреты! Как повысить отказоустойчивость и управлять взаимодействиями между сервисами?

👨‍💻🛠👨🏻‍💻 На открытом уроке мы разберем всё: от юнит-тестов до тестов производительности.

Присоединяйтесь к бесплатному вебинару 7 ноября в 20:00 мск и получите практические инструменты для работы с микросервисами. А еще скидку на обучение на курсе «Software Architect»!

🔴 Регистрируйтесь прямо сейчас и получите доступ к лучшим практикам тестирования в распределённых системах: https://vk.cc/cE9TCEhttps://vk.cc/cE9TCE

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576