• Передача файлов nodeJs. Как вам такой вариант?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Передача файла всеравно происходит двумя способами: отправка формы в скрытом iframe (или же просто отправка формы), или же XMLHttpResuest2. Ну и за этим всем обычный HTTP POST. И все... А все остальное - это разработка UI, контролов и т.д. И да, реализаций подобных море.
    Ответ написан
    1 комментарий
  • Легко ли перейти после Java на JS, JQuery?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Все зависит от того, что вам нужно от js. Так как вы упоминули jquery, то вам придется помимо самого языка учить еще API для работы с dom, разбираться что это такое, как с ним работать, разбираться с api jquery... Ну и есть масса всего, что может добавить трудностей. Так же различные бразуеры - различные проблемы.

    Если вам нужно просто не впадать в ступор видя код на js - то относительно быстро. Для нормального же понимания, с учетом того что вы еще и java изучаете, вы можете замедлиться и в том и в том.
    Ответ написан
    Комментировать
  • Как сделать, чтобы значение текстового поля не восстанавливалось при клике на кнопку?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    используйте уже placeholder. Для старых браузеров просто подключите polyfill.

    jsfiddle.net/ts7cL/1
    Ответ написан
  • Что значит этот код?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    в node.js так сделаны колбэки. Когда у вас отработает запрос в базу, то вызовется эта функция, и если произойдет ошибка, она будет отображена в переменной err. Таким образом осуществляется обработка ошибок. Что бы все было симпатишнее, можно использовать штуки типа promise (q), и таким образом избавить себя от будущих проблем, когда будет разрастаться вложенность колбэков.

    По поводу SET ? - SET - это часть SQL, на место вопросика будет подставляться строка, сформированная из того что вы запихнули в переменную post. По сути SET говорит что именно вставлять, а все что до - что нужно именно вставлять данные и куда.
    Ответ написан
    3 комментария
  • Как решить проблему с $watch в Angular.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    $watch всегда отрабатывает в холостую для инициализаии. Так же в вашем случае не отрабатыват dirty-checking, а потому оно не будет детектить изменения в массиве. Вам нужно либо выставить третий аргумент функции $watch в true (включает dirty-checking с копированием объектов и их сравнением) или же использовать $watchCollection.

    А почему бы вместо этих извращений с ватчерами не прикрепить к select ng-model? В этом случае к слову проще будет применить изолированный скоуп, что бы избежать проблем в будущем.
    Ответ написан
    4 комментария
  • Какие ограничения на data:URI?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    у старых (11 версия) опер вроде как были ограничения ~65 килобайт, а так особо ограничений и нету... Сколько адресовать памяти по идее можно.
    Ответ написан
    Комментировать
  • Как к Yii2 прикрутить phpdaemon?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    их и не нужно связывать. web-socket сервер должен быть как stand-alone приложение. Вам нужно организовать связь между ним и приложением на yii (через rest, сокеты или RabbitMQ/ZeroMQ).

    А вообще в вашем случае, как мне кажется, проще использовать сервисы типа pusher.
    Ответ написан
  • Можно ли увеличить трафик путем ссылок на несуществующие файлы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если у вас там будет 404-ая ошибка, то по идее вы только хуже сделаете.
    Ответ написан
  • Чем эффективнее склеивать и минифицировать js css?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я организовал работу как-то так: есть директория assets, в которой исходники js-ок, less файлики, картинки для оформления и т.д. Собирает это дело сейчас gulp, раньше grunt и ложит в webroot куда ему скажут. При чем для разработки настроены ватчеры (можно сделать и в ide, но не всегда разработчики пользуются оными, некоторые используют vim, да и банально удобнее) и лайврелоад, так что при разработке не нужно перезагружать страницу, что немного уменьшает временные издержки. Ну и так же для сборки настроена оптимизация изображений.

    Собственно когда делается пуш в мастер на сервере стартует сборка проекта, (сборка асетов, вармап кэша, установка зависимостей) и затем все это уже перетекает на сервак, где отрабатывают миграции и релоадится сервер (nginx reload с переключением симлинков)
    Ответ написан
    1 комментарий
  • Как решить проблему с выводом json_encode?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    BOM заголовок? Закрываете тег <?php?
    Ответ написан
  • Yii. Можно ли в beforeSave посмотреть, какие поля модели будут обновляться?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1. в beforeSave доставать объект из базы и делать diff проперти _attributes.
    2. перегрузить волшебный set метод, и запоминать что менялось, записывая куда-то поле, измененное и старое значение.
    Ответ написан
    Комментировать
  • Как не надо верстать сайты?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Модульность и разбиение на компоненты, отказ или минимизация каскадирования стилей. Если у вас в селекторах больше 4-х элементов то явно что-то пошло не так. Почитайте про БЭМ. Единственное что я бы не рекомендовал использовать этот подход в том виде в котором это подается, но идея вполне себе хорошая.

    Что бы верстка не ползла при изменении клиентом контента нужно жесточайше его ограничивать в том что он может сделать (он же может разметку сломать). Для этого можно применить markdown.
    Ответ написан
  • Ускорители PHP. Какой выбрать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Зависит от версии php
    Если у вас используется PHP версии меньше 5,5 то APC. Это лучший опкэшер для PHP.
    в PHP 5.5 по дефолту идет свой кэшер опкодов, который по показателям обходит APC, нужно просто включить его в php.ini.

    Если вам нужно совсем уж быстро, то HHVM - альтернативная реализация php от фэйсбука, там JIT компиляция, море оптимизаций... И в отличии от приведенного @samoilenkoevgeniy KPHP, уже немало библиотек и фреймворков имеют в той или иной степени поддержку этого рантайма. Люди проводившие бенчмарки говорили о ускорении порядка 2-3 раз по сравнению с обычным PHP (хотя все зависит от конкретной задачи) и уменьшением потребления памяти в 10-15 раз.

    запускать проект в продакшен без использования опкод кэшеров я думаю сейчас вообще не целесообразно. Можно так же использовать другие рантаймы, но тут уж нужно эксперементировать.

    p.s. Apache уже можно смело исключить из стэка и заменить его на php-fpm. Для статики у вас всеравно остается nginx, а для php он будет просто проксировать все на php-fpm.
    Ответ написан
    1 комментарий
  • Где в программировании применяется математика (веб/мобильные приложения)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) зависит от того чем вы будете заниматься. Если верстка то как минимум встретите дроби и возможно когда-нибудь дорастете до простенькой тригонометрии (анимации, трансформации и т.д.). Так же тригонометрия может пригодиться при работе с canvas, webgl и т.д. Есть еще audio api с дискретными рядами фурье, свертками, фильтрами (справедливо и для canvas, как как обработка изображений на клиенте так же есть). Словом математику знать полезно, но обычно проблема решается по мере ее поступления. Если будете работать с этим часто то все придет со временем. Если же нет - то и учить смысла особо нету, главное умение разбираться.

    2) Это проблема системы образования. Отсутствия желания заинтересовать абитуриента/студента в том, что знания ему могут пригодиться. В итоге учатся все спустя рукава и бывает узнают о том что предмет был полезным и в перспективе интересным уже после окончания этого курса а то и вообще университета. Те же ряды, индегралы и т.д. применяются при обработке сигналов, а стало быть аудио, видео и просто изображений. Делать там фильтрики для инстаграмма на клиенте... все такое прочее. Это как пример.

    3) как минимум когда-нибудь а то и очень скоро вы столкнетесь с такими штуками как оценка сроков выполнения проекта, вот там теория вероятности может помочь. Так же предсказание пиковых нагрузок на сервера, расчет вероятности отказа и т.д. (правда все в очень упрощенной форме). Ну и опять же, мало ли задача какая подвернется.
    Ответ написан
    Комментировать
  • Как освободить порт после экстренного завершения программы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    выставьте опцию SO_REUSEADDR при создании сокета.
    Ответ написан
    Комментировать
  • Yii, как сделать запись компактнее?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    разве что так:
    foreach (['account_data_CUD', 'security_data_CUD', 'work_data_CUD' as $action) {
        $this->createAction($action)->run();
    }
    Ответ написан
  • Когда лучше НЕ использовать jQuery?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Зависит от задачи. Если у вас регламентируется поддержка старых версий браузеров то тут без jquery никак, ибо сильно упрощает жизнь. В последних же версиях браузера есть штуки нативные, которые даже приятнее в использовании нежели jquery аналоги. Скажем проперти classList у нод, или выборка элементов через querySelectorAll, которая не просто возвращает массив нод, а коллекцию, которая, если на странице был добавлен новый элемент подходящий под селектор, автоматически обновится. С минимальным оверхедом и т.д.

    По сути jquery стал не нужен так как он уже не слабо повлиял на само DOM API. Ну мол, очень много идей позаимстовалось и было улучшено. Правда в итоге скорее всего подключить jquery придется изза каких-то зависимостей, но не факт.
    Ответ написан
    Комментировать
  • Как передать данные в замыкание?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    если я правильно понимаю то что вы хотите сделать то так:
    var i = 1;
    reader.onload = (function(i){
             return function(e){
                    console.log(e,i);
                };
            })(i);


    а вообще 2 варианта, объявить переменную в скоупе выше, либо же передавать при вызове в качестве аргумента.
    Ответ написан
    Комментировать
  • Как отдать музыкальный файл на скачивание php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ответ написан
    Комментировать