Наличие MAC-адреса в интернете ни на что не влияет, лишь бы его не было в LAN провайдера.
Ростелеком вряд ли раздаёт интернет по WiFi, скорее всего у вас стоит маршрутизатор и точка доступа, возможно в одном флаконе. На точке доступа подключение по WiFi может быть ограничено белым списком MAC-адресов.
Лексемы - это всего лишь входные данные для парсера, сами по себе они бесполезны. А вот выход парсера - синтаксическое дерево разбора - его уже можно использовать для поиска.
sergey_zhuravlev_89: А как угодно. Чаще всего реализуется смесь конечного автомата и простого сравнения строк. Для скорости файл считывается в оперативку и разбирается простым перемещением указателя на текущую точку разбора.
Saboteur: Всё верно. E1 и аналоговая линия - отдельные физические кабеля плюс шлюз или плата в компьютер. SIP предоставляют как через интернет, так и отдельным кабелем или как VLAN внутри интернет-канала, тут зависит от провайдера. IAX практически никто не даёт, хотя с ним проще в NAT, достаточно проброса одного порта. GSM - только шлюзами. Константин: Если ваш провайдер допускает несколько звонков по одному транку, то можно использовать те же данные. Можно подключиться к Ростелекому (Новая телефония) или Мегафону (Мультифон). Можно использовать SipNet, Zadarma и прочих провайдеров IP-телефонии. Можно подключиться сразу к нескольким провайдерам и маршрутизировать звонок в зависимости от точки назначения.
Денис Сечин: Тогда могу только посоветовать через tcpdump или Wireshark посмотреть, что происходит на 21 порту. Там должен быть весь протокол обмена сервер-клиент.
Ezhyg: Активный режим - клиент открывает порт, передаёт его данные серверу, сервер подключается с 20 порта на порт клиента.
Пассивный режим - сервер открывает порт > 1024, передаёт его данные клиенту, клиент подключается к открытому порту сервера. https://msdn.microsoft.com/en-us/library/cc973739%...
Ещё одна проблема в том, что сервер за NAT в пассивном режиме будет передавать внутренний IP-адрес. Для vsftpd надо добавить в настройки pasv_address с внешним IP.
Александр Попов: В принципе, можно написать пачку вложенных REPLACE, удалив цифры и пробелы, затем взять длину строки, в которой должны остаться только запятые, и прибавить единицу.
Не выглядеть такая пачка вложенных вызовов будет жутко.
Артём Каретников: Ну, для варианта ИЛИ я и не писал, только для И с уникальными и неуникальными тэгами. Но таки да, второй вариант я на автомате взял с поиска товаров по параметрам, тут такой не нужен, достаточно слегка COUNT поправить в первом варианте.
Кстати, ни большом количестве пользователей и тэгов надо ещё посмотреть, что будет быстрее - DISTINCT или IN (SELECT), когда в выборке будет раз по 10-20 один и тот же user_id повторяться.
Артём Каретников: Нет. Оно у вас только для варианта ИЛИ. Вы для варианта И сделайте, где у пользователя должны быть все указанные тэги, с учётом возможного их повторения в таблице связи.