
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

Serge
08.04.2016
17:52:42

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

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

Danil
09.04.2016
16:24:13

Aleksandr
10.04.2016
06:48:06

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

Serge
10.04.2016
09:01:16

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

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

Aleksandr
10.04.2016
09:13:31
Лол

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
??

Sergey
10.04.2016
13:22:03

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

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

Serge
10.04.2016
15:59:06

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

Dmitry
10.04.2016
16:08:45

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

Pavel
11.04.2016
08:18:21

Michael
11.04.2016
08:24:15

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

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

Pavel
11.04.2016
09:09:10

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

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

Roman
11.04.2016
09:25:19

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 повторить на митапе?