Получи случайную криптовалюту за регистрацию!

Oracle Developer👨🏻‍💻

Логотип телеграм канала @oracle_dbd — Oracle Developer👨🏻‍💻 O
Логотип телеграм канала @oracle_dbd — Oracle Developer👨🏻‍💻
Адрес канала: @oracle_dbd
Категории: Технологии
Язык: Русский
Страна: Россия
Количество подписчиков: 2.84K
Описание канала:

ТОП канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура, сертификации и многое другое...
Автор канала: Кивилёв Денис @denis_dbd
Сотрудничество, обучение, вопросы, мнения - пишите.
Youtube-канал: https://www.youtube.com/c/OracleDBD

Рейтинги и Отзывы

4.50

2 отзыва

Оценить канал oracle_dbd и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

0


Последние сообщения 7

2021-12-27 12:30:00
Друзья, всем привет!

В прошлую пятницу, я анонсировал мини-лекцию.
Тема: "Принципы построения backend-приложений с СУБД Oracle"

Я расскажу о распространенных методах построения приложений в связке с СУБД.
Детально, на примере, рассмотрим: трехзвенную архитектуру, без ORM, с бизнес-логикой в Java-приложении (middleware/backend) с легким налетом технического API в БД.

Показанные принципы в лекции используются у нас в компании на некоторых проектах. Этот же принцип я использую в своем курсе "Oracle PL/SQL.Основы".

Начало: 27.12.2021 19:30(МСК)
Ссылка: https://qiwi.zoom.us/j/91654869378?pwd=MlkxY1VlVGx6ejN0aWRzZm9CQVRJdz09

А будет ли запись?
Записывать буду 100%. Пока не знаю, залью ли на общее обозрение.
Трансляции на youtube не будет.
Если не хотите ставить Zoom, можно воспользоваться Web-клиентом.

До встречи!

#мини_конфа
699 viewsedited  09:30
Открыть/Комментировать
2021-12-24 13:30:18
Принципы построения backend-приложений с СУБД Oracle

Коллеги, всем привет!

Существует несколько принципов построения приложений с использованием БД. С разной толщиной программного слоя в БД или его отсутствия и т.д.

Хочется показать вам один из вариантов построения приложений. Рассмотрим: 3х-звенку, без ORM, с бизнес-логикой в middleware, с легким налетом технического API в БД.

Сеньёров, думаю, не удивлю, а джунам и мидлам, будет полезно послушать про разные подходы. Причем, не только разработчикам.

Можно было бы, конечно, запилить видос, но хочу попробовать что-то иное.
Это будет “живое” Online-выступление с демонстрацией, минут на 30-40 + вопросы. Формат для меня немного новый, но попробовать стоит.

Вдруг приживется, тогда можно было бы собираться раз в месяц, например, и рассказывать о какой-нибудь теме.

По времени: ~27.12 19:30-20:30.
Это будет Zoom-конфа и, возможно, трансляция в Youtube (еще не пробовал).

Голосовалочка - нужно это кому-то или нет

Всем хороших выходных!

#мини_конфа
986 viewsedited  10:30
Открыть/Комментировать
2021-12-23 13:01:06
Задача: постановка в посте вторника.

Решение:
Функцию COALESCE я упомянул еще на прошлой недели в качестве альтернативы NVL. Однако, опрос вторника немного удивляет

Основные отличия от NVL

Функция может принимать более двух аргументов.

Используется короткозамкнутое вычисление (short-circuit evaluation), т.е. аргументы вычисляются по мере надобности.

В coalesce все аргументы должны быть одного типа. NVL - неявно преобразует тип второго аргумента к первому. Есть особенности, см. доку

Функция относится к ANSI SQL, может быть использована в других РСУБД. NVL - чисто Оракловая поделка.

Отличия в выполнении запросов.

Согласно п.2. правильный ответ: 5 секунд.
Функция не будет вычислять ни второй, ни третий аргументы, т.к. первый аргумент не null.

Дополнительная задачка на подумать: выполнится или нет?
select nvl(10, 'abc') from dual;


В новом году, можно начать изучать PL/SQL с опытным наставником. Переходите на темную сторону

#решениезадачи #функции #nvl #coalesce
589 views10:01
Открыть/Комментировать
2021-12-22 13:01:07
Друзья, всем привет!

Рад сообщить, о старте третьего потока курса “Oracle PL/SQL.Основы”.

Он будет полезен: QA-инженерам, разработчикам, аналитикам.

Основная цель: научить вас читать чужой и писать свой PL/SQL-код, достаточный для современной разработки и закрытия рабочих задач.

22 видео с теорией;
24 практики = единый проект;
13 онлайн встреч в Zoom с разбором вопросов;
закрытый телеграм-канал;
старт в январе 2022.

Практика построена таким образом, чтобы вы с нуля, шаг за шагом, создали API на PL/SQL для прототипа платежной системы. Начав с анонимных блоков вы закончите своим мини-фреймворком для Unit-тестирования. Пример.

Подробности и программа - здесь. Отзывы - здесь.

Для тех кто заинтересован, но пока не уверен, я создал промо-группу курса, в которой буду размещать подробности, отрывки с занятий, отвечать на вопросы (да вы можете их сразу задавать) и даже встретимся онлайн. Залетайте!

P.S. Студентам, успешно закончившим курс, будет бонус в виде рекомендаций при трудоустройстве в Qiwi
652 views10:01
Открыть/Комментировать
2021-12-21 11:00:32
Задача
Дана функция - sleep. Просто засыпание на N секунд с возможностью использования как функции в SQL и PL/SQL. Всегда возвращается “1”.

