Java News – Telegram
Java News
4.31K subscribers
247 photos
5 videos
1 file
1.48K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
🎯 Весь фокус на API — решай реальные задачи и побеждай с Платформой API ВТБ!

Когда: 21 октября — 23 ноября 2024 
Формат: гибридный (онлайн и офлайн) 
Призовой фонд: 2 млн рублей

🔥 Хакатон подойдёт для тебя, если ты:

– Студент или выпускник технического вуза; 
– Backend / Frontend-разработчик;
– Аналитик;
– Архитектор;
– Специалист в области ИБ;
– DevRel.

❗️Выбери свой трек:

• Open API. Создание приложений на основе Open Banking API;
• gRPC. Реализация микросервиса, имплементирующего стандарты СТО БР ФАПИ.СЕК с реализацией на протоколе gRPC;
• Единая платформа аутентификации API. Создание новых подходов к мультифакторной аутентификации.

Прими участие в составе команды или индивидуально. Если нет команды — поможем её собрать!

▶️ Регистрация уже открыта! Подай заявку до 5 ноября, 23:59 МСК по ссылке.
👍3
Делаем свою простейшую систему сборки для Java

Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.

Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе «вот создаешь Gradle‑проект, в IDE жмешь кнопочку запуска и все работает». Но как только возникает необходимость что‑то в этом простом процессе усложнить, или понять — начинаются проблемы.

Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри — магия, превращающая исходный код в запущенную программу.

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

Читать статью
👍7🔥21
Подключение к GigaChat API на Java: пошаговое руководство

В этой статье я расскажу о том, как подключиться к API GigaChat в IntelliJ IDEA на Java и настроить безопасное соединение с использованием SSL-сертификатов, чтобы получать ответы от GigaChat в своем приложении.

Читать статью
👍6🔥2😁2
Как создать потокобезопасный счетчик в Java

Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.

Читать статью
👍4🔥4
23 шаблона проектирования для 99% разработчиков на Java

В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.

Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.

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

Читать статью
🔥5👍2
OOM: direct memory при работе с сетью TCP/IP через NIO в Java

Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.

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

Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".

Читать статью
👍4🔥2
Особое мнение: смотрим на нагрузочные тесты как на функциональные

Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.

Читать статью
👍3🔥2
Конфигурирование пула соедининений JDBC в Hibernate

Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳

Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.

Приятного чтения!

Читать статью
👍3
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования

Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.

Читать статью
👍3🔥2
Как узнать, допускает ли изменения коллекция в Java?

Пишу эту статью, чтобы помочь Java-разработчикам понять, почему необходимо различать интерфейсы изменяемых (mutable) и неизменяемых (immutable) коллекций. Java — на редкость эффективный язык программирования с почти 30-летней историей. Java Collections Framework (JCF) — одна из наиболее активно используемых частей стандартной библиотеки Java — сыграл важную роль в успешном развитии языка. Сегодня Java продолжает совершенствоваться в соответствии с новыми требованиями, оставаясь в ряду лучших языков программирования. Однако, как и во многих других начинаниях, прошлые успехи не являются гарантией будущих достижений.

Читать статью
👍4🔥4
Отложенные вычисления с помощью паттернов

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

Ждем вас на открытом вебинаре 28 ноября в 20:00 мск.

🚀На вебинаре вы узнаете:

1. Как и когда применять шаблоны отложенных вычислений для оптимизации производительности.

2. Практические кейсы.

🎯 Вебинар будет полезен:

• Разработчикам и инженерам, стремящимся улучшить производительность в приложениях.

• Архитекторам ПО, проектирующим масштабируемые и отказоустойчивые системы.

• Тимлидам и техническим руководителям, которые хотят повысить производительность и устойчивость решений своей команды.

В результате вебинара:

• Вы научитесь применять шаблоны Мост, Интерпретатор, Итератор.

Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники получат спец. цену на курс.

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cFjUf6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍3🔥1
Не используйте в своем коде паттерн Singleton

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

Читать статью
👍6🔥1
Аннотации и рефлексия в Java

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

