Задать вопрос
  • JS: Перезапись функции - как выключить ошибку jshint?

    aen
    @aen
    Keep calm and 'use strict';
    До строчки наберите /*jshint -W021*/, а после /*jshint +W021*/
    Ответ написан
  • Как продвигать github аккаунт?

    aen
    @aen
    Keep calm and 'use strict';
    Напишите на dailyjs.com, если ваш проект действительно что-то стоит, то его опубликуют в статье. Этот блог многие читают.
    Ответ написан
    Комментировать
  • Сортировка/фильтрация в Backbone?

    aen
    @aen
    Keep calm and 'use strict';
    Вы все верно предложили. Чаще всего только так и можно сделать. Главное в DOM вставлять сразу всю отрендеренную коллекцию, а не по одной вьюшке. И не забывать подчищать за собой в случае, если есть какие то лихие биндинги.
    Ответ написан
    2 комментария
  • Как использовать сетку bootstrap без стилей bootstrap?

    aen
    @aen
    Keep calm and 'use strict';
    Вам поможет getbootstrap.com/customize
    Выбирайте только то, что вам нужно.
    Ответ написан
    1 комментарий
  • Какая библиотека для canvas используется?

    aen
    @aen
    Keep calm and 'use strict';
    Ответ написан
    Комментировать
  • Как "это" можно сократить?

    aen
    @aen
    Keep calm and 'use strict';
    function getMod(m1, m2, m3) {
        $('#a1')[m1 ? 'show' : 'hide']();
        $('#a2')[m2 ? 'show' : 'hide']();
        $('#a3')[m3 ? 'show' : 'hide']();
    }
    Ответ написан
    Комментировать
  • Имеет ли смысл посмотреть на другие client-side MVC фреймворки, если я сейчас очень хорошо разбираюсь в Backbone.Marionette?

    aen
    @aen
    Keep calm and 'use strict';
    Сам термин "удобные" весьма субъективен. Кроме того, я не устаю повторять, что "серебряной пули" нет. Не существует идеального фреймворка. Смотреть нужно другие обязательно, хотя бы только для того, чтобы понимать, что какие то ваши задачи можно решить иначе. Это очень расширяет мышление.

    Мне довелось наблюдать "backbone" головного мозга. Когда разработчик так привык к backbone, что всю логику строил только на сущностях этой библиотеки. И когда у него возникали проблемы с этим, то вместо того, чтобы использовать какие-то нативные js-инструменты, он просто обвешивал лапшой модельки и коллекции.

    У того же backbone есть приличное количество расширений и плагинов. Изучите их. Порой они решают достаточно сносно некоторые задачи.

    Тот же React.js вполне можно использовать в качестве замены Backbone.View. Так же есть идеи о применении подхода Flux при разработке на Marionette. Тоже полезно для ознакомления. Где-то мне на глаза попадался Backbone.Dispatcher.

    Суть: ищите и обрящите. От себя могу добавить только вот эту мою подборку ресурсом в Backbone.
    Ответ написан
    Комментировать
  • Есть ли у вас утечки памяти в backbone?

    aen
    @aen
    Keep calm and 'use strict';
    В backbone были проблемы, связанные с вложенными вьюшками. Пример: у вас есть родительская вьюшка, в которую вложены дочерние вьюшки. Что произойдет если удалить родительскую вьюшку? Дочерние вьюшки останутся в памяти, вот тут собственно и течет. Но это уже дело не в backbone, в рукожопстве разработчика.
    Или можно из одной вьюшки удалить контейнер другой вьюшки, тоже потечет, но это тоже рукожопство.
    В Model и Collection нечему течь.

    Marionette.js предоставляет набор сущностей для работы с вьюхами, которые действительно безопасны с точки зрения протечек. Но даже они не гарантируют рукожопства разработчика.

    На моей памяти были еще танцы с виджетами jQuery UI, которые каждый раз инициализировались. Но это снова о рукожопстве.

    Так что вам следует проверить уважаемого front-end программиста компании iconto проверить на рукожопство. Может быть backbone ни в чем не виноват.
    Ответ написан
    Комментировать
  • Как в Backbone изменять модель в подвью?

    aen
    @aen
    Keep calm and 'use strict';
    Вообще лучше всего соблюдать правило "Одна модель - одна вьюха". В вашем случае, это первый вариант. Тогда старшая вьюха Vote будет играть роль лэйаута. При условии, что не стоит размазывать модель на две вьюхи.

    Вообще есть приличное количество материалов по работе с вложенными вьюхами в backbone. В marionette.js для вашего случая есть даже готовые сущности: Region и LayoutView.
    Ответ написан
    4 комментария
  • Как сверстать подобный шаблон?

    aen
    @aen
    Keep calm and 'use strict';
    Гуглите фразу masonry layout. Например, masonry.desandro.com
    Ответ написан
    1 комментарий
  • Почему не работе eahe для коллекции?

    aen
    @aen
    Keep calm and 'use strict';
    Метод each итерирует объект по его свойствам, либо массив по элементам. В вашем случае итерирование происходит по объекту. Вот только модели коллекции лежать в свойстве models вашей коллекции. Потому итерируйте по нему. То есть:
    _.each(col1.models, function(val, key){
        console.log( key, val )  
      })

    Для удобства работы можно создать свой "класс" коллекций и расширить его методом each:
    var Collection = Backbone.Collection.extend({
      each: function (fn) {
        _.each(this.models, fn);
      }
    });
    
    var myColl = new Collection();
    
    // Итерирование
    myColl.each(function(model) {
        // какая-то логика работы с моделью
    });
    Ответ написан
  • Какой Js mvc framework посоветуете?

    aen
    @aen
    Keep calm and 'use strict';
    Этот вопрос уже был задан пару сотен раз и пару сотен раз все советовали то, чем пользуются сами.

    "Серебряной пули" нет. У любого из них есть свои плюсы и минусы. У любого разработчика есть свои требования. Кому-то хочется иметь максимально большое количество фич "из коробки", кому то важен минимализм и прозрачность.

    Никто и никогда не сможет вам сказать, что вам подойдет какой-то конкретный фреймворк.

    Более того, проекты развиваются, появляются новые задачи. Не раз бывало так, что при первоначальном выборе одного из фреймворков все шло гладко. Но в определенный момент приходили новые требования, которые было проще бы реализовать на другом фреймворке. Но разве это повод все переписывать? Конечно, нет.

    Если вам нравится canjs и он решает ваши задачи, то пишите на canjs и не слушайте никого.

    П.С.: Вам полезно будет прочитать вот этот вопрос Какой Javascript framework выбрать для новичка?
    Ответ написан
    Комментировать
  • Какой Javascript framework выбрать для новичка?

    aen
    @aen
    Keep calm and 'use strict';
    Вот до тех пор пока все будут учить фреймворки, а не принципы проектирования и то как работает браузер, у нас и будут появляться быдлокодеры. Это мысли в слух. Не в обиду автору.

    Фреймворк это просто инструмент. Он за вас решит ряд вопросов. Позволит какие-то фичи сделать быстрее за счет того, что они уже были решены ранее. Но любой фреймворк можно изучить и применять за приемлемое время при условии, что у вас будут достаточно прокачанные скиллы по js, по тому как работает браузер, по тому как передается информации между клиентов и сервером (сокеты, xhr, cors и прочие свистелки).

    Если вы новичок, то просто пишите код. Ставьте задачи. Смотрите как эти задачи решены были ранее в рамках любого фреймворка или библиотеки, прочитайте исходники.

    Фреймворки, к сожалению, весьма подвержены моде. Раньше был тренд на Backbone.js, затем под ореолом Гугла все подхватили Angular.js, сейчас начинается повальное увлечение React.js. Завтра появится, что то новое, все кинутся на него.

    Если вы хотите максимально быстро зарабатывать, то посмотрите требования в вакансиях. Рынок сам вам скажет, что ему нужно.

    Если вы хотите просто прокачаться, но посмотрите примеры решения типовой задачи TodoMVC на разных фреймворках. Выберите то, что вам будет понятнее всего.

    А человек, который на ваш вопрос "Что мне изучать?" быстро и легко назовет имя любого фреймворка, скорее всего сам еще недостаточно прокачался, потому как он видимо не понимает, что нет "серебряной пули". Нет идеального фреймворка, который бы решал все ваши задачи.
    Ответ написан
    Комментировать
  • Какие технологии используются на этой странице?

    aen
    @aen
    Keep calm and 'use strict';
    Если коротко то вот список js-библиотек, которые используются на странице:
    • jQuery
    • The Final Countdown for jQuery
    • jQuery Easing
    • jQuery Mousewheel
    • jQuery Waypoints
    • Social Likes by Artem Sapegin
    • Skrollr by Alexander Prinzhorn
    Ответ написан
    Комментировать
  • В чем отличие document.defaultView от window?

    aen
    @aen
    Keep calm and 'use strict';
    Вам разве не хватает равенства window === document.defaultView?
    document.defaultView это просто ссылка на window.
    Ответ написан
  • Как получить значение каждой ячейки определенного столбца в таблице и затем заменить его?

    aen
    @aen
    Keep calm and 'use strict';
    var $el;
    $('#table_headers tr td:last-child').each(function (i, el) {
      $el = $(el);
      $el.html(dollar * parseInt($el.html() * dollar, 10));
    });


    Правда $.each медленный и его лучше заменить на for или foreach, но это тут не главное.
    Ответ написан
    2 комментария
  • Как сконфигурировать gulp-less?

    aen
    @aen
    Keep calm and 'use strict';
    Вам не хватает одного шага. Нужно или создать еще один файл с импортами блоков и уже его билдить в css, или билдить каждый файл по отдельности и потом их уже склеивать в один. Какой удобнее вам - выбирайте сами.
    Ответ написан
    Комментировать
  • Не работает .bind в IE8. Что делать?

    aen
    @aen
    Keep calm and 'use strict';
    Метод .bind() относится к ECMAScript 5, а в IE8 только ECMAScript 3.
    В вашем случае лучше использовать полифилы es5-shim.
    Ответ написан