
Sergey❄️
12.07.2017
21:15:33

Скрудж
12.07.2017
21:15:41

Sergey❄️
12.07.2017
21:15:42
первую строчку перечитай ещё раз

Илья
12.07.2017
21:21:27

Google

Sergey❄️
12.07.2017
21:21:39
Мне то что, Павлу пишите)

Илья
12.07.2017
21:22:18

Скрудж
12.07.2017
21:22:21

Илья
12.07.2017
21:23:15

Скрудж
12.07.2017
21:23:26
та

Илья
12.07.2017
21:24:49
та
тем что это простое но плохое решение)

Скрудж
12.07.2017
21:25:14
yasno, аргументов нет, @rust_resisting пользуйся, если этого ожидал

Илья
12.07.2017
21:28:21
та
представь что бот стал очень популярным и им пользуется в компании допустим на 500 сотрудников
и тебе надо быстро выбрать авторизовать пользователя или нет и на очереди еще n запросов
возникает вопрос зачем тогда использовать sqlite но это уже другое

Скрудж
12.07.2017
21:28:50

Илья
12.07.2017
21:28:54
давай

Карабанов
12.07.2017
21:29:21
То есть я опрашиваю все номера из БД, получаю
['xxx', ['xxx','xxx',xxx'], 'xxx', 'xxx'] - мне надо разбить это все по 'ххх'

Google

Скрудж
12.07.2017
21:29:49
Ты ебанат, процессоры с тактовой частатой в 2-3 ггц компанию в 500 сотрудников прощелкают за тысячную секунды. Хочешь быстрее? Сортировка по элементам + бин поиск. Хочешь еще быстрее

Карабанов
12.07.2017
21:30:25
а зачем тут надо было оскорбление? :)

Скрудж
12.07.2017
21:30:54
Наезд на пустом месте

Pavel
12.07.2017
21:32:17
А лучше сериализовать в json

Карабанов
12.07.2017
21:32:32
Ну так мне SELECT phone FROM ... вернет
['xxx', ['xxx','xxx',xxx'], 'xxx', 'xxx']

Скрудж
12.07.2017
21:33:24

Илья
12.07.2017
21:33:28

Скрудж
12.07.2017
21:34:06

Pavel
12.07.2017
21:36:20
Нормализовать в отдельную таблицу |int user_id| string phone|

Карабанов
12.07.2017
21:43:13
На-живую проверил. Есть клиент А с номером ххх и клиет Б с номером nnn и номером mmm, получаю следующее при опросе БД
'xxx', 'nnn, mmm'
А мне для проверки надо получить список
'xxx', 'nnn', 'mmm'
то есть костыль некий должен идти по списку, который выдаёт cur.execute, при столкновении со списком в списке - разбирать список и добавлять его генераотом по-элементно в общий список - но это пиздец какая-то утопия

Скрудж
12.07.2017
21:43:34

Карабанов
12.07.2017
21:44:22
то есть тупо форматированием строки...

Pavel
12.07.2017
21:44:40
Т.е. ты предлагаешь выбирать все строки из базы в питон и проходиться по каждой сплитом?
Вместо того чтобы сделать запрос ... WHERE phone = 'mmm' и база сразу выберет нужную запись?

Скрудж
12.07.2017
21:45:42
Напомню, СУБД sqlite

Pavel
12.07.2017
21:46:17
И что? В ней нету WHERE и JOIN ?

Oleg
12.07.2017
21:46:37
where есть :)
точно
джоин думаю аналогично :)

Google

Скрудж
12.07.2017
21:47:02

Pavel
12.07.2017
21:48:01
Что-то вы совсем держите sqlite за днище :) А в ней есть хороший набор sql-джентельмена.

Карабанов
12.07.2017
21:50:36

Pavel
12.07.2017
21:51:33
Отдельную таблицу сделай для телефонов и выбирай SELECT users.* FROM users JOIN phones ON users.id = phones.user_id WHERE phones.phone = 'mmm'

