📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Неполное руководство по современным идиомам I/O (ввода-вывода) в Java
https://horstmann.com/unblog/2023-04-09/index.html
👉@BookJava
Курс «Английский для разработчиков» Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Лучшие практики Spring Boot для разработчиков
Spring Boot - это широко используемый и очень популярный высокопроизводительный фреймворк корпоративного уровня. Здесь приведены некоторые лучшие практики и несколько советов, которые можно использовать для улучшения приложения Spring Boot и повышения его эффективности. Эта статья будет немного длиннее, и для ее полного прочтения потребуется некоторое время.
raviyasas/spring-boot-best-practices-for-developers-3f3bdffa0090" rel="nofollow">https://medium.com/@raviyasas/spring-boot-best-practices-for-developers-3f3bdffa0090
👉@BookJava
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Я хотел бы поделиться одним из способов настройки памяти для Java-приложений в Kubernetes. Сразу скажу, что итоговые настройки, к которым мы придём, будут приведены лишь в качестве примера и должны настраиваться индивидуально под каждое приложение. Рассматривать будем настройки и метрики обычного микросервиса на Spring boot, интегрированного со Spring Boot Admin (далее просто SBA).
https://habr.com/ru/companies/domclick/articles/691240/
👉@BookJava
Java Hashtable, HashMap, ConcurrentHashMap - влияние на производительность
Существует большое количество статей, в которых сформулированы функциональные различия между HashMap, HashTable и ConcurrentHashMap. В этой заметке на практических примерах сравнивается производительность этих структур данных. Если у вас не хватит терпения прочитать всю статью, то вот краткое содержание: Если вы стоите перед выбором, что использовать: HashMap, HashTable или ConcurrentHashMap, то лучше остановиться на ConcurrentHashMap, поскольку ее реализация потокобезопасна, без ущерба для производительности.
https://blog.gceasy.io/2022/04/22/java-hashtable-hashmap-concurrenthashmap-performance-impact/
👉@BookJava
Spring Boot Tutorial | Полный курс [2023]
В этом учебном пособии по Spring Boot рассказывается о том, как начать работу с Spring Boot и Java.
00:00 Intro
01:00 Quick Word
02:12 Spring Boot Overview
03:44 Project Overview
04:28 Spring Initializr
08:05 IntelliJ
10:29 Starting The Server
14:03 Simple API with Spring Boot
18:06 Student Class
23:19 API Layer
26:38 Business Layer
29:08 Dependency Injection
32:47 Properties file
36:15 Creating and Connecting to Database
39:48 JPA and @ Entity
42:35 JPA in Action
45:52 Amigoscode Database Courses
47:35 JPA Repository
52:20 Saving Students
58:49 @ Transient
01:03:01 Post Mapping
01:08:00 Writing Business Logic
01:12:43 Testing Post Request
01:15:35 Deleting Students
01:21:33 Exercise
01:22:53 Solution
01:26:54 Testing
01:29:41 Packaging and Running Application
01:34:52 Next steps
источник
👉@BookJava
Docker Compose и Spring Boot 3.1
Наверняка вам приходилось запускать разрабатываемое приложение для какого-то ручного тестирования разрабатываемых функций. А для этого, как правило, нужно некоторое окружение: базы данных, серверы кэша, брокеры очередей сообщений и т.д.
И чтобы не разворачивать это всё вручную, можно использовать контейнеры, а разработчики Spring Boot предлагают интеграцию Spring Boot и Docker Compose, благодаря которой использование контейнеров требует минимум кода.
источник
👉@BookJava
Oracle DevLive Level Up - Java Developer Day
Java 20: Reviewing the Enhancements in the Latest JDK Release
Java Language Futures, Spring 2023 Edition
Troubleshooting Native Memory Issues in Java Applications
Continuous Monitoring with JDK Flight Recorder
Java First. Java Always. | DevLive Level Up Keynote
источник
👉@BookJava
Oracle DevLive Level Up - Java Developer Day
Java Management Service - Managing Your Java Estate Just Got Easier
OpenJDK - Change the Future of Java
Java Virtual Threads
Building High Performance Microservices for Java with Micronaut & GraalVM
Moving the Java Community Forward
GraalVM Native Image — Faster, Smarter, Leaner
Z Garbage Collector: The Next Generation
JavaFX 20 and Beyond
Helidon - Microservices on Modern Java
Evolving the Security of the Java Platform
источник
👉@BookJava
⚡ Отус, приглашает 14 августа в 19:00 по мск, на бесплатный вебинар “Применимость Kotlin в различных направлениях разработки: Multimedia, ML, 3D/VR, Frontend, IoT/Robotics, Blockchain”, онлайн-курса «Kotlin Backend Developer. Professional».
✅ На вебинаре мы рассмотрим, как экосистема Kotlin может быть использована для создания программных продуктов в разных направлениях IT. Среди них: разработка фронтенда, работа с мультимедиа, машинное обучение, программирование роботов и создание 3D приложений.
➡️ Записаться на вебинар: https://otus.pw/gfnz/
Вебинар будет интересен всем, кто заинтересован в изучении Kotlin или хочет узнать больше об этой экосистеме. Если вы уже являетесь разработчиком на Kotlin, то сможете узнать новые инструменты и технологии для решения задач в других областях.
Нативная интеграция. Информация о продукте www.otus.ru
11 интересных фишек Java
Этим летом я получил сертификат по Java 11. Я ожидал, что это будет легко, ведь я занимаюсь Java-разработкой уже 14 лет и, конечно, должен был уже все это увидеть. Как же я ошибался! Я столкнулся со многими вещами, о которых даже не подозревал, что они возможны в Java.
Это может означать либо то, что я был ужасным разработчиком в течение мучительно долгого времени, либо то, что эти вещи просто немного менее известны и на самом деле очень интересны.
Я надеюсь, что это именно так, поэтому в этом докладе я уделю 15 минут тому, чтобы рассказать об 11 вещах, на изучение которых у меня ушло 14 лет. А это значит, что у вас есть шанс научиться этим вещам в 490896 раз быстрее, чем я! 🚀
источник
👉@BookJava
FAQ по var в Java
https://openjdk.org/projects/amber/guides/lvti-faq
👉@BookJava
Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate
Большинство разработчиков предпочитают числовые первичные ключи, потому что они эффективны в использовании и их легко сгенерировать. Но это не означает, что первичный ключ должен быть числом.
https://thorben-janssen.com/generate-uuids-primary-keys-hibernate/
👉@BookJava
Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
👉@BookJava
Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 😍 default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
👉@BookJava
Яндекс Практикум запустил бесплатный курс “Основы работы с Git”. Вы сможете полностью освоить популярную систему контроля версий кода за 20 часов.
Курс будет полезен тем, кто только погружается в разработку, и тем, кто не первый год пишет код:
— новички освоят инструменты, которые точно пригодятся в профессии;
— знатоки структурируют знания и повысят свою продуктивность.
На курсе вы научитесь:
— Писать код вместе с другими разработчиками и разработчицами;
— Отменять и откладывать изменения в своих ветках;
— Использовать локальный и удалённый репозиторий;
— Соединять ветки и разрешать конфликты;
— Управлять репозиторием через IDE и консоль;
— Понимать принципы и культуру командной разработки.
И освоите необходимые инструменты и технологии:
— GitHub;
— Terminal;
— GitHub Desktop;
— Bitbucket;
— GitBash;
— GitLab.
Переходите по ссылке и начинайте заниматься уже сейчас.
Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid:LjN8KE8Ur
Горизонтальное масштабирование
Кейсы использования RabbitMQ+Redis (Spring+Java+RabbitMQ+Redis)
Пишем простой, масштабируемый чат на Spring+Java+RabbitMQ+Stomp
https://www.youtube.com/playlist?list=PLb9LG4UcPZxARYz6T_P8uIPuENRdCVxx7
👉@BookJava
🔥 Международный уровень Java. Курс для работы в мировых IT-проектах и сертификация OCAJP
🚀 Стартует набор на онлайн курс «Углублённое изучение Java» от OTUS. Продолжительность обучения 5 месяцев.
Особенности курса:
- Интерактивный и практический подход
- Подготовка к собеседованиям
- Полное погружение в Java
- Подготовка к сертификации Oracle Java Programmer (OCAJP)
➡️ Оставляйте заявку и присоединяйтесь к группе: https://otus.pw/Wttv/ Нативная интеграция. Информация о продукте www.otus.ru
Яндекс Практикум запустил бесплатный курс “Основы работы с Git”. Вы сможете полностью освоить популярную систему контроля версий кода за 20 часов.
Курс будет полезен тем, кто только погружается в разработку, и тем, кто не первый год пишет код:
— новички освоят инструменты, которые точно пригодятся в профессии;
— знатоки структурируют знания и повысят свою продуктивность.
На курсе вы научитесь:
— Писать код вместе с другими разработчиками и разработчицами;
— Отменять и откладывать изменения в своих ветках;
— Использовать локальный и удалённый репозиторий;
— Соединять ветки и разрешать конфликты;
— Управлять репозиторием через IDE и консоль;
— Понимать принципы и культуру командной разработки.
И освоите необходимые инструменты и технологии:
— GitHub;
— Terminal;
— GitHub Desktop;
— Bitbucket;
— GitBash;
— GitLab.
Переходите по ссылке и начинайте заниматься уже сейчас.
Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid:LjN8KE8Ur
Java-команда Тинькофф проведет митап в Екатеринбурге 🏔
Встреча с комьюнити — 15 августа в лофте «Главный проспект». В программе — три доклада:
— что у Spring Security под капотом и что поменялось с приходом Spring Boot 3;
— как эволюционировала схема синхронизации данных при переходе с вендорской системы на самописную;
— какие проблемы можно решить с помощью Project Loom, а какие нет.
После — нетворкинг и душевные разговоры о технологиях.
📆 Tinkoff Java Meetup, 15 августа, лофт «Главный проспект». Не забудьте зарегистрироваться и позвать коллег: https://fb.tinkoff.ru/tinkoff_java_meetup_ekb
🤖 Принципы работы со Stream API
📢📢 Приходите 15 августа в 20:00 мск на открытый урок «Принципы работы со Stream API».
Вебинар приурочен к старту онлайн-курса «Java Developer. Professional» в OTUS.
🟠На вебинаре вспомним как работать со Stream API и что более важно - постараемся немного заглянуть внутрь, чтобы лучше понимать как они устроены.
Stream API позволяет очень сильно упростить написание кода и решение многих стандартных задач.
🔵Это отличная возможность перенять опыт преподавателя и посмотреть на процесс обучения изнутри.
Оплата курса возможна любым удобным для вас способом.
➡️ Регистрация на вебинар: https://otus.pw/r0Nw/ Нативная интеграция. Информация о продукте www.otus.ru
Разрабатывать высоконагруженные сервисы, работать только на современном стеке и за один день стать частью классной команды из амбициозных специалистов! Звучит как мечта, но это реальность One Day Offer для Java-разработчиков от Сбера 💻
Уже 12 августа Сбер приглашает Java-разработчиков уровня Middle/Senior/Lead познакомиться, пройти все этапы отбора, получите оффер и присоединиться к Java-сообществу крупнейшего банка страны.
Чем именно предстоит заниматься на должности Java-разработчика 👇
✔️ Участвовать в выводе продуктов с нуля в промышленную эксплуатацию.
✔️ Создавать высоконагруженные сервисы в направлениях digital и phygital.
✔️ Внедрять и автоматизировать новые процессы.
✔️ Создавать и развивать IT-продукты для сотрудников банка и миллионов клиентов.
Готовы к таким интересным задачам? Переходите по ссылке, регистрируйтесь на One Day Offer и участвуйте в интервью!
⚡️Программист, расширь свои возможности на бесплатном вебинаре онлайн-курса «Архитектура и шаблоны проектирования» в Отус — «Понятие «Декоратор» в программировании»: регистрация
На бесплатном занятии мы:
— рассмотрим устройство, примеры применения, а также основной принцип паттерна «декоратор» — добавление функциональности к существующему объекту.
— рассмотрим устройство и примеры применения паттерна «посетитель», а также подход с методами расширения.
— поговорим о понятиях «декоратор», «адаптер» и «прокси», сходства и различия.
🔥Продолжить обучение после вебинара по спеццене можно на полном курсе, доступном также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
Ищем людей, которые хотят зарабатывать на играх
Хочешь узнать больше об их разработке?
Каждый вторник в 19:00 будет проходить закрытый разбор игр на ютуб-канале владельца студии Garden of Dreams.
Уже открыта регистрация на первое мероприятие 8 августа в 19:00, и это бесплатно!
🔥Регистрируйся прямо сейчас и открой для себя все подводные геймдева. За регистрацию ты получишь игру в подарок.
Тестовое задание на позицию JAVA BACKEND DEV. REST API. RESTFULL. HIBERNATE. MYSQL.
источник
👉@BookJava
🤖 Сертификация Oracle Java Programmer (OCAJP), как готовиться к экзамену
🔵Узнаем 10 августа в 20:00 мск на открытом уроке онлайн курса «Углублённое изучение Java» от OTUS.
В рамках вебинара мы рассмотрим:
- Прошлое и настоящее сертификации Java
- Что где и как можно и нужно сдавать
- Форма и содержание экзамена
Разберёмся, почему наш курс — лучшая и самая удобная возможность подготовиться к сдаче экзамена, если вы не собираетесь готовиться самостоятельно.
🟠Это отличная возможность перенять опыт преподавателя и посмотреть на процесс обучения изнутри.
Оплата курса возможна любым удобным для вас способом.
➡️ Для участия в вебинаре зарегистрируйтесь: https://otus.pw/cvl4/ Нативная интеграция. Информация о продукте www.otus.ru
Java 9.0 to 17.0 Cookbook: A Roadmap with Instructions for the Effective Implementation of Features, Codes, and Programs
Автор: Tejaswini Jog (2022)
Эта книга разработана с целью донести различные возможности Java всех версий от Java 9.0 до 17.0 при разработке конечных Java-приложений. Эта книга поможет любому пользователю Java, заинтересованному в изучении того, как использовать каждую значительную возможность, доступную в различных версиях Java.
В книге содержится информация, полезная для экспертов по Java. Она включает множество рецептов и функций, которые вы можете реализовать, в том числе ссылки на типы, синтаксис локальных переменных и программы с однофайловым исходным кодом. Каждый рецепт в книге укрепляет техническое понимание и знакомит читателя с некоторыми из самых последних возможностей, таких как совместное использование данных класса приложения, выражения-переключатели, скрытые классы и многие другие.
Скачать
👉 @java_360
⚡️Скорость разработки ПО падает по мере роста размера проекта. Инструменты разработки не могут изменить тенденции, а лишь замедлить и отсрочить неизбежное. SOLID является одной из практик, которая гарантирует неизменность скорости разработки.
Узнайте больше про SOLID-принципы на бесплатном вебинаре онлайн-курса «Архитектура и шаблоны проектирования» в Отус — «SOLID как условие постоянной скорости разработки»: регистрация
На бесплатном занятии мы:
— разберем, почему SOLID принципы являются достаточным условием сохранения скорости разработки;
— рассмотрим простой и понятный механизм их применения для получения повторно используемого кода.
🔥Экспертизой поделится Евгений Тюменцев — опытный директор компании по разработке программного обеспечения.
— После вебинара оплатить курс по спеццене можно также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
🔥 Переходи на новый уровень в Java и разнообразь свою работу!
Пройди тест по Java и проверь как хорошо ты знаешь язык.
Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя
👉 ПРОЙТИ ТЕСТИРОВАНИЕ: https://otus.pw/VlGLx/
💪🏻Хочешь протестировать учебный процесс заранее? Регистрируйся на бесплатное демо-занятие:
📢📢 Регистрация на вебинар 01 Августа в 20:00 - «Реализация упрощенного http сервера на Java Core»Нативная интеграция. Информация о продукте www.otus.ru
Вопросы-ответы собеседования
Можно ли создать экземпляр абстрактного класса?
Что такое интерфейс?
Как вызвать нестатический метод в статическом?
Чем отличаются параметры от аргументов в методе?
Что такое конструктор? Как его создать и вызвать?
Что такое параметризованный конструктор?
Что такое конструктор по умолчанию?
Что такое приватный конструктор? Зачем он закрытый?
Что такое статическая переменная? Как работает static поле?
Что такое статический метод? Как вызвать static метод?
источник
👉@BookJava