@botoid

Страница 1044 из 4042
Скрудж
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
сделай отдельную таблицу с номерами и связи один ко многим
1 рега = 1 человек. А мне иногда надо, чтобы 1 рега = N-человек перечитал? И чем мой метод нерабочий?

Илья
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: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
Наезд на пустом месте

То есть я опрашиваю все номера из БД, получаю ['xxx', ['xxx','xxx',xxx'], 'xxx', 'xxx'] - мне надо разбить это все по 'ххх'
не, в БД будет строка формата: +xxx;+xxxx;+xxyy; получаешь ее в питон, там numbers.split(';'), на выходе имеем лист из этих номеров

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
А лучше сериализовать в json
json распарсить придется еще :( Но да, так более правильно

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

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: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
И что? В ней нету WHERE и JOIN ?
есть, я о них не подумал

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

Карабанов
12.07.2017
21:50:36
Вместо того чтобы сделать запрос ... WHERE phone = 'mmm' и база сразу выберет нужную запись?
я не понял про WHERE phone = 'mmm' :( если в ячейке 4 номера, например

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
я не понял про WHERE phone = 'mmm' :( если в ячейке 4 номера, например
Это нужно делать так Таблица users: | id | first_name | last_name | other_barahlo | Таблица phone_numbers: | id | number | Таблица users_phone_numbers: | id | user_id | phone_id |

Это называется "нормализация данных", а связь между данными называется "many-many" То есть у каждого юзера может быть много телефонов, а у каждого телефона может быть несколько владельцев (если я правильно понял)

Если неправильно, то можно загуглить связь one-many, думаю понятно что она делает

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

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

Подробнее тоже имеет смысл загуглить, хотя бы вкратце

Только один минус: sqlite не умеет во внешние ключи, поэтому все их достоинства будут недоступны

не, в БД будет строка формата: +xxx;+xxxx;+xxyy; получаешь ее в питон, там numbers.split(';'), на выходе имеем лист из этих номеров
Вот так тоже можно, конечно, но в реляционной базе это будет огромный геморрой с обновлением данных, и немного меньший геморрой с поиском по номеру

Карабанов
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

но отдельная таблица со сквозным списком - самое простое сейчас решение. Спасибо большое

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
Только один минус: sqlite не умеет во внешние ключи, поэтому все их достоинства будут недоступны
Всё он умеет и в ключи и в индексы. Ты какой-то неправильный SQLite знаешь...

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

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

Особенно тесты!

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

? 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
В смысле "делала его недоступным"? Типа только 1 инстанс приложения может быть запущен?
Ну типо бот будет занят Ее выполнением и не будет реагировать на новые команды

M
13.07.2017
05:40:14
Ну пока она будет выполнятся бот не будет отвечать, не ?
Если заблокируешь поток, то да, можно через & в линукс отцепиться от процесса.

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

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

хуяришь туда функцию нужную

ставишь скрипт на крон

у меня так несколько парсеров с последующим постингом в каналы работают

отдельный файл для крона

вначале собираются и парсятся данные, а потом раскидываются по каналам

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