Получи случайную криптовалюту за регистрацию!

Python Заметки

Логотип телеграм канала @pythonotes — Python Заметки P
Логотип телеграм канала @pythonotes — Python Заметки
Адрес канала: @pythonotes
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.71K
Описание канала:

Интересные заметки и обучающие материалы по Python
Контакт: @paulwinex
Хештеги для поиска:
#tricks
#libs
#pep
#basic
#regex
#qt
#django
#2to3
#source
#offtop

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал pythonotes и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

2

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения

2022-08-09 20:39:40 Приветствую подписчиков.
Я даже несколько удивлён как это вы еще не разбежались ))

Многие мне пишут в личку с вопросом "Где брать курсы если сайт закрылся?".
Отвечаю — сайт не закрылся
Ввиду некоторой обстановки мой хостинг (Украинский кстати) немножко "закончился".
Мой хороший знакомый, админ данного хостинга, включил мой сервер на пару часов и я скачал все данные. После чего создал новый сервер в Европе и поднял там сайт.
На данный момент я закончил настройку и теперь сайт снова доступен.
А так же добавил домен COM, для тех у кого RU блокируют.
Теперь сайт доступен по адресам:

https://cgninjas.ru/
https://cgninjas.com/

(возможно на com почта не будет работать)

Также просят выложить всё на Youtube или на Torrent. Да я не против, только исходники у меня пропали вместе с HDD, так что надо потратить немало времени чтобы скачать, систематизировать и залить. Если вдруг выкрою недельку на это, то обязательно сделаю)))

Погодите, а что с каналом? он тоже всё?

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

Обязательно продолжу серию заметок... надеюсь скоро. А до тех пор я не хочу вас раздражать глупой рекламой глупых каналов (которые запрудили телеграм и предложения которой приходят регулярно) а лучше просто помолчу.

"Благодарим за понимание "

ЗЫ. Не пишите пжлст в личку, есть чат для этого
CGNinjasChat

#offtop
1.3K viewsedited  17:39
Открыть/Комментировать
2022-04-29 12:04:01
Репозитори на почитать для расширения кругозора.

Большой ликбез по экосистеме Python
https://github.com/brunocampos01/understanding-the-python-ecosystem

Подборка самых популярных полезностей для веб разработчиков
https://github.com/ml-tooling/best-of-web-python

Подборка библиотек для тех кто уважает типизацию в Python
https://github.com/typeddjango/awesome-python-typing

#basic #libs
676 views09:04
Открыть/Комментировать
2022-04-11 12:01:36 Блокировки, они повсюду...
Ох как надоела эта тенденция. Наша IT индустрия буквально стреляет себе в ногу силами определённых личностей и их мнений о том как для нас будет лучше.
Как бы там ни было, сейчас все советуют экстренно качать и переносить свои видосы с YouTube на отечественные аналоги.

Да, можно использовать оконные софты со всеми удобствами (VLC или Youtube Video Downloader), но мы лучше покодим

Я набросал небольшой скрипт для скачивания плейлиста с YouTobe в один клик.
Из зависимостей только модуль pytube.

Для скачивания выбирается максимально доступный размер видео файла.
Если файл уже существует то скачивания не будет. Удобно для апдейта обновлений.
Скрипт качает всё из плейлиста с помощью класса pytube.Playlist. Если хотите скачать канал, то просто замените класс на pytube.Channel

from pytube import Channel
PLAYLIST_URL = 'https://www.youtube.com/channel/XXXXXXXXX'
playlist = Channel(PLAYLIST_URL)

Забираем здесь

#source
1.2K views09:01
Открыть/Комментировать
2022-03-23 12:00:00 Celery это крутой инструмент для очереди задач web-вашего приложения на Python.
Но его монополию всё больше притесняет другая библиотека - dramatiq.

По словам автора, эта библиотека лишена всех проблем Celery

If you’ve ever had to use Celery in anger, Dramatiq could be the tool for you.

Обычно далее я пишу примеры как можно быстро опробовать библиотеку. Но кода там прилично, поэтому я сделал репозиторий с примером приложения на Flask.

Что реализовано в этом приложении:

