@ru_python

Страница 8986 из 9768
Aleksandr
10.05.2019
16:46:07
Art
10.05.2019
16:46:55
Нет
Ну значит в проге баг. Почему решил, что она не удалилась?

Google
Vladimir
10.05.2019
16:47:51
Привет, всем) Необходим совет от специалистов tkinter GUI

Tigran
10.05.2019
16:48:34
рекомендую начать с задания вопроса

Aleksandr
10.05.2019
16:49:07
Ну значит в проге баг. Почему решил, что она не удалилась?
Поставил мигратор для кассандры. Запустил, говорил нет CASSANDRA_SETTINGS, добавил переменную окр., стал писать что не можен найти модуль, потом менял/удалял эту переменную, но получаю одно и то же сообщение, как будто она закешировалась где то

Denis
10.05.2019
16:52:06
Зачем кассандра

Она не нужна

Roman
10.05.2019
16:52:14
Есть ли библиотека, оборачивающая key-value базы данных (как минимум обёртка над модулями dbm и redis) для получения к ним доступа с интерфейсом словаря и кешированием? Я нашёл пару проектов, но они мёртвые.

Vladimir
10.05.2019
16:57:58
рекомендую начать с задания вопроса
Да, такой вот вопрос. Есть Меню, там перехожу в исходные данные где вводятся значения, при закрытии Toplevel введенные значения пропадают, как их сохранить? Не думаю, что написал понятно, задайте наводящие вопросы. Расчитываю на вашу помощь

Tigran
10.05.2019
16:58:18
Как насчёт кнопки "сохранить"?

Ну или можно отлавливать onChange-события, наверное

Vladimir
10.05.2019
16:59:00
Есть кнопка 'сохранить', как правильно команду задать? Я только учусь просто)

Пока сохраняю все в файлах .txt. Хотелось бы в пороге чтоб сослаться потом на значения и использовать их

Google
Aleksandr
10.05.2019
17:00:32
Roman
10.05.2019
17:00:32
А зачем?
Хочу использовать в https://github.com/rominf/profanity-filter key-value БД. Нужна поддержка dbm, потому что он быстрый и встроен в Python — можно поставить мою либу и сразу использовать. Если пользователь хочет фильровать мат распределённо, то он использует Redis (надо его отдельно поставить, но зато нет проблем с синхронизацией). А кеширование нужно, чтобы работало быстро (данных не очень много, можно всё БД в памяти хранить).

Vladimir, не совсем по теме, но рекомендую посмотреть в сторону PyQt5.

AI
10.05.2019
17:05:45
Warning http.server is not recommended for production. It only implements basic security checks. Что вместо него?

Denis
10.05.2019
17:06:31
uwsgi

AI
10.05.2019
17:07:02
Для каких целей?
Хочу написать свой сервер, который будет принимать, загружать и отправлять данные

Vladimir
10.05.2019
17:07:23
AI
10.05.2019
17:07:54
Flask
А джанго не вариант?(Всё равно позже собирался его учить)

Denis
10.05.2019
17:08:19
Вариант, но тяжелее

Worlak
10.05.2019
17:08:29
А джанго не вариант?(Всё равно позже собирался его учить)
он не для таких целей немного, но можешь, почему и нет

Worlak
10.05.2019
17:08:38
сразу гугли за формы, модели и ормм

Roman
10.05.2019
17:08:47
Это руководство? Его нужно установить?
Это нормальная GUI библиотека. В Tkinter мало возможностей, он фигово выглядит.

Worlak
10.05.2019
17:08:53
а, ну и с юрл и настройками

AI
10.05.2019
17:10:04
а, ну и с юрл и настройками
Я чуть не договорил, там будет несколько серверов общаться между собой, Джанго всё еще подходит?

Google
Roman
10.05.2019
17:10:29
Не совсем понял, что делаешь. Редис, как я понял можно и отдельно там подключить, а ты хочешь без Редиса и сохранять на диск?
Я хочу, чтобы пользователь мог выбирать между backend-ами: dbm и redis в зависимости от потребностей, а код у меня был одинаковый с точностью до инициализации.

