Oracle Developer👨🏻‍💻
3.17K subscribers
583 photos
64 videos
2 files
470 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
🌐 Навигация по темам канала Oracle Developer

📘 Основы
#sql #plsql #теория #архитектура
#функции #секционирование #временныетаблицы
#транзакции #исключения #курсоры
#аналитическиефункции #иерархическиезапросы
#системныепредставления #компиляция #представления #коллекции #циклы

🛠 Практика и задачи
#задача #решениезадачи #asktom

🚀 Оптимизация и производительность
#оптимизация #nestedloops #индекс

🧩 Инструменты и технологии
#тестирование #postgresql #oracle #docker #oracle23c #ide #ai

💼 Карьера и Развитие
#карьера #собеседование #hr #тинькофф #magnit #вкусноиточка #leroymerlin#сбер #яндекс #Эффективность #КарьерныйРост #Denis_Kivillev #Работа

🎓 Дополнительные материалы
#видео #подкаст #аудиоподкаст #конкурс #марафон #юмор


В почти 700 (!) постах не мудрено заплутать. Поэтому решил сделать подобие навигации 😉
Не забывайте пользоваться обычным поиском, я не добавил сюда низкочастотные хештеги
.

Канал Oracle Developer | Чатик💬
"От марафона до экспертности: итоги 13-го потока курса PL/SQL"

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

Незаметно прошёл месяц с окончания 13 потока курса "Мастер Oracle PL/SQL". Мы решили вспомнить, как это было, тем более, что нам есть, что вспомнить 😉

Итак, поехали!

🏃Марафон

Перед стартом курса мы провели 4х-дневный марафон прямых эфиров. Это было впервые в нашей практике. Тем неожиданнее и приятнее результат: на марафон записалось около 400 человек! Мы успели провести: ▫️онлайн-тестирование;
▫️организовали live-кодинг;
▫️поговорили про юнит-тесты;
▫️обсудили ключевые софт-скиллы;
▫️поделились записями с собесов на мидловые и сеньорские позиции;
▫️в чате шло очень живое общение.

По итогам марафона к нам пришли студенты не только на PL/SQL, но и на курс по оптимизации. Впечатляюще!

📊 Чем можно гордиться

Если меня спросят, чем нам запомнился 13 поток, первое, что я назову: ребята сами организовали процесс сдачи домашек через Git.
Дело в том, что наша обучающая платформа заточена под сдачу ДЗ в виде обычных файлов. Это не всегда удобно, особенно, когда мы уже на финишной прямой курса. Мы с Пашей обсуждали переход на Git, но нас всегда что-то останавливало. А тут ребята сами вызвались, и не просто молча перешли на Git, а на одной из практик продемонстрировали новичкам, как это работает. Круто, когда внутри группы есть диалог и взаимовыручка!

🌟 Желание двигаться дальше

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

💪 Soft Skills — ключ к успеху

Этот поток стал первым, где мы добавили карьерного консультанта и психолога.
И это оказалось отличным решением! На блоке с психологом ребята затронули ключевые темы, такие как "синдром самозванца", выгорание, навыки продуктивной коммуникации, и др. У ребят было 4 вебинара плюс разбор индивидуальных запросов. Также один из студентов курса, работая с карьерным консультантом Любой, получил оффер прямо во время обучения. У других в разы увеличилось количество откликов от рекрутеров. Кто из вас тоже хочет, чтобы работодатели боролись за него? 😉

📈 Ваши результаты

Многие из них отметили, что стали увереннее ощущать себя на рынке труда, научились бороться со стрессом и выгоранием, общаться с руководством, перестали бояться просить повышения зп. Вы структурировали свои знания, освоили темы, которые тяжело давались, и теперь можете решать сложные задачи. Кто-то сменил работу с ростом зарплаты на 30–50%, а кто-то помогает коллегам разбираться с PL/SQL, ведь теперь он эксперт в этом вопросе 👍

📊 Что дальше?