Засетаплен dramatiq совместо с Flask с помощью flask-dramatiq
Отправка простых фоновых задач
Отправка периодических cron-задач по расписанию с помощью periodiq
Отмена запущенных задач с помощью dramatiq_abort
Задача с отложенной проверкой результата
Всё закатано в Docker, поэтому заводится с полпинка

В качестве брокера используется Redis. Он стартует быстрей чем RabbitMQ и dramatiq_abort пока что поддерживает только его. Шаблонов нет, фронт максимально глуп и минималистичен.

Код смотрим здесь https://github.com/paulwinex/flamatiq

Также стоит посмотреть:

dramatiq_dashboard
django_dramatiq

#libs
2.1K viewsedited  09:00
Открыть/Комментировать
2022-03-14 12:01:59 Раньше на курсах была проверка домашних заданий и
фитбек. Теперь, по понятным причинам, я не смогу это поддерживать в том же объёме.

Чтобы вам не учится в сферическом вакууме, я сделал для вас площадку для общения. А точней две!
Там вы сможете помогать друг другу, ведь старые студенты тоже подтянутся, за что я буду им очень благодарен.

Я тоже буду отвечать на ваши вопросы по возможности.

Основная площадка:
Discord Сервер

Запасной вариант:
Telegram Чат

Вход свободный, все чаты открыты.
Никакой политики и токсичности! Только по делу!
Нарушителей банить буду резко и с размаху!

@pythonotes

#offtop
3.4K views09:01
Открыть/Комментировать
2022-03-14 12:01:44 Помогая окружающим, лучше всего делать то, что умеешь делать лучше всего! Поэтому я решил сделать все свои курсы бесплатными и выложить в открытый доступ

Был период в моей жизни, когда эти курсы помогли мне выжить. Теперь, я надеюсь, они помогут кому-то еще.

Спасибо всем, кто покупал мои курсы, даже если потом не смотрел

Навыки программирования нынче оцениваются достаточно высоко, это шанс найти работу с зарплатой повыше, попросить повышения или просто улучшить свою продуктивность с помощью кодинга! Так что пользуйтесь

Сразу скажу, курсы не свежие, записанны в 2014-2015 гг. Некоторая информация устарела но примерно на ±90% всё еще актуально.

Какие курсы доступны:

Advanced Python Scripting
Это компиляция из 3х курсов начального, среднего и высокого уровня сложности. С нуля до создания собственных десктоп-приложений.

Python for Maya
Курс для Python-разработчиков в Maya. Да, Autodesk ушел от нас, но скорее всего, вернётся)

Python for Nuke
Курс для Python-разработчиков в Nuke.

Python for Houdini
Курс для Python-разработчиков в Houdini. Самый отстающий в актуальности курс, так как Houdini развивается и меняется очень стремительно и кардинально. Тем не менее, 80-90% курса актуальна.

Houdini Fundamentals
Курс поможет познакомиться с крутым софтом для 3D графики — SideFX Houdini. Записан на версии 16. Рассчитан на нулевой уровень подготовки.
На этот раз курс не про Python, только про сам софт.

Все Python-курсы записаны с Python2, вам потребуется изучить особенности перехода на версию Python3, о чем я не раз говорил на своём канале. Ищите по хэштегу #2to3

Остальные подробности в комментах

Переходите на сайт школы и выбирайте курс:
https://cgninjas.ru/

@pythonotes

#offtop
12.0K viewsedited  09:01
Открыть/Комментировать
2022-03-14 12:01:32 Из-за всем известных событий очень многие потеряли работу.
Для поиска вакансий вполне можно использовать паблики в telegram. Вот несколько которые мне известны:

https://t.me/django_jobs
https://t.me/javascript_jobs
https://t.me/workzavr
https://t.me/workoo
https://t.me/Workesss
@g_jobbot

Чем шире о себе заявите, тем больше шансов найти нужный контакт. Поэтому предлагаю айтишникам и художникам бесплатно разместить на моём канале @pythonotes информацию о вас.

Формат сообщения можно сделать примерно следующий:

_______________________________
Имя Фамилия
Специализация

О себе
- Долго думаю, быстро делаю.

