Как стать автором
Обновить
33
1.8

Пользователь

Отправить сообщение

На всякий случай, а после "исправления" Австралия всё еще существует? Кто-нибудь оттуда отзовитесь?

Спасибо, но у меня есть несколько замечаний.

Во-первых, мне кажется, что введение метода wait только для асинхронных операций - не очень красиво. И не очень очевидно. Я бы предложил реализовать эту фичу и для синхронного режима тоже. Варианты: методы wait/wait_async, что-то вроде аналога asgiref.sync.sync_to_async или вообще декоратор.

Кстати, вместо `await token.wait()` может быть сделать просто `await token` ?

Во-вторых, ваша реализация с помощью while/sleep(0.0001) мне кажется очень неправильной. Смысл asyncio в том чтобы освобождать процессор, а вы заставляете его переключаться в вашу проверку и заново проверять все условия (втч синхронные) - каждый цикл эвентлупа. Простите, но уж лучше я останусь со своим вариантом. Должен сказать, что не могу сразу предложить вариант лучше. Возможно имеет смысл ввести отдельный асинхронный токен. И, возможно, не разрешать его смешивать с синхронными (по крайней мере поначалу). Поскольку, например ваша run_function теоретически тоже может пригодиться быть асинхронной.

Кстати, ваш CounterToken в этом методе лучше вообще принудительно выключать.

Замечание по документации, на которую вы дали ссылку - вы же в курсе что у вас код синхронный в примере? Несмотря на await, все строки кода будут выполняться последовательно. Метод asyncio.create_task подошел бы лучше для вызова do_something.

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

Было бы удобно завести какой-нибудь токен для asyncio и его друзей.

Например, создаем токен и делаем await на него, после cancel он возвращает управление. Сейчас для таких целей использую asyncio.Event, но ваши токены выглядят удобнее.

В первую очередь хочется избавиться от конструкций вроде таких:

await asyncio.wait([e.wait() for e in stop_events], timeout=10, return_when=asyncio.FIRST_COMPLETED)

Ещё блокчейн надо.

Зашел В Комментарии Чтобы Написать То Же Самое, Но Вы Меня Опередили.

Ну если вам цитата из Википедии снова подойдёт, то вот ещё:

Like its predecessors, the Windows 3.1 series ran as a shell on top of MS-DOS.

Любопытно, что если посмотреть на ту же самую статью, но на английском, то там немного подробнее:

In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.

Как пример на картинке приведен скриншот X Window System. Она тоже предоставляла функции, которых не було у Linux/Unix - окошечки, курсорчики, шрифты, мышечка.

Меня, в своё время, учили что BIOS - это часть операционной системы.

Не совсем понятна ваша коннотация к слову "интерн", но выглядит как что-то негативное. Однако, на Мигеля Гринберга бочку катить не надо, пожалуйста. Вы список его репозиториев видели? Лично я использую его python-socketio постоянно.

Ждём через пару дней новость: вслед за CZ из Binance ушли ключевые разработчики и $10 млрд. Еще через пару дней - Минюст США ушел в отставку, а CZ вернулся в Binance.

Я рубист-расстрига, перешедший в Питон. Могу вам заявить что ваше высказывание - это исключительно ваше мнение. Например, я с этим не согласен. Не надо обобщать - это очередной холивар.

И не забудьте проверить коммиты хотя бы после форка. Кто знает что туда добавили потом.

Мне кажется что надо бояться не удаления репозитория, а наоборот - того, что в какой-нибудь из таких проектов по "обеспечению анонимности" внезапно тихо не приедет коммит с фичей по "мониторингу качества связи" и отправкой "анонимной" статистики на некий сервер.

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

Пока Гвидо прокладывал курс - все двигалось более-менее последовательно. Ну решил он что ++ - это синтаксический сахар. Особенно со всеми этими неопределенностями с `i++ + ++i - ++i` и прочими..

А потом он решил устроить демократию и разрешить парочку PEP добавить контрибьюторам..

Так и появился моржовый оператор и match..

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

На хабре pattern matching уже несколько раз описывался, и гораздо подробнее. Немного обсуждения было тут.

Лично моё мнение - там внутри него столько всего наворотили, что упоминать "явное лучше неявного" уж лучше постеснялись бы после этого. Happy debugging, bitches.

По правилам арифм.прогрессии

Луна в ретроградном Козероге, чёрный петух прокричал два раза, на озере круги - не 16, а 17.5 минут вам наука говорит.

На первой картинке внезапно встретил "DevOps". Что-то мне подсказывает что там должен был быть "Data Scientist", например.

Ещё можно вместо бейджиков просто всем униформу предыдущих "сотрудников" раздать. И охранников с "опытом работы" найдется достаточно.

Элементная база - 30-см техпроцесс, наверное, вот и надо большую чтоб помещалось всё.

Информация

В рейтинге
1 088-й
Откуда
Пафос, Government controlled area, Кипр
Дата рождения
Зарегистрирован
Активность