@botoid

Страница 1065 из 4042
b0g3r
15.07.2017
18:36:10
мне кажется, что любой человек знакомый с переводом и IT знает про gettext и poedit

Magic
15.07.2017
18:36:11
опять же, gettext не умеет в json который удобен. А gettext не знаю. назовем это классикой, но это на мой взгляд немного пережиток прошлого

конечно, и я знаю, и олег, уверен знает

Но мой выбор пал не в его сторону

Google
Magic
15.07.2017
18:36:51
и кстати очень много проектов файлы в json/yaml хранят

достаточно открыть гитхаб

b0g3r
15.07.2017
18:37:41


ладно-ладно, я шучу)

Magic
15.07.2017
18:38:21
что за запрос?

b0g3r
15.07.2017
18:38:29
gettext

но там наверняка много служебной мишуры

Magic
15.07.2017
18:40:58
ну не знаю

Все же я за json

его удобнее редактировать

Oleg
15.07.2017
18:43:01
Все же я за json
YAML лучше.

Magic
15.07.2017
18:44:23
YAML лучше.
Мне не удобен для автоматической правки Это надо парсить потом выстраивать снова. А тут ты получаешь объект, ну или массив

и рулишь ключами

Google
b0g3r
15.07.2017
18:46:50
так ямл та же структура почти

жсон тоже парсить нужно

Magic
15.07.2017
18:47:36
gettext
Кстати еще одно почему я использую свое решение - потому что файл локали сам строится исходя из строк используемых в проекте. почти на лету выходит. а с .po мне надо вычленять каждое, писать отдельно и тд. Не знаю, мне удобно мое решение) Хотя когда я делал программу под windows делал все же через gettext

Alex
15.07.2017
18:47:37
Ну и + комменты можно писать ?

Magic
15.07.2017
18:47:56
жсон тоже парсить нужно
json конвертируется, а не парсится

b0g3r
15.07.2017
18:48:27
наверное я чего-то не понимаю :)

Magic
15.07.2017
18:49:06
так геттекст находит все использования в проекте же
разве? ну все равно, это надо скорее всего ПО запускать и тд А мне нужна была возможность быстрой правки через веб

наверное я чего-то не понимаю :)
если это про json то json из строки декодируется в объект/массив А YAML именно парсить надо. Делать это в моих условиях было не самым простым вариантом, именно по этому остановился на json

b0g3r
15.07.2017
18:51:13
так наверняка в твоем языке написан уже парсер из ямла (и жсон он всё таки парсит)

но чего я, учить что ли буду

жсон так жсон

Magic
15.07.2017
18:52:23
так наверняка в твоем языке написан уже парсер из ямла (и жсон он всё таки парсит)
если рассматривать с точки зрения общей, то любой разбор и де/кодирование подобных данных - парсинг, да)

в одном проекте заказном мне вообще пришлось сделать локализацию через базу данных, клиенты хотели видеть количество просмотров той или иной строки)

так что все, мне кажется, в рамках своей задачи надо использовать

b0g3r
15.07.2017
19:14:03
демка правда упала(

http://bitnami-pootle-a59e.cloudapp.net/ вот нашел живую (лол, судя по всему это локализация приложения для геев...)

Google
Magic
15.07.2017
20:11:28
насчёт правки: pootle
интересная штука

b0g3r
15.07.2017
20:20:56
guyzapp и на строки перевода посмотри :)

Скрудж
15.07.2017
20:37:30
Гайс, а как распределять задания между нодами? Хранить на главном сервере информацию о загрузке каждой ноды? Перед отправкой теста на ноду, запрашивать у каждой загруженность? Создать очередь заданий для каждой ноды на главном сервере?

Дмитрий
15.07.2017
20:38:21
rabbitmq например

Скрудж
15.07.2017
20:39:12
rabbitmq например
мне чота самописное делать нужно

Magic
15.07.2017
20:39:27
нет

Дмитрий
15.07.2017
20:39:28
Нафига?)

Magic
15.07.2017
20:39:31
как раз тут не нужно

используй gearman или rabbitmq

