🔥 Бесплатная Live coding сессия, где будем разрабатывать Spring Boot-приложение с применением API First
На Live сoding ты сможешь понаблюдать, как пишет код Senior-разработчик, прокомментировать процесс и разобраться в архитектуре API First. Ну и конечно, прокачаешь свои hard skills. Live сoding проходит в рамках открытого урока курса "Middle Java Developer".
Ведущий:
Роберт Мазитов - Senior Software Engineer, технический директор в Цифровых привычках.
🚀 Стартуем 11 октября в 19:00 по МСК
Регистрируйся бесплатно: https://cutt.ly/gBtDYCk
Какие существуют уровни изолированности транзакций?
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
• Чтение неподтверждённых данных (грязное чтение) (read uncommitted, dirty read) — чтение незафиксированных изменений как своей транзакции, так и параллельных транзакций. Нет гарантии, что данные, изменённые другими транзакциями, не будут в любой момент изменены в результате их отката, поэтому такое чтение является потенциальным источником ошибок. Невозможны потерянные изменения, возможны неповторяемое чтение и фантомы.
• Чтение подтверждённых данных (read committed) — чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций. Потерянные изменения и грязное чтение не допускается, возможны неповторяемое чтение и фантомы.
• Повторяемость чтения (repeatable read, snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны. Потерянные изменения, грязное и неповторяемое чтение невозможны, возможны фантомы.
• Упорядочиваемость (serializable) — результат параллельного выполнения сериализуемой транзакции с другими транзакциями должен быть логически эквивалентен результату их какого-либо последовательного выполнения. Проблемы синхронизации не возникают.
Java. Полное руководство, 10 издание (2018) pdf
В этом десятом издании справочного пособия, полностью обновленном с учетом последней версии Java SE 9, поясняется, как разрабатывать, компилировать, отлаживать и выполнять программы на языке программирования Java. Это пособие составлено Гербертом Шилдтом, автором популярных во всем мире книг по языкам программирования, таким образом, чтобы охватить все языковые средства Java, включая синтаксис, ключевые слова, основные принципы объектно-ориентированного программирования, значительную часть прикладного интерфейса Java API, библиотеки классов, аплеты и сервлеты, компоненты JavaBeans, библиотеки AWT и Swing, а также продемонстрировать их применение на простых и наглядных примерах. Не обойдены вниманием и новые средства, появившиеся в версии Java SE 9, в том числе модули и утилита JShell.
Назовите основные свойства транзакции.
Атомарность (atomicity) гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.
Согласованность (consistency). Транзакция, достигающая своего нормального завершения и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных.
Изолированность (isolation). Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат.
Долговечность (durability). Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу.
Создание PDF-документа на Java и Spring
Друзья, пришло время практики!
Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.
Хорошей практики! 😃
Читать статью
Что такое «транзакция»?
Транзакция - это воздействие на базу данных, переводящее её из одного целостного состояния в другое и выражаемое в изменении данных, хранящихся в базе данных.
Java Challenges: 100+ Proven Tasks that Will Prepare You for Anything (2021) PDF, EPUB
Expand your knowledge of Java with this entertaining learning guide, which features 100+ exercises and programming challenges. Java Challenges will prepare you for your next exam or job interview, and covers many practical topics, such as strings, arrays, data structures, recursion, and date and time. The APIs and other material included in this book are Java 17 compatible.
Друзья, вашему вниманию предлагается подборка Java-новостей от InfoQ:
- релиз Amazon Corretto 19
- релиз LibericaJDK 19
- релиз Jakarta EE
- релиз Spring Boot 2.7.4 и 2.6.12
- релиз Quarkus, Payara, Micronaut
и д. р.
Приятного чтения!
Читать статью
В чем отличие между кластерными и некластерными индексами?
Некластерные индексы - данные физически расположены в произвольном порядке, но логически упорядочены согласно индексу. Такой тип индексов подходит для часто изменяемого набора данных.
При кластерном индексировании данные физически упорядочены, что серьезно повышает скорость выборок данных (но только в случае последовательного доступа к данным). Для одного набора данных может быть создан только один кластерный индекс.
Spring. Все паттерны проектирования (2019) PDF
В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring.
Пустая коллекция вместо Null
Если ваша программа может вернуть коллекцию, которая не содержит никаких значений, убедитесь, что возвращается пустая коллекция, а не Null. Это сэкономит вам время на различные проверки и избавит от многих ошибок.
Разработка обслуживаемых программ на языке Java (2017) PDF
Вы когда-нибудь ощущали разочарование, работая с чужим кодом? Сегодня трудности сопровождения исходного кода представляют важную проблему разработки программного обеспечения, приводящую к дорогостоящим срывам сроков и ошибкам. Подключайтесь к ее решению. Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
Написанная консультантами компании Software Improvement Group (SIG), книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке Java, но существует аналогичная книга с примерами на языке C#.
Разрешение конфликтов слияния Git в IntelliJ IDEA
В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.
Читать статью
Какие существуют типы связей в базе данных? Приведите примеры.
• Один к одному - любому значению атрибута А соответствует только одно значение атрибута В, и наоборот.
Каждый университет гарантированно имеет 1-го ректора: 1 университет → 1 ректор.
• Один ко многим - любому значению атрибута А соответствует 0, 1 или несколько значений атрибута В.
В каждом университете есть несколько факультетов: 1 университет → много факультетов.
• Многие ко многим - любому значению атрибута А соответствует 0, 1 или несколько значений атрибута В, и любому значению атрибута В соответствует 0, 1 или несколько значение атрибута А.
1 профессор может преподавать на нескольких факультетах, в то же время на 1-ом факультете может преподавать несколько профессоров: Несколько профессоров ↔️ Несколько факультетов.
Developing Graphics Frameworks With Java and Opengl (2022) True PDF
Developing Graphics Frameworks with Java and OpenGL shows you how to create software for rendering complete three-dimensional (3D) scenes. The book explains the foundational theoretical concepts as well as the practical programming techniques that will enable you to create your own animated and interactive computer-generated worlds.
You will learn how to combine the power of OpenGL, the most widely adopted cross-platform application programming interface (API) for graphics processing unit (GPU) programming, with the accessibility and versatility of the Java programming language.
Topics in this book include generating geometric shapes, transforming objects with matrices, applying image-based textures to surfaces, and lighting a scene. Advanced sections explain how to implement procedurally generated textures, postprocessing effects, and shadow mapping.
❓ Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Что такое «денормализация»? Для чего она применяется?
Денормализация базы данных — это процесс осознанного приведения базы данных к виду, в котором она не будет соответствовать правилам нормализации. Обычно это необходимо для повышения производительности и скорости извлечения данных, за счет увеличения избыточности данных.
Ум программиста. Как понять и осмыслить любой код (2022) PDF
Книга освещает практические основы когнитивистики для программистов. Основные темы: осмысление и развитие чужого и собственного кода, изучение новых языков программирования, мнемонические приемы для программистов, поддержка кода в читаемом состоянии. Объяснено, как снижать когнитивную нагрузку при работе программиста, как делать код логичным и понятным для себя и коллег. Рассмотрены приемы именования функций, классов и переменных, подходы к ведению репозиториев, совместной разработке и доработке кода. Для программистов и других IT-специалистов. Ваш мозг реагирует предсказуемым образом, когда сталкивается с новыми или сложными задачами. Эта уникальная книга научит вас конкретным методам, основанным на когнитивной науке, которые улучшат ваш способ изучения кода и его осмысления.