Кем хочу работать
- Разработчик мобильных приложений

Локация
- Удалённо, возможен переезд в ГородНейм

Знаю языки программирования
- JSON
- CSS
- HTML

Хорошо владею софтом
- Maya. Ротоскопинг, трекинг
- Nuke. Персонажная анимация
- 3DsMax. Композитинг и кленап

Где работал
- Microsoft, админ лифта
- Yandex, доставка пончиков
- Disney, протирка шариков от мышей

Контакты
- Телеграм: @username
- Почта: user@name.com
- Полное резюме (ссылка на GoogleDoc/LinkedIn/PDF)
_______________________________

Картинки не надо, смайлы без фанатизма.

Текст присылайте в этот временный канал, где будем обсуждать все вопросы:
@pn_work

Если найдутся желающие, вакансии тоже могу запостить
Предложение актуально как минимум до лета 2022г.


Если будет хоть один пост, уже не зря старался)

@pythonotes

#offtop
2.3K views09:01
Открыть/Комментировать
2022-03-14 12:01:13 События последних дней сильно изменили жизнь многих из нас. Мы уже не будем прежними и мир вокруг не будет прежним.
Лично я всё ещё в некотором тупняке от происходящего...

Но этот канал не о политике и здесь я не буду рассуждать кто прав а кто виноват. Для нас сейчас главное — пережить пик кризиса и адаптироваться к новым реалиям. Обязательно беречь себя и помогать окружающим.

В свою очередь я хочу помочь всем, кто меня знает и читает. Поэтому у меня к вам есть три предложения...

#offtop
2.2K views09:01
Открыть/Комментировать
2022-02-22 12:00:00
Сегодня будет самый "двоичный" ("двойковый"? "двушный"? "двойственный"?) момент на вашем веку
Больше двоек в дататайме вы не застанете!

Успейте поймать момент! Будете показывать эпичный скриншот своим внукам)))

Для продуманных (ленивых): код на скрине, который сработает только сегодня и только 1 раз!
Открывайте окошки с часами и вперёд!

#offtop
583 views09:00
Открыть/Комментировать
2022-02-02 11:59:59 Метод строки split() разделяет строку на несколько строк по указанному символу

>>> "a_b_c".split('_')
['a', 'b', 'c']

Можно указать максимальное количество разделений

>>> "a_b_c".split('_', 1)
['a', 'b_c']

Или резать с другой стороны с помощью rsplit() (right split)

>>> "a_b_c".rsplit('_', 1)
['a_b', 'c']

А что будет если оставить аргументы пустыми?

>>> "a_b_c".split()
['a_b_c']

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

>>> "a b c".split()
['a', 'b', 'c']

То есть это равнозначно такому вызову?

>>> "a b c".split(" ")
['a', 'b', 'c']

Кажется да, но нет! Давайте попробуем добавить пробелов между буквами

>>> "a b c".split(" ")
['a', '', '', 'b', '', '', 'c']

И вот картина уже не так предсказуема
А вот что будет по умолчанию

>>> "a b c".split()
['a', 'b', 'c']

Всё снова красиво!

По умолчанию в качестве разделителя используется любой пробельный символ, будь то табуляция или новая строка. Включая несколько таких символов идущих подряд. А также игнорируются пробельные символы по краям строки.

>>> "a\t b\n c ".split()
['a', 'b', 'c']

Аналогичный способ можно собрать с помощью регулярного выражения. Но пробелы по краям строки придется обрабатывать дополнительно.

>>> import re
>>> re.split(r"\s+", ' a b c '.strip())
['a', 'b', 'c']

Здесь тоже можно указать количество разделений

>>> re.split(r"\s+", 'a b c', 1)
['a', 'b c']

А что если мы хотим написать красиво, то есть split() без аргументов, но при этом указать количество разделений? В этом случае первым аргументом передаём None

>>> "a\n b c".split(None, 1)
['a', 'b c']

Данный метод не учитывает строки с пробелами, взятые в кавычки

'a "b c" '.split()
['a', '"b', 'c"']

Но для таких случаев есть другие способы.

#tricks #basic
636 views08:59
Открыть/Комментировать