Эти результаты вдохновляют нас улучшать курс. Мы уже работаем над новыми материалами и форматами. Следующий поток стартует в апреле, и, возможно, это будет единственный набор в этом году. Так что не упустите шанс присоединиться! 💪

Ребята из 13-го (и не только) потока, если вы читаете этот пост, присоединяйтесь к нашему чатику, поделитесь своим мнением о курсе. 💬

#курс #oracle #обучение #plsql #марафон
Канал Oracle Developer | Чатик 💬
"PL/SQL для начинающих: краткий гид и полезные советы"

👋 Друзья, всем привет!
Сегодня необычный пост, и, возможно, кому-то из вас он покажется слишком простым.
Но, как показывает практика, в наш канал периодически добавляются начинающие Oracle-разработчики.
Уверен, им будет полезно иметь под рукой такой обзорный текст.

🚀 Итак, поехали!

1️⃣ Зачем нужен PL/SQL?

PL/SQL — это языковое расширение для SQL. С его помощью мы можем решить задачи, которые нельзя решить силами простого SQL.

2️⃣ Какие возможности даёт PL/SQL?

PL/SQL поддерживает:
🔸 Блоки
🔸 Кастомные типы данных
🔸 Переменные и константы
🔸 Управляющие конструкции
🔸 Коллекции
🔸 ООП
🔸 Функции/процедуры
🔸 Пакеты
🔸 Триггеры
🔸 Обработку ошибок
🔸 Расписания

3️⃣ Чем хорош PL/SQL?

Интеграция с SQL

🔸для разработки нам не требуются специальные знания;
🔸мы можем встраивать SQL-запросы напрямую в код.

Высокая производительность

🔸выполнение блоков PL/SQL на сервере снижает нагрузку на сеть и экономит время;
🔸поддержка пакетных операций (FORALL, BULK COLLECT) минимизирует переключение контекста между SQL и PL/SQL.

Поддержка транзакций

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

Оптимизация под Oracle

PL/SQL активно использует различные фичи Oracle. Например, использование пакетов вместо отдельных функций или процедур даёт ощутимый выигрыш в производительности.

4️⃣ Зачем нужно знать PL/SQL?

📚 История Oracle на постсоветском пространстве насчитывает несколько десятилетий и различных версий этой СУБД. Один и тот же функционал может быть реализован самыми разными способами.
Поэтому полноценная поддержка, рефакторинг, развитие и миграции кода невозможны без уровня хотя бы middle+.

💡 Кроме того, как мы выяснили ранее, PL/SQL — это не просто язык разработки, это значительная часть экосистемы Oracle. Владение этим инструментом открывает перед вами все возможности этой СУБД.

5️⃣ О каких возможностях речь?

Помимо базовых возможностей, описанных выше, это ещё и:

🔸Oracle AQ (Advanced Queues);
🔸Динамический SQL;
🔸Использование встроенных пакетов Oracle (например, работа с файлами или HTTP);
🔸Компиляция функций в особенном режиме, например, DETERMINISTIC или PARALLEL_ENABLE;
🔸Компиляция кода на других языках, например, C или Java;
🔸Условная компиляция ($if, $else и т.п.);
🔸Поддержка типов данных XML, JSON
🔸Прочие возможности, о которых рассказывается на курсе PL/SQL Advanced.

Заключение

🔥 Друзья, это очень краткая выжимка возможностей PL/SQL.
Более подробно о них мы рассказываем в нашем курсе "Мастер Oracle PL/SQL".

Базовые возможности языка составляют основу программы, а дополнительные фичи мы разбираем с ребятами на факультативных встречах.

📩 Более подробную информацию о программе курса можно узнать у нашей поддержки.
📝 А если вам интересно проверить свой уровень, то уже в этот понедельник мы опубликуем небольшой тест на знание PL/SQL.

#Oracle #Junior #PLSQL #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Наши студенты – настоящие бойцы!

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

