• Я наверно болен, но мне нужна понятная документация по началу работы с Gulp?

    soshnikov
    @soshnikov
    Вы не больны. Больны люди, считающие node.js отличной штукой.
    Это адская хреновина, которая говорит вам, что все покрешилось в либе, которую вы никогда в глаза не видели и стектрейс никоим макаром не объясняет какая проблема возникла в вашем коде.
    NPM, Gulp, Grunt, Bower - понаплодили.
    Если раньше были книги "Как бросить пить и начать писать сайты на PHP+MySQL за 24 часа", теперь их вытесняют "Как начать употреблять ЛСД и программировать на JavaScript с первой дозы".
    Ни один джедай NodeJS не сможет вам объяснить, как оно работает. Ибо мильен тыщ зависимостей хрен пойми чего.
    Однако, с этим приходиться жить. Ищите наркодилера в вашем регионе.
    Ответ написан
    3 комментария
  • Почему Yii/Yii2 не подходит для крупных проектов?

    @karminski
    Senior React.JS Developer
    У нас в компании 4 энтерпрайзных проекта на Yii2. В том числе CRM. В том числе и связь с телефонией, 1С, баг-трекером. Всё работает отлично, без нареканий. О каких "слабых" местах вы говорите? Прекратите читать - начните делать!
    Ответ написан
    7 комментариев
  • Что значит оборачивание функции в скобки (function() { ... })?

    copist
    @copist
    Empower people to give
    Короткий ответ
    (function() { ... })()
    Это определение анонимной функции без параметров и непосредственный вызов её, так же, без параметров

    Длинный ответ
    Зачем оборачивать значение в круглые скобки?

    Оборачивание функции в скобки, так же как и оборачивание константы в скобки - это просто способ показать интерпретатору, что это значение внутри скобок может быть использовано как возвращаемое значение.
    var var_a = 5
    (var_a) /* или */ (5) // не является ошибкой, возвращает значение переменной или выражения
    function func_b() { }
    (func_b) /* или */ (function func_b() { }) // не является ошибкой, возвращает ссылку на функцию
    var var_c = { key: "val" }
    (var_c) /* или */ ({ key: "val" }) // не является ошибкой, возвращает объект
    var var_d = [ "one", "two" ]
    (var_d) /* или */ ([ "one", "two" ]) // не является ошибкой, возвращает массив


    Ну а раз (func_b) - это ссылка на функцию func_b, то значит её можно сразу же вызвать.
    A если (var_c) - это объект, то значит можно сразу же использовать его
    Аналогично (var_d) - это массив, то значит можно сразу же использовать его

    (func_b)() или (function func_b() { })() вызвать функцию
    (var_c).key или ({ "key": "val" }).key использовать объект
    (var_d)[0] или ([ "one", "two" ])[0] использовать массив

    Синтаксической ошибкой было бы использование функции, массива, объекта без скобок ( )
    function func_b() { }() ошибка "Unexpected token )"

    Хотя нет ошибки, по крайней мере в Google Chrome
    { key: "val" }["key"]
    ["one", "two"][0]

    Для чего вообще придумали самовызывающиеся функции?
    Для того, чтобы изолировать переменные и функции, чтобы они не попадали в глобальную область видимости.

    Сравни
    var a = "test"
    alert(a)

    по завершении этого блока переменная a болтается в глобальной области видимости

    и
    (function(){
        var a = "test"
    })()
    
    alert(a) // недоступно, потому что она была локальной переменной внутри анонимной функции


    Почему скобки ( ) пустые?
    В данном случае у функции function() { ... }нет формальных параметров, значит и вызывать можно без параметров.

    Но вообще в самовызывающуюся функцию можно передавать параметры. Это общая практика передачи ссылок на глобальные объекты:

    (function (w, d, $) {
       // некоторым нравится сокращать код путём использования коротких имён переменных
       w['fizz'] = "buzz" // вот так можно принудительно зарегистрировать
                           // глобальную переменную fizz
       $('body').css({background: 'red'}) // вот так можно работать с jQuery через привычную $
                           // даже если библиотека была загружена в режиме noСonflict
    }(window, document, jQuery))


    Некоторым не нравится длинный вариант проверки на undefined и они специально предусматривают лишний параметр, который не инициализируют

    (function (message1, message2, empty) {
        // это и есть проверка на undefined
        if (message1 === empty)
            alert('message1 is undefined')
        else
            alert('message1 = ' + message1)
    
        if (message2 === empty)
            alert('message2 is undefined')
        else
            alert('message2 = ' + message2)
    })("test") // вызвана только с одним параметром, значит второй по имени message2
    //  будет пустой, а третий empty специально ввели в качестве образца
    //  данных с типом "undefined", для служебного использования

    Зачем функция анонимная?
    Аналогично - чтобы не регистрировать её имя в глобальной области видимости, если она нужна один раз.
    Ответ написан
    7 комментариев
  • Сайт на домашнем сервере и VPS одновременно. Как настроить такую связку?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно. На хостинге настраиваете nginx, который все запросы посылает на домашний сервер, а в случае проблем, редиректит на локальный на VPS.

    В примере ниже, все запросы будут уходить на my_home_ip_address, после трех ошибок будет перенаправление на 127.0.0.1:8080 в течении 30 сек. Далее опять будет попытка достучаться до my_home_ip_address.
    upstream backend {
        server    my_home_ip_address    max_fails=3 fail_timeout=30s;
        server 127.0.0.1:8080  backup;
    }
    
    server {
        ...
    
        location /http/ {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            ...
        }
    }
    Ответ написан
    Комментировать
  • Сайт на домашнем сервере и VPS одновременно. Как настроить такую связку?

    hostmaster
    @hostmaster
    DevOps Engineer
    Amazon route53 это наверно самый простой способ, если вдруг ваш домашний сервер отвалится route53 поменяет dns записи и отправит трафик на vps.

    Это не бесплатно, но и не дорого совсем.
    Ответ написан
    1 комментарий
  • Сайт на домашнем сервере и VPS одновременно. Как настроить такую связку?

    rockon404
    @rockon404
    Frontend Developer
    Хочу настроить систему таким образом, чтобы в случае проблем на домашнем сервере, все запросы отправлялись на копию сайта на сервере VPS.

    Тут нужен либо третий сервер с nginx, либо ставить nginx на VPS и оттуда футболить на домашний компьютер, что не рационально.

    Если не секрет зачем вам это?
    Ответ написан
    3 комментария
  • Как установить программу с github в Ubuntu при помощи командной строки?

    DevMan
    @DevMan
    не воспринимает поскольку такой команды нет.
    https://github.com/elmad/darkcoin-cpuminer-1.3-avx-aes.git
    заменить на
    git clone https://github.com/elmad/darkcoin-cpuminer-1.3-avx-aes.git
    Ответ написан
    Комментировать
  • Как установить программу с github в Ubuntu при помощи командной строки?

    BuriK666
    @BuriK666
    Компьютерный псих
    Вам нужно сделать
    git clone https://github.com/elmad/darkcoin-cpuminer-1.3-avx-aes.git
    cd ./darkcoin-cpuminer-1.3-avx-aes/
    и так далее
    Ответ написан
    3 комментария
  • Как установить программу с github в Ubuntu при помощи командной строки?

    git clone https://github.com/elmad/darkcoin-cpuminer-1.3-avx-aes.git
    Ответ написан
    Комментировать
  • Как правильно сделать связку в Docker: php + cron?

    OrlovEvgenii
    @OrlovEvgenii
    golang developer / DevOps
    Никак.
    У тебя 2 контейнера, оба изолированы друг от друга. Соответственно php ничего не знает о контейнере cron и наоборот. Короче говоря - в контейнере cron просто нет установленого php.
    Через links ты просто на сетевом уровне привязываешь php контейнер к cron контейнеру, по сути это тоже самое что сделать в контейнере cron вот такую запись
    echo "php x.x.x.x" >> /etc/hosts
    разумеется с некоторыми нюансами.

    Что можно сделать.
    1. Забыть про идею крона внутри контейнера потому что это плохо.
    2. Если очень хочется, то собрать Dockerfile c php-cli, тогда все заработает.

    и еще пара советов по Dockerfile
    не делай много объявлений RUN без крайней необходимости, старайся записывать все инсталлы в строку с разделителем &&\.
    и делай образ на основе alpine
    Ответ написан
    3 комментария
  • Автоматическое включение компьютера после появления электричества в сети

    Если упс отключает комп штатно («умный», подключен по usb/com, идёт завершение работы), то он должен уметь и его включать (в настройках упса и в биосе «wake up on usb/com»). Если он отключает его просто обрубая питания, а потом питание обрубает, то настройка в биосе типа «on power fail» — «power on». Если же упс просто обрубает питание и ждёт пока на нём кнопку нажмут, чтобы снова его подать, то надо кнопку нажимать…
    Ответ написан
    Комментировать