create or replace function sleep(p_sec number) return number
is
begin
dbms_session.sleep(p_sec); -- 18+
-- dbms_lock.sleep(p_sec); -- до 18
return 1;
end;
/

Выполняется такой запрос:
select coalesce(sleep(5), sleep(5), sleep(5))
from dual;

За сколько секунд он выполнится?

Рекомендую не повторять этот код, а подумать и выбрать ответ. И только после этого, повторить в СУБД и проверить себя


Завтра будет анонс нового потока на курс “Oracle PL/SQL.Основы”. А пока, можно почитать отзывы ребят с предыдущих потоков.

#задача
774 views08:00
Открыть/Комментировать
2021-12-20 17:00:37 Канал с отзывами

Всем привет!

Когда-то далеким январем 2020-го, я купил курс по созданию Telegram-каналов (да, я тоже обучаюсь и тоже покупаю обучение).

В одной из глав мануала было примерно следующее: “заведите второй канал и добавляйте в него отзывы по вашим услугам, обратную связь и т.д. Он будет полезен”.
Я тогда на это подзабил, ибо все казалось туманным и, исходя из принципа “бережливого производства”, смысла этим тогда заниматься не было.

Вернемся в настоящее. Прошло почти года с момента основания канала. Много чего было сделано - курс по PL/SQL, интенсив по секционированию, частные консультации. Получена обратная связь по YouTube и Telegram-каналам. А я так и не сделал канал-отзовик...

“Пора исправляться” подумал я и потратил воскресенье на его создание.
Можно сходить сюда и посмотреть, чего там Денис насобирал

Это пока не все отзывы, но с чего-то надо начинать. Буду постепенно публиковать.

#отзывы
601 views14:00
Открыть/Комментировать
2021-12-16 13:00:02
Задача: постановка в посте вторника.

Решение:
Вспомним для чего нужна функция NVL. Если первый аргумент null, то возвращается второй аргумент.
На примере: nvl(null, 2), результатом будет “2”.

Тогда какой правильный ответ в задаче?
Первый аргумент возвращает “1” - не null. Значит запрос выполнится за 5 секунд?

К сожалению, нет. Не важно какое значение в первом аргументе (null, не null), второй аргумент будет вычисляться всегда. Это допустимо, когда это просто литерал (как в примере выше). Но если это что-то вычисляемое или получение значение из сиквенса, то мы столкнемся с сайд-эффектами. В документации, явно об этом не написано.

Возвращаясь к нашей задачи. 5 секунд будет потрачено при вычислении первого аргумента и 10 секунд для второго. Итого: 15 секунд.

Как с этим бороться? Использовать альтернативные функции. Например, COALESCE.
О ней я расскажу более подробно в следующих постах.

#решениезадачи #функции #nvl #coalesce
649 views10:00
Открыть/Комментировать
2021-12-14 11:00:02
Задача
Дана функция - sleep. Просто засыпание на N секунд с возможностью использования как функции в SQL и PL/SQL. Всегда возвращается “1”.

create or replace function sleep(p_sec number) return number
is
begin
dbms_session.sleep(p_sec); -- 18+
-- dbms_lock.sleep(p_sec); -- до 18
return 1;
end;
/

Выполняется такой запрос:
select nvl(sleep(5), sleep(10)) from dual;

За сколько секунд он выполнится?

Рекомендую не повторять этот код, а подумать и выбрать ответ. И только после этого, повторить в СУБД и проверить себя.

#задача
765 viewsedited  08:00
Открыть/Комментировать
2021-12-06 11:00:26 Как готовят Oracle в Спортмастере

Друзья, всем привет!

В рабочих чатиках уже давно мелькало это интервью. Вполне вероятно, что вы его уже видели, но у меня все как-то не доходили руки. Наконец-то, на этих выходных удалось урвать почти час свободного времени (на скорости x1.25) на просмотр.
Было интересно послушать, чем живет разработка в “Спортмастере”.
Моё мнение, вполне себе приятное интересное интервью.

Коллеги используют (тезисно):
GitLab для поставки инкремента;
EBR для наката программных объектов без остановки;
Crucible для code-review;
SonarQube для автоматической проверки кода;
Pluggable Database для создания окружения;
Unit-тестирование (utPL/SQL) и др.

Отличный джентльменский набор. Такое не в каждой компании увидишь. К слову сказать, в Qiwi, где я сейчас имею счастье работать, большая часть из этого также используется. Привет коллегам

Я впервые публикую видео не со своего канала. Возможно, стоит это делать чаще, с интересными материалами.
Приятного просмотра!

Как готовят Oracle в Спортмастере / Максим Пермяков

#видео
609 views08:00
Открыть/Комментировать
2021-12-01 11:00:52
Recall Statement - Перевызов запроса

Всем привет!
Еще один пост для тех кто использует IDE PL/SQL Developer.

Есть возможность открыть список выполнявшихся команд в IDE. Экономит время и нервы. Нет необходимости писать запрос заново, можно взять уже когда-то написанный. Я достаточно часто использую. Как это выглядит см скрин

Открыть можно через комбинацию - CNTRL+E или меню Edit -> Recall Statement.
Появится окно с выполненными запросами. Можно сортировать по дате, по тексту, по коннекту. Если не ошибаюсь, в 14й версии PL/SQL Developer добавили возможность фильтрации, раньше этого очень не хватало.

Количество сохраняемых запросов можно установить в настройках: Configure -> Preferences -> Tools -> Recall Statement.

По-моему, в dbForge и в TOAD тоже есть такие возможности.
DataGrip? SQL Developer? DBeaver?
Можете написать в комментах про свою любимую IDE.

Удобный настроенный инструмент облегчает и ускоряет любую работу

#ide
648 views08:00
Открыть/Комментировать