This media is not supported in your browser
VIEW IN TELEGRAM
Двойственные ощущения вызывает этот тест крема Vim...
😁17🤔11👍4👎3❤2
LiteralString: Защита от SQL-инъекций
Внутрь текста (например, в поле формы) можно внедрить SQL-запрос и видоизменить базу данных. Начиная с Python 3.11 мы можем использовать LiteralString во избегание таких уязвимостей:
Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
Внутрь текста (например, в поле формы) можно внедрить SQL-запрос и видоизменить базу данных. Начиная с Python 3.11 мы можем использовать LiteralString во избегание таких уязвимостей:
def caller(
arbitrary_string: str,
query_string: LiteralString,
table_name: LiteralString,
) -> None:
run_query("SELECT * FROM students") # ok
run_query(query_string) # ok
run_query("SELECT * FROM " + table_name) # ok
run_query(arbitrary_string) # error
run_query(f"SELECT * FROM students WHERE name = {arbitrary_string}" # error
)
Спасибо подписчику @Trizalio за годную тему для поста.
#лучшиепрактики
👍8
Что такое байт-код и как он поможет при дебаггинге
Мы нашли для вас качественную получасовую лекцию с PyCon Cleveland, где автор рассказывает, как читать байт-код и что полезного в нём можно найти в процессе отладки программы.
#дебаггинг
Мы нашли для вас качественную получасовую лекцию с PyCon Cleveland, где автор рассказывает, как читать байт-код и что полезного в нём можно найти в процессе отладки программы.
#дебаггинг
👎2😐1
Каким будет результат выполнения кода?
Anonymous Poll
7%
[10, 5,, 6]
16%
[10, 5, 6]
59%
[10, 6]
18%
Error
CustomTkinter
CustomTkinter предлагает широкий набор современных
настраиваемых UI-элементов. Они могут использоваться также, как обычные Tkinter-виджеты, а также комбинироваться с существующими.
Ссылка на репозиторий
#tkinter
CustomTkinter предлагает широкий набор современных
настраиваемых UI-элементов. Они могут использоваться также, как обычные Tkinter-виджеты, а также комбинироваться с существующими.
Ссылка на репозиторий
#tkinter
👍10
dbt — достойный конкурент Apache Kafka
ПО специализируется на преобразовании данных в ETL-процессах. Работает на базе Jinja, SQL и Python.
Илья Тищенко, ведущий архитектор хранилищ данных в Ростелекоме, сделал подробный обзор продукта. В его статье вы узнаете:
— где именно в extract-transform-load инструмент даёт больше возможностей;
— как установить фреймворк;
— как создать проект и проч.
#dbt #etl
ПО специализируется на преобразовании данных в ETL-процессах. Работает на базе Jinja, SQL и Python.
Илья Тищенко, ведущий архитектор хранилищ данных в Ростелекоме, сделал подробный обзор продукта. В его статье вы узнаете:
— где именно в extract-transform-load инструмент даёт больше возможностей;
— как установить фреймворк;
— как создать проект и проч.
#dbt #etl
💩5🤡3👍2❤1
Python стал самым популярным языком
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
❤🔥9👍6🤡5😁3👏2
Match для проверки типа
Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут match и встроенные функции приведения к типам данных:
#лучшиепрактики
Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут match и встроенные функции приведения к типам данных:
>>> var = 1
>>>
>>> match var:
>>>
case str():
>>>
print('Строковый тип')
>>>
case float():
>>>
print('Число с плавающей запятой')
>>>
case int():
>>>
print('Целочисленный тип')
>>>
case None:
>>>
print("None")
>>>
case _:
>>>
print('Другой тип данных')
... Целочисленный тип
#лучшиепрактики
👍17💩7🤡2
Media is too big
VIEW IN TELEGRAM
Работает – не трогай, или победитель рейтинга важнейших принципов программирования.
На видео – перекресток города Хошимин, Вьетнам.
На видео – перекресток города Хошимин, Вьетнам.
💩11❤🔥3😁3👍2
👎92👏1
Выгрузка файлов из мессенджера в облако
Пользователь viperadnan-git предлагает всем желающим развернуть свой экземпляр бота, который автоматически выгружает пересланные ему файлы в Google Drive.
Репозиторий на GitHub
#googledrive #telegram
Пользователь viperadnan-git предлагает всем желающим развернуть свой экземпляр бота, который автоматически выгружает пересланные ему файлы в Google Drive.
Репозиторий на GitHub
#googledrive #telegram
❤2
sqlite3 для работы с БД
В Python существует встроенный модуль для работы с базой на SQLite с поддержкой большинства команд:
#SQL
В Python существует встроенный модуль для работы с базой на SQLite с поддержкой большинства команд:
import sqlite3
# Подключимся к базе orders
conn = sqlite3.connect('orders')
cur = conn.cursor()
# Отобразим всю таблицу addons
cur.execute('SELECT * FROM addons')
cur.fetchone()
#SQL
👍6😁1
pyproject.toml вместо pyproject.cfg
В PEP-518 предложили хранить конфиги для всех инструментов в файле pyproject.toml, в разделе tool.TOOL_NAME. Например:
[tool.mypy]
На данный момент почти все популярные инструменты так или иначе поддерживают pyproject.toml в качестве конфигурационного файла: mypy, pytest, cover, isort, bandit, tox и т. д. Единственное исключение — flake8.
До .toml многие инструменты использовали setup.cfg для той же цели, но этот формат имеет несколько недостатков: он плохо стандартизирован, и единственным поддерживаемым типом значений является строка.
#PEP
В PEP-518 предложили хранить конфиги для всех инструментов в файле pyproject.toml, в разделе tool.TOOL_NAME. Например:
[tool.mypy]
файлы = ["мой_проект"]
версия_python = 3.8
На данный момент почти все популярные инструменты так или иначе поддерживают pyproject.toml в качестве конфигурационного файла: mypy, pytest, cover, isort, bandit, tox и т. д. Единственное исключение — flake8.
До .toml многие инструменты использовали setup.cfg для той же цели, но этот формат имеет несколько недостатков: он плохо стандартизирован, и единственным поддерживаемым типом значений является строка.
#PEP
❤9👍2