Гоша Дударь про разработку Python-ботов с нуля
В своём плейлисте на 12 роликов известный ютьюбер показывает, как создать бота на aiogram, подключить к нему базу данных SQLite и развернуть свой проект для связки с Telegram. Прекрасный стек для новичков.
#aiogram #sqlite #webhookбот
В своём плейлисте на 12 роликов известный ютьюбер показывает, как создать бота на aiogram, подключить к нему базу данных SQLite и развернуть свой проект для связки с Telegram. Прекрасный стек для новичков.
#aiogram #sqlite #webhookбот
👎26👍8💩7🤡3❤2
GPT-Migrate — ИИ-инструмент для миграции с одного языка или фреймворка на другой
GPT-Migrate позволяет быстрее переписать весь код с одного языка программирования на другой. Подробнее о том, как мигрировать с языка на язык, включая Python, в статье Рафаила Агазода,
#лучшиепрактики
GPT-Migrate позволяет быстрее переписать весь код с одного языка программирования на другой. Подробнее о том, как мигрировать с языка на язык, включая Python, в статье Рафаила Агазода,
#лучшиепрактики
Прекратите использовать datetime.utcnow()!
Благодаря нашему подписчику @Nekozawa, вашему вниманию альтернативный способ сгенерировать временной штамп без использования
Оптимальный способ выглядит так:
Статья, отправляющая utcnow() в анналы истории, здесь.
#лучшиепрактики
Благодаря нашему подписчику @Nekozawa, вашему вниманию альтернативный способ сгенерировать временной штамп без использования
utcnow()
. Этот метод, в виду своей «наивности» не учитывает часовой пояс, что может привести к ошибкам и, что хуже, некорректной работе кода.Оптимальный способ выглядит так:
tmstmp = datetime.now(tz=timezone.utc)
Статья, отправляющая utcnow() в анналы истории, здесь.
#лучшиепрактики
🔥6❤1👍1👎1
Как архивировать папку силами Python
С этим поможет библиотека zipfile. Она последовательно запакует в каждый из файлов в .zip:
#zipfile
С этим поможет библиотека zipfile. Она последовательно запакует в каждый из файлов в .zip:
import os
import zipfile
def zipdir(path, ziph):
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file),
os.path.relpath(os.path.join(root, file),
os.path.join(path, '..')))
with zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
zipdir('tmp/', zipf)
#zipfile
👍2
Скрытый функционал цикла while
Оказывается, у
#факты
Оказывается, у
while
есть свой else
, как и у if
! В своём YouTube-шортсе @Indently показывает, как вызывать c else
уведомление об окончании действий в цикле.#факты
💩12👍10🤣6👀2
Airbrake: мониторинг ошибок
Эта система мониторинга подключается к вашему проекту Django всего за четыре строки кода:
Библиотека предлагает, помимо категоризации ошибок, ещё и аналитику (как меняется число ошибок от недели к неделе, как изменилось время ответа сервера и т.д.)
#airbrake #факты
Эта система мониторинга подключается к вашему проекту Django всего за четыре строки кода:
pip install -U pybrake
import pybrakenotifier = pybrake.Notifier(
project_id=123,
project_key='abcdefgh12345678')
Библиотека предлагает, помимо категоризации ошибок, ещё и аналитику (как меняется число ошибок от недели к неделе, как изменилось время ответа сервера и т.д.)
#airbrake #факты
👍7👎1
Запись логов в файл методом print()
В своём коротком видео ютьюбер @Indently показывает, как изменить статус выводимого
#лучшиепрактики
В своём коротком видео ютьюбер @Indently показывает, как изменить статус выводимого
print()
текста на ошибку, чтобы усовершенствовать процесс отладки. Всего за 6 строк кода он создает возможность записывать время возникновения ошибки и кастомный текст, описывающий её.#лучшиепрактики
💩29👍3❤1
Удобная запись больших чисел в Python
Если уж и довелось использовать в коде большое число, то для улучшения его читаемости (в коде, не на выводе) можно использовать «экспоненциальную запись» (Scientific Notation). В своём минутном ролике @Indently показывает, какие принимаются разделители, кроме пробела.
#лучшиепрактики
Если уж и довелось использовать в коде большое число, то для улучшения его читаемости (в коде, не на выводе) можно использовать «экспоненциальную запись» (Scientific Notation). В своём минутном ролике @Indently показывает, какие принимаются разделители, кроме пробела.
#лучшиепрактики
❤4💩4
Гвидо ван Россум о создании Python за 4+ минуты
Короче, наверное, и не расскажешь. Создатель языка рассказал вкратце (на английском), что послужило предпосылкой для создания языка, причём здесь Амстердам и чем ему не угодили shell-скрипты.
#интервью
Короче, наверное, и не расскажешь. Создатель языка рассказал вкратце (на английском), что послужило предпосылкой для создания языка, причём здесь Амстердам и чем ему не угодили shell-скрипты.
#интервью
👏10👍2🔥2
Рейтинг лучших программистов в мире 2023
Объявляем баттл за звание лучшего программиста мира.
В сегодняшнем раунде участвуют две пары:
— Марк Цукерберг, создатель запрещённой в РФ компании против Павла Дурова, создателя Вконтакте и Telegram;
— Илон Маск, основатель SpaceX, владелец Twitter, соучредитель Neuralink и OpenAI против Сергея Брина, соучредителя Google.
#баттлпрограммистов
Объявляем баттл за звание лучшего программиста мира.
В сегодняшнем раунде участвуют две пары:
— Марк Цукерберг, создатель запрещённой в РФ компании против Павла Дурова, создателя Вконтакте и Telegram;
— Илон Маск, основатель SpaceX, владелец Twitter, соучредитель Neuralink и OpenAI против Сергея Брина, соучредителя Google.
#баттлпрограммистов
👎22💩12🔥3🤡2
Trafilatura: CLI-аналог BeautifulSoup
Интересный opensource-инструмент Trafilatura, предлагающий скрейпинг содержимого веб-страниц. По заверениям создателя, утилита пытается найти баланс между ограничением шума («левых» элементов на странице) и включением всех смыслонесущих частей.
Какие удобные утилиты для парсинга, кроме BS4, вы знаете? Поделитесь в комментариях.
#CLI
Интересный opensource-инструмент Trafilatura, предлагающий скрейпинг содержимого веб-страниц. По заверениям создателя, утилита пытается найти баланс между ограничением шума («левых» элементов на странице) и включением всех смыслонесущих частей.
Какие удобные утилиты для парсинга, кроме BS4, вы знаете? Поделитесь в комментариях.
#CLI
👍5🔥3❤2
Рейтинг лучших программистов в мире 2023: раунд 2
В первом раунде баттла победили Дуров и Брин, а сегодня за звание лучшего программиста в мире будут бороться новые пары.
Первая пара:
— Джеймс Гослинг, создатель Java;
— Бьёрн Страуструп, создатель С++;
Вторая пара:
— Гвидо ван Россум, создатель Python;
— Андерс Гейлсберг, создатель Turbo Pascal, Delphi, C# и TypeScript.
Давайте накидаем плюсов Гвидо ван Россуму! Ссылка на голосование
#баттлпрограммистов
В первом раунде баттла победили Дуров и Брин, а сегодня за звание лучшего программиста в мире будут бороться новые пары.
Первая пара:
— Джеймс Гослинг, создатель Java;
— Бьёрн Страуструп, создатель С++;
Вторая пара:
— Гвидо ван Россум, создатель Python;
— Андерс Гейлсберг, создатель Turbo Pascal, Delphi, C# и TypeScript.
Давайте накидаем плюсов Гвидо ван Россуму! Ссылка на голосование
#баттлпрограммистов
🤡27👍3💩2💔1
Три способа выделить уникальные элементы списка
Частый запрос среди новичков по версии AnswerThePublic. Дополним привычное представление об удалении дубликатов парой трюков.
Допустим, у нас есть список:
set
not in
numpy.unique
#лучшиепрактики
Частый запрос среди новичков по версии AnswerThePublic. Дополним привычное представление об удалении дубликатов парой трюков.
Допустим, у нас есть список:
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
set
set_res = set(list_inp)
print("The unique elements of the input list using set():\n")
list_res = (list(set_res))
not in
for item in list_inp:
if item not in res_list:
res_list.append(item)
numpy.unique
import numpy as np
res = np.array(list_inp)
unique_res = N.unique(res)
#лучшиепрактики
👍7❤1
Загонка списка в print() без явного цикла
Допустим, нам нужно вывести инвентарь игрока:
Сделать это можно с помощью f-строки и join():
#лучшиепрактики
Допустим, нам нужно вывести инвентарь игрока:
inv = ['Железный меч',
'Исцеляющее зелье',
'Деревянный щит',
'Палка']
Сделать это можно с помощью f-строки и join():
>>> print(f"У вас есть: {', '.join(inv)}")
... У вас есть: Железный меч, Исцеляющее зелье, Деревянный щит, Палка
#лучшиепрактики
🔥24👍6🤡5👏1
Фичи из свежих релизов Python
Рассказываем в статье, какие новые функции появились в свежих релизах Python. Среди них прокачанный трейсинг ошибок и чтение TOML-конфигов.
#лучшиепрактики
Рассказываем в статье, какие новые функции появились в свежих релизах Python. Среди них прокачанный трейсинг ошибок и чтение TOML-конфигов.
#лучшиепрактики
👍4👎1
Какой у вас профессиональный уровень в IT?
Anonymous Poll
32%
Ещё не работаю в IT (учусь или хочу начать учиться)
4%
Intern / Стажёр
12%
Junior / Младший разработчик
19%
Middle / «Миддл»
6%
Senior / Старший разработчик
5%
(Team) Lead / Руководитель команды или ведущий разработчик
2%
Руководитель разработки, департамента, топ-менеджер
9%
Связан с IT, но не разработчик (дизайнер, продакт, аналитик и т.д.)
9%
Посмотреть результаты
Интервью с Гвидо ван Россумом из Оксфорда
В своём англоязычном интервью создатель Python рассказал про:
— предпосылки создания языка (причем здесь язык C и shell-скрипты);
— сохранение мотивации;
— женщин в Python;
— предполагаемое будущее языка;
— крупные проблемы ЯП и другие интересные темы.
#факты
В своём англоязычном интервью создатель Python рассказал про:
— предпосылки создания языка (причем здесь язык C и shell-скрипты);
— сохранение мотивации;
— женщин в Python;
— предполагаемое будущее языка;
— крупные проблемы ЯП и другие интересные темы.
#факты
👍8
Autopep: наводим порядок в коде
Интересный чистильщик кода autopep8 приведёт ваш файл.py к читаемому и корректному состоянию:
Помимо привычных возможностей, вроде корректировки отступов:
— конвертация многострочных комментариев из # в ''';
— разделяет код на строки согласно кастомной максимальной допустимой длине.
#факты
Интересный чистильщик кода autopep8 приведёт ваш файл.py к читаемому и корректному состоянию:
pip install --upgrade autopep8
autopep8 --in-place filename.py
Помимо привычных возможностей, вроде корректировки отступов:
— конвертация многострочных комментариев из # в ''';
— разделяет код на строки согласно кастомной максимальной допустимой длине.
#факты
👍7❤2😁1