
Nikolay
25.02.2018
11:48:35

Denis
25.02.2018
11:48:44
Нинини, я только так, шуткую. За питон и го стреляю в упор!
а как же Agda?
((x : A) -> B x) -> (a : A) -> B a
Лучше уж Лисп, он хоть прост и понятен как 2 палки

Nikolay
25.02.2018
11:50:53
и еще есть Idris

Google

Nikolay
25.02.2018
11:51:11

Denis
25.02.2018
11:51:59
Угу. Но это не мешает ей быть не особо понятной

Aleksandr
25.02.2018
12:03:27
Энивей, он прекрасен, писать на нем я конечно же не буду

Denis
25.02.2018
12:04:18

Stepan
25.02.2018
12:08:44
Я когда угарал по хаскелю то больше огребал с ленивости, а не конкретно с GC. Оно конечно лечится расстановкой strictness, но магия уже теряется

Nikolay
25.02.2018
12:09:17
и принципиальная невозможность некоторых структур быть реализованными в функциональном стиле?

Denis
25.02.2018
12:11:05
а как же скорость работы?
Если программа на хаскеле не покидает компьютер в подвале хаскелиста, то скорость работы не особо важна ?

Stepan
25.02.2018
12:12:46
Если программа на хаскеле не покидает компьютер в подвале хаскелиста, то скорость работы не особо важна ?
Немножко пасты:
LISPеры из /s/ пользуются технологией «ленивого программирования», аналогичной en.w:lazy evaluation.
При этом программа не пишется, а сразу объявляется написанной. Фактическое формирование кода программы должно происходить при первом непосредственном обращении к ней, но поскольку никто не обращается, код тоже не формируется.
Благодаря этому LISP разработчики экономят много времени, которое могут с пользой использоваться для эффективного троллинга.

Roman
25.02.2018
12:16:22

Alex
25.02.2018
12:28:40

Denis
25.02.2018
12:29:10

Google

Alexander
25.02.2018
12:29:14
привет, кто работал с selenium chromedriver? Вопрос такой, хромдрайвер постоянно обменивается с сайтом пост запросами генерируемыми через AJAX и обновляет данные странички. В хроме в отлидчике есть вкладка network в ней логируются все запросы и ответы. Как мне получить к ним доступ и куда нибудь их вывести ( в идеале аналог зажатой кнопки Preserve log с включеным режимом XHR)
Минимально хоть видеть все реквесты и респонсы ...
С проксями вариант не предлагать.

Denis
25.02.2018
12:29:28
Я выше говорил что не очень люблю ФБ ?

Roman
25.02.2018
12:32:59

Alexander
25.02.2018
12:35:07

Denis
25.02.2018
12:38:03

Alexander
25.02.2018
13:16:18
https://github.com/asyne/cproto
чет нифига не пойму,
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" —remote-debugging-port=9222 "about:blank"
Вот так запускаю открывается хром с пустой вкладкой а http://localhost:9222/ тут нет отклика

Denis
25.02.2018
13:26:42

Nikolay
25.02.2018
13:28:38

Sergey
25.02.2018
13:30:46

Nikolay
25.02.2018
13:31:10

Sergey
25.02.2018
13:31:58
Энивей, это свинство — засовывать мне в браузер свое дерьмо

Serge
25.02.2018
13:57:53

Nikolay
25.02.2018
14:01:10
poppler, кажется

Sergey
25.02.2018
14:06:03

Nikolay
25.02.2018
14:06:14
poppler - это pdf

Google

Denis
25.02.2018
14:08:43
а firejail не пробовал?
Интересная штука. Вообще попробовать можно, но у нас фишка в том, что нам на сервере нужно было иметь хром с CDP, так что проще было сразу докер заюзать и отправить в k8s

Kate
26.02.2018
21:48:21
привет, кто хочет голову размуть маленько?
размять

Nikolay
26.02.2018
21:48:52
чью?
и чем?

Kate
26.02.2018
21:49:18
встречались) ты не поможешь)

Nikolay
26.02.2018
21:49:36
можешь повторить?

Kate
26.02.2018
21:50:07

Артур
26.02.2018
21:51:49
itertools.product в помощь

Kate
26.02.2018
21:53:39
почитаем..

Nikolay
26.02.2018
21:54:57
нужно именно вывести комбинации? не посчитать их количество?

Nikolay
26.02.2018
21:55:15
потому что подсчет тривиален - тупо перемножить длины

Kate
26.02.2018
21:55:20
вывести, но тут думаю вряд ли проблема? главное сформировать

Alex
26.02.2018
22:00:31
Через product тривиально решается