Yury
12.07.2017
22:50:33
Это называется "нормализация данных", а связь между данными называется "many-many"
То есть у каждого юзера может быть много телефонов, а у каждого телефона может быть несколько владельцев (если я правильно понял)
Если неправильно, то можно загуглить связь one-many, думаю понятно что она делает

Карабанов
12.07.2017
22:53:36
правильно понял!

Yury
12.07.2017
22:54:53
Ну вот
Дальше есть понятие "внешний ключ", в нашем случае user_id это внешний ключ для поля id в таблице users
Ну и точно также с полем phone_id
Подробнее тоже имеет смысл загуглить, хотя бы вкратце
Только один минус: sqlite не умеет во внешние ключи, поэтому все их достоинства будут недоступны

Карабанов
12.07.2017
22:57:39
То есть так или иначе это доп.таблица
uid - pnк которой нужно ходить и проверять

Yury
12.07.2017
22:58:44
Ага
Ничего страшного, если индексы настроить (хотя в sqlite их вроде тоже нет), то будет всё быстро работать

Карабанов
12.07.2017
23:00:03
ну при работе с базой до 5 000 записей - проблем не будет, думаю, да и обращений нет с такой частотой. 90% - это UID = PN, редко когда UID = несколько PN
но отдельная таблица со сквозным списком - самое простое сейчас решение. Спасибо большое

Andre
12.07.2017
23:03:03

Artemiy
12.07.2017
23:12:48
Ок. Мне нравится число 42. Думаю, самое оно. :)
Попробуй сейчас. :)

?
12.07.2017
23:38:11
кто может обьяснить

Google

?
12.07.2017
23:38:19
выполняется запрос на апдейт
в базу
а делается зачем то инсерт
проверил, выполняется апдейт, но появляется новая строка в базе

Chuvi
12.07.2017
23:57:54

?
12.07.2017
23:58:35
разобрался почему вторую строку добавляет, но теперь при апдейте вместо данных идут нули

Sergey❄️
13.07.2017
00:21:02
Что-то Кэширование инлайн результатов это попа какая-то, столько всего ломает
Особенно тесты!

Lignyakod
13.07.2017
03:40:52
https://t.me/darknetinfo — канал о темной стороне интернета (даркнета), на канале присутствуют рассказы о работе кладменов, наркоторговцев, кардеров и других профессиях даркнета.

Rirush
13.07.2017
03:50:42

Aztwin LK
13.07.2017
03:51:47

? W.W.W
13.07.2017
04:55:34
При создании самоподписанного сертификата появляются 2 файла , .key и .crt , а где взять .pem ?(

stonepig
13.07.2017
04:56:23
letsencrypt

ThePanaceya
13.07.2017
04:57:52
По сути (скорее всего) crt и есть тебе нужный pem

Tim
13.07.2017
05:12:44
рябят
ботов за деньги пишете?

stonepig
13.07.2017
05:13:11
ага, есть тут такие

Vitaly
13.07.2017
05:13:38
1BTC
Геотэги по закладкам, расчет доз, все включено

M
13.07.2017
05:19:19

Google

Oleg
13.07.2017
05:19:35

ACx0
13.07.2017
05:21:32

?
13.07.2017
05:37:15
Как можно организовать выполнение функции по расписанию так, чтобы она работала в фоне и не делала его недоступным во время выполнения?

Aztwin LK
13.07.2017
05:38:11
Крон, нее?

?
13.07.2017
05:38:54
Крон, нее?
Ну пока она будет выполнятся бот не будет отвечать, не ?

M
13.07.2017
05:39:06

?
13.07.2017
05:39:58

M
13.07.2017
05:40:14

stonepig
13.07.2017
05:40:47

M
13.07.2017
05:41:06
Типа /bin/bash -c "do-something 0 > /dev/null 2>&1 &"

stonepig
13.07.2017
05:41:15
берешь нужный метод, хуяришь в отдельный файл, там создаешь еще один объект бота
хуяришь туда функцию нужную
ставишь скрипт на крон
у меня так несколько парсеров с последующим постингом в каналы работают
отдельный файл для крона
вначале собираются и парсятся данные, а потом раскидываются по каналам