Скрудж
15.07.2017
20:39:43
Нафига?)
хочу, че за вопросы?

Скрудж
15.07.2017
20:45:34
Zmq с брокером.
ну ебана, я же не прошу готовое решение, а прошу указать способ распределения

Rocket
15.07.2017
20:54:54
ну ебана, я же не прошу готовое решение, а прошу указать способ распределения
Да как хочешь так и делай, если велосипед задумал делать. У меня машины по http общаются.

Скрудж
15.07.2017
20:55:18
Да как хочешь так и делай, если велосипед задумал делать. У меня машины по http общаются.
да мне скилл набивать нужно, а не велосипеды. Готовые решения я могу заюзать

stonepig
15.07.2017
21:55:02
да мне скилл набивать нужно, а не велосипеды. Готовые решения я могу заюзать
скилл и заключается в познании готовых решений и умении их применить

Скрудж
15.07.2017
21:58:01
Sergey❄️
15.07.2017
22:00:44
Ага, расскажи об этом геймдеву
EA делает игры на одном движке уже лет 6

Да что уж, Valve 13 лет ( не беру в счёт source 1 )

Скрудж
15.07.2017
22:01:06
EA делает игры на одном движке уже лет 6
до этого они этот движок написали, а сейчас постоянно допиливают

рокстар тоже? Спойлер: нет

Google
Sergey❄️
15.07.2017
22:01:26
до этого они этот движок написали, а сейчас постоянно допиливают
Ну, у них есть готовое решение, которое они допиливают

рокстар тоже? Спойлер: нет
Не знаю, врать не буду

Скрудж
15.07.2017
22:02:08
Ну, у них есть готовое решение, которое они допиливают
Это пишет не один человек, а команда, которая училась всему этому. Короче, не ебите мозг, я попросил совет, а не готовое решение

Sergey❄️
15.07.2017
22:02:43
>советуют взять готовое >Не ебите мозг

:)

Magic
15.07.2017
22:09:11
скилл и заключается в познании готовых решений и умении их применить
но и важно понимать как работают эти готовые решения. а то сам ничего не сможешь сделать, без готовых

stonepig
15.07.2017
23:38:33
Дмитрий
16.07.2017
05:03:38
Какой агрессивный любитель костылей, однако

Zaur
16.07.2017
05:29:57
Это пишет не один человек, а команда, которая училась всему этому. Короче, не ебите мозг, я попросил совет, а не готовое решение
? странно это когда человек просит помощи употребляя при этом "не ебите мозг". В этой ситуации вы один пытаетесь полюбить мозг всему чату. Вам дали дельный совет, а если хочется поднять свои скилы через велосипедостроение - здесь поможет только практика, много практики. С каждой новой версией велосипеда станет ясно как надо а что не надо. В конечном итоге придёт осознание что лучше взять готовое

AbduCOM
16.07.2017
05:35:45
Ребята, какие ограничения есть на запросы (например: resolve_username, channel_info, send_msg) в Телеграм CLI? И как ловить респонсы правильно? Похоже я превышал лимит и сейчас получаю: Traceback (most recent call last): File "/home/user/www/pytg/test.py", line 112, in <module> main() # executing main function. File "/home/user/www/pytg/test.py", line 29, in main receiver.message(example_function(sender)) # now it will call the example_function and yield the new messages. File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/utils.py", line 29, in start cr = func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/receiver.py", line 212, in message function.send(message) File "/home/user/www/pytg/test.py", line 75, in example_function results = sender.resolve_username(msg.text[1:]) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 632, in command_alias return self.execute_function(command_name, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 322, in execute_function result = self._do_send(request, answer_timeout=self.default_answer_timeout, retry_connect=retry_connect) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 529, in _do_send raise NoResponse(command) pytg.exceptions.NoResponse: [disable_preview] resolve_username betteren

