Какие существуют уровни изолированности транзакций?
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
•
•
•
•
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
•
Чтение неподтверждённых данных (грязное чтение) (read uncommitted, dirty read) — чтение незафиксированных изменений как своей транзакции, так и параллельных транзакций. Нет гарантии, что данные, изменённые другими транзакциями, не будут в любой момент изменены в результате их отката, поэтому такое чтение является потенциальным источником ошибок. Невозможны потерянные изменения, возможны неповторяемое чтение и фантомы.•
Чтение подтверждённых данных (read committed) — чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций. Потерянные изменения и грязное чтение не допускается, возможны неповторяемое чтение и фантомы.•
Повторяемость чтения (repeatable read, snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны. Потерянные изменения, грязное и неповторяемое чтение невозможны, возможны фантомы.•
Упорядочиваемость (serializable) — результат параллельного выполнения сериализуемой транзакции с другими транзакциями должен быть логически эквивалентен результату их какого-либо последовательного выполнения. Проблемы синхронизации не возникают.👍26❤🔥4❤1
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
YouTube
Проблема квадрата/прямоугольника, объяснение и решение
В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
Паблик в VK: https:…
Паблик в VK: https:…
👍10
Философия Java (2015) PDF
Впервые читатель может познакомиться с полной версией этого классического труда, который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его "философию", подход к решению задач, в сравнении с таковыми в других языках программирования. На этих страницах автор рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
Впервые читатель может познакомиться с полной версией этого классического труда, который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его "философию", подход к решению задач, в сравнении с таковыми в других языках программирования. На этих страницах автор рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
👍19❤4🔥2
Что такое «SQL»?
SQL, Structured query language («язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).👍25
Что такое «модульное тестирование»?
Модульное/компонентное тестирование (
Модульные тесты можно условно поделить на две группы:
• тесты состояния (
• тесты взаимодействия (
Модульное/компонентное тестирование (
unit testing) - процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок.Модульные тесты можно условно поделить на две группы:
• тесты состояния (
state based), проверяющие что вызываемый метод объекта отработал корректно, проверяя состояние тестируемого объекта после вызова метода.• тесты взаимодействия (
interaction tests), в которых тестируемый объект производит манипуляции с другими объектами. Применяются, когда требуется удостовериться, что тестируемый объект корректно взаимодействует с другими объектами.👍21
Какие существуют виды тестовых объектов?
пустышка (dummy) - объект, который обычно передается в тестируемый класс в качестве параметра, но не имеет поведения: с ним ничего не происходит и никакие его методы не вызываются.dummy-объектов являются new object(), null, «Ignored String» и т.д.
фальшивка (fake object) применяется в основном для ускорения запуска ресурсоёмких тестов и является заменой тяжеловесного внешнего зависимого объекта его легковесной реализацией.примеры — эмулятор базы данных (fake database) или фальшивый web-сервис.
заглушка (test stub) используется для получения данных из внешней зависимости, подменяя её. При этом заглушка игнорирует все данные, поступающие из тестируемого объекта, возвращая заранее определённый результат.объект использует чтение из конфигурационного файла? Тогда передаем ему заглушку ConfigFileStub возвращающую тестовые строки конфигурации без обращения к файловой системе.
шпион (test spy) - разновидность заглушки, которая умеет протоколировать сделанные к ней обращения из тестируемой системы, чтобы проверить их правильность в конце теста. При этом фиксируется количество, состав и содержание параметров вызовов.существует необходимость проверки, что определённый метод тестируемого класса вызывался ровно 1 раз, то шпион - именно то, что нам нужно.
фикция (mock object) похож на шпиона, но обладает расширенной функциональностью, заранее заданными поведением и реакцией на вызовы.👍30🔥5❤4
Принцип разделения интерфейса - SOLID в деталях
Принцип разделения интерфейса гласит: "Клиент не должен зависеть от интерфейсов, которые он не использует"
В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
Принцип разделения интерфейса гласит: "Клиент не должен зависеть от интерфейсов, которые он не использует"
В серии роликов «SOLID в деталях» автор постарается подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
YouTube
Принцип разделения интерфейса - SOLID в деталях
Принцип разделения интерфейса гласит: "Клиент не должен зависеть от интерфейсов, которые он не использует"
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
Паблик…
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
Паблик…
👍17❤2🔥1
Стало скучно, не с кем поговорить? Залетай в наш чатик и будь няшкой 😉 https://news.1rj.ru/str/java_underground
Telegram
Java Underground
Библиотека по Java https://news.1rj.ru/str/javalib
✅ Наше сообщество ВК: https://vk.com/javatutorial
✅ Вакансии и резюме свои строго в этот канал: https://news.1rj.ru/str/job_java
✅ Наше сообщество ВК: https://vk.com/javatutorial
✅ Вакансии и резюме свои строго в этот канал: https://news.1rj.ru/str/job_java
👍7
Forwarded from Java Guru 🤓
Что выведет код?
Anonymous Quiz
28%
byte...
17%
long, long
33%
Byte, Byte
22%
ничего, код не скомпилируется
👍16❤3
В серии коротких роликов "Spring по верхам" автор вкратце рассказывает о применении экосистемы Spring при разработке приложений на платформе Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Spring по верхам: Разработка REST-сервиса
В серии коротких роликов "Spring по верхам" я вкратце рассказываю о применении экосистемы Spring при разработке приложений на платформе Java.
Репозиторий проекта: https://github.com/alex-kosarev/showcase-spring-boot-3
Текстовая версия: https://alexkosa…
Репозиторий проекта: https://github.com/alex-kosarev/showcase-spring-boot-3
Текстовая версия: https://alexkosa…
👍17🔥3
Структуры данных и алгоритмы в Java (2013) PDF
Второе издание одной из самых авторитетных книг по программированию посвящено использованию структур данных и алгоритмов. Алгоритмы - это основа программирования, определяющая, каким образом разрабатываемое программное обеспечение будет использовать структуры данных. На четких и простых программных примерах автор объясняет эту сложную тему, предлагая читателям написать собственные программы и на практике усвоить полученные знания.
Второе издание одной из самых авторитетных книг по программированию посвящено использованию структур данных и алгоритмов. Алгоритмы - это основа программирования, определяющая, каким образом разрабатываемое программное обеспечение будет использовать структуры данных. На четких и простых программных примерах автор объясняет эту сложную тему, предлагая читателям написать собственные программы и на практике усвоить полученные знания.
👍25🔥3
Чем stub отличается от mock?
stub используется как заглушка сервисов, методов, классов и т.д. с заранее запрограммированным ответом на вызовы.mock использует подмену результатов вызова, проверяет сам факт взаимодействия, протоколирует и контролирует его.👍27❤1
В этом видео автор рассказывает о представлении в отрицательных чисел в компьютере на примере типа byte. Показывает, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишет алгоритм для преобразования цветной фотографии в черно-белую.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.
В этом видео я рассказываю о представлении в отрицательных чисел в компьютере на примере типа byte. Показываю, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишем алгоритм…
👍13❤1🔥1
Java. Полное руководство, 12-е издание (2022) PDF, DJVU
В полностью обновленном с учетом версии Java SE 17 издании объясняется, как разрабатывать, компилировать, отлаживать и запускать программы на Java. Автор многочисленных бестселлеров по программированию Герберт Шилдт охватывает весь язык Java, включая его синтаксис, ключевые слова и фундаментальные принципы программирования. Вы также найдете здесь информацию об основных частях библиотеки Java API, таких как ввод-вывод, Collections Framework, библиотека потоков и утилиты параллелизма. Исследуются темы Swing, JavaBeans и сервлеты, а многочисленные примеры демонстрируют язык Java в действии. Конечно же, подробно обсуждаются недавние дополнения к языку Java, в том числе записи, запечатанные классы и выражения switch. Книга написана в ясном и четком стиле, который делает книги Шилдта выбором миллионов людей во всем мире.
В полностью обновленном с учетом версии Java SE 17 издании объясняется, как разрабатывать, компилировать, отлаживать и запускать программы на Java. Автор многочисленных бестселлеров по программированию Герберт Шилдт охватывает весь язык Java, включая его синтаксис, ключевые слова и фундаментальные принципы программирования. Вы также найдете здесь информацию об основных частях библиотеки Java API, таких как ввод-вывод, Collections Framework, библиотека потоков и утилиты параллелизма. Исследуются темы Swing, JavaBeans и сервлеты, а многочисленные примеры демонстрируют язык Java в действии. Конечно же, подробно обсуждаются недавние дополнения к языку Java, в том числе записи, запечатанные классы и выражения switch. Книга написана в ясном и четком стиле, который делает книги Шилдта выбором миллионов людей во всем мире.
👍30❤3🔥3🍾3
Привет! Это хостинг SpaceWeb 👋
Здесь мы собрали 490+ постов на тему IT-технологий, веб-разработки, DevOps, маркетинга и бизнеса в сети.
💡 Подпишитесь на SpaceWeb
И следите за тем, как мы развиваем облачные сервисы!
Реклама: sweb.ru erid: 2VtzquZu89V
Здесь мы собрали 490+ постов на тему IT-технологий, веб-разработки, DevOps, маркетинга и бизнеса в сети.
💡 Подпишитесь на SpaceWeb
И следите за тем, как мы развиваем облачные сервисы!
Реклама: sweb.ru erid: 2VtzquZu89V
👍12🔥2☃1🤩1
Forwarded from Java Guru 🤓
Каким будет результат компиляции и выполнения следующего кода?
Anonymous Quiz
42%
Вывод в консоль - 1
5%
Вывод в консоль - 2
43%
Ошибка во время компиляции
10%
Ошибка во время исполнения
👍16
Микросервисы Spring в действии (2022) True PDF
Spring существенно упрощает создание и развертывание микросервисов! Такие библиотеки, как Spring Boot, Spring Cloud и Spring Cloud Gateway, помогают уменьшить объем типового кода в службах REST. Они предоставляют эффективный набор инструментов для запуска микросервисов как в общедоступных, так и в частных облаках.
Книга учит создавать приложения на основе микросервисов с использованием Java и Spring. Начав с создания простых служб, вы постепенно перейдете к знакомству с приемами эффективного журналирования и мониторинга. Научитесь реструктурировать приложения на Java с помощью интуитивно понятных инструментов Spring и освоите управление API с помощью Spring Cloud Gateway. Также вы будете учиться развертывать приложения Spring Cloud в AWS и Kubernetes.
Издание предназначено для опытных разработчиков на Java и Spring.
Spring существенно упрощает создание и развертывание микросервисов! Такие библиотеки, как Spring Boot, Spring Cloud и Spring Cloud Gateway, помогают уменьшить объем типового кода в службах REST. Они предоставляют эффективный набор инструментов для запуска микросервисов как в общедоступных, так и в частных облаках.
Книга учит создавать приложения на основе микросервисов с использованием Java и Spring. Начав с создания простых служб, вы постепенно перейдете к знакомству с приемами эффективного журналирования и мониторинга. Научитесь реструктурировать приложения на Java с помощью интуитивно понятных инструментов Spring и освоите управление API с помощью Spring Cloud Gateway. Также вы будете учиться развертывать приложения Spring Cloud в AWS и Kubernetes.
Издание предназначено для опытных разработчиков на Java и Spring.
👍26🔥4🤩3