• Поисковая оптимизация SPA и '#!' в Backbone или Marionette?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    backbonejs.org/#Router и Backbone.history.start({pushState: true})

    Но это всего лишь красивые урлы, реально при этом всё равно страницы строит JS, и поисковики лажают. Тут нужна серверная прегенерация. Гуглите в сторону изомрофных фреймворков.
    Ответ написан
    4 комментария
  • Cromium анонимные функции?

    romanzhak
    @romanzhak
    Mathematician
    var a = arguments[0] === undefined ? 'test' : arguments[0];
    Ответ написан
    Комментировать
  • SPA, RESTfull сайты на MODX?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Как-то видел REST Api на друпале... жуть...

    В то-же время не нужно писать SQL запросы

    Это вам любая ORM так же может обеспечить. А еще есть клевые штуки типа Doctrine2 которые могут полностью изолировать слой хранения данных что бы вы сосредоточились на главном а не на запросах. Ну да не суть.

    сосредоточить внимание на фронтэнде

    внимание нужно сосредотачивать на бизнес-логике. Фронтэнд всеравно пилить придется.

    подходит ли этот CMF для этого?

    Если у вас нет бизнес логики и все сводится к CRUD - то тогда думаю норм. Но вообще мне противна мысль использовать CMF/CMS для этого. Но я не вкурсе что там у MODx внутри нынче.
    Ответ написан
    Комментировать
  • Чем вы любите стилизовать свой фронтенд?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Лучше всего проект может стилизовать хороший дизайнер)
    Ответ написан
    9 комментариев
  • Вопрос о высшем образовании. Что думаете?

    NeiroNx
    @NeiroNx
    Программист
    Очное обучение и НЕ РАБОТАТЬ. Можно подрабатывать по 16 часов в неделю - не больше. Все кто работает и забивает на учебу - потом жалеют об этом.
    Ответ написан
    4 комментария
  • От Backbone к Marrionette?

    aen
    @aen
    Keep calm and 'use strict';
    Модули марионетки устарели. Лучше ими не пользоваться. Берите любое решение: requirejs, commonjs или babeljs с es6-модулями.

    Приложение - это только контейнер, у вас может быть их несколько. LayoutView, Region и *View - это наборы сущностей, которые позволяют сделать каскад представлений. LayoutView хранит в себе список регионов, каждый из которых в свою очередь может внутри себя хранить LayoutView или любое другое представление. Вообще, LayoutView это ItemView с примесью Region.
    Ответ написан
    4 комментария
  • Как в Backbone вызвать функцию в виде из другой функции этого вида?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    this.event2();
    Ответ написан
    Комментировать
  • Правильно ли высчитывать timestamp на клиенте?

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

    @ShamblerR
    avast есть для линукса какраз с базами для винды ;)
    но аваст в принципе единственный антивирус который способен лечить вирусы на самой машине поскольку имеет предзагрузочный консольный режим.
    Так что если машина не умерла то аваст в принципе норм работает, учитывая что фри версия отличаетя от не фри только фаерволом.
    Ответ написан
    8 комментариев
  • Как настроить программу-шпиона для слежки за сотрудниками фирмы?

    @vilgeforce
    Раздолбай и программист
    УК читайте для начала. И начальнику дайте, на всякий случай.
    Ответ написан
    Комментировать
  • "Запасная" профессия для программиста?

    kumaxim
    @kumaxim
    Web-программист
    Итак, сети нет, вокруг полно голодных бандитов с кольтами/калашниковыми. Пусть этот контингент будет основным клиентом(а их будет много, как мне видится). Для начала нам нужно завербовать с десяток таких ребят. Как? Думаю я служил с кем-то, с кем-то врагов бил, в общем берем своих людей в дело.
    Далее, вспоминаем, что кушать-то всем хочется... Следовательно нужно где-то достать как-минимум хлеба. Цепочка хлеба примерно такая: поле - пшеница - элеватор - мельница - пекарня - лавка магазина.

    Поле - тяжело ли найти кусок пригодной земли?
    Пшеница - посеять на поле и убрать - тяжело, но сильной подготовки не нужно
    Элеватор - в примитивном случае - амбар
    Мельница - пару жернов + пленные враги = мука
    Пекарня - костер и формы да дело в шляпе
    Магазин - прилавок и кассовый аппарат

    Собственно садись на любом этапе цепочки. Тут ты и братков своих сможешь прокормить и сам не помрешь да еще и бизнес иметь будешь.
    Ответ написан
    Комментировать
  • Стоит ли ставить Ubuntu?

    @Eddy_Em
    Нет. Бубунта - это та же мастдайка только сбоку. Смысла ее использовать 0.
    Ответ написан
    1 комментарий
  • Для чего используется backbone orm?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    А сходить на оффсайт и прочитать?
    BackboneORM was designed to provide a consistent, polystore ORM across Node.js and the browser.
    Ответ написан
    Комментировать
  • Выполнить каждую функцию в массиве?

    @dtestyk
    Да нет же, их можно просто из массива вызывать:
    var arrFunc = [
      function(){console.log("test2")},
      function(){console.log("test1")},
      alert.bind(window, "finish")
    ]
    
    for(var i=0; i<arrFunc.length; i++){
      arrFunc[i]()
    }

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

    paradokso
    @paradokso
    Начинающий фронт-эндер
    Вообще не понятно что вы хотите, но eval - не лучшая практика.
    Может функции как методы объекта реализовать? И тогда делать перебор
    Ответ написан
    1 комментарий
  • Выполнить каждую функцию в массиве?

    @voidxnull
    var functions = [ ... ];
    for (var i = 0; i < functions.length; i++) {
      functions[i]();
    }
    //Или, если не нужен <IE9:
    functions.forEach(function (fn) {
      fn();
    });


    Ответ написан
    5 комментариев
  • Можно ли реализовать асинхронность частично?

    un1t
    @un1t
    С Джангой такой трюк врядли получиться. Попробуй Tornado, Кешировние в условиях асинхронности работает, но там обращаться с кешем конечно посложнее чем в синхронном подходе. Допустим нам надо сделать выборку из базы, отрендерить html и закешировать его. В синхронном подходе все просто.
    1. Делаем запрос к базе
    2. Рендерим html
    3. Засовываем в кеш
    4. Выдаем ответ

    приходит вторй запрос
    1. проверяем кеш
    2. отдаем ответ

    В асинхронном будет так
    1. Делаем запрос к базе
    2. И тут приходит второй запрос
    Кеш мы еще отдать не можем, т.к. мы еще даже не получили ответа от базы. И второй раз сделать запрос мы тоже не можем, потому, что при большом количестве таких запросов наша база умерт.
    В node.js я например делаю так, при первом запросе создаю promise кэша. Кода приходит кторой запрос, возвращаю этот promise. И когда отработает запрос к БД и отрендериться html отдам оба ответа. В терминах Торнады не знаю как это будет, т.к. мало с ней работал.
    Ответ написан
    Комментировать
  • Проброс портов virtualbox – windows 8 и ubuntu 14.04, как открывать локальные сайты из виртуалки?

    @victafonenko Автор вопроса
    Решил проблему полностью. Ниже мануал.

    Чтобы все заработало, (SSH-доступ, + доступ к локальным сайтам виртуалки):

    1) Создаем виртуалку. По-вкусу настраиваем веб-сервер, с установленным к примеру сайтом example.com на локалхосте. / Еще ставим OpenSSH сервер:
    sudo apt-get install -y openssh-server

    2)Выключаем виртуалку, идем в Машина - Настроить - Сеть - Адаптер 1 (выбираем тип подключения NAT) - Проброс Портов. Там ставим такие настройки:
    fa9c8fd0bee8465ea92f2535e7c053b7.png
    Где Rule 1 позволят подключатся по SSH/SFTP к виртуалке из под хост-системы по порту 2222. Rule 2 перебрасывает все соединения по порту 80 (http) хост-системы в виртуалку на порт 80.
    С такими настройками уже будет работать SSH, но локальные сайты веб-сервера виртуалки в хост-системе еще показываться не будут.

    3) Далее в том же окне Сеть настроек виртуалки, подключаем второй сетевой адаптер (Адаптер 2) с внутренней сетью:
    d3904e86e63b4edc9371f10c00cd82a6.png
    Все сохраняем, запускаем виртуалку.

    4) Далее правим файл hosts хост-системы. В винде это обычно Windows\System32\drivers\etc\hosts . Добавляем туда запись типа 127.0.0.1 example.com (это значит что при переходе на example.com нас должно перенаправлять на localhost)

    Собственно все. По адресу example.com в браузере хост-системы должен открываться наш локальный сайт на веб-сервере виртуалки.
    Если стоит виртуалка linux-desktop, и мы хотим чтобы и там наш локальный сайт example.com открывался в браузере, тогда добавляем аналогичную запись 127.0.0.1 example.com в файл hosts виртуалки по адресу /etc/hosts

    Ссылки для раздумий leonid.shevtsov.me/ru/installing-ubuntu-linux-on-v... и leonid.shevtsov.me/ru/virtuabox-ubuntu-configurati...
    Ответ написан
    Комментировать
  • Можно ли реализовать асинхронность частично?

    tenoclock
    @tenoclock
    Python/Django программист
    Ваша задача выполняется двумя потоками. Для этого и нужен модуль threading. Почитайте про него.
    А кэширование от этого совершенно не зависит.
    Ответ написан
    Комментировать