В какой стране вы сейчас находитесь?
Anonymous Poll
50%
Россия
15%
Украина
10%
Беларусь
6%
Казахстан
4%
Узбекистан
1%
Киргизия
1%
Армения
1%
Грузия
2%
Турция
10%
Свой вариант в комментариях
❓ Зачем разработчику знать алгоритмы и структуры данных?
Рассказываем о преимуществах, которые дает хорошее знание алгоритмов, о том, что именно нужно изучить в первую очередь, и как проходит алгоритмическая секция в техническом собеседовании.
🔗 Основной сайт
🔗 Зеркало
Рассказываем о преимуществах, которые дает хорошее знание алгоритмов, о том, что именно нужно изучить в первую очередь, и как проходит алгоритмическая секция в техническом собеседовании.
🔗 Основной сайт
🔗 Зеркало
Какие существуют уровни изолированности транзакций?
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
• Чтение неподтверждённых данных (грязное чтение) (read uncommitted, dirty read) — чтение незафиксированных изменений как своей транзакции, так и параллельных транзакций. Нет гарантии, что данные, изменённые другими транзакциями, не будут в любой момент изменены в результате их отката, поэтому такое чтение является потенциальным источником ошибок. Невозможны потерянные изменения, возможны неповторяемое чтение и фантомы.
• Чтение подтверждённых данных (read committed) — чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций. Потерянные изменения и грязное чтение не допускается, возможны неповторяемое чтение и фантомы.
• Повторяемость чтения (repeatable read, snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны. Потерянные изменения, грязное и неповторяемое чтение невозможны, возможны фантомы.
• Упорядочиваемость (serializable) — результат параллельного выполнения сериализуемой транзакции с другими транзакциями должен быть логически эквивалентен результату их какого-либо последовательного выполнения. Проблемы синхронизации не возникают.
В порядке увеличения изолированности транзакций и, соответственно, надёжности работы с данными:
• Чтение неподтверждённых данных (грязное чтение) (read uncommitted, dirty read) — чтение незафиксированных изменений как своей транзакции, так и параллельных транзакций. Нет гарантии, что данные, изменённые другими транзакциями, не будут в любой момент изменены в результате их отката, поэтому такое чтение является потенциальным источником ошибок. Невозможны потерянные изменения, возможны неповторяемое чтение и фантомы.
• Чтение подтверждённых данных (read committed) — чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций. Потерянные изменения и грязное чтение не допускается, возможны неповторяемое чтение и фантомы.
• Повторяемость чтения (repeatable read, snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны. Потерянные изменения, грязное и неповторяемое чтение невозможны, возможны фантомы.
• Упорядочиваемость (serializable) — результат параллельного выполнения сериализуемой транзакции с другими транзакциями должен быть логически эквивалентен результату их какого-либо последовательного выполнения. Проблемы синхронизации не возникают.
Что будет завтра — сложно сказать, поэтому мы решили сфокусироваться на сегодняшнем дне и провести короткий опрос «С какими трудностями вы столкнулись в последнее время?», чтобы понять, что сейчас вообще происходит в IT-индустрии.
Статью с результатами опроса опубликуем через неделю.
➡️ Пройти опрос (можно анонимно)
Статью с результатами опроса опубликуем через неделю.
➡️ Пройти опрос (можно анонимно)
Что такое «SQL»?
SQL
, Structured query language
(«язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).В ожидании JDK 20
Java 19 появилась совсем недавно, но уже сейчас можно начинать привыкать к Java 20, которая появится в марте 2023.
Что же будет в новой версии? А вот что:
✔️Паттерны для записей
✔️Шаблоны строк
✔️Примитивные классы
✔️Последовательные коллекции
и др.
Кратко и по делу о будущей версии в предложенной статье.
Будущее уже рядом! 😳
Читать статью
Java 19 появилась совсем недавно, но уже сейчас можно начинать привыкать к Java 20, которая появится в марте 2023.
Что же будет в новой версии? А вот что:
✔️Паттерны для записей
✔️Шаблоны строк
✔️Примитивные классы
✔️Последовательные коллекции
и др.
Кратко и по делу о будущей версии в предложенной статье.
Будущее уже рядом! 😳
Читать статью
Шпаргалка по основам Java с примерами кода.
В ней есть всё, что может пригодиться начинающему разработчику.
Оригинал в хорошем качестве можно взять тут
В ней есть всё, что может пригодиться начинающему разработчику.
Оригинал в хорошем качестве можно взять тут
Что такое «модульное тестирование»?
Модульное/компонентное тестирование (
Модульные тесты можно условно поделить на две группы:
• тесты состояния (
• тесты взаимодействия (
Модульное/компонентное тестирование (
unit testing
) - процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок.Модульные тесты можно условно поделить на две группы:
• тесты состояния (
state based
), проверяющие что вызываемый метод объекта отработал корректно, проверяя состояние тестируемого объекта после вызова метода.• тесты взаимодействия (
interaction tests
), в которых тестируемый объект производит манипуляции с другими объектами. Применяются, когда требуется удостовериться, что тестируемый объект корректно взаимодействует с другими объектами.🐘 Функции и хранимые процедуры в SQL: зачем нужны и как применять в реальных примерах
Как устроены функции и хранимые процедуры и как их применять для повторного использования запросов.
https://proglib.io/sh/75V2k9DtIY
Как устроены функции и хранимые процедуры и как их применять для повторного использования запросов.
https://proglib.io/sh/75V2k9DtIY
❓ Пройди тест на знание алгоритмов и структур данных
Давай проверим, насколько хорошо ты разбираешься в алгоритмах, и не пора ли подтянуть знания. Всего 10 несложных вопросов 😉
🔗 Основной сайт
🔗 Зеркало
Давай проверим, насколько хорошо ты разбираешься в алгоритмах, и не пора ли подтянуть знания. Всего 10 несложных вопросов 😉
🔗 Основной сайт
🔗 Зеркало
#вопросы_с_собеседований
Какие существуют виды тестовых объектов?
Какие существуют виды тестовых объектов?
пустышка
(dummy
) - объект, который обычно передается в тестируемый класс в качестве параметра, но не имеет поведения: с ним ничего не происходит и никакие его методы не вызываются.dummy-объектов являются new object(), null, «Ignored String» и т.д.
фальшивка
(fake object
) применяется в основном для ускорения запуска ресурсоёмких тестов и является заменой тяжеловесного внешнего зависимого объекта его легковесной реализацией.примеры — эмулятор базы данных (fake database) или фальшивый web-сервис.
заглушка
(test stub
) используется для получения данных из внешней зависимости, подменяя её. При этом заглушка игнорирует все данные, поступающие из тестируемого объекта, возвращая заранее определённый результат.объект использует чтение из конфигурационного файла? Тогда передаем ему заглушку ConfigFileStub возвращающую тестовые строки конфигурации без обращения к файловой системе.
шпион
(test spy
) - разновидность заглушки, которая умеет протоколировать сделанные к ней обращения из тестируемой системы, чтобы проверить их правильность в конце теста. При этом фиксируется количество, состав и содержание параметров вызовов.существует необходимость проверки, что определённый метод тестируемого класса вызывался ровно 1 раз, то шпион - именно то, что нам нужно.
фикция
(mock object
) похож на шпиона, но обладает расширенной функциональностью, заранее заданными поведением и реакцией на вызовы.Принципы SOLID на примерах
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
https://habr.com/ru/post/688530/
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
https://habr.com/ru/post/688530/