@spbpython

Страница 36 из 785
Roman
08.04.2016
12:37:24
нет

Aleksandr
08.04.2016
12:37:40
А что у нас сейчас стандарт? Вроде 256 в утиль пустили.

Или то про 128 было ...

Roman
08.04.2016
12:38:57
>>> h = hashlib.new('sha') ; h.update(buf) ; h.hexdigest() 'bedf6467044b2dbcf8a7dc0738c2d75bba790a28' >>> h = hashlib.new('sha1') ; h.update(buf) ; h.hexdigest() 'd5a3c9bd7e746c98b4aea0e9194fb9555b3c22ad'

Google
Roman
08.04.2016
12:39:26
у обеих длина 40 байт.

всмысле, 20 )

как у sha1.

sha256, sha512 и прочее не подходят из-за более жирного digest.

Dmitry
08.04.2016
14:53:38
Sha-0

Но лучше не стоит его использовать.

Вот я конечно удивлён что оно в hashlib есть. Про него ни слова.

Про md2 тоже нет :) Я понял почему - это всё _hashlib виноват, который даёт создавать алгоритмы по имени (которые есть в либе EVP openssl).

Serge
08.04.2016
16:58:00
прикольно, т.е. его можно реже обновлять и обновлением или заменой либы решается добавление алгоритма

Dmitry
08.04.2016
17:01:15
Ага

Причём там есть список неизменных алгоритмов - описанных в доках.

Serge
08.04.2016
17:31:07
минутка занимательного питона;) class Base: def foo(self): return 'Base' class Mixin(Base): def foo(self, sup=False): if sup: return super(Mixin, self).foo() else: return Base.foo(self) class A(Base): def foo(self): return 'A' class B(Mixin, A): pass b = B() print(b.foo()) print(b.foo(sup=True))

Andrey
08.04.2016
17:40:32
во втором питоне кстати работает только если Base(object) сделать. нормальные классы нужны

Google
Serge
08.04.2016
17:40:51
конечно, а другие и не нужны:)

Andrey
08.04.2016
17:41:37
ну а работает понятно как

Serge
08.04.2016
17:42:47
ну, интуитивно понятно, но...

Andrey
08.04.2016
17:43:27
не, там вполне строгий механизм работы множественного наследования

Serge
08.04.2016
17:43:47
надо еще правильно объяснить почему super(Mixin, self).foo() вызывает A:)

Andrey
08.04.2016
17:43:59
на собеседование пойдет

Serge
08.04.2016
17:44:00
там еще можно добавить одно наследование дальше и вызов через один шаг, ща;)

Aleksandr
08.04.2016
17:46:53
Сразу C3 реализацию на листочке просто. Чего уж там )

Sergey
08.04.2016
17:47:17
конечно, а другие и не нужны:)
если третий, тогда и super()

Serge
08.04.2016
17:52:42
если третий, тогда и super()
да, я ждал этого замечания;)

GNU/Docker
08.04.2016
17:52:48
О да, я напарывался на это.

Sergey
08.04.2016
17:52:54
какие проблемы?

Serge
08.04.2016
17:53:16
не, никаких, просто чтобы путалось больше так написал

Aleksandr
09.04.2016
10:21:50
https://github.com/openstack/bandit/blob/master/README.rst

Все прогнал свой код через это? )

Danil
09.04.2016
13:23:00
а вот такое кто нибудь использовал? https://github.com/graphql-python/graphene

вообще GraphQL API делали?

Sergey
09.04.2016
14:41:16
s = {1, 2, 3} l = [3, 4, 5] почему s.intersection(l) работает, а s & l — нет?

Aleksandr
09.04.2016
14:48:02
Note, the non-operator versions of union(), intersection(), difference(), and symmetric_difference() will accept any iterable as an argument. In contrast, their operator based counterparts require their arguments to be sets. This precludes error-prone constructions like Set('abc') & 'cbs' in favor of the more readable Set('abc').intersection('cbs').

Google
Aleksandr
09.04.2016
14:48:09
https://docs.python.org/2/library/sets.html#set-objects

Sergey
09.04.2016
14:49:28
в чем error-proneness конструкции?

Aleksandr
09.04.2016
14:49:50
@alexander_ilin у тебя на аватаре по-немецки написано или тебя можно привлечь по статье? )

Sergey
09.04.2016
14:54:19
а вот такое кто нибудь использовал? https://github.com/graphql-python/graphene
смотрел в сторону, но не использовал у тебя какие-то вопросы/сомнения?

Serge
09.04.2016
14:57:36
А вот Pony про graphql будут рассказывать на PiterPy

Aleksandr
09.04.2016
15:00:27
@sysradium я не знаю) мне алгоритм для детекции объектов при прогоне через видео это выдал. Вчера как раз, примерно после того, как ты меня учителем назвал)

Aleksandr
09.04.2016
15:00:51
Что ты там искал ))