Ребята :(

Дмитрий
16.07.2017
05:51:32
Ребята, какие ограничения есть на запросы (например: resolve_username, channel_info, send_msg) в Телеграм CLI? И как ловить респонсы правильно? Похоже я превышал лимит и сейчас получаю: Traceback (most recent call last): File "/home/user/www/pytg/test.py", line 112, in <module> main() # executing main function. File "/home/user/www/pytg/test.py", line 29, in main receiver.message(example_function(sender)) # now it will call the example_function and yield the new messages. File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/utils.py", line 29, in start cr = func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/receiver.py", line 212, in message function.send(message) File "/home/user/www/pytg/test.py", line 75, in example_function results = sender.resolve_username(msg.text[1:]) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 632, in command_alias return self.execute_function(command_name, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 322, in execute_function result = self._do_send(request, answer_timeout=self.default_answer_timeout, retry_connect=retry_connect) File "/usr/local/lib/python2.7/dist-packages/pytg-0.4.10-py2.7.egg/pytg/sender.py", line 529, in _do_send raise NoResponse(command) pytg.exceptions.NoResponse: [disable_preview] resolve_username betteren
Ну если ты дёргал сразу пачку запросов за раз, то сервер тебя просто погасил на период от пары секунд до пары суток

AbduCOM
16.07.2017
05:55:35
Ну если ты дёргал сразу пачку запросов за раз, то сервер тебя просто погасил на период от пары секунд до пары суток
да. в bot api сервер отправляет в ответ "retry_after". а в pytg не отправляет или я не понимаю как получить правильный ответ

Дмитрий
16.07.2017
05:55:58
Второе

У меня жс, поэтому конкретно подсказать не могу, но ошибку тебе прислать должны

Dmitry
16.07.2017
06:26:29


Vasiliy
16.07.2017
06:34:41
поделитесь секретом, как кто делает степы в опросах и как динамически создаете анкетирование?

я сейчас делаю через switch, но это хардкод

шаги в Enum храню, а степы у клиента в модели

Дмитрий
16.07.2017
06:38:37
Модель анкеты можно в json описать

Google
Vasiliy
16.07.2017
06:40:10
как динамически делать анкетирование? Я нарисовал себе схему примерную, может кто че лучше посоветует. Типа есть таблица Question с полями step(id) question field где степ(ид) это номер шага question - сам вопрос field - поле которое будет в сообщение админу писаться, типа step(id) - 0 question - Введите номер телефона field - тел: ответы сохраняются в отдельной таблице answer типа chat_id, field, answer как последний степ наступает, из таблицы answer берется вся выборка по chat_id, компануется стринга по филдам и ответам и отправляется админу, таблица ответов по этому чат айди чистится

при каждом степе в answer добавляется строка

норм или дичь?

масштабировать можно в случае если появятся еще анкеты, тогда в question надо вбить отдельно id анкетирования, и отдельно степы для каждого вида анкеты и по id анкетирования делать выборку

Дмитрий
16.07.2017
06:44:46
Если анкета одна — то это оверкилл, если не одна, то номер анкеты сразу надо)

Vasiliy
16.07.2017
06:45:10
ну ансверы привязываются к чатид

вопрос еще вот такой, что если ветвление опроса будет, то есть если я ответил нет, то шаг 4, если да то шаг 7 например

Sergey
16.07.2017
06:46:18
ну ансверы привязываются к чатид
Ну ты это делаешь как я понял после опроса а вдруг в это же время другой тоже захочет опрос пройти а у тебя step 1 допустим уже ?

Sergey❄️
16.07.2017
06:46:58
Раз в 10 секунд дёргал смену имени, вроде ок

Ниже что- то не хочу опускать

Дмитрий
16.07.2017
06:47:31
Я раз в 4 себе никнейм менял

Раз в 2 уже начинали меня оттормаживать

Magic
16.07.2017
06:47:42
масштабировать можно в случае если появятся еще анкеты, тогда в question надо вбить отдельно id анкетирования, и отдельно степы для каждого вида анкеты и по id анкетирования делать выборку
Я в одном проекте сделал тупо и универсально к оазгым анкетам: user_id | status | name | detail Где стейт это активный опрос или нет. В detail массив с вопросами и ответами. Ответы null, значит надо заполнить.

Magic
16.07.2017
06:48:19
Detail json Стейт хранить тут не придется

Просто бери первый вопрос у которого ответ null

Страница 1065 из 4042