• Как правильно настроить яндекс.метрику на работу с turbolinks?

    вебвизор в метрике не пробовал, а всё остальное трекается так:

    $(document).on('page:before-change', function() {
      window.turbolinks_referer = location.href;
    });
    
    $(document).on('page:load', function() {
      if (window.turbolinks_referer) {
        // yandex metrika
        if (window.yaCounter7915231) {
          window.yaCounter7915231.hit(location.href, $('title').html(), window.turbolinks_referer);
        }
        // google analytics
        if (window.ga) {
          window.ga('send', 'pageview');
        }
      }
    });
    Ответ написан
  • Почему github, а не gitlab?

    Во-первых, большинство сторонних сервисов, полезных при разработке (ci серверы, анализаторы кода, багтрекеры, agile доски), работают только с гитхабом. Одно это уже является критическим доводом использования гитхаба.

    Во-вторых, всё современное девелоперское комьюнити сидит на гитхабе. На гитхабе все были, им все пользуются, он всем привычен. Поэтому вполне естественно именно его выбирать как хостинг для своего кода.

    В-третьих, активность на гитхабе может выступать в роли вашего резюме. Если вы активный контрибьютор опенсорс проектов, это может очень сильно помочь при смене места работы.

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

    Это не гем, но возможно вам поможет https://github.com/morr/shikimori_contests
    В репозитории находится код реализации турниров с этого сайта shikimori.org/contests

    Турниры умеют работать с произвольным числом участников и по разных схемам (два поражения на вылет / одно поражение на вылет / круговая схема, когда играют все со всеми)
    Ответ написан
    Комментировать
  • Как решить проблемы при установке GitLab на Ubuntu Server 13.10?

    Ставьте не по переводу, который мог уже десять раз как устареть, а по официальной текущей инструкции
    https://github.com/gitlabhq/gitlabhq/blob/master/d...

    Устанавливал сам несколько месяцев тому назад, если дотошно следовать инструкции, всё ставится и работает с первого раза.
    Ответ написан
    Комментировать
  • Ruby on Rails: где хранить медиафайлы?

    делается это созданием каталога на сервере, который лежит отдельно от приложения и при каждом деплое симлинкается в public каталог

    подробнее:

    если файлы заливают пользователи, то загружать их можно гемами paperclip или carrierwave
    оба гема будут заливать файлы куда-то, например в каталог public/screenshots

    этот каталог вам нужно будет засунуть в .gitignore, чтобы он не попал в репозиторий

    приложение вы деплоите, надеюсь, через capistrano

    на продакшен сервере в каталоге, куда будет идти деплой, в shared каталоге нужно будет создать ваш каталог
    и задать в конфиге капистрано, чтобы капистрано делал симлинк из #{shared_path}/screenshots в #{release_path}/screenshots

    пример куска конфига для capistrano 3: take.ms/NwlI9
    надо задать лишь имена файлов и каталогов, а капистрано затем всё сделает сам
    Ответ написан
    Комментировать
  • Как лучше разрулить конфликт вида both added в git?

    Переименовать каталог в одной из веток, смержить уже без конфликтов, руками слить два каталога в один, закомитить.
    Ответ написан
    Комментировать
  • Почему не получается наладить работу spork совместно с rspec для Rails4?

    Всё выглядит правильно, а судя по этому https://github.com/sporkrb/spork/issues/199 нужно просто подождать подольше после запуска spork'а.

    p.s. windows не самая лучшая операционная система для разработки на rails, у вас будут ещё десятки и сотни подобных ситуаций, когда что-то или не работает совсем, или работает не так, как должно, и ничего вы с этим не поделаете. если нет возможности сменить виндовс на мак/линукс, то как вариант можно установить виртуалку с ubuntu server и запускать рельсы оттуда, а редактировать код из винды.
    Ответ написан
    Комментировать
  • Связка из Windows и Ubuntu (server) для разработки Rails-приложения?

    странный лог консоли, как будто rails s выполнило не запуск сервера, а создание нового проекта.
    как решить проблему подсказать не могу, но могу написать, как можно попробовать её обойти, поставив руби через rvm:
    1. установите rvm https://rvm.io/ \curl -L https://get.rvm.io | bash -s stable
    2. через rvm установите нужную версию руби (2.0 например rvm install ruby-2.0.0-p247)
    3. переключитесь на установленную версию руби rvm use ruby-2.0.0-p247
    4. установите гем рельс gem install rails
    5. cd /mnt/hgfs/github/rin
    6. bundle install
    7 команда rails server теперь должна отработать
    Ответ написан
    Комментировать
  • Ruby on Rails vs Node.js: что лучше выбрать?

    Ноду с рельсами сравнивать нельзя вообще. Никоим образом.
    Аналог ноды в руби это https://github.com/eventmachine/eventmachine - фреймворк для асинхронной работы с сокетами. Всё, что можно сделать в ноде, можно сделать и в eventmachine.
    Ресурсов eventmachine будет съедать побольше ноды. Не на порядки, но в разы. Это минус, критичный лишь в очень редких ситуациях. Плюсом eventmachine будет то, что использоваться будет не яваскрипт, а руби и вся сопутствующая руби инфраструктура - тысячи библиотек(гемов) на все случаи жизни.

    Вы не написали, для какой цели вы выбираете фреймворк, но могу предположить, что для какого-то вебпроекта, для 99.99% из которых ни нода, ни eventmachine не подойдут в виду своей асинхронности и низкоуровневости.

    Если вам нужен фреймворк для написания веб приложения, то у rails в среде ruby/nodejs конкурентов просто нет. express.js/sinatra и другие мини фреймворки для чего-то серьёзного рассматривать не стоит, хотя если вы любите выдумывать велосипеды и всё делать руками, то можно.
    Ответ написан
    3 комментария
  • У кого-нибудь получилось проксировать Socket.io через nginx?

    Не совсем ответ на ваш впрос, но, возможно, у вас ситуация аналогична моей, и тогда подобный подход поможет.

    Столкнулся с этим буквально два дня назад, только не с socket.io, а с faye(http://faye.jcoglan.com), что в принципе те же яйца.

    Нужно было прокидывать websocket запросы с определённого урла основного домена и 80 порта на порт асинхронного сервера на том же домене.

    Решения с nginx, устроившего меня, я так и не нашел(варианты в коментах выше рассматривал), но в итоге понял, что подхожу не стой стороны к проблеме.
    Проблема заключалась в том, что т.к. кроссдоменные faye-транспорты работают не во всех броузерах корректно, то начал я слать faye запросы на основной домен, и там на уровне nginx разделять траффик по веб-серверам (тут-то вебсокеты и не прокидывались).
    И в итоге осознал, что надо просто вебсокет соединения открывать по отдельному адресу напрямую в асинхронный веб-сервер, а всё остальное оставить как есть — слать на 80й порт основоного домена nginx'у.
    github.com/faye/faye/pull/134
    Ответ написан