
Serge
10.03.2017
20:48:24
14.03 / 19:00 / Сергей Матвеенко / Про Python на IT Talk
https://plus.google.com/+aspectmkn8rd/posts/QLNkTU5ttvb

Vitali K.
12.03.2017
08:57:18
@jetbootsmaker и я ищем python разработчика от 120 net
СПб офис или удаленка
https://docs.google.com/document/d/1lElc_MXhK97H0e_0M9lzxDbljpF2o5P42wPSnwdmbt0/edit#?sexy_chicks_2
#python3 #вакансия #работа

Aleksander
12.03.2017
09:30:29
неистово плюсую

Aleksandr
12.03.2017
11:38:05
Sexy chicks!

Google

Vitali K.
12.03.2017
11:54:12
Привлекаю как могу)

Dmitry
12.03.2017
12:19:06
позиции на гугл.докс, брр >_<
хоть бы пдфкой выложил
а так — котик хороший и разумный, идите к нему работать :)
Ээ, леди и джентльмены, я пролил с утра воду на телефон и благодаря этому случайно удалил какое-то из ваших сообщений. Если вы вдруг это обнаружили, то знайте, это не потому, что ваше сообщение было плохим или не важным :< Простите, пожалуйста, буду аккуратнее.

Serge
12.03.2017
12:54:56

Dmitry
12.03.2017
12:55:10
разве? о_0 окей..

Serge
12.03.2017
12:55:42
PDF не всегда
Но сейчас я бы лично уже на paper клал.
Но, что это я, какой paper. Github же:) тупо в репу

Roman
12.03.2017
14:22:19
занятно, как asyncio ломает кучу всего =/

Nikolay
12.03.2017
14:23:34

Roman
12.03.2017
14:49:47

Google

Nikolay
12.03.2017
14:50:04
wsgi ?
а какое отношение asyncio имеет к wsgi?
wsgi не умеет в асинхронность нормально же, никогда не умел, причем тут asyncio - непонятно

Roman
12.03.2017
14:54:33

Nikolay
12.03.2017
14:54:57
это вообще разные парадигмы, как они связаны?

Roman
12.03.2017
14:57:05

Nikolay
12.03.2017
15:00:03
requests пока чисто синхронный, да
с шифрованием не все гладко

Roman
12.03.2017
15:00:37

Nikolay
12.03.2017
15:01:06
http2?
https://github.com/python-hyper/hyper-h2
эта имплементация concurrent-agnostic, если я правильно помню
ты можешь ее использовать с asyncio
https://github.com/python-hyper/hyper-h2/blob/master/examples/asyncio/asyncio-server.py
вот тут пример сервера, я думаю, с клиентом будет похоже

Roman
12.03.2017
15:03:23
ммм
а как оно на винде?
у меня есть странная хотелка - мне нужен быстрый кастомный http-сервер на винде =(

Nikolay
12.03.2017
15:04:59
но про винду не знаю, если честно

Google

Nikolay
12.03.2017
15:05:16
по идее, не должно быть проблем

Serge
12.03.2017
15:05:48
это вообще разные парадигмы, как они связаны?
Они связаны тем, что хочется использовать wsgi протокол, а не http, потому что aiohttp медленно. И возникает желание хотя бы куда-нибудь увести парсинг хттп. И тут мы вспоминаем про wsgi, который когда-то для этого и придумали. И логичным кажется расширить его под asyncio.
Я уже видел пару проектов про это, кстати.

Nikolay
12.03.2017
15:06:59

Roman
12.03.2017
15:07:20

Nikolay
12.03.2017
15:07:31
можно посмотреть на (черт побери) japronto и заюзать picohttpparser из него, если скорость разбора http не устраивает

Roman
12.03.2017
15:07:56

Nikolay
12.03.2017
15:08:16
или тебе на питоне надо прям?

Roman
12.03.2017
15:08:34

Nikolay
12.03.2017
15:08:57

Roman
12.03.2017
15:09:00
nginx с плагином?
а чем он поможет? и повторяю, мне нужна винда )) и очень хочется на ней iocp

Serge
12.03.2017
15:09:10

