Forwarded from Codeby
❗️SQL Injection Master - самый полный курс по SQL инъекциям
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
Старт: 10 апреля
Продолжительность: 3 месяца
3-месячный онлайн-курс SQL Injection Master позволит вам изучить:
✔️ Базовые навыки работы с SQL;
✔️ Поиск уязвимостей в базах данных;
✔️ Внедрение произвольного SQL-кода в уязвимые приложения.
👍 Курс от Codeby School будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам!
Преимущества онлайн-курса SQL Injection Master:
። Уникальность – у данного курса нет аналогов в СНГ и англоязычном пространстве;
። Максимум практики – выполнение заданий на тестовом стенде и проверка ДЗ;
። Обучение в любое время благодаря методичкам и видеоурокам в записи;
። Обратная связь от других учеников и преподавателя в чате и на форуме.
🔥 Имеется промо-доступ на 7 дней!
Узнать подробнее о курсе: https://sql-injection.codeby.school/
Реклама. Информация о рекламодателе на сайте https://codeby.school/
👍2
Media is too big
VIEW IN TELEGRAM
Базы Данных – Татьяна Денисова
Во время лекции мы поговорим о том, что такое данные, какие базы данных бывают и чем они отличаются. Вы узнаете, какие особенности работы с базами данных нужно иметь в виду разработчику.Обсудим, как характеризовать, структурировать и хранить данные — с расчетом на текущие особенности системы и будущее её масштабирование.
Благодаря полученным на лекции знаниям разработчик сможет понять, в какую из упомянутых тем нужно углубиться для решения конкретной задачи, а в случае возникновения багов — определить, является ли источником проблемы работа с БД. И если да, то в какую сторону «копать».
источник
#db
👉 @database_info
Во время лекции мы поговорим о том, что такое данные, какие базы данных бывают и чем они отличаются. Вы узнаете, какие особенности работы с базами данных нужно иметь в виду разработчику.Обсудим, как характеризовать, структурировать и хранить данные — с расчетом на текущие особенности системы и будущее её масштабирование.
Благодаря полученным на лекции знаниям разработчик сможет понять, в какую из упомянутых тем нужно углубиться для решения конкретной задачи, а в случае возникновения багов — определить, является ли источником проблемы работа с БД. И если да, то в какую сторону «копать».
источник
#db
👉 @database_info
👍7
Задача. Подсчет сессий пользователя.
Не знаю почему на каждом 2 собеседовании любят давать эту задачу, в разных вариациях, тем не менее суть одна. Решений эта задача имеет также не мало, но мы попробуем решить ее через оконные функции, как мой самый любимый способ решения. Возьмем один из самых простых вариантов задачи, для каждого юзера мы имеем лог его данных который снимаем каждые 5 минут, если разница между двумя промежутками больше, то это новая сессия, нужно разметить каждую сессию.
Впервую очередь отсортируем данные и применим функцию lag для смещения данных на 1 значение вниз
Теперь вычтем смещение и посмотрим разницу между 2 повторяющимися значениями, после чего применим функцию камулятивной суммы, это как раз таки и даст необходимый нам результат.
#db
👉 @database_info
Не знаю почему на каждом 2 собеседовании любят давать эту задачу, в разных вариациях, тем не менее суть одна. Решений эта задача имеет также не мало, но мы попробуем решить ее через оконные функции, как мой самый любимый способ решения. Возьмем один из самых простых вариантов задачи, для каждого юзера мы имеем лог его данных который снимаем каждые 5 минут, если разница между двумя промежутками больше, то это новая сессия, нужно разметить каждую сессию.
+------+----------------------------+
| user | login |
+------+----------------------------+
| 1 | 2022-10-12 20:05:00.000000 |
| 1 | 2022-10-12 20:10:00.000000 |
| 1 | 2022-10-12 20:15:00.000000 |
| 1 | 2022-10-12 20:20:00.000000 |
| 1 | 2022-10-12 20:25:00.000000 |
| 1 | 2022-10-12 10:05:00.000000 |
| 1 | 2022-10-12 20:40:00.000000 |
| 1 | 2022-10-12 20:30:00.000000 |
| 1 | 2022-10-12 10:20:00.000000 |
| 1 | 2022-10-12 10:10:00.000000 |
| 1 | 2022-10-12 20:05:00.000000 |
| 2 | 2022-10-12 20:10:00.000000 |
| 2 | 2022-10-12 20:15:00.000000 |
| 2 | 2022-10-12 20:20:00.000000 |
| 2 | 2022-10-12 20:25:00.000000 |
| 2 | 2022-10-12 10:05:00.000000 |
| 2 | 2022-10-12 20:40:00.000000 |
| 2 | 2022-10-12 20:30:00.000000 |
| 2 | 2022-10-12 10:20:00.000000 |
| 2 | 2022-10-12 10:10:00.000000 |
+------+----------------------------+Впервую очередь отсортируем данные и применим функцию lag для смещения данных на 1 значение вниз
SELECT t1.user,
login,
lag(login, 1, NULL) OVER
(PARTITION BY
t1.user ORDER BY t1.user,
login) next_log
FROM table t1Теперь вычтем смещение и посмотрим разницу между 2 повторяющимися значениями, после чего применим функцию камулятивной суммы, это как раз таки и даст необходимый нам результат.
select *,
sum(ind) over
(PARTITION BY t3.user
ORDER BY t3.user rows
between unbounded preceding and current row) as sessions
from (
select t2.user,
login,
case
when (login-prev_log) > '5 mins' then 1
else 0
end ind
from (
SELECT t1.user,
login,
lag(login, 1,NULL)
OVER (PARTITION BY t1.user
ORDER BY t1.user, login) prev_log
FROM table t1) t2
) t3
#db
👉 @database_info
👍4
Media is too big
VIEW IN TELEGRAM
SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начинающих!
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
#db
👉 @database_info
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
#db
👉 @database_info
🔥10
Вопрос по SQL на собеседовании в Twitter
Найдите сотрудника с самой высокой зарплатой в каждом отделе. Выведите название отдела, имя сотрудника и соответствующую зарплату.
ОТВЕТ:
#db
👉 @database_info
Найдите сотрудника с самой высокой зарплатой в каждом отделе. Выведите название отдела, имя сотрудника и соответствующую зарплату.
employee
id:int
first_name:varchar
last_name:varchar
age:int
sex:varchar
employee_noscript:varchar
department:varchar
salary:int
target:int
bonus:int
email:varchar
city:varchar
address:varchar
manager_id:intОТВЕТ:
SELECT department as department,
first_name as employee_name,
salary
FROM employee
WHERE (department, salary) IN
(SELECT department, MAX(salary)
FROM employee
GROUP BY department)#db
👉 @database_info
👍14👎1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Быстрый курс по SQL для начинающих
Что такое SQL? Как работать с WebSQL? Основы SQL | SQL для начинающих
SQL WHERE. Операторы SQL. Булева алгебра в SQL. LIKE, BETWEEN, IS, IN
SQL ORDER BY, DISTINCT, UNION ALL, LIMIT
SQL нормализация и денормализация базы данных. Склейка таблиц через FROM (аналог SQL JOIN)
SQL JOIN. LEFT JOIN. Что такое связь многие ко многому и один ко многому
SQL GROUP BY HAVING и агрегирующие функции COUNT, SUM, AVG, MIN, MAX. Практика SQL
SQL вложенные запросы в EXISTS, IN, FROM, SELECT. Практика SQL
SQL DELETE, UPDATE SET, INSERT INTO SELECT. Практика SQL
SQL WITH, VIEW. Книга по SQL. Правильное построение запросов в SQL. Практика SQL
источник
#db
👉 @database_info
Что такое SQL? Как работать с WebSQL? Основы SQL | SQL для начинающих
SQL WHERE. Операторы SQL. Булева алгебра в SQL. LIKE, BETWEEN, IS, IN
SQL ORDER BY, DISTINCT, UNION ALL, LIMIT
SQL нормализация и денормализация базы данных. Склейка таблиц через FROM (аналог SQL JOIN)
SQL JOIN. LEFT JOIN. Что такое связь многие ко многому и один ко многому
SQL GROUP BY HAVING и агрегирующие функции COUNT, SUM, AVG, MIN, MAX. Практика SQL
SQL вложенные запросы в EXISTS, IN, FROM, SELECT. Практика SQL
SQL DELETE, UPDATE SET, INSERT INTO SELECT. Практика SQL
SQL WITH, VIEW. Книга по SQL. Правильное построение запросов в SQL. Практика SQL
источник
#db
👉 @database_info
👍6
Работа в IT доступна для каждого! Не обязательно иметь техническое образование.
Если вы хотите попробовать себя в IT, но еще не готовы учиться программированию, то профессия «Аналитик данных» — отличный выбор!
На Хекслете вы сможете не только освоить востребованную профессию, но и поучаствовать в Карьерном треке, который поможет найти первую работу в IT.
Вы пройдете вебинары, которые охватывают все темы по трудоустройству — от составления резюме и рабочих профилей до психологических аспектов собеседований и адаптации на рабочем месте.
На всем пути вас будет сопровождать персональный карьерный консультант. Он поможет проанализировать вакансии, составить сопроводительное письмо, порекомендует вас в партнерские компании и предложит стажировки.
🆙 Не упустите возможность попробовать обучение на нашей платформе, перейдя по ссылке выше.
Если вы хотите попробовать себя в IT, но еще не готовы учиться программированию, то профессия «Аналитик данных» — отличный выбор!
На Хекслете вы сможете не только освоить востребованную профессию, но и поучаствовать в Карьерном треке, который поможет найти первую работу в IT.
Вы пройдете вебинары, которые охватывают все темы по трудоустройству — от составления резюме и рабочих профилей до психологических аспектов собеседований и адаптации на рабочем месте.
На всем пути вас будет сопровождать персональный карьерный консультант. Он поможет проанализировать вакансии, составить сопроводительное письмо, порекомендует вас в партнерские компании и предложит стажировки.
🆙 Не упустите возможность попробовать обучение на нашей платформе, перейдя по ссылке выше.
👍1
👍2