AI
10.05.2019
17:10:47
А какая разница ?))
А вдруг)))Спасибо)

Roman
10.05.2019
17:12:16
Ты опять нарушаешь single responsibility principle? Да что ж такое!
В чём нарушение? Наоборот меня в МГТУ им. Баумана учили, что плохо привязываться к конкретным технологиям, а надо писать обёртки, чтобы можно было в любой момент технологию поменять.

Tigran
10.05.2019
17:13:59
Уже обсуждали же тут выше, что не надо городить разворачивание библиотеки в самой библиотеке. Так вот, городить сохранение результатов в БД тоже не надо.

Roman
10.05.2019
17:15:02
Уже обсуждали же тут выше, что не надо городить разворачивание библиотеки в самой библиотеке. Так вот, городить сохранение результатов в БД тоже не надо.
Я сохранять результаты не собираюсь. И распараллеливать не собираюсь. Мне индексы надо хранить. Для этого БД и хочу использовать.

Art
10.05.2019
17:15:48
Я хочу, чтобы пользователь мог выбирать между backend-ами: dbm и redis в зависимости от потребностей, а код у меня был одинаковый с точностью до инициализации.
Можешь посмореть как как тут делают отдельными бекендами для хранения данных. https://github.com/shhaumb/django-scooby-profiler/blob/d6bc275696bd7c82a68a418e6769161111730143/scooby/settings.py#L5 https://github.com/shhaumb/django-scooby-profiler/blob/master/scooby/backends.py

Roman
10.05.2019
17:16:15
Причём индексы могут поменяться во время работы, поэтому должно быть сквозное кэширование.

Что за индексы?
Стемы слов, индексы для алгоритма FastSS: https://fastss.csg.uzh.ch/.

Tigran
10.05.2019
17:17:08
Они у тебя уже настолько огромные?

Vladimir
10.05.2019
17:19:07
Роман, за PyQt5 понятно, но все же в целях обучения необходимо выйти с этого положения в tkinter, как быть здесь?

Максим
10.05.2019
17:21:59
Всем привет, удобно ли использовать ide Visual Studio для ml?

Roman
10.05.2019
17:22:52
Они у тебя уже настолько огромные?
Ну с десяток мегабайт, наверно. А какая разница? БД нужно, потому что индексы могут меняться во время работы, как я уже писал.

Tigran
10.05.2019
17:23:21
Roman
10.05.2019
17:26:13
Зачем тебе key-value БД, когда все твои данные можно в dict пихнуть без единой проблемы?
Несколько приложений работают одновременно. Добавляется плохое слово или слово-исключение, индексы обновляются. Все приложения подхватывают. А так пришлось бы файл синхронизировать руками и перезагружать все сервисы.

Сергей
10.05.2019
17:27:52
Роман, за PyQt5 понятно, но все же в целях обучения необходимо выйти с этого положения в tkinter, как быть здесь?
Когда то я уже здесь отвечал на подобный вопрос. Смысл в том, что при создании 2-й формы ты отправляешь ей адрес функции, которая в параметрах содержит нужные тебе данные и когда во второй форме обрабатываешь закрытие, ты эту функцию вызываешь и передаешь в нее все нужные параметры.

Google
Admin
ERROR: S client not available

Roman
10.05.2019
17:29:17
То есть твоя библиотечка всё-таки превратилась в stateful микросервис...
То есть ты предлагаешь мучатся пользователю? Я считаю, что если есть проблема, то её надо решать один раз, разработчиком, а не несколько раз, пользователями. И да, как обычную библиотеку, если выбираешь dbm можно использовать.

Можно вопрос, ты это по работе/учёбе делаешь или прост?
Можно. Сначала это была часть бота для Телеграма на прошлой работе. Сейчас я этим занимаюсь в своё удовольствие и для развития своих навыков.

Tigran
10.05.2019
17:30:46
Я даже не знаю, с чего начать отвечать.