Roman
12.03.2017
15:09:12
https://github.com/python-hyper/hyper-h2/blob/master/examples/asyncio/wsgi-server.py

Nikolay
12.03.2017
15:09:44

Roman
12.03.2017
15:09:45
вот есть забавный велосипед.

Nikolay
12.03.2017
15:10:18
но когда будет пайплайнинг - оно будет быстро

Roman
12.03.2017
15:10:40
The WSGI application and the HTTP/2 server communicate via an asyncio queue,
together with locks and threading events. The locks themselves are implicit in
asyncio's "call_soon_threadsafe", which allows for a background thread to
register an action with the main asyncio thread. When the asyncio thread
eventually takes the action in question it sets as threading event, signaling
to the background thread that it is free to continue its work.

Serge
12.03.2017
15:10:40

Google

Serge
12.03.2017
15:11:10

Nikolay
12.03.2017
15:11:15
сам по себе asyncio - быстрый, пока не надо (сюрприз) дергать питоновый код
но это проблема любого асинхронного языка, который не джаваскрипт
в джаваскрипте там проблемы, скорее, обратные

Roman
12.03.2017
15:12:16

Admin
ERROR: S client not available

Roman
12.03.2017
15:12:31

Nikolay
12.03.2017
15:14:01
luajit?
давно хочу на него посмотреть
там какая-то аццкая ассемблерная магия?

Serge
12.03.2017
15:14:29
Во вторник узнаем всё про питон

Roman
12.03.2017
15:14:59

Nikolay
12.03.2017
15:15:37
и вопросов реально немало к нему
я на прошлом Moscow Python Conf со Светловым сидел тер за asyncio
он говорил, что в aiohttp затрахались без нормальных контрибьюторов

Roman
12.03.2017
15:18:28
там какая-то аццкая ассемблерная магия?
Там просто хорошо сбалансированный язык + талантливый автор. у luajit ~ 80kloc кода против ~ 2mloc у v8, а скорость в итоге часто быстрее. Плюс, свежий(2.1) luajit работает даже на mips с soft-float.

Nikolay
12.03.2017
15:19:28
если честно - меня подмывает взять наработки с pyston и luajit и сделать свой дистриб питона, с блекджеком и шлюхами

Serge
12.03.2017
15:19:47

Google

Nikolay
12.03.2017
15:19:48
пусть даже большинства модулей там поначалу не будет, но он будет нормальный по производительности

Roman
12.03.2017
15:19:52
и самое главное - lua не знает ничего про треды. потому можно легко запустить свою lua vm в каждом треде.

Nikolay
12.03.2017
15:20:33

GNU/Docker
12.03.2017
15:20:36

Nikolay
12.03.2017
15:20:52
мол, давно надо распилить и сделать возможность запуска нескольких интерпретаторов в одном процессе
более того, по коду ничего не мешает
просто все чего-то ссут

Serge
12.03.2017
15:24:39

GNU/Docker
12.03.2017
15:25:00
чёт всё позже и позже)

Serge
12.03.2017
15:25:44

Nikolay
12.03.2017
15:27:49
вот тут про это есть
The problem with this, is that Python's interpreter has a huge amount of global state. In fact, you can only have one interpreter. A much better design would be to setup the interpreter and run something on it:
interpreter *iptr = make_interpreter();
interpreter_run_code(iptr):
finalize_interpreter(iptr);

Dmitry
12.03.2017
22:36:19
к нам кстати во вторник придёт знакомиться мейнтейнер Pillow (которую вы тут все наверняка используете) - он очень крутой и прикольный чувак, так что приходите )

Eugene
13.03.2017
04:38:06
> Pillow
Помню, надо было нарисовать этой библиотекой цветные прямоугольники на картинке (PIL.ImageDraw.Draw.rectangle). Я был обескуражен тем фактом, что нельзя задать толщину линии. При этом, функция отрисовки линии PIL.ImageDraw.Draw.line позволяет её задать!
А отрисовка прямоугольника линиями мало того, что занимает в 4 раза больше тупого кода, так оно ещё и криво выглядит, о чём они заботливо упомянули в документации:
The line width, in pixels. Note that line joins are not handled well, so wide polylines will not look good.
И это вы называете хорошей библиотекой?