• Как подружить php и socket.io?

    @xfg Автор вопроса
    Нашел причину. Она банальна. Изначально нужно отрендерить html-страницу, а только после этого выбрасывать событие через elephant.io в socket.io.

    Исходя из этого, можно в actionIndex только рендерить страницу, а уже внтури страницы можно сделать ajax-запрос например при наступлении события jQuery(window).load() к нужному php экшену, который будет с помощью elephant.io выбрасывать событие в socket.io.
    Ответ написан
    Комментировать
  • PHP CURL + Yandex Speechkit - как заставить работать?

    @LAV45
    Вот пример рабочего кода. Оправляется обычный GET запрос.
    /**
     * @see https://tech.yandex.ru/speechkit/cloud/doc/guide/concepts/tts-http-request-docpage/
     */
    $apiUrl = 'https://tts.voicetech.yandex.net/generate';
    $options = [
        'key' => '******',
        'speaker' => 'oksana',
        'format' => 'mp3',
        'lang' => 'ru-RU',
        'speed' => 1.2
    ];
    
    $options['text'] = $text;
    
    $url = $apiUrl . '?' . http_build_query($options);
    $data = file_get_contents($url);
    
    file_put_contents('audio.' . $options['format'], $data);
    Ответ написан
    Комментировать
  • Как отменить pull?

    @0x433
    По определению git pull это git fetch + git merge
    Отмена через git reset --hard на предыдущее состояние.
    Ответ написан
    Комментировать
  • Let's Encrypt + Nginx + Docker, как обновлять ключи?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    В compose-файле:
    services:
      ...
      certbot:
        image: certbot/certbot
        volumes:
          /etc/letsencrypt_docker:/etc/letsencrypt
        command: ["renew"]

    Сертификаты заводить через
    docker-compose run certbot certonly --web-root=/etc/letsencrypt/challenges -d domain
    .
    В конфигах nginx:
    server {
      server_name some.domain;
      ...
      location /.well-known/acme-challenge {
        root /etc/letsencrypt_docker/challenges;
      }
    }

    В крон
    docker-compose -f /path/to/docker-compose.yml up certbot
    Ответ написан
    1 комментарий
  • Несколько IP в DNS (A-запись)?

    @bondbig
    Это называется DNS Round-Robin
    По умолчанию ip-адреса будут выдаваться в карусельном порядке, можно настроить случайный порядок или строгий порядок.
    Ответ написан
    3 комментария
  • Как исправить помехи от светодиодных лент?

    Sly_tom_cat
    @Sly_tom_cat
    .
    Для начала нужно понять в чем суть проблемы.
    Если помехи по питанию то:
    1. развести питание сенсорной системы и исполнительной.
    2. навесить побольше конденсаторов в сеть питания сенсоров.
    Если наводка на датчики от лент, то:
    1. проверить отдельно каждый датчик что на него не влияет свет лент (то что они в видимо спектре светят вовсе не означает что они не могут светить в инфракрасном).
    Ответ написан
    1 комментарий
  • Адаптивная вёрстка - как побороть боль?

    @sitev_ru
    sitev.ru - мой блог ...
    Я больше ориентируюсь на back-end, иногда пишу на javascript/jquery, но когда дело касается вёрстки - начинается ступор.

    И тут я нашёл для себя Bootstrap. Ступор прошёл ...

    Если не хватает стандартных компонентов - можно найти в интернете более продвинутые.
    Ответ написан
    Комментировать
  • Сборка проекта, AMD, LMD, использование модулей проекта

    azproduction
    @azproduction
    Использовать сборку и автоматизацию — однозначно стоит.

    require.js имеет свой собственный сборщик модулй и оптимизатор — r.js

    Достаточно много с ним работал из опыта могу сказать, что он хорош, но мне не подошел — муторно поддерживать проект на нем:
    — это AMD, а значит нужно писать обертку define, колдовать если заходится использовать модуль в node.js… (можно не писать обертку, но придется опять колдовать)
    — require() — God Object и возвращает всевозможные тип ресурсов всевозможными путями. Долго вникать что к чему если код чужой
    — плагинная система у него странная для восприятия «с нуля»
    — результат сборки сложно окинуть взглядом «все как-то само»

    В общем, я устал от AMD и RequireJS, смотрел в сторону всевозможных подобных проектов тк мне не хотелось писать еще один велосипед. В итоге, мне пришлось написать инструмент своей мечты — LMD.

    Исходил я из слудующих соображений:

    * Сегодня все собирается. Даже dev
    — зачем писать обертку и вобще писать что-то лишнее если за тебя это может сделать робот?!
    * Читаемость кода очень важна
    — Нужно исключить неявные конструкции
    — Я как архитектор моего проекта хочу знать, что в нем будет «валяться»
    * Сборок бывает много
    — dev, production, dev-ru, test-en_US
    * Нужен контроль результата сборки
    — Проверка целостности
    — Подробная информация о сборке
    — Аналитика

    Сегодня LMD умеет все то, что умеют другие сборщики, и имеет ряд преимуществ: CommonJS/Modules, честная и тотальная изоляция модулей, шикарная аналитика сборок как статическая так и динамическая, CLI с автокомплитом, GUI. LMD особенно хорош если у вас много сборок — много языков, много окружений.

    Если вы используете grunt, то у LMD есть для него плагин — grunt-lmd.

    Буквально на длях я написал целую кучу примеров к всевозможным плагинам и фичам LMD. Посмотрите их. Если будут вопросы задавайте тут или в ЛС.
    Ответ написан
    3 комментария