• Базовый код на Sinatra?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Если верхнеуровнево, то примерно так:

    require 'sinatra'
    Подключаем библиотеку sinatra

    get '/' do
    Говорим что принимаем GET запросы при обращении к корневой директории веб-сервера

    'Hello world!'
    Указываем что будет возвращать наш вебсервер при обращении к конкретному пути (/), последняя строка является как правило значением которое возвращает функция.

    end
    Закрываем блок, открытый ранее, с помощью ключевого слова do
    Ответ написан
    Комментировать
  • Как в руби осуществить поиск по хэшу?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Вот тут, вероятно, есть пример того, что вы хотите в итоге получить.

    Стандартных базовых функций для решения данной задачи в Ruby - нет.

    Рекурсивная функция, которая бегает по всему хэшу и ищет значения по заданному ключу. MonkeyPatch!!!
    class Hash
      def find_all_values_for(key)
        result = []
        result << self[key]
        self.values.each do |hash_value|
          values = [hash_value] unless hash_value.is_a? Array
          values.each do |value|
            result += value.find_all_values_for(key) if value.is_a? Hash
          end
        end
        result.compact
      end
    end

    Ответ написан
    Комментировать
  • Как получить список тех кто просмотрел историю?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Это нельзя реализовать с помощью:
    • публичного Instagram API
    • веб версии instagram.com


    Теоретически, это возможно реализовать только используя приватное API инстаграм
    Ответ написан
    Комментировать
  • Существует ли доменная зона «.ок»?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Увы, домена первого уровня .ok - не существует

    Пруфы:
    https://www.iana.org/domains/root/db
    Ответ написан
    Комментировать
  • Как отследить сетевые запросы программы в linux (отлов DNS утечек)?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Установите wireshark
    sudo apt-get install tshark

    Запустите её с фильтром по порту 53
    sudo tshark port 53

    Проанализируйте лог
    1 0.000000000 ВАШ_ИП_СЕРВЕРАИП_АДРЕС_DNS_ИЛИ_ПРОКСИ


    Если ИП_АДРЕС_DNS_ИЛИ_ПРОКСИ равен адресу вашего прокси сервера - получается трафик гуляет через прокси. Если там фигурирует адрес DNS сервера - трафик идёт напрямую.
    Ответ написан
    1 комментарий
  • Как мне сделать выборку из двух таблиц?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Опишите пожалуйста структуру ваших таблиц.

    Просто вытащить данные из двух таблиц можно следующим запросом:
    SELECT * FROM table1, table2;

    Однако судя по тому что у вас в коде фигурирует условие, скорее всего вам нужен запрос с соединением (JOIN)
    Пример подобного запроса:
    SELECT table1.*, table2.* FROM table1 INNER JOIN table2 ON table1.primary_key = table2.foreign_key


    Примеры с JOIN-ами для понимания:
    https://stackoverflow.com/a/6294854
    Ответ написан
  • Почему отличаются "всего" (50350), последний id от AUTO_INCREMENT (59922) и COUNT(*) (59717)?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Дело в том, что AUTO_INCREMENT - функция используемая для генерации уникального идентификатора, который будет характеризовать новую (вставляемую строку)
    А COUNT - функция для получения количества строк в выборке.

    AUTO_INCREMENT идентификатор от последней вставленной строки будет совпадать с результатом от функции COUNT только в том случае, если из таблицы не удалялись никакие строки с данными.

    Ответ на ваш вопрос:
    Если они различаются, значит производились удаления строк из таблицы.
    Конкретно в вашем примере удалялось 59922 - 59717 = 205 записей.
    Ответ написан
    3 комментария
  • Почему бот не отвечает на сообщение?

    d4mk0f
    @d4mk0f
    Старость - не страшно, а PHP - не смертельно.
    Побуду вангой, но скорее всего, функция lower() возвращает привет, а не Привет.
    Поэтому ваше условие всегда ложно.

    UPD:

    Замените строку "Привет" строкой "привет"

    Ну и, научитесь отлаживать ваш код, это хороший навык.

    Выведите содержимое значения event.object.text.lower() перед выполнением последнего условия.
    Чтобы увидеть какое значение находится в этой переменной.

    print(event.object.text.lower())
    Ответ написан