Size: a a a

2019 October 15

SA

Sergey Arkhipov in rannts
Это хорошим не кончится. Однажды Рубей завезли в Эрланг, и получился Эликсир
источник

NK

Nick Kugaevsky in rannts
И он прекрасен.
источник

NK

Nick Kugaevsky in rannts
Хе-хе-хе
источник

NK

Nick Kugaevsky in rannts
Любой язык, куда завозят руби, становится лучше и краше
источник

SA

Sergey Arkhipov in rannts
Надо попробовать руби в руби завезти, раз так
источник

💭П

💭 Руслан Прохоров in rannts
Sergey Arkhipov
Надо попробовать руби в руби завезти, раз так
тонко )
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Sergey Arkhipov
python 3.8. Обьясните, зачем там такое: def f(a, b, /, c, d, *, e, f)? Вот серьезно, чтобы потом можно было переименовать аргумент внутри функции?
Есть ведь доклад обзорный от чувака из JetBrains, где он толково, с углублением в историю вопроса разъяснил все основные новые фичи 3.8. После его просмотра у меня не было ощущения, что там что-то лишнее добавили.
источник

SA

Sergey Arkhipov in rannts
Я сейчас много чего пропускаю(
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Давно этот доклад был, и по моему тут даже ссылку на него кидали
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Только надо русскую версию искать - у него ещё на инглише есть этот доклад
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Вот конкретно момент про онли-позишионал
https://youtu.be/Fpb72U3wW7w?t=711
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Всё дело в C-функциях
источник

NK

Nick Kugaevsky in rannts
Sergey Arkhipov
Надо попробовать руби в руби завезти, раз так
Всё скоро будет. Матц повелел на рубираша.
источник

SA

Sergey Arkhipov in rannts
Посмотрел. Казалось бы, где си, а где питон, и почему один язык должен думать о другом. ну ок, если меньше хаков и костылей будет, то ладно. Хотя мне все равно не нравится идея вводить дополнительный элемент синтаксиса для этого всего
источник

SZ

Sergey Z in rannts
источник

NK

Nick Kugaevsky in rannts
источник
2019 October 16

KK

Kirill (Cykooz) Kuzminykh in rannts
Кажется я столкнулся с некоторым "несовершенством" в архитектуре asyncio.
Там есть такая штука, как возможность отменить корутину. Физически это делается так, что когда мы вызваем метод cancel() для корутины, то это вызывает исключение CancelledError в корутине, но не в той для которой мы вызвали отмену, а в самой последней в цепочке корутин, которые в данный момент await-ся из родительской корутины. И далее это исключение по этой же цепочке, в обратном направлении, поднимается до самой первой корутины.
"Несовершенство" заключается в том, что нельзя понять где именно "произошла" отмена корутины. Это может быть какая-то верхнеуровневая корутина, которая по каким-то причинам отменила свою "дочернюю" корутину (таймаут или клиент разорвал конект). Или это исключение случилось по другим причинам где-то в глубине цепочки корутин.

Проблема с этим заключается в том, что не понятно как обрабатывать это исключение в каком-то промежуточном слое, который находится, например, между веб-сервером и вьюшкой обрабатывающей запрос. Вот есть у меня в aiohttp миделвара, которая логирует исключения, которые прилетели из вьюшек. И иногда прилетает CancelledError. И я не могу определить - это веб-сервер иницировал это исключение из-за того что произошёл обрыв конекта, или что-то реально случилось внутри вьюшки. В первом случае мне ничего делать не надо - просто прокинуть исключение дальше. Во втором мне надо залогировать ошибку, и вернуть клиенту корректный HTTP-ответ (500-ую ошибку).
источник

RB

Roman Bolkhovitin in rannts
Выбрось асинкио, пиши на го )
источник

RB

Roman Bolkhovitin in rannts
источник