Nikolay
26.02.2018
22:01:04
вывести, но тут думаю вряд ли проблема? главное сформировать
from itertools import product
a0 = ['омлет', 'пирог']
a1 = ['яблоко']
a2 = ['молоко', 'кофе', 'чай']
a3 = ['помидор', 'тыква']
a4 = ['редис']
a5 = ['желе', 'мороженое', 'конфета', 'жвачка', 'сок']
b = [0,1,3,5,5,5,4,2,3,2,5,5,0,2]
def getarr(num):
return globals()["a{0}".format(num)]
for l in product(*map(getarr, b)):
print("".join(l))
сразу скажу - вариантов дохрена, поэтому выводить будет очень долго

Kate
26.02.2018
22:01:50
время не главное, главное результат, щас попробую понять

Stanislav
26.02.2018
22:07:16

Nikolay
26.02.2018
22:08:02
60?
ну вообще нет, вариантов reduce(operator.mul, b)

Google

Nikolay
26.02.2018
22:08:43
это если мы массивы не меняем по ходу перебора

Kate
26.02.2018
22:10:16

Stanislav
26.02.2018
22:10:21

Nikolay
26.02.2018
22:10:49
но я не уверен, что это именно то, что тебе нужно

Kate
26.02.2018
22:11:19
мне нужны результаты для дальнейшей обработки

Admin
ERROR: S client not available

Nikolay
26.02.2018
22:11:56
тут вопрос есть, мы таки достаем элементы из массивов по ходу построения перебора или нет? потому что из задания это не ясно
вроде как в примере да, но в тексте это нигде не указано...

Kate
26.02.2018
22:13:26
блин опять наверно непонятно сказала))

Nikolay
26.02.2018
22:14:07
просто из текста это неясно
окей, тогда мое решение не подходит

Kate
26.02.2018
22:15:00
да, мы используем все элементы из массива А, берем чтото и кладем в нужное место В, потом когда видим опять место берем опять чтото из А, что осталось

Nikolay
26.02.2018
22:16:02
то есть всегда полностью достаем все элементы?

ultranoise ?
26.02.2018
22:16:22
господа, хочется вписаься в какой-нибудь некрупный опенсорс или публичный пет проджект. у нас никаких публичных борд по опенсорс проектам питоновским?

Kate
26.02.2018
22:16:52
комбинация относится ко всей финальной строке, т.е в некоторых массивах А элементы могут рассовываться по В так же, но какой то один элемент из любого А будет на другом месте и вот итоговая строка другая

Nikolay
26.02.2018
22:17:32

Google

Kate
26.02.2018
22:17:46
да, всегда
..для каждого А есть свои позиции, для А из 3х элементов 3 позиции, для А из 2 - 2 позиции. Может сначала найти все комбинации-распределения по этим массивам а потом сочетать все сместе. С сочетанием не знаю пока как

Sergey
26.02.2018
22:30:16

Kate
26.02.2018
22:34:16
а как G объявить?

Sergey
26.02.2018
22:35:16

Kate
26.02.2018
22:44:37

Nikolay
26.02.2018
22:46:04
вообще задачка-то динамическим программированием решается, похоже
или я усложняю?

Sergey
26.02.2018
22:48:07

Kate
26.02.2018
22:48:38

Nikolay
26.02.2018
22:49:48

Kate
26.02.2018
22:50:27
ну может, по мне как код составить, а там может правда ваша)

Valerа
26.02.2018
23:08:17
сделай через with
и твой код помоему ничего не делает

Nikolay
26.02.2018
23:10:50
сделал чуть грубее
from itertools import combinations, product, chain
a0 = ['омлет', 'пирог']
a1 = ['яблоко']
a2 = ['молоко', 'кофе', 'чай']
a3 = ['помидор', 'тыква']
a4 = ['редис']
a5 = ['желе', 'мороженое', 'конфета', 'жвачка', 'сок']
b = [0,1,3,5,5,5,4,2,3,2,5,5,0,2]
seen_counters = {i: 0 for i in range(6)}
def getarr(num):
return globals()["a{0}".format(num)]
res = []
for i in b:
a = getarr(i)
res.append(list(combinations(a, len(a) - seen_counters[i])))
seen_counters[i] += 1
for l in product(*res):
print("".join(chain(*l)))

Sergey
26.02.2018
23:12:09
20 и 23 строке убрать отступ. Потом 20 и 21 поменять местами.
Возможно стоит
i, *b = b поменять на i, b = b[0], b[1:], если питон 2, а не 3 версии
Еще добавить f.write('\n') после 22 строки