Посмотрите, какие отзывы оставляют ученики во время обучения на наших курсах. Они не просто проходят обучение – они растут, пробиваются, выходят на новый уровень! Кстати, отзыву пару дней.

❗️ Два года самостоятельного обучения – книги, YouTube, ChatGPT… но все равно ощущение, что пазл не складывается.
👉 А на курсе – четкая система, понимание причинно-следственных связей, навык писать мощные запросы.

Итог?

💥 Человек стал разбираться в оптимизации, применяет знания прямо на работе, а теперь уже планирует курс по секционированию.

Почему? Потому что обучение работает

Наши ребята не тратят годы на самостоятельные попытки – они берут готовую систему и выходят на 200К+ в разы быстрее.

💰 Следующий шаг за тобой!

На следующей неделе мы открываем анкету предзаписи на курс по "Программирование на Oracle PL/SQL".

🎯 Если ты зарабатываешь меньше 200К и хочешь вырасти в доходе, как наши ученики, то готовься – скоро старт! 🚀

#Oracle #PLSQL #Зарплата #Карьера #IT #Обучение
Канал Oracle Developer | Чатик
Динамический SQL в PL/SQL

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

Сегодня технический пост, поговорим о такой особенности Oracle, как Динамический SQL. 📊

Пакет DBMS_SQL появился ещё в версии Oracle 7.1, так что многие из вас наверняка сталкивались с динамическими запросами в своей практике. А чтобы освежить знания, предлагаю небольшую задачку! 🚀

Есть таблица COUNTRY:

create table COUNTRY
(
id NUMBER(3) not null,
name VARCHAR2(100 CHAR) not null,
iso_alpha_2 VARCHAR2(2 CHAR),
iso_alpha_3 VARCHAR2(3 CHAR)
);


Пример данных:
| id  | name      | iso_alpha_2 | iso_alpha_3 |
|-----|-----------|-------------|-------------|
| 36 | АВСТРАЛИЯ | AU | AUS |
| 40 | АВСТРИЯ | AT | AUT |
| 44 | БАГАМЫ | BS | BHS |
| 48 | БАХРЕЙН | BH | BHR |


📌 Задача:
Написать метод, который вернёт данные из этой таблицы в отсортированном виде.
🔶 Поле для сортировки — любое из строковых атрибутов (name, iso_alpha_2, iso_alpha_3).
🔶 Направление сортировки — по возрастанию или по убыванию (выбирается параметром).

Присылайте свои решения в наш чатик 💬

А если хочется не просто покодить, а разобраться в динамическом SQL глубже, ждём вас в этот четверг на вебинаре.

Длительность: ~1,5 часа
🎓 Формат: немного теории, демонстрация кода + разбор реальных примеров.

💡 О чём поговорим:
EXECUTE IMMEDIATE: работа с DML, DDL и параметрами
Разница между нативным и пакетным SQL
Безопасность и защита от SQL-инъекций
Динамические курсоры

📩 Ссылку на Zoom пришлём в четверг — не пропустите! Следите за обновлениями в канале.

#PLSQL #динамическийSQL #Oracle #Pavel_Dolganov #вебинар

Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Отзыв от студента
Павел Долганов
Расти или стоять на месте? История одного разработчика

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

Сегодня у нас в гостях Александр, который в прошлом году прошёл обучение на курсе "Мастер Oracle PL/SQL", а прямо сейчас работает на пятом потоке нашего курса по оптимизации. 🚀

Вот о чём мы поговорили с Сашей:
🔶в чём были его сложности до курса по PL/SQL;
🔶почему он выбрал платное обучение, а не поиск информации в интернете;
🔶как изменилась его жизнь после курса;
🔶что помогает ему брать ответственность за свою жизнь на себя.

🎧 Длительность: 10 минут. Запись уже на скорости x1.5.

00:00 - Представление
00:33 - Почему пошёл на курс по PL/SQL
01:24 - Обратная связь о курсе
02:31 - Как изменилась жизнь после обучения
04:50 - Почему пошёл на курс, а не стал искать информацию в свободном доступе
05:58 - Почему раньше не пришёл к Денису
06:59 - Напутствие от Саши
07:46 - Что помогает взять ответственность за свою жизнь на себя?

