Kotlin In-Depth: A Guide to a Multipurpose Programming Language for Server-Side, Front-End, Android, and Multiplatform Mobile (2022) PDF
The book ‘Kotlin In-Depth, Second Edition’ updates all the essential parts of Kotlin and incorporates modern principles, methodologies, and approaches for achieving efficient solutions. The book will guide you to successfully utilize Kotlin in developing JVM apps for desktop, mobile, web platforms and transferring existing Java codebases to Kotlin.
The book begins with an introduction to the language and its environment, which will help you to grasp the fundamental concepts underlying Kotlin's design. The readers will learn the Kotlin tooling and the language's core syntax and structures. The book teaches Kotlin's multi-paradigm nature, which enables the creation of powerful abstractions by mixing parts of functional and object-oriented programming.
☘️Осваивай Spring и переходи на новый уровень в Java-разработке!
🚀В OTUS стартовал 18-й набор на онлайн-курс «Разработчик на Spring Framework». Это уникальная авторская программа, которой уже более 5 лет. Преподаватели курса — ведущие программисты крупных международных и российских IT-компаний. Среди них: DXC Technology, Deutsche Telecom IT Solutions, Quick Resto и другие.
🗣На живых вебинарах с экспертами вы освоите:
- Создание сложных web-приложения на микросервисной архитектуре
- Современные возможности Spring
- Быстрое прохождение пути от идеи до production-grade
- Технологии вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5)
Во время обучения вы выполните выпускной проект по Spring Framework, который усилит ваше портфолио.
📌Пройди тест и займи место в группе по спец.цене:https://otus.pw/3DlQ/
Как написать immutable класс?
Чтоб написать immutable неизменяемый класс, нужно следовать простым пунктам:
⁃ сделать класс финальным.
⁃ сделать все поля приватными и создать только геттеры к ним. Сеттеры, разумеется, не нужно.
⁃ сделать все mutable поля final, чтобы установить значение можно было только один раз.
⁃ инициализировать все поля через конструктор, выполняя глубокое копирование (то есть, копируя и сам объект, и его переменные, и переменные переменных, и так далее).
⁃ клонировать объекты mutable переменных в геттерах, чтобы возвращать только копии значений, а не ссылки на актуальные объекты.
Герберт Шилдт - Java. Полное руководство, 10 издание (2018) pdf
В этом десятом издании справочного пособия, полностью обновленном с учетом последней версии Java SE 9, поясняется, как разрабатывать, компилировать, отлаживать и выполнять программы на языке программирования Java. Это пособие составлено Гербертом Шилдтом, автором популярных во всем мире книг по языкам программирования, таким образом, чтобы охватить все языковые средства Java, включая синтаксис, ключевые слова, основные принципы объектно-ориентированного программирования, значительную часть прикладного интерфейса Java API, библиотеки классов, аплеты и сервлеты, компоненты JavaBeans, библиотеки AWT и Swing, а также продемонстрировать их применение на простых и наглядных примерах. Не обойдены вниманием и новые средства, появившиеся в версии Java SE 9, в том числе модули и утилита JShell.
Реализация культовой игры "Golden Axe" на Java
Культовая игра "Golden Axe" - реализована на Java 17+ с использованием только стандартных библиотек (java 2D, AWT, Swing & Java Sound API).
Перейти
Бэкенд-разработчик - одна из самых востребованных вакансий. На одном только hh_ru более 47 000 предложений и они могут висеть месяцами.
Сейчас наблюдается критический дефицит программистов разного уровня.
Бэкэнд-разработчик отвечает за все внутренние процессы приложений и сайтов. Это самые настоящие бойцы невидимого фронта. Им подвластны сервера, базы данных, основная логика программных приложений. Ты можешь им стать уже сейчас.
Обучение на бэкенд-разработчика проходит в несколько этапов - от введения в Java до получения практических навыков и освоения полноценной профессии.
25 июля стартует бесплатный курс «Введение в Java» от IT-Академии «Точка Входа», на котором ты можешь оценить свои способности и понять насколько ты готов пополнить ряды бэкендеров.
Регистрируйся на сайте: https://bit.ly/3v1kRbv
Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово transient, таким образом исключив поля из общего процесса сериализации.
Java EE to Jakarta EE 10 Recipes: A Problem-Solution Approach for Enterprise Java, 3rd Edition (2022) PDF
Take a problem-solution approach for programming enterprise Java or Java EE applications and microservices for cloud-based solutions, enterprise database applications, and even small business web applications. Java EE to Jakarta EE 10 Recipes provides effective, practical, and proven code snippets that you can immediately use to accomplish just about any task that you may encounter. You can feel confident using the reliable solutions that are demonstrated in this book in your personal or corporate environment. Java EE was made open source under the Eclipse Foundation, and Jakarta EE is the new name for what used to be termed the Java Platform, Enterprise Edition. This book helps you rejuvenate your Java expertise and put the platform’s latest capabilities to use for quickly developing robust applications.
Если вы кодите на Java и хотите проверить свои знания, то с 5 по 20 августа вы можете поучаствовать в онлайн-чемпионате по Java-разработке. Чемпионат организован совместно Сколково и IT_ONE, призовой фонд составляет 740 000 рублей.
Регистрируйтесь до 10 августа: https://vk.cc/cfb6vN
Денежные призы получат первые пять мест, топ-20 участникам подарим мерч, а самых талантливых ребят пригласим на работу в компанию IT_ONE.
Опишите процесс сериализации/десериализации с использованием Serializable.
При использовании Serializable применяется алгоритм сериализации, который с помощью рефлексии (Reflection API) выполняет:
• запись в поток метаданных о классе, ассоциированном с объектом (имя класса, идентификатор SerialVersionUID, идентификаторы полей класса);
• рекурсивную запись в поток описания суперклассов до класса java.lang.Object (не включительно);
• запись примитивных значений полей сериализуемого экземпляра, начиная с полей самого верхнего суперкласса;
• рекурсивную запись объектов, которые являются полями сериализуемого объекта.
При этом ранее сериализованные объекты повторно не сериализуются, что позволяет алгоритму корректно работать с циклическими ссылками.
Для выполнения десериализации под объект выделяется память, после чего его поля заполняются значениями из потока. Конструктор объекта при этом не вызывается. Однако при десериализации будет вызван конструктор без параметров родительского несериализуемого класса, а его отсутствие повлечёт ошибку десериализации.
Head First Git (2022) True PDF
Many people who use Git rely on "recipes"--copying and pasting commands they find on the internet without really understanding how Git actually works. But what do you do if you find yourself in a tight spot? You can't simply wing it. With this unique hands-on guide, you'll learn the ways of Git and have fun while doing it. Raju Gandhi peels back the layers to reveal the simple yet powerful engine that powers Git, so you'll understand not just the how but the why. You'll master branches, merges, commit messages, search, utilities, and more; learn best practices for collaborative work; and unlock the full potential of Git.
🥷Стань полноценным Java-бойцом c нуля за 3 месяца!
OTUSзапускает буткемп «Java Developer»! В основе буткемпа — методика ускоренного обучения, построенная на ежедневных вебинарах с ведущими специалистами престижных IT-компаний. А еще много-много практики.
🎯Что вам даст буткемп?
- фундамент практических навыков для позиции Junior+;
- опыт решения реальных задачи и работы в команде;
- первый проектный опыт;
- шанс пройти оплачиваемую стажировку в IT-компании;
- практику прохождения собеседований и помощь с трудоустройством.
💰После обучения у вас будет достаточно навыков, чтобы претендовать на среднюю по рынку зарплату в 105 тысяч рублей.
Что нужно, чтобы участвовать?
- 8 часов, четыре дня в неделю
- три свободных месяца, начиная с 30 августа
- современный ПК с выходом в интернет, камера и Zoom
📌Заявка на участие по специальной цене:https://otus.pw/QTmG/
Что такое «сериализация»?
Сериализация (Serialization) - процесс преобразования структуры данных в линейную последовательность байтов для дальнейшей передачи или сохранения. Сериализованные объекты можно затем восстановить (десериализовать).
В Java, согласно спецификации Java Object Serialization существует два стандартных способа сериализации: стандартная сериализация, через использование интерфейса java.io.Serializable и «расширенная» сериализация - java.io.Externalizable.
Сериализация позволяет в определенных пределах изменять класс. Вот наиболее важные изменения, с которыми спецификация Java Object Serialization может справляться автоматически:
• добавление в класс новых полей;
• изменение полей из статических в нестатические;
• изменение полей из транзитных в нетранзитные.
Обратные изменения (из нестатических полей в статические и из нетранзитных в транзитные) или удаление полей требуют определенной дополнительной обработки в зависимости от того, какая степень обратной совместимости необходима.
Раджпут Динеш | Spring. Все паттерны проектирования (2019) PDF
В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring.
Как отлаживать Java Collections Framework в продакшене
Когда мы отлаживаем обычный класс, то можем проверять переменные или реализацию. В случае с коллекциями, набор объектов часто скрыт за абстракцией, которая маскирует сложную внутреннюю структуру, например, красное черное дерево и т. д. Из статьи вы узнаете, как упростить отладку коллекций, сделав этот процесс более эффективным.
Читать статью