Aleksandr
09.04.2016
15:01:45
не текст)

Aleksandr
09.04.2016
15:11:59
А вот Pony про graphql будут рассказывать на PiterPy
Ты умеешь делать продукт плейсмент )

Danil
09.04.2016
16:24:13
А вот Pony про graphql будут рассказывать на PiterPy
Это хорошо, но увы мне другую конфу проводить

Aleksandr
10.04.2016
06:48:06
в чем error-proneness конструкции?
Немного надуманно, но, может быть, в неочевидности подобных выражений? {'a', 'b', 'c', 'abc'} & 'abc'

Danil
10.04.2016
08:37:34
Для очевидности должно быть: {'a', 'b', 'c', 'abc'} U 'abc' ? )

Serge
10.04.2016
09:01:16
Для очевидности должно быть: {'a', 'b', 'c', 'abc'} U 'abc' ? )
Тут имелось в виду, что в правой части непонятно идет речь о последовательности или об одном элементе

Danil
10.04.2016
09:02:33
ох, точно, иначе странным будет искать объединение точки и множества

Serge
10.04.2016
09:10:50
Корпускулярно-волновой дуализм строк в Питоне...

Danil
10.04.2016
09:15:31
double headshot )

Michael
10.04.2016
10:13:39
https://youtu.be/2CGbyz8UzCY

Google
Dmitry
10.04.2016
10:53:02
??

Serge
10.04.2016
13:55:50
Я тоже:) ну, типа разное поведение помогает использовать что нужно...

Dmitry
10.04.2016
15:43:59
хы type('', (object,), {})

Serge
10.04.2016
15:59:06
хы type('', (object,), {})
Типа, а теперь смотрите repr?:)

Dmitry
10.04.2016
16:00:40
ну например :)

или ещё так o = type('', (object,), {'': 'wtf'}) print(getattr(o, ''))

Aleksandr
10.04.2016
16:02:01
я хз короче. Я потратил какое-то время копаясь в архивах, и это единственное, что я нашёл. Если кто-то действительно знает почему, то было бы интересно услышать

Roman
10.04.2016
16:07:10
http://morepypy.blogspot.ru/2016/04/warmup-improvements-more-efficient.html

Serge
10.04.2016
16:13:40
Alex
10.04.2016
17:23:42
http://composingprograms.com/

Dmitry
10.04.2016
17:29:36
прикольные трэкбары

Michael
11.04.2016
08:09:17
gevent на 3 ку переполз?

Danil
11.04.2016
08:14:42
Get gevent Gevent runs on Python >= 2.6, Python >= 3.3, or PyPy >= 4.0.1 (but not PyPy3) (Note: PyPy is not supported in Windows). On all platforms, installing setuptools is recommended (this is done automatically if working in a virtual environment).

Pavel
11.04.2016
08:16:33
А зачем gevent на тройке? Его разве asyncio не накрывает?

Roman
11.04.2016
08:17:07
А зачем gevent на тройке? Его разве asyncio не накрывает?
А чо, в тройке уже асинхронный ресолвер?

Michael
11.04.2016
08:24:15
А зачем gevent на тройке? Его разве asyncio не накрывает?
У него интерфейс удобней чем у asincio

Google
Michael
11.04.2016
08:24:49
Но это личное дело вкуса...

Roman
11.04.2016
08:30:11
Еще с 3.4.
эээ... https://github.com/python/asyncio/issues/160

Pavel
11.04.2016
08:31:38
эээ... https://github.com/python/asyncio/issues/160
Э... нужно явно указывать, о каком резолвере речь. )

Roman
11.04.2016
08:33:41
Э... нужно явно указывать, о каком резолвере речь. )
а какой еще может быть? )) пул тредов - это не асинхронный точно ))

Pavel
11.04.2016
08:36:35
Aleksandr
11.04.2016
08:45:34
Roman
11.04.2016
09:04:41
Лучший тест для этого - лукапить в цикле alexa top 1m и рядом же держать зеленый тред в котором делается sleep и измеряется время этого слипа.

Serge
11.04.2016
09:08:47
Roman
11.04.2016
09:13:49
Тест для чего "этого"?
Ресолвера. Т.е. если такой схеме прописывание нерабочего dns-сервера не ставит все колом - значит все ок.

Michael
11.04.2016
09:24:30
Эм еще вопрос как получить из питона сколько он памяти выжрал?

Michael
11.04.2016
09:26:11
rss ?

ты про ресурс?

ru_maxrss

Roman
11.04.2016
09:31:16
Да

Там еще можно смотреть себя, детей и в сумме

Michael
11.04.2016
09:32:13
Окай, в обшем чет я не то делать =( Он мне постоянно один и тот же размер пишит до и после вызова... что у себя что у детей

?

Serge
11.04.2016
11:10:50
@nonamenix Привет! Сможешь завтра свой доклад с ITGM повторить на митапе?

Страница 36 из 785