Самое важное в этом аудио - в конце ❤️

Друзья, такие отзывы очень вдохновляют нас. И мы уже работаем над новыми материалами и форматами. Единственный в этом году поток по PL/SQL стартует уже в марте. Так что не упустите шанс присоединиться!

🔗 Записывайтесь и становитесь "Мастером Oracle PL/SQL!", освойте навыки программирования Oracle PL/SQL на высшем уровне🚀

👉 АНКЕТА ПРЕДЗАПИСИ ⬅️

#PLSQL #разработка #карьера #отзывы #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Геометрическая прогрессия: простая задача с изюминкой! 🔝

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

Сегодня понедельник, а значит, самое время для технического поста ⚙️📚

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

Как известно, любой член геометрической прогрессии вычисляется по формуле:

aₙ = a₁ * qⁿ⁻¹

где:
🔹 aₙ — n-й член прогрессии
🔹 a₁ — первый член прогрессии
🔹 q — знаменатель прогрессии
🔹 n — номер члена последовательности

📌 Задача:

Написать метод (или анонимный блок), который принимает на вход:
🔶 первый член прогрессии (положительное целое число)
🔶 знаменатель прогрессии (положительное целое число)
🔶 предел прогрессии (положительное целое число, больше первого члена)

Необходимо:
вывести в терминал 💻 все элементы возрастающей геометрической прогрессии.

⭐️ Задание со звёздочкой:
Вывести не все члены прогрессии, а только конкретный (например, пятый).

Делитесь своими решениями в нашем чатике 💬

🎯 А если хочется не просто попрограммировать, а увидеть изящное решение — ждём вас в этот четверг на вебинаре!

🗓 Когда: четверг
Длительность: 1 час
🎓 Формат: немного теории 📖 + демонстрация кода 💻 + разбор новых фишечек Oracle 🚀
⏺️ Будет ли запись: НЕТ!

📢 Деталей пока не раскрываем, чтобы не спойлерить решение задачки! 😉

👉 Всё узнаете в четверг — следите за обновлениями в нашем канале!

#PLSQL #Oracle #Pavel_Dolganov #вебинар #задачка

🔗 Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Геометрическая прогрессия: простая задача с изюминкой - решение

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

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

С выходом 21-й версии Oracle эту задачу можно решить так:

  FOR i IN p_min, repeat i * q_val WHILE i < p_max LOOP
dbms_output.put_line('n' || i_tmp || ' = ' || i);
i_tmp := i_tmp + 1;
END LOOP;

📌 Где:
🔹 p_min — первый член прогрессии
🔹 q_val — знаменатель прогрессии
🔹 p_max — предел прогрессии
🔹 i_tmp — текущий член прогрессии

Если интересно поговорить про циклы или узнать, какие ещё новые фишечки приготовила для вас корпорация Oracle, приходите сегодня в 19:00 мск на наш очередной вебинар. 🚀

Что вас ждет
▫️ Немного теории
▫️Новые возможности Oracle 21+
▫️ Вопросы с собеседований
▫️ Разбор практических примеров

⚠️⚠️⚠️ Записи не будет!

Зато будет возможность задать вопросы и разобрать свои кейсы в прямом эфире.

Кому будет полезно?
🔸 Начинающим разработчикам — чтобы понимать, какие виды циклов использовать для решения своих задач.
🔸 Мидлам — чтобы быть в курсе новых фишечек Oracle .
🔸 Всем, кто хочет уверенно проходить собеседования.

🎤 ВедущийПавел Долганов.

📅 Подключайтесь сегодня в 19:00 мск!
Будет много полезного.

➡️ Ссылка на ZOOM ⬅️

⚠️ Возможность подключиться ограничена Zoom: максимум 100 участников, успевайте.