Читать статью
👍5🔥2
⁉️ Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!

На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.

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

🔥 Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших нефтяных компаний России.

🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Только участники получат скидку на обучение: https://vk.cc/cFmQ7u

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍4🔥2
Пишем минимальный ActivityPub-сервер с нуля

В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon.

Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.

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


Читать статью
👍4🔥2
👩‍💻 Хотите стать востребованным Java-разработчиком, освоить Spring и выйти на новый уровень в карьере и доходе?

Обучение на курсе «Разработчик на Spring Framework» — ваш шанс прокачаться и выйти на более серьёзные проекты!

✔️ Вы освоите Spring Boot, Spring MVC, Spring Security и ещё большое количество технологий.
✔️ Оттачивайте навыки на практике — каждое домашнее задание превратится в полноценное приложение!
✔️ У нас практикующие эксперты, живые лекции и проектный подход — всё, что сделает из вас сильного специалиста.

Станьте профессионалом, который уверенно работает с микросервисной архитектурой, быстро доносит идеи до production-grade и владеет Spring на уровне, который ценят в топовых компаниях. Диплом OTUS откроет вам двери к новым возможностям и амбициозным проектам.

🎁 В "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

➡️ Последний шанс попасть в этот набор! Пройдите короткий тест и получите скидку: https://vk.cc/cFv145

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Введение в Apache Flink: осваиваем фреймворк на реальных примерах

Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework.

Наша команда использует разные виды тестирования: Unit, интеграционное, E2E, ручное, автоматизационное, нагрузочное. Этой теме будет уделено особое внимание. Я расскажу, какие подходы и паттерны помогут быть уверенными в качестве того, что вы разработали.

Эти знания будут полезны любому Java-разработчику, знакомому со Spring. А начинающие Flink-специалисты найдут здесь примеры стандартных ошибок и пути их решения. Обратите внимание, что эти материалы писались, когда актуальной версией Flink была 1.17. В конце октября вышла версия 1.18, и она может отличаться некоторыми нюансами.


Читать статью
👍4🔥1
Визуализация популярных команд Git

Мы, конечно, знаем, что Git - это достаточно мощный тул, но в то же время, он не очень нагляден. 😒

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

Хорошей памяти!

Читать статью
👍4🔥2🎉1
Поиск багов с помощью дампов потоков Java

Умение использовать дампы потоков в Java зачастую помогает устранения ряда проблем в работе программ: высокая загрузка ЦП, взаимоблокировки или не отвечающие приложения.

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


Читать статью
👍5
Все, что вам нужно знать о конфигурации Spring

В данном руководстве подробно рассказывается о конфигурации Spring, а также разбираются основные аннотации - Bean, Configuration и PropertySource.

Читать статью
👍7
Новогодний список: ёлка, мандарины и карьерный рост! 🎇

Новый год — шанс стать лучшей версией себя. Как раз для этого и создан бесплатный онлайн-интенсив в Открытых школах Т1 для Java-разработчиков с опытом от года.

За месяц ты сможешь поднять свои скилы на новый уровень и познакомиться с ИТ-холдингом Т1, а после — принять участие в offer weeks.

📆 Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы проходят онлайн, занятия — по вечерам.

Почему в Т1 классно?


🔹Уникальный рыночный опыт и масштабные ИТ-проекты для ключевых отраслей экономики. Разработки Т1 ежегодно получают награды на ИТ-конкурсах: Global CIO, Национальной банковской премии и других.

🔹Быстрый рост в ИТ при экспертной поддержке. Карьерные треки для выпускников Открытых школ позволяют быстро расти в профессии.

🔹Бигтех-культура и айтишные бонусы: ИТ-аккредитация, современный техстек, ДМС, удаленка, крутые офисы, спорт, обучение, ИТ-конференции, программы признания и развития и многое другое от Т1.

Подай заявку на интенсив до 14.01, и пусть 2025 принесёт тебе не только подарки, но и карьерный рост!

Реклама. ООО «Т1» ИНН: 7720484492. Erid: 2SDnjdhR9hM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👏1😢1