Переведённые на русский язык лекции топового Гарвардского курса CS50 по основам программирования. Курс охватывает ключевые концепции информатики, такие как алгоритмы, структуры данных, веб-разработка и многое другое.
Ссылочка на плейлист: YouTube🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Банальный, но всё равно очень крутой и полезный ресурс — W3Schools
Сайт, на котором собраны бесплатные онлайн-учебники на разные темы. Есть как справочники, которые помогут вспомнить синтаксис, так и полноценные самоучители.
📌 Ссылочка: schoolsw3.com
➡️ SQL Ready | #ресурс
Сайт, на котором собраны бесплатные онлайн-учебники на разные темы. Есть как справочники, которые помогут вспомнить синтаксис, так и полноценные самоучители.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Media is too big
VIEW IN TELEGRAM
Репозиторий SQL scripts!
В нем содержится коллекция полезных SQL-запросов и скриптов для различных баз данных, таких как MySQL, PostgreSQL и Microsoft SQL Server.
➡️ SQL Ready | #репозиторий
В нем содержится коллекция полезных SQL-запросов и скриптов для различных баз данных, таких как MySQL, PostgreSQL и Microsoft SQL Server.
Ссылочка на него: Github😸
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Очередная гифка, но на которой изображены блокировки баз данных, и их ключевые различия, сохраняем 👍
Блокировка — временное ограничение на выполнение некоторых операций обработки данных. Она предотвращают одновременный доступ к данным для обеспечения целостности и консистентности данных.
➡️ SQL Ready | #ресурс
Блокировка — временное ограничение на выполнение некоторых операций обработки данных. Она предотвращают одновременный доступ к данным для обеспечения целостности и консистентности данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Git How To — сайт, который предлагает пошаговые руководства и практические примеры для изучения системы контроля версий Git, облегчая процесс освоения её основных команд и функционала.
📌 Ссылочка: githowto.com
➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Mockaroo — это онлайн-инструмент для генерации фейковых данных в различных форматах (JSON, CSV, SQL и др.), идеально подходящий для тестирования приложений и прототипирования.
⛓ Ссылочка: mockaroo.com
➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Как защитить свои запросы от SQL-инъекций?
Если вы используете данные, введенные пользователем, напрямую в SQL запросах, вы рискуете дать доступ к вашей БД вредоносному коду.
Разберем, как НЕ нужно писать запросы, и какая практика обезопасит вас от SQL Injection.
Например, для авторизации пользователя проверяем его существование в нашей БД:
Но что если юзер в поле логин решил ввести следующее:
Тогда запрос приобретет вид:
И поскольку для запроса поле
Решение — использование параметризованных запросов и placeholders вида
Перепишем запрос с помощью Python, но условимся, что уже подключены к БД и объекту курсора для выполнения запросов:
И не забудем закрыть подключение к БД и объекту курсора.
🔥 Поэтому! Используйте параметризацию данных или ORM, внимательно настраивайте валидацию этих данных и вы точно избежите утечек связанными с SQL-инъекциями.
➡️ SQL Ready | #практика
Если вы используете данные, введенные пользователем, напрямую в SQL запросах, вы рискуете дать доступ к вашей БД вредоносному коду.
Разберем, как НЕ нужно писать запросы, и какая практика обезопасит вас от SQL Injection.
Например, для авторизации пользователя проверяем его существование в нашей БД:
SELECT * FROM users WHERE username = '$username' AND password = '$password'
Но что если юзер в поле логин решил ввести следующее:
' OR '1'='1'
Тогда запрос приобретет вид:
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '$password'
И поскольку для запроса поле
username
остается пустым, левая часть оператора OR
будет истиной, запрос вернет пользователю все учетные записи из БД, и тот сможет авторизоваться под любой из них. Решение — использование параметризованных запросов и placeholders вида
%s
для PostgreSQL. Перепишем запрос с помощью Python, но условимся, что уже подключены к БД и объекту курсора для выполнения запросов:
username = input()
password = input()
sql = "SELECT * FROM users WHERE username = %s AND password = %s;"
cur.execute(sql, (username, password)) # метод объекта курсора, выполняющий запрос
results = cur.fetchall() # возвращает все строки результата запроса
И не забудем закрыть подключение к БД и объекту курсора.
🔥 Поэтому! Используйте параметризацию данных или ORM, внимательно настраивайте валидацию этих данных и вы точно избежите утечек связанными с SQL-инъекциями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7
Как отследить, кто внес изменения в вашу таблицу?
Поговорим проснифферы трафика триггеры в SQL:
При внесении изменений в таблицу триггеры автоматически запускают выполнение разного рода и назначения функции. Рассмотрим, какие бывают типы триггеров и для каких событий.
В основном их используют для:
В следующей части рассмотрим как создать исполняемую функцию для такого триггера!
➡️ SQL Ready | #гайд
Поговорим про
При внесении изменений в таблицу триггеры автоматически запускают выполнение разного рода и назначения функции. Рассмотрим, какие бывают типы триггеров и для каких событий.
В основном их используют для:
• Предобработка данных перед записью в БД.
• Логирование изменений - кто внес изменения, добавил или удалил строчки.
• Оповещение другие модулей или сервисов при взаимодействии с таблицей.
• Реализация бизнес-логики.
В следующей части рассмотрим как создать исполняемую функцию для такого триггера!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤝4👍3