#Oracle #PLSQL #циклы #вебинар #анонс #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Сравнение объектов в PL/SQL: простая задачка на разогрев

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

Понедельник – отличный день, чтобы размять мозги над небольшой задачкой 🤔
Сегодня хотим предложить вам поближе познакомиться с объектами в Oracle.

Задача:

В схеме HR создан пользовательский тип:

CREATE OR REPLACE TYPE EmployeeType AS OBJECT (
employee_id NUMBER,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
department_id NUMBER
);
/


Нужно

сравнить два экземпляра этого типа и вывести результат в таком формате:

Сравнение emp1 и emp2: Объекты равны
Сравнение emp1 и emp3: Отличаются атрибуты: employee_id, first_name.

Ждем ваши решения в 👉 чатике 💬

💡 Если тема зайдет, то в четверг проведем вебинар, где разберем:
🔶 Что такое OBJECTS в Oracle?
🔶 Когда и зачем их использовать?
🔶 В чем отличие от records?
🔶 Плюсы и минусы на реальных примерах.

Длительность: 1 час
🎓 Формат: немного теории + live-coding + примеры из практики.

⚠️⚠️⚠️ Записи не будет!

📩 Ссылку на Zoom пришлем в четверг — следите за обновлениями в канале!

🔥 Всем продуктивной недели!

#oracle #plsql #objects #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Сравнение объектов в PL/SQL: простая задачка на разогрев. Вебинар 📽

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

Сегодня четверг - день наших тематических посиделок в Zoom 💬

В понедельник мы предложили вам несложную задачку на сравнение двух экземпляров объектов в PL/SQL.
Но решений нам прислали не так много… 🤔
Либо задача неактуальная, либо тема объектов оказалась не очень востребована. 🤷‍♂️

Поэтому сегодня на обещанном вебинаре я:

расскажу, какие возможности дают нам объекты в Oracle;
покажу, чем отличаются объекты от записей;
объясню, в чем практическая польза объектов в PL/SQL;
разберу решение этой задачи;
поделюсь с вами своими кейсами.

🔥 Кому будет полезно?

📌 Новичкам — узнаете, зачем вообще нужны объекты и какие они дают возможности лично вам;
📌 Мидлам — структурируете имеющиеся знания, увидите плюсы и минусы применения объектов;
📌 Сеньорам — будет возможность поучаствовать в дискуссии и поделиться своим опытом.

Длительность: 1 час
💡 Формат: немного теории + live-coding + ответы на вопросы.

⚠️⚠️⚠️ Записи не будет!

Зато будет возможность разобрать свои кейсы в прямом эфире!

🎤 ВедущийПавел Долганов.

📅 Подключайтесь сегодня в 19:00 мск!
Будет много полезного.

➡️ Ссылка на ZOOM ⬅️

⚡️ Места ограничены! Zoom пускает только 100 участников, так что не тормозите!

Готовы прокачать свой PL/SQL? Тогда увидимся на вебинаре! 🚀

#Oracle #PLSQL #объекты #вебинар #анонс #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Хранимая процедура с секретом – разберешься?

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

Прошлая неделя прошла под флагом PL/SQL-марафона (подробности были тут). Судя по отзывам, он вам зашел! 🚀 Мы уже готовим серию вебинаров на откликнувшиеся вам темы. 🔥 Но перед этим — небольшая задачка, решение которой вам скоро пригодится 😉

Итак,
💡 Задача:
Нужно написать хранимую процедуру, которая принимает параметр любого типа и выводит его значение на экран.
⭐️ Дополнительное задание для знатоков: если параметр типа nested table, вывести количество записей в коллекции.

Простая задача? Давайте проверим! 😏

Делитесь своими решениями в нашем чатике 💬

📅 Разбор задачи будет в четверг, так что следите за обновлениями! 👀

#PLSQL #Oracle #Pavel_Dolganov #задачка

🔗 Канал Oracle Developer | Чатик💬
Please open Telegram to view this post
VIEW IN TELEGRAM