
Serge
26.08.2016
14:42:09
var i;
for (i = 0; i<10; i++) {
}
что где нарушено?
итерируемая переменная живет снаружи, всегда

Andrey
26.08.2016
14:43:32
логически цикл это отдельный блок. вспомни историю с компрехеншенами

Google

Serge
26.08.2016
14:44:19
In [1]: def foo():
...: print(i)
...: for i in range(10):
...: print(i)
...:
In [2]: foo()
---------------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
<ipython-input-2-624891b0d01a> in <module>()
----> 1 foo()
<ipython-input-1-11a9b92dc48d> in foo()
1 def foo():
----> 2 print(i)
3 for i in range(10):
4 print(i)
5
UnboundLocalError: local variable 'i' referenced before assignment
переменная есть и до цикла как бы

Andrey
26.08.2016
14:48:40
ну она есть, потому что язык так это реализует. но это не значит, что этим надо пользоваться. переменная остается доступна неявно, и ее использование моментально ломается при рефакторинге

Dmitry
26.08.2016
14:49:25
я несколько раз наступал на это граблю(

Serge
26.08.2016
14:50:27

Andrey
26.08.2016
14:50:43
да. но это плохо

Serge
26.08.2016
14:50:46
хочешь явного, определяй все локальные переменные вначале

Andrey
26.08.2016
14:51:10
да, я считаю, что возвращать значения всегда надо явно

Serge
26.08.2016
14:51:10
в питоне var неявный. отсюд всё

Andrey
26.08.2016
14:51:31
вот в скале например цикл может возвращать значение. и все рады

Serge
26.08.2016
14:51:37

Andrey
26.08.2016
14:53:26
нет, я понимаю, что это удобно, работает, и быстрее, чем явное присвоение нормальной переменной. но ошибок потом на этом можно поймать больше

Google

Dmitry
26.08.2016
14:54:22
а else в try без finally часто использовали?

Andrey
26.08.2016
14:56:58

Dmitry
26.08.2016
14:58:42
без break-а да

Serge
26.08.2016
16:50:49
А, блин, без break всегда
Я забыл, что он странно работает, а не как мне всегда хотелось чтобы оно работало:)

Dmitry
26.08.2016
20:56:29
хотя вдруг про неё все знают

Serge
26.08.2016
20:58:41

Dmitry
26.08.2016
20:59:43
мне вот нравится очень else в try-except
как по мне, чистая такая штука прозрачная
но тимлиду не нравится (
когда буду тимлид, буду разрешать все красивые прекрасные вещи всем.
хотя блин, у всех разное понятие..

Serge
26.08.2016
21:01:50

Dmitry
26.08.2016
21:02:18
да, согласен.

Dmitriy
26.08.2016
21:02:23
Буду тимлидом- пошью костюм с отливом и в Ялту
?

Dmitry
26.08.2016
21:02:43
в берлин!

Google

Dmitry
26.08.2016
21:02:55
все мечты устремлены только туда =)

Dmitriy
26.08.2016
21:03:00
Это джентельмены удачи;(

Dmitry
26.08.2016
21:03:06
да знаю я

Sergey
26.08.2016
21:07:17

Dmitry
26.08.2016
21:08:38
'прекрати ставить эту невнятную конструкцию, какой ещё else в обработке исключения, это супер непрозрачно'
я как обычно попытался найти в стайл-гайде про это, дабы разрешить вкусовщинский спор, но не нашёл. может плохо искал

Sergey
26.08.2016
21:09:43
я не понимаю, как люди живут без него, для меня это супер-прозрачно
но к for/while не привык

Dmitry
26.08.2016
21:10:02
?❤❤
while не помню когда вообще последний раз в питоновском коде видел о_0
for-else вот сегодня узнал о существовании )
а вообще итеративности мало в коде сейчас очень

Dmitry
26.08.2016
21:10:51
в основном декларативность
видимо это потому, что пишу сугубо прикладной код

Serge
26.08.2016
21:16:18
Я когда вижу else, даже в if, долго думаю, типа не пора ли еще один слой абстракции вводить

Dmitry
26.08.2016
21:20:10
хм, а можешь пример?
что ты под таким слоем подразумеваешь

Serge
26.08.2016
21:41:33
ну, например где-то можно сотворить фабрику и разнести логику по разным классам
ой, ни фига себе http://store.steampowered.com/app/298050/

Аркадий
27.08.2016
12:38:31
Парни, кто-нибудь юзает aiohttp вместе с django?

Google

Serge
27.08.2016
12:40:06

Аркадий
27.08.2016
12:43:48
Ну в смысле тордано же пр кручивают.
Цель: вебсокеты

Serge
27.08.2016
12:51:52
Так это, микросервисы и вперед. Одно приложение на джанге, другое на aiohttp.

Аркадий
27.08.2016
12:53:19
Окей

Jonh
27.08.2016
13:03:31

Danil
28.08.2016
09:46:17
а есть кто уже попробовал построить взаимодействие между приложениями на www.grpc.io?
ну и сами приложения естественно )

Jonh
28.08.2016
13:49:23

Admin
ERROR: S client not available

Roman
28.08.2016
14:23:17

Danil
28.08.2016
16:14:30
grpc и первая "радость"
'''
GreeterServicer):
def SayHello(self, request, context):
return helloworld_pb2.HelloReply(message='Hello, %s!' % request.name)
def SayHelloAgain(self, request, context):
return helloworld_pb2.HelloReply(message='Hello again, %s!' % request.name)
'''
Java в Python )

Aleksander
28.08.2016
17:06:42
а кто-то делал server-side rendering на питоновском бэкенде для react+redux ?

Danil
28.08.2016
19:34:28

Aleksander
28.08.2016
21:52:57
я нашел python-react))
но не redux - чтобы стор сразу выгружать

Serge
29.08.2016
00:09:21
Ну, в общем да, nodejs - наиболее универсальный путь

Aleksander
29.08.2016
10:04:27

Alex
29.08.2016
10:06:31
А что мы имеем против JS?

Google

Andrey
29.08.2016
10:15:11
js хорошо
особенно хорошо если таки ES6

Roman
29.08.2016
10:22:53

Alex
29.08.2016
10:23:33
js лучше чем asm
типов и там и там нет

Andrey
29.08.2016
10:24:00
довольно легко на нем говнокодить. при желаении можно не говонокодить, а писать весьма поддерживаемый код, но конечно придется постараться освоить хорошие практики

Alex
29.08.2016
10:24:22
строки проще на js

Andrey
29.08.2016
10:24:28
из языков где нет типов мне больше нравится forth =)

Alex
29.08.2016
10:25:01
поэтому js лучше
5 5 + .

Green
29.08.2016
10:26:04
https://pp.vk.me/c630331/v630331284/4aa67/eop3lZeeGCI.jpg

Alex
29.08.2016
10:27:26
с датой js еще смешнее
автоматический способ приведелия типов всегда был тупым
хочешь сделать хорошо, сделай сам

Dmitry
29.08.2016
12:39:01
смотрели уже https://github.com/Yelp/undebt ?
списочек бранных слов у них прикольный)
https://github.com/Yelp/git-code-debt/blob/master/git_code_debt/metrics/curse_words.py

Roman
29.08.2016
13:22:02
а что, никто из местных не использует asyncio/aiohttp?

Sergey
29.08.2016
13:27:33
начинающий

Andrey
29.08.2016
13:29:51
подозреваю, что у большинства либо легаси, либо джанга какая-нибудь

Dmitry
29.08.2016
13:30:26

Serge
29.08.2016
14:17:59