• Как в javascript последовательно обойти все элементы класса?

    thewind
    @thewind
    php программист, front / backend developer
    1. Берете список нужных элементов обычным селектором jquery
    2. В обычным JS цикле (нумерованном) обходите весь список, беря элемент по порядковому номеру i
    3. Устанавливаете timeout на i*1000 для установки класса

    Можно и через .each с использованием $(this).index и таких же таймаутов
    Ответ написан
    1 комментарий
  • Как узнать о завершении выполнения кода модуля в Node.JS?

    Если уж вы серьезно собираетесь писать PHP подобный сервер, то мой вам совет почитайте про vm модуль, он бы вам пригодился.

    Но честно говоря вы создали себе проблему на пустом месте, потому что сменили язык программирования, но не сменили идеологию мышления.
    Ответ написан
    2 комментария
  • Как в С++ использовать несколько методов к объекту как в JavaScript?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    В C++ это будет вызов метода method2() у того, что вернул method1().

    А вы что хотите? Чтобы method2() вызывался у object? тогда метод1 должен возвращать ссылку на *this.

    #include <iostream>
    #include <stdexcept>
    #include <iomanip>
    using namespace std;
    
    
    struct vantuz
    {
       vantuz& push();
       vantuz& pull();
       vantuz();
    private:
       bool pushed;
    };
    
    vantuz::vantuz():pushed(false)
    {
    }
    
    vantuz& vantuz::push()
    {
            if(pushed)
            {
                  throw logic_error("already pushed!");
            }
            pushed=!pushed;
            cout<<"push! ";
            return *this;
    }
    
    vantuz& vantuz::pull()
    {
        pushed=!pushed;
        if(pushed)
        {
              throw logic_error("already pulled!");
        }
       cout<<"pull! ";
       return *this;
    }
    
    int main()
    {
       try
       {
          vantuz v;
          v.push().pull().push().pull().push().pull().push().push();
       }
       catch(logic_error& ex)
       {
       	  cout<<endl<<setw(20)<<setfill('@')<<' '<<"Runtime error!"<<setw(20)<<setfill('@')<<' '<<endl<<ex.what()<<endl;
       	  throw;
       }
       return 0;
    }

    Потыкать на ideone
    Ответ написан
    3 комментария
  • Возможно ли установить набор модулей для NODE.JS на компьютере без выхода в инет?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    В вашем случае проще установить на подключенной машине и потом просто папку перенести целиком, вместе с node_modules.
    Ответ написан
    1 комментарий
  • Как изменить значение переменной в функции?

    @IceJOKER
    Web/Android developer
    Объявить переменную вне функции, то что внутри функции объявлено доступно только внутри этой функции.
    Ответ написан
    Комментировать
  • Как разобраться с typescript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Начните с ES6. TypeScript это тот же ES6/7 + плюшки.

    Собственно "классы" в TS или в ES6 это всего-лишь сахар над старыми добрыми прототипами, что бы не писать все руками через Object.create или Object.defineProperties
    Ответ написан
    5 комментариев
  • Как оптимизировать загрузку сайта?

    zo0m
    @zo0m
    full stack developer
    фаербаг показывает что вы грузите картинки по 2мб
    f21a3fee24724a919725eb6a7eeb7943.png
    Ответ написан
    Комментировать
  • Чем io.js лучше Node.js?

    BOOMER_74
    @BOOMER_74
    Full-Stack разработчик
    Главное это включенная поддержка (на уровне V8) ES6 по умолчанию (тоже самое есть в Node.js, но доступно с указанием специальных ключей). Так же отличается открытым обсуждением и принятием новых фич, изменений в API и т.д. (в отличии от Node.js, где этим заправляет Joyent). В принципе ничего не мешает использовать его сейчас, разве что стабильность некоторых функций (проверьте список баг, перед использованием :) ).
    Ответ написан
    Комментировать
  • Как расположить точки на цилиндрической карте?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Зависит от проекции. Пусть широта точки равна u (измеряется в радианах, от -pi/2 до pi/2), а долгота v (от 0 до 2*pi).

    Самая распространённая - равнопромежуточная цилиндрическая проекция. В ней карта имеет размер (2*pi) x pi, и координаты вычисляются как x=v, y=u+pi/2.

    В проекции Меркатора ширина карты равна 2*pi, а высота может быть любой, вся планета всё равно не поместится. Допустим, высота равна 2*H, ширина - 2*pi. Тогда координаты будут x=v, y=ln(tan(u/2+pi/4))+H. Для некоторых точек (около полюсов) y выйдет за пределы диапазона (0,2*H), этих точек на карте не будет.

    В равновеликой проекции Ламберта (сохраняющей площади) карта имеет размер (2*pi) x 2, и координаты вычисляются как x=v, y=sin(u)+1.

    В равнопромежуточной азимутальной проекции (с центром в северном полюсе) карта умещается в квадрат со стороной 2*pi. x=pi+(pi/2-u)*cos(v), y=pi+(pi/2-u)*sin(v).

    В центральной проекции (с центром в северном полюсе) на карте умещается только часть северного полушария. Допустим, карта - квадрат со стороной 2*M. Тогда x=M+ctg(u)*cos(v), y=M+ctg(u)*sin(v) (для u>0). Преимущество этой проекции - что кратчайшие пути между точками изображаются прямыми.

    В стереографической проекции (с центром в северном полюсе) планета на карте тоже не поместится. Допустим, карта - квадрат со стороной 2*M. Тогда x=M+ctg(u/2+pi/4)*cos(v), y=M+ctg(u/2+pi/4)*sin(v)

    Это первое, что пришло в голову (правда, три последних - не цилиндрические). А вообще, проекций (и алгоритмов) много. Вот краткий список (примерно 60 вариантов): https://en.wikipedia.org/wiki/List_of_map_projections
    Ответ написан
    Комментировать
  • Объясните коротко, по делу что же лучше/производительнее/удобнее и в каких ситуациях?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    мне казалось что все что не .on помечено как deprecated...

    В любом случае:
    - .on - универсальный метод объеденяющий все ниже перечисленные. Всегда старайтесь использовать его.

    - .live - вешает листенер на document и проверяет источник события. Гуглить "Всплытие событий". Был еще .delegate, который делал ровно то же самое но вы сами указывали ноду на которую вешается обработчик. А теперь вопрос, что будет быстрее? Вешать обработчик напрямую на элемент или на его родителя и проверять с какого элемента этот ивент всплыл? Будет ли разница по глубине DOM дерева? Если мы дошли что чем ближе обработчик висит к целевой ноде, тем быстрее, почему вообще нужно использовать делегирование событий? Помимо упрощения работы (если DOM поменялся обработчики не нужно перерегистрировать так как контейнер не менялся и все еще хранит листенер) есть еще такой параметр как количество листенеров. Если у вас табличка аля эксель, проще повесить один листенер на контейнер чем много-тысяч на каждую ячейку.

    - .bind - просто вешает событие на элемент.

    - .click - алиас для .bind('click').
    Ответ написан
    Комментировать
  • Разъясните суть кода?

    Lynn
    @Lynn
    nginx, js, css
    Вообще говоря sortArr и Boolean не эквивалентны. Впрочем для значений true и false они действительно будут выдавать одинаковый результат.

    Любой конструктор в JS это функция. Boolean не исключение. Если его вызывать как функцию, а не как конструктор (т.е. без new), то он приведёт переданный аргумент к true или false, так же как и выражение !!x.
    Ответ написан
    Комментировать
  • Почему не загружает json?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Открываем консоль разработчика браузера (f12)
    Смотрим что за ошибки у нас вывалились.
    Гуглим ошибки.
    Исправляем ошибки.

    ps. javascript я совсем не знаю. Появилась необходимость вывести метки из json файла на Яндекс карту.

    learn.javascript.ru
    javascript.ru
    Ответ написан
    Комментировать
  • Есть какие-нибудь ресурсы по построению правильной серверной архитектуры на node.js/io.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Архитектурные принципы не очень связаны именно с нодой, они будут примерно одинаковыми, на каком бы языке вы не писали. Первое, что я могу посоветовать, когда Вы переходите от технологий программирования к архитектуре систем, это как переход от кладки кирпича к архитектуре зданий - нужно отложить все шаблоны, которые Вы знали до того и подняться на другой уровень абстракции. А именно, нужно перестать мыслить такими понятиями, как DI (dependency injection), REST, MVC, ORM, RPC, шаблонизаторы, компоненты, сокеты, промисы и прочее - это все технологии. Что же нужно понять это: слои (layers), модули, контракты, адаптеры, клиент-сервер, 3-звенная архитектура, микросервисы, СМО (системы массового обслуживания), и т.д. Где так все собрано в одном месте - не могу сказать, я лично по крупицам все осваивал, на что положил 20 лет профессиональной деятельности. Почитайте про ISO/OSI, загляните в три мои статьи habrahabr.ru/post/227753 и habrahabr.ru/post/204958 и habrahabr.ru/post/117791 Раньше хорошие статьи по архитектуре были на www.osp.ru но, к сожалению, давно не читал его. Можно начать с книг Гради Буча и освоения UML, этот дядька сформировал достаточно полный подход и методологию проектирования программных систем, которая ведет правильным путем, но на практике, в каждом отдельном случае может быть заменена интуицией архитектора и существенно упрощена. Удачи!
    Ответ написан
    6 комментариев
  • Вредно ли копирование в программировании?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Авторы скринкастов, видеоуроков и прочих легкоусвояемых материалов в большинстве своем - малолетние долботрясы. Которые ничего не смыслят в теме, которую взялись объяснять другим. Так что, если говорить о вредности для программирования - это скринкасты. Причем вредность фатальная. Здесь, на тостере, полно жертв скринкастов. Душераздирающее зрелище.
    Ответ написан
    Комментировать
  • Вредно ли копирование в программировании?

    @dklokov
    php developer
    Хорошая IDE как компромисс ) Писать начал вроде сам, а дополняет уже она. Опечаток 0, продуктивность на высоте)
    Ответ написан
    Комментировать
  • Актуален ли сейчас jQuery?

    @fr33zy
    Если вы занимаетесь только версткой, то знания jQuery достаточно, чтобы сдать свою работу. Дальше работой займутся JS-разработчики. Не выполняйте чужую работу ;-)

    Если вы занимаетесь не только версткой.
    В этом случае я бы советовал сразу использовать BackboneJS (или AngularJS/любой-хороший-фреймворк), поскольку любые попытки организовать jQuery-код оборачиваются созданием того же BackboneJS (по собственному опыту).
    Проекты имеют свойство разрастаться, и использование хорошего фреймворка - это, пускай, медленный старт, но стабильно быстрая доработка/исправление.
    Ответ написан
    Комментировать
  • Как развернуть сервер с nodejs на Ubuntu?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Есть достаточно много сервисов, которые предоставляют такую возможность: 1, 2, 3
    Ответ написан
    Комментировать