Во-первых, ты не можешь предугадать и решить все проблемы пользователей. Поэтому разработчик здорового человека старается решить ровно одну проблему. Зато решить хорошо.

Мнение, что рост числа фич делает решение более хорошим, ошибочно. Чем меньше фич, тем лучше решение. Код должен быть простым и поддерживаемым, а интерфейс — лаконичным.

Также надо отметить, что решение задачи в вакууме, не приложенное к реальной проблеме, крайне редко приводит к хорошим решениям. Твой код никто не ревьюирует, твои решения никто не проверяет на эффективность, и, в конце концов, ты даже не знаешь, какие реальные проблемы есть у твоих пользователей. Потому что пользователей даже пока нет. Но решение раздувается и раздувается.

Tigran
10.05.2019
17:34:42
Вот сейчас ты хочешь затянуть в своё решение ещё и key-value БД. Ставлю на то, что основная мотивация — это потрогать key-value БД. Или упоминание универсальности и поддерживаемости многих бэкендов в описании проекта? Всё это звучит пугающе для решения такой, казалось бы, простой задачи.

Roman
10.05.2019
17:36:53
Во-первых, ты не можешь предугадать и решить все проблемы пользователей. Поэтому разработчик здорового человека старается решить ровно одну проблему. Зато решить хорошо.
Есть проблемы, которые очевидны. Не надо ждать, пока припрёт, можно упредить события, особенно, если это не несёт больших накладных расходов.

Tigran
10.05.2019
17:37:11
Олсо, страшно представить, сколько premature optimizations ты уже сделал, пока её реализовывал — вспоминая твои пулл-реквесты с подсчётом миллисекунд в вызовах more-itertools.

Tigran
10.05.2019
17:38:12
Есть проблемы, которые очевидны. Не надо ждать, пока припрёт, можно упредить события, особенно, если это не несёт больших накладных расходов.
Ты думаешь, что взаимодействие многих приложений с единственным микросервисом-цензором — очевидная проблема? Мне видится, что очень нескоро у тебя будет пользователь с таковой. Ты думаешь, что подключение key-value бэкенда, появление состояния — это небольшие накладные расходы? Лол, нет.

Самое лучшее приложение по таким принципам — Hello world, а может быть даже вообще его отсутвствие.
Код также должен решать поставленную задачу (одну), я не написал этот очевидный пункт, потому что не рассчитывал на демагогию в ответ.

Tigran
10.05.2019
17:40:56
Да дело же не в строках (хотя да, я считаю, что это уже многовато). Дело в сложности.

Aragaer
10.05.2019
17:43:16
я вроде говорил про две свои либы, опубликованные на PyPI. Одна 110 строк кода, вторая 197

Google
Aragaer
10.05.2019
17:43:29
ну это без учета пустых

Tigran
10.05.2019
17:44:22
Roman
10.05.2019
17:44:53
Константный словарь — это не состояние.
Он не константный. Пользователь может менять индексы.

User
10.05.2019
17:45:11
markup.add(types.InlineKeyboardButton(text = "Delete", callback_data = "%s" % (x[0]))) Люди как в callback_data поместить информацию взятую из БД

Roman
10.05.2019
17:46:23
Код также должен решать поставленную задачу (одну), я не написал этот очевидный пункт, потому что не рассчитывал на демагогию в ответ.
Согласен. Но решать он её должен хорошо. Поэтому даже в Unix-утилитах, которые приводятся в пример обычно в таком случае, десятки ключей (см. ls).

Tigran
10.05.2019
17:47:33
Unix-утилита — это всё-таки очень специфичная вещь.

Roman
10.05.2019
17:47:50
@Saluev посмотри на Spacy. Это лидер в NLP. Да, там нет key-value БД, но состояние там есть.

Unix-утилита — это всё-таки очень специфичная вещь.
Ну да, все равны, но некоторые ровнее. Как раз Unix-утилита — это прекрасный пример. Она используется очень большим количеством человек, она выполняет одну простую задачу и выполняет её хорошо.

Nikita
10.05.2019
17:49:57


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