Какие существуют операторы SQL?
операторы определения данных (Data Definition Language, DDL):
•
•
•
операторы манипуляции данными (Data Manipulation Language, DML):
•
•
•
•
операторы определения доступа к данным (Data Control Language, DCL):
•
•
•
операторы управления транзакциями (Transaction Control Language, TCL):
•
•
•
операторы определения данных (Data Definition Language, DDL):
•
CREATE
создает объект БД (базу, таблицу, представление, пользователя и т. д.),•
ALTER
изменяет объект,•
DROP
удаляет объект;операторы манипуляции данными (Data Manipulation Language, DML):
•
SELECT
выбирает данные, удовлетворяющие заданным условиям,•
INSERT
добавляет новые данные,•
UPDATE
изменяет существующие данные,•
DELETE
удаляет данные;операторы определения доступа к данным (Data Control Language, DCL):
•
GRANT
предоставляет пользователю (группе) разрешения на определенные операции с объектом,•
REVOKE
отзывает ранее выданные разрешения,•
DENY
задает запрет, имеющий приоритет над разрешением;операторы управления транзакциями (Transaction Control Language, TCL):
•
COMMIT
применяет транзакцию,•
ROLLBACK
откатывает все изменения, сделанные в контексте текущей транзакции,•
SAVEPOINT
разбивает транзакцию на более мелкие.Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования.
https://habr.com/ru/company/rtlabs/blog/708052/
https://habr.com/ru/company/rtlabs/blog/708052/
Хабр
Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования. Часть 1
Однажды у нас появилась идея отправлять отчёты о выполнении автотестов в мессенджер Telegram. Постепенно эта идея переросла в сервис, который позволяет запускать тесты, оповещать об ошибках и получать...
🕓 Сколько часов в день может работать программист — [4:03]
Разные программисты из Яндекса с разным стажем работы рассказывают, сколько часов в день, по их мнению, может работать программист.
Примечательно, что более молодые и менее опытные сотрудники отмечают, что готовы работать чуть ли не 24/7, в то время как бывалые разработчики гораздо более адекватно оценивают свои силы.
Перейти к просмотру
Разные программисты из Яндекса с разным стажем работы рассказывают, сколько часов в день, по их мнению, может работать программист.
Примечательно, что более молодые и менее опытные сотрудники отмечают, что готовы работать чуть ли не 24/7, в то время как бывалые разработчики гораздо более адекватно оценивают свои силы.
Перейти к просмотру
YouTube
Сколько часов в день может работать программист?
Хотя программистов и называют технарями, а не гуманитариями, их работа —очень творческая. Сколько времени в день можно писать код? Сколько времени нужно, чтобы о нем подумать? Применим ли к программистам восьмичасовой рабочий день? На этот вопрос отвечают…
#вопросы_с_собеседований
Сравните Iterator и ListIterator.
☕️ ListIterator расширяет интерфейс Iterator;
☕️ ListIterator может быть использован только для перебора элементов коллекции List;
☕️ Iterator позволяет перебирать элементы только в одном направлении при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
☕️ ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
☕️ При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
Сравните Iterator и ListIterator.
☕️ ListIterator расширяет интерфейс Iterator;
☕️ ListIterator может быть использован только для перебора элементов коллекции List;
☕️ Iterator позволяет перебирать элементы только в одном направлении при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
☕️ ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
☕️ При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
#вопросы_с_собеседований
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
public static void main(String[] args) {
List<Integer> list = Collections.emptyList();
list.add(0);
}
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
List<Integer> list = Collections.emptyList();
list.add(0);
}
#вопросы_с_собеседований
Чем различаются Enumeration и Iterator?
Хотя оба интерфейса и предназначены для обхода коллекций, между ними имеются существенные различия:
☕️ с помощью Enumeration нельзя добавлять/удалять элементы;
☕️ в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNext(), Enumeration.nextElement() соответствует Iterator. next() и т.д);
☕️ Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.
Чем различаются Enumeration и Iterator?
Хотя оба интерфейса и предназначены для обхода коллекций, между ними имеются существенные различия:
☕️ с помощью Enumeration нельзя добавлять/удалять элементы;
☕️ в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNext(), Enumeration.nextElement() соответствует Iterator. next() и т.д);
☕️ Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.
Что выведет программа?
Anonymous Quiz
15%
%X%x%x%x%x%x%x10101010101010
36%
Aaaaaaa
13%
%X%x%x%x%x%x%x10101010101010
9%
%X%x%x%x%x%x%x
1%
%X%X%X%X%X%X%X
26%
Ничего
#вопросы_с_собеседований
Назовите основные свойства транзакции.
Атомарность (atomicity) гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.
Согласованность (consistency). Транзакция, достигающая своего нормального завершения и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных.
Изолированность (isolation). Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат.
Долговечность (durability). Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу.
Назовите основные свойства транзакции.
Атомарность (atomicity) гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной.
Согласованность (consistency). Транзакция, достигающая своего нормального завершения и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных.
Изолированность (isolation). Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат.
Долговечность (durability). Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу.
dbeaver — бесплатный универсальный инструмент для работы с базами данных и SQL-клиент.
https://github.com/dbeaver/dbeaver
https://github.com/dbeaver/dbeaver
GitHub
GitHub - dbeaver/dbeaver: Free universal database tool and SQL client
Free universal database tool and SQL client. Contribute to dbeaver/dbeaver development by creating an account on GitHub.
#вопросы_с_собеседований
В чем заключается особенность работы метода clone () с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
В чем заключается особенность работы метода clone () с полями объекта типа ссылки?
При клонировании объектов копируются только примитивные значения и значение ссылок на объекты. Это значит, что если объект имеет во внутреннем поле ссылку на другой объект, то будет клонирована только эта ссылка, сам же этот другой объект клонирован не будет. Собственно, это и называют — поверхностным клонированием.
Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?
На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
#вопросы_с_собеседований
Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
При следующем вызове методов итератора будет выброшено
Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
При следующем вызове методов итератора будет выброшено
ConcurrentModificationException
.Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики)
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Телеграм бот-игра на JAVA в 100 строк
Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться…
⚖️ Работа или жизнь: принципы Work-life balance
Если ты работаешь 25/8, а переработка для тебя стала обыденностью – эта статья для тебя. Рассказываем об угрозах трудоголизма и как найти тот самый баланс.
🔗 Основной сайт
🔗 Зеркало
Если ты работаешь 25/8, а переработка для тебя стала обыденностью – эта статья для тебя. Рассказываем об угрозах трудоголизма и как найти тот самый баланс.
🔗 Основной сайт
🔗 Зеркало
🔎 10 причин, почему тебя не берут на работу в ИT
«Библиотека программиста» выделила 10 наиболее распространенных ошибок начинающих специалистов при попытке устроится на работу.
🔗 Основной сайт
🔗 Зеркало
«Библиотека программиста» выделила 10 наиболее распространенных ошибок начинающих специалистов при попытке устроится на работу.
🔗 Основной сайт
🔗 Зеркало
Использование паттернов Event Sourcing и CQRS для разработки приложения на Spring Boot и Axon Framework
Axon — это один из немногих фреймворков, который позволяет создавать гибкие микросервисные решения, используя архитектурные паттерны Event Sourcing и CQRS.
Подход Event Sourcing сильно отличается от обычного метода создания приложений, когда для сохранения, изменения и выборки состояния объектов используется одно и тоже хранилище в базе данных.
В этой статье мы создадим простое приложение на примере библиотеки книг с использованием Spring Boot и Axon Framework.
https://telegra.ph/Ispolzovanie-patternov-Event-Sourcing-i-CQRS-dlya-razrabotki-prilozheniya-na-Spring-Boot-i-Axon-Framework-05-10
Axon — это один из немногих фреймворков, который позволяет создавать гибкие микросервисные решения, используя архитектурные паттерны Event Sourcing и CQRS.
Подход Event Sourcing сильно отличается от обычного метода создания приложений, когда для сохранения, изменения и выборки состояния объектов используется одно и тоже хранилище в базе данных.
В этой статье мы создадим простое приложение на примере библиотеки книг с использованием Spring Boot и Axon Framework.
https://telegra.ph/Ispolzovanie-patternov-Event-Sourcing-i-CQRS-dlya-razrabotki-prilozheniya-na-Spring-Boot-i-Axon-Framework-05-10
Telegraph
Использование паттернов Event Sourcing и CQRS для разработки приложения на Spring Boot и Axon Framework
Axon — это один из немногих фреймворков, который позволяет создавать гибкие микросервисные решения, используя архитектурные паттерны Event Sourcing и CQRS. Подход Event Sourcing сильно отличается от обычного метода создания приложений, когда для сохранения…
В этом видео автор рассказывает о том, что такое лямбда-выражения в языке программирования Java. На примерах показывает, для чего нужны лямбды, и какую роль они играют при написании кода в функциональном стиле.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Лямбда-выражения.
В этом видео я рассказываю о том, что такое лямбда-выражения в языке программирования Java. На примерах показываю, для чего нужны лябды, и какую роль они играют при написании кода в функциональном стиле.
Стать спонсором канала:
https://www.youtube.com/c…
Стать спонсором канала:
https://www.youtube.com/c…
☕ Пишем свой первый сервер на Java и Spring Boot
В этой статье мы поговорим о разработке и архитектуре современных web-приложений и разработаем серверную часть простого приложения, добавляющего пользователей и их посты. Приложение напишем на самом распространённом и востребованном Java-фреймворке – Spring Boot.
🔗 Основной сайт
🔗 Зеркало
В этой статье мы поговорим о разработке и архитектуре современных web-приложений и разработаем серверную часть простого приложения, добавляющего пользователей и их посты. Приложение напишем на самом распространённом и востребованном Java-фреймворке – Spring Boot.
🔗 Основной сайт
🔗 Зеркало