@ru_python

Страница 8470 из 9768
Tigran
23.03.2019
13:52:58
https://github.com/erikrose/more-itertools/issues/277 — это какая-то вообще кошмарная вкусовщина, не думаю, что её добавят (я бы не стал добавлять)

Roman
23.03.2019
13:54:19
А почему тебе принципиально, чтобы нужные тебе функции во внешней библиотеке были?
Потому что я не люблю изобретать велосипед. Но раз уж изобрёл, пусть будет общественным достоянием.

partitions, кстати, легко реализуется через product
Покажи как, мне не очевидно. Мне кажется, что даже если так, то будет работать медленнее.

Google
Roman
23.03.2019
13:56:30
https://github.com/erikrose/more-itertools/issues/277 — это какая-то вообще кошмарная вкусовщина, не думаю, что её добавят (я бы не стал добавлять)
"кошмарная вкусовщина" - это очень аргументировано. Посмотри на то, как написана и работает их функция и опровергни каждый из моих аргументов или не засчитано.

import driven development
Да. И я считаю, что это прекрасно.

Tigran
23.03.2019
13:58:40
"кошмарная вкусовщина" - это очень аргументировано. Посмотри на то, как написана и работает их функция и опровергни каждый из моих аргументов или не засчитано.
Не знаю, насколько она хорошо написана, но у неё очень хороший интерфейс. Она общая. А у тебя прямо в пулл-реквесте в нескольких местах упомянута NLP-cпецифика, плюс ещё она у тебя только для строк.

Владимир
23.03.2019
14:00:52
чем она такова?

Roman
23.03.2019
14:04:34
Не знаю, насколько она хорошо написана, но у неё очень хороший интерфейс. Она общая. А у тебя прямо в пулл-реквесте в нескольких местах упомянута NLP-cпецифика, плюс ещё она у тебя только для строк.
1. "Не знаю, насколько она хорошо написана". Она написана, мягко скажем, странно. 2. "очень хороший интерфейс". В чём это заключается? В том, что мы пихаем строку, а возвращается список из кортежей односимвольных строк? Чем мой интерфейс хуже кроме (5) в данном сообщении? 3. "Она общая". Согласен. Только в ущерб удобству. 4. "А у тебя прямо в пулл-реквесте в нескольких местах упомянута NLP-cпецифика". Как пример. Уверен, что в биоинформатике может быть тоже полезно. 5. "плюс ещё она у тебя только для строк". Нет, она для subscriptable и sized collections. Никто не мешает вызвать list если у тебя, к примеру, генератор. Тем более, что в их функции генератор исчерпается неявно. Ну достаточно очевидно, что это произойдёт, но всё равно, явное лучше неявного.

Оняме
23.03.2019
14:06:21
Приветствую всех в этом чате! И сразу хочу спросить: есть ли в чате С++ программисты?

Tigran
23.03.2019
14:07:11
Когда что-то общее не подходит мне по удобству, я пишу утилитку и кладу её в свой проектный utility.

Roman
23.03.2019
14:08:36
Когда что-то общее не подходит мне по удобству, я пишу утилитку и кладу её в свой проектный utility.
Я хочу, чтобы такой же человек, как я, не изобретал велосипед, тратя своё время, а решал свои задачи.

Оняме
23.03.2019
14:09:39
Эх, походу здесь нет людей, которые пишут/писали когда-то на С++

Tigran
23.03.2019
14:09:54
Я думаю, что ты просто хочешь, чтобы в библиотеку добавили твой код. :)

Roman
23.03.2019
14:11:28
Я думаю, что ты просто хочешь, чтобы в библиотеку добавили твой код. :)
Если бы я нашёл готовое решение, я бы эти 2 функции с радостью бы не писал. И да, теперь я хочу. Им место там, а не в моём profanity-filter.

Tigran
23.03.2019
14:12:01
О, а ты случаем не из мира JS? Там тоже любят десять строчек в библиотеку выносить.

?? Eugene
23.03.2019
14:12:16
Google
Roman
23.03.2019
14:12:19
Приветствую всех в этом чате! И сразу хочу спросить: есть ли в чате С++ программисты?
Мета-вопросы здесь не приветствуются. Зачем они тебе нужны?

Tigran
23.03.2019
14:12:23
Ну серьёзно, эти две функции не стоили пулл-реквестов.

Оняме
23.03.2019
14:13:50
Почему бы тебе не обратиться в чат по с++
ахах, прикол в том, что их нет(чатов по С++). А С++ был на пике популярности, когда ещё мой дед писал на нём(земля ему пухом)

Roman
23.03.2019
14:14:01
О, а ты случаем не из мира JS? Там тоже любят десять строчек в библиотеку выносить.
Нет. Мне JS не нравится. Просто я потратил на написание каждой из функций больше 5 минут и считаю, что логически они должны находится в библиотеке типа more-itertools. И да, я же не вынес их в отдельную библиотеку.

Оняме
23.03.2019
14:14:32
Где ты его откопал)

?? Eugene
23.03.2019
14:15:05
Где ты его откопал)
https://github.com/goq/telegram-list/blob/master/README.md#%D0%9C%D0%B5%D0%BD%D1%8E

Roman
23.03.2019
14:15:27
@Saluev ты даже не намекнул, как сделать partitions через product. А мне интересно, вдруг, действительно так круче.

Tigran
23.03.2019
14:16:47
@Saluev ты даже не намекнул, как сделать partitions через product. А мне интересно, вдруг, действительно так круче.
def partitions(arr): arr = list(arr) n = len(arr) for p in itertools.product((False, True), repeat=n-1): indices = [0] + [i+1 for i, flag in enumerate(p) if flag] + [n] yield [arr[i:j] for i, j in zip(indices, indices[1:])] Оно не быстрее, но проще.

Roman
23.03.2019
14:17:07
Ну серьёзно, эти две функции не стоили пулл-реквестов.
Пропущенный незначащий пробел или опечатка в README стоит PR, потому что это улучшение.

Tigran
23.03.2019
14:17:42
Пропущенный незначащий пробел или опечатка в README стоит PR, потому что это улучшение.
Исправленная опечатка а) не требует умственного напряжения ревьювера б) не требует умственного напряжения будущих изучателей этой библиотеки.

А по параметру «отношение количества умственного напряжения для понимания, что происходит, к вероятности, что эта функция пригодится» твоя substrings_new стремится к бесконечности.

Roman
23.03.2019
14:21:26
А по параметру «отношение количества умственного напряжения для понимания, что происходит, к вероятности, что эта функция пригодится» твоя substrings_new стремится к бесконечности.
Посмотри ещё раз, я убрал индексы по умолчанию. Моя функция более вероятно пригодится, чем у них. Но их функция же уже есть в библиотеке. Так что я считаю, что тут ты не прав.

Tigran
23.03.2019
14:24:56
Ага, теперь у неё есть внезапный флаг with_indexes. Умственное напряжение возросло.

Roman
23.03.2019
14:26:12
def partitions(arr): arr = list(arr) n = len(arr) for p in itertools.product((False, True), repeat=n-1): indices = [0] + [i+1 for i, flag in enumerate(p) if flag] + [n] yield [arr[i:j] for i, j in zip(indices, indices[1:])] Оно не быстрее, но проще.
Оно и быстрее (не сильно, но всё же), и проще. Спасибо, я забыл про то, что product можно с repeat использовать. Ты не против, если я заменю код в PR на модифицированный твой?

Ага, теперь у неё есть внезапный флаг with_indexes. Умственное напряжение возросло.
Который по умолчанию False. Человек сначала попробует вызвать substrings('abcd'), удовлетворится результатом и забъёт. И на сколько оно возрасло? Мозг перегрелся? Мне кажется, что ты считаешь пользователей библиотек тупыми.

Des_
23.03.2019
14:33:36
Есть ли разница в расширении файла бд? Просто насколько я знаю у sqlite расширение файла .db, а в туториале говорят создать файл schema.sql. Это на что-то повлияет?

Google
Vladislav
23.03.2019
14:36:27
http://www.cyberforum.ru/shell/thread2424087.html#post13428933

Tigran
23.03.2019
14:37:11
Который по умолчанию False. Человек сначала попробует вызвать substrings('abcd'), удовлетворится результатом и забъёт. И на сколько оно возрасло? Мозг перегрелся? Мне кажется, что ты считаешь пользователей библиотек тупыми.
Я пользователь. Я хочу составить представление о том, что в библиотеке есть. Я листаю функции, и тут я встречаю дубликат функции, которую я уже пролистал, но только для индексируемых контейнеров, с флагом, который не имеет к этому отношения, и странными гарантиями на порядок, необходимость в которых мне не очевидна. Хоба, я останавливаюсь и трачу силы, чтобы понять, что это было.

Roman
23.03.2019
14:43:59
Я пользователь. Я хочу составить представление о том, что в библиотеке есть. Я листаю функции, и тут я встречаю дубликат функции, которую я уже пролистал, но только для индексируемых контейнеров, с флагом, который не имеет к этому отношения, и странными гарантиями на порядок, необходимость в которых мне не очевидна. Хоба, я останавливаюсь и трачу силы, чтобы понять, что это было.
Именно поэтому я и сделал issue, а не PR, чтобы мы решили, что с этим делать. Моя функция лучше во всём, чем имеющаяся, за исключением того, что она требует Collection, а не Iterable (который всё равно преобразуется в list, а значит память тратится). Но поведение не совпадает, поэтому просто заменять - плохо. А как хорошо - я не знаю. Возможно, стоит сделать флаг new_implementation=False и вызывать по умолчанию старую и сделать этот флаг deprecated. Потом старую выпилить. Но это им решать.

Tigran
23.03.2019
14:44:40
> флаг new_implementation=False Одна идея лучше другой просто.

Tishka17
23.03.2019
14:46:35
Roman
23.03.2019
14:48:20
> флаг new_implementation=False Одна идея лучше другой просто.
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html И это самая популярная либа для рисования графиков в Python. Ты мне ещё что-то будешь говорить про левые опциональные аргументы?

Roman
23.03.2019
14:49:02
very_new_last_impl_v2_latest=False
Ну нет. Моя реализация идеальна, я гарантирую это. Больше реализаций не будет.

Tishka17
23.03.2019
14:49:13
Ага, ага

Сто раз слышал

Roman
23.03.2019
14:50:03
Как и многие старые либы Python, она — образец так себе дизайна.
Но почему-то большая часть разработчиков пользуются ей. Наверное, есть другие причины, кроме исторических.

Roman
23.03.2019
14:50:26
Ага, ага
Это был сарказм. Извини, тег забыл поставить.

very_new_last_impl_v2_latest=False
Можно сделать implementation_version=0 и вопрос о будущих переписываниях снят.

Нет, давайте оставим фиговую реализацию навсегда, раз один раз что-то написали!

Кстати, вот в make обязательны табы. Автору предложили сделать пробелы. Он сказал, что да, наверное, так было бы лучше. "Но как я могу переделывать программу когда ею пользуется уже 2 десятка человек".

Tishka17
23.03.2019
15:03:03
Как связана реализация и интерфейс?

Можно менять хоть каждый день, интерфейс не меняй

23.03.2019
15:07:18
А собственно зачем тебе в хроме логиниться

Google
23.03.2019
15:08:02
А других вариантов капчу убить нет?

Sab0
23.03.2019
15:08:26
я весь внимание

23.03.2019
15:08:58
Хахах

Я тебе не подскажу это точно

Sab0
23.03.2019
15:09:29
тогда увы( их нет

капча гугла

23.03.2019
15:09:35
Мне кажется тут сам webdriver просто не рассчитан на авторизацию

Sab0
23.03.2019
15:10:16
пока что я солидарен с этим мнением

Roman
23.03.2019
15:10:27
Как связана реализация и интерфейс?
Ок, можно просто оставить version если ты про это.

Tishka17
23.03.2019
15:11:06
Ок, можно просто оставить version если ты про это.
Я не читал, но зачем? Всегда просто последнюю бери и ладно

Roman
23.03.2019
15:13:23
Я не читал, но зачем? Всегда просто последнюю бери и ладно
Дело в том, что я меняю и реализацию, и интерфейс, потому что старые - хуже. Но чтобы ни у кого ничего не поломалось сначала делаю version=0 и использую старую версию, чтобы люди успели оценить новую версию и переписать код.

Но это моё предложение. Может они просто предложат назвать функцию substrings2. Такое меня тоже устроит.

Roman
23.03.2019
15:15:25
Если меняешь интерфейс, лучше тогда уж в название выноси версию
Не хочу плодить сущности. Но опять же, это на их усмотрение.

Tishka17
23.03.2019
15:15:50
Если новый интерфейс, это уже новые сущности

Roman
23.03.2019
15:15:51
Либо сабмодуль с новым номером
Какой ещё сабмодуль? С одной функцией?

Tishka17
23.03.2019
15:16:10
Ну я без понятия что у тебя там меняется

Roman
23.03.2019
15:16:18
Google
Tishka17
23.03.2019
15:16:27
Так ты говоришь новый интерфейс

Новые параметры, новый результат

Roman
23.03.2019
15:16:57
Ну я без понятия что у тебя там меняется
https://github.com/erikrose/more-itertools/issues/277

Tishka17
23.03.2019
15:20:37
Так поведение меняется

Имеет смысл сделать говорящее название

Если не меняется, просто выкидывай старую

Roman
23.03.2019
15:22:21
Имеет смысл сделать говорящее название
Предложи, буду благодарен.

Tishka17
23.03.2019
15:22:37
Я пьян, лучше меня не слушай

А то получится fucking_substr

Roman
23.03.2019
15:26:05
А то получится fucking_substr
Подходящее название для использования в библиотеке для фильтрации мата)

Tishka17
23.03.2019
15:26:26
:)

Александр
23.03.2019
15:35:58
О, у вас тут коллективная разработка

Dark
23.03.2019
15:36:30
как в гитигнор прописать что файлы *.dat из любых папок не нужно учитывать?

Страница 8470 из 9768