Разработчик web-интерфейсов.
Текущая сфера деятельности - highload web.
Разработчик Node Inspector.
Контакты

Достижения

Все достижения (14)

Наибольший вклад в теги

Все теги (29)

Лучшие ответы пользователя

Все ответы (65)
  • Зачем нужны таск менеджеры GULP и GRUNT?

    Мне кажется тут не хватает образного примера:

    Вот купили вы стул. До ужаса дешевый, а потому без инструкции по сборке. Помучились час другой, но собрали. И тут выясняется, что ваша подруга купила такой же стул, а собрать ума не хватает, и просит она вас. Вы уже опытный - за пол часа управились. Вы бы и быстрее управились, но все никак не могли найти куда присобачить последний шуруп.
    Потом случилось страшное - почти вся ваша родня узнала о дешевых стульях, и помчалась их покупать, а за советом как собирать их, как вы уже догадались, обращается к вам. Конечно разъезжать из дома в дом по столь неуважительной причине вам не с руки, вот тогда вы написали инструкцию и разослали ее всем по факсу.
    Время шло, город слухами полнился, и вот уже совершенно незнакомые люди обращаются к вам с просьбой какой либо предмет мебели. До поры до времени инструкции спасали, но потом нахлынула толпа бабушек, которым ваши каракули как пергамент на древнеегипетском...
    На этом этапе вы решили уволиться с основной работы и открыть собственное дело по производству роботов-сборщиков (не путайте с роботами-сгибателями). Вам звонят бабушки, а вы им высылаете свои агрегаты, подчас загружая в них инструкцию по строительству дома.

    Вот и сказочке конец, а кто слушал, тот и gulp.

    Простите - пятница.
    Ответ написан
    Комментировать
  • JavaScript: какая разница в объявлении переменных?

    Первый вариант:
    var a = 0, b = 0; имеет несколько явных недостатков:
    1. При наличии системы контроля версий, добавление новой переменной будет неинформативно. Будет изменена вся строка, что незначительно усложнит ревью кода.
    2. Субъективно подобная запись мешает восприятию кода. В ней плохо различимы переменные без присвоенного значения. Т.е. var a = 0, b = 0, c, d = 0;

    Второй вариант:
    var a = 0;
    var b = 0;

    Является наиболее расширяемым в плане версионирования (не имеет проблемы с выставлением запятой, как в приведенном ниже третьем варианте), но перегружен служебными словами.
    Лично я предпочитаю пользоваться этим синтаксисом в nodejs модулях для подгрузки библиотек в верхней части скрипта:
    var fs = require('fs');
    var path = require('path');


    Третий вариант:
    var a = 0,
        b = 0;

    Несколько проигрывает второму в плане удобства версионирования (при добавлении переменной С будет изменено две строчки, а не одна), но наиболее распространен в js best practices. Одинаково применим как с выравниванием по 4 пробелам для выстраивания переменных в столбик, так и без надуманного выравнивания.
    Из минусов этого варианта, можно отметить забытую запятую после a = 0. В таком случае переменная b будет объявлена глобально, если не используется "use strict"
    Ответ написан
    1 комментарий
  • Как можно заменить инструкцию jquery $(element).html() функцией на чистом javascript?

    Нет, серьезно, вы не пробовали почитать учебные материалы по языку программирования, который используете?
    Ответ написан
    1 комментарий
  • Как вывести массив var a = [2, 2,3,3,3,4]; в виде 2:2, 3:3, 4:1?

    Простите, вы собираетесь поэтапно решать свои задачи с помощью Тостера?
    Судя по списку предыдущих ваших вопросов, именно так дела и обстоят.

    Может стоит взять в руки учебник, ну или хотя бы javascript.ru проштудировать?
    Ответ написан
    Комментировать
  • Как правильно устанавливать node аддоны с нативным кодом?

    По поводу рабочего окружения:
    Я бы порекомендовал уйти от Win XP хотя бы на Win 7. Из личного опыта - если вдруг у вас возникнет проблема с установкой модуля на Win XP никто даже не почешется помочь вам с отладкой.
    Так же я порекомендовал бы Visual Studio 2010 или 2013. Здесь в большинстве случаев разницы не будет. После выбора используемой версии советую прописать npm config set msvs_version 2013 (или 2010 соответственно)
    Стоит ознакомиться с рекомендациями приведенными в инструкции по работе с node-gyp

    Установка нативых модулей в iojs это отдельная песня. Шанс что они скомпилируются как подмодули какого-то проекта нулевой, поскольку node-gyp не умеет компилировать под iojs, потому что не знает откуда качать его исходники. Поэтому Вам скорее всего придется устанавливать эти модули отдельно, компилировать их, а потом кидать в папку проекта.
    Для компиляции используйте npm install -g pan-gyp. Это форк node-gyp созданный специально для компиляции под iojs. Собственно для компиляции модуля:
    1. берем его с гитхаба
    2. в package.json в секцию scripts прописываем preinstall: pan-gyp rebuild. (В случае модуля с которым вы мучаетесь, перезаписываем сразу install script)
    3. Из директории модуля запускаем npm install .

    У некоторых нативных модулей действительно есть скомпилированные бинарники, но это целиком ответственность разработчика модуля. И ответственность притом не малая. В случае вашего модуля, такие бинарники отсутствуют. Чаще всего при наличии бинарников у модуля в зависимостях будет висеть node-pre-gyp. (Примеры v8-profiler, v8-debug).
    К слову для приведенных примеров вам совершенно необязательно что-либо перезаписывать.
    Эти два модуля являются подмодулями node-inspector и в большинстве случаев устанавливаются без проблем.

    В заключении:
    Если не хотите вздрагивать при появлении в зависимостях проекта нативных модулей, то советую действительно использовать nodejs, так как компиляция под iojs еще очень не стабильна в плане инструментов.

    Модуль, с которым вы мучаетесь, скорее всего вообще не тестировался на iojs.
    Так же обратите внимание на package.json engine в этом пректе.
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (10)