• Какой Web-фреймворк для Node.js выбрать?

    Посмотрите в сторону loopback. https://github.com/strongloop/loopback
    Вот уж кто позволит вам на лету менять базки.
    И админка у него есть.
    Обна беда - он все-таки больше позицианирует себя как REST.
    Ответ написан
    1 комментарий
  • Какой Web-фреймворк для Node.js выбрать?

    Pinsky
    @Pinsky
    Кофеиноникотиновая смесь в backend-код
    Koa.js и Total.js посмотрите. Думаю Koa вам подойдет больше даже
    Ответ написан
    Комментировать
  • MacBook pro 13" или 15" для разработки на Java?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Сам недавно задавался этим вопросом, но только программирую на плюсах.
    Взял 13" retina 8гб и доволен. 15" не вижу смысла брать, если финансово затруднительно брать топ-комплектацию. А вот по поводу объема SSD стоит задуматься, ибо 128 это мало (на другом ноуте стоит 128, и как-то тесновато). 256 вполне достаточно.
    Так же 13" на много удобнее таскать с собой (по габаритам меньше).
    Ответ написан
    8 комментариев
  • Как вывести наличные с Payoneer с наименьшими потерями?

    Unicredit.
    400$ за раз, комиссия пайонер - 3.15 и 1.8% от суммы комиссия толи банка, толи мастеркард
    Ответ написан
    8 комментариев
  • Почему Angular плохой?

    sim3x
    @sim3x
    Он плохой потому, что дает делать говнокод
    Когда говнокод приходится поддерживать, никто не будет обвинять себя, что он идиот и написал плохой код

    Вот, вкратце, почему ругают ангуляр

    Обьективно, он хорош для большей части проектов, а для остальной части, его можно изменить так, чтоб он стал подходить
    Ответ написан
    6 комментариев
  • Существуют ли какой нибудь сборник интересных задач и алгоритмов?

    @krll-k Автор вопроса
    Q:Что почитать что повысить свой уровень знаний по javascript?
    A:habrahabr.ru/post/117838

    Q:Существуют ли какой нибудь сборник интересных задач и алгоритмов?
    A:Усложнить имеющийся пример на клиенте
    A:Опробовать javascript на сервере, Node.js
    A:Попробовать другие языки программирования, такие как C/C++/Java или Ruby/Python/Go
    A:Принять участие в проекте Эйлера, о том как это сделать -> habrahabr.ru/post/37379
    A:Идеи

    Копьютерный интелект(бот)
    Бота для игры в 2048, типа как для шахмат бота! Конечно смысл этого бота равен нулю, т.к. игра однопользовательская

    Анализатор действий игрока(тест на когнетивные способности)
    Проверка на то на сколько дальновидный игрок играет в 2048, случайно ли его действия или заранее продуманные, и т.д.

    Многопользовательская игра в 2048(мультиплеер), или реализация другой игры, такой как "морской бой" или "шахматы", Node.js
    Ответ написан
    2 комментария
  • Простой и удобный CRUD на express.js?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Серверную часть проблемы можно решить, сделав REST-интерфейс на loopback, а клиентскую — на любом приличном SPA-фреймворке.
    Ответ написан
    Комментировать
  • Насколько весомым является влияние знания регулярных выражений на трудоустройство PHP developer?

    Denormalization
    @Denormalization
    junior:
    /(.*)/
    middle:
    /[^a-c]+([y-z]+?)/
    senior:
    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*)
    Ответ написан
    5 комментариев
  • Как вы реализуете тайм-менеджмент?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Сорри, не сдержался.
    У всех так, просто не признаются ;)
    6ed76fd275154371a5bccb8b194926ae.jpg
    Ответ написан
    Комментировать
  • На счёт в каком банке вы получаете деньги от UpWork(oDesk), eLance, Google, Apple и т.п. (договор офферты)?

    buttersmai
    @buttersmai
    Сейчас как раз решаю проблему перевода на свой валютный счет с Upwork. Если все разрешится удачно, постараюсь не забыть отписаться. Надеюсь, за неделюполторы все решится(пока жду ответа от поддержки одеска на вопрос по wire transfer).
    Ответ написан
    4 комментария
  • Как сделать серверный рендеринг на React?

    alexfedoseev
    @alexfedoseev
    React & Rails Dev
    index.html — его быть не должно.

    Должен быть шаблон (jade, handlebars, whatever), в который:
    • через переменную вставляется DOM от реакта (результат React.renderToString);
    • после него через тег script подключается файл приложения (bundle.js)


    Сервер рендерит этот шаблон и отдает html с клиентским приложением на клиента.

    bundle.js.map — это SourceMaps, их в production быть не должно, оно убирается через настройку Webpack.

    Роутинг

    Если это SPA:

    import express    from 'express';
    import React      from 'react';
    import Router     from 'react-router';
    import Location   from 'react-router/lib/Location';
    
    import App        from '/path/to/App';
    import routes     from '/path/to/routes';
    
    
    const app = express();
    
    app.use(express.static(path.join(__dirname, 'public')));
    
    app.use('/', middleware);
    
    function middleware(req, res, next) {
      
      const location = new Location(req.path, req.query);
      
      Router.run(routes, location, (error, initialState, transition) => {
        
        const body   = React.renderToString(<App {...initialState} />);
        const layout = `${process.cwd()}/path/to/layout.jade`;
        const html   = Jade.compileFile(layout, { pretty: false })({ body });
        
        res.send(html);
        
      });
      
    }


    Если это статика:

    import express  from 'express';
    import React    from 'react';
    
    import Main     from 'components/Main';
    import About    from 'components/About';
    
    
    const app = express();
    
    app.use(express.static(path.join(__dirname, 'public')));
    
    app.get('/', (req, res) => middleware(req, res, Main));
    app.get('/about', (req, res) => middleware(req, res, About));
    
    function middleware(req, res, Component) {
      
      const body   = React.renderToString(<Component />);
      const layout = `${process.cwd()}/path/to/layout.jade`;
      const html   = Jade.compileFile(layout, { pretty: false })({ body });
      
      res.send(html);
    
    }


    /* Jade Layout */
    
    doctype html
    html
      
      head
        // head stuff...
    
      body
        #app!= body
        script(src="/bundle.js")
    Ответ написан
  • Numbers и открытие csv (проблема с кодировкой)?

    DevMan
    @DevMan
    CSV - обычный текстовый файл.
    конвертните его в юникод любым редактором или консольным iconv.

    если файл в win-1251:
    iconv -f cp1251 -t utf8 file.csv > file.utf8.csv
    Ответ написан
    4 комментария
  • Как составить план проектирования проекта?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Идея/концепция к проектированию не относится, это отдельный предварительный этап. Для проектов побольше, и в общем случае, проектирование включает такие шаги, многие из которых, конечно, можно пропустить или сократить до минимума, если задача не сложная:
    1. Системный анализ и изучение предметной области
    2. Формирование требований к разрабатываемой системе
    3. Архитектуная задача, которая сводится к простой формуле: разделять, называть и связывать подсистемы
    3.1. Декомпозиция сложных задач
    3.2. Слои (построение слоев абстракций)
    3.3. Планирование топологии системы, программной и серверной инфраструктур
    3.4. Решение вопроса интеграции подсистем, программные интерфейсы, контракты и связывание
    3.5. Интеграция с унаследованными приложениями
    3.6. Минимизация изменений, для случаев, когда постоянно происходят изменения в предметной области
    4. Выбор инструментов решения
    4.1. Выбор парадигм программирования и языков
    4.2. Выбор технологий и платформ
    4.3. Выбор моделей данных, алгоритмов и библиотек
    4.4. Выбор топологий и протоколов
    4.5. Выбор паттернов программирования
    5. Предварительные исследования
    5.1. Проверка гипотез, эксперименты
    5.2. Изучение особенностей технологий
    5.3. Прототипирование
    6. Задачи обеспечения надежности
    6.1. Планирование безопасности и защиты от несанкционированного доступа
    6.2. Планирование отказоустойчивости
    6.3. Планирование мер по обслуживанию системы в режиме эксплуатации
    6.4. Задачи высоких нагрузок, балансировки и масштабирования, если таковые предполагаются
    7. Организация процесса разработки
    7.1. Жизненный цикл программной системы
    7.2. Конвенции кода, соглашения и стандарты
    7.3. Оценка необходимых временных и финансовых ресурсов для разработки системы
    7.4. Календарный план
    7.5. Анализ и минимизация рисков, выявление слабых мест технологий и коллектива
    7.6. Закрепление принципов управления процессом разработки и корректировки задания в процессе
    8. Сборка технического задания из результатов всех предыдущих пунктов
    Ответ написан
    2 комментария
  • Минимум для Junior RoR?

    insiki
    @insiki
    broken pipe
    webils.ru/app/guest/?id=7341

    Вдобавок к ссылке выше:
    1. Rails 4. Гибкая разработка веб-приложений
    (Лично часто обращаюсь к 3-й главе, если есть вопросы)
    2. Статьи и сайт (он же на русском) покрывают практически все возникающие вначале вопросы. Углубляясь, чаще идем на apidock.com/rails и api.rubyonrails.org
    3. На 100% этих скринкастов всего 1-2% несостыковок по синтаксису.
    4. Также, если вы житель Санкт-Петербурга (или планируете переехать), можно записаться на этот отличный курс по RoR, если из другого города, то вот отличная площадка для обучения.

    ps:
    Не забываем про Convention over configuration - https://github.com/styleguide/ruby
    Ну и еще, не забываем, что Rails это Ruby - Крис Пайн - "Учись программировать"

    Список курсов по Ruby и отзывов.
    rubycourses.ru
    Ответ написан
    Комментировать
  • Как отжать сок убрав мякоть(bootstrap)?

    Ну определитесь какие вам нужны виджеты и
    'assetManager' => [
        'bundles' => [
            'yii\bootstrap\BootstrapAsset' => [
                'css' => ['свой бутстрап'],
            ],
        ],
    ],
    Ответ написан
    Комментировать
  • Зачем $destroy у angularJS?

    miraage
    @miraage
    Старый прогер
    Пример 1

    Представим директиву для bootstrap tooltip.
    В link-функции мы пишем elem.tooltip({ /* opts */);

    Скажем, у нас есть таблица с 10 строками - tr, через ngRepeat.
    Нажали на кнопку в одном из td, открылся tooltip. Пока он висит, строка исчезает по какому-то условию, допусти filter. БИНГО! tooltip останется. Чтобы убрать его, в link-функции директивы надо написать примерно такой код:

    scope.$on('$destroy', function() {
      elem.tooltip('destroy');
    }


    Пример 2

    Коммуникация контроллеров. Порой не всегда удобно использовать фабрики/сервисы для этого. Если не вызвать функцию-дерегистратор - обработчик события останется в $rootScope навсегда и будет вызываться.

    function FooCtrl($rootScope) {
      this.someMethod = function() {
        // some code ...
        if (someCondition) {
          $rootScope.$emit('someEvent');
        }
      }
    }
    
    function BarCtrl($scope, $rootScope) {
      var deregFn = $rootScope.$on('someEvent', function() {
        // some code ..
      };
    
      $scope.$on('$destroy', function() {
        deregFn();
      });
    }
    Ответ написан
    Комментировать
  • Вывод средств из oDesk. Как получить $ в России?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Вывожу через skrill на альфа долларовый счет (открыть счет через альфаклик - 5 минут)
    перевод с одеска на skrill 1$
    со скрилла на долларовый счет альфы $4
    деньги первый раз шли неделю
    остальные переводы 2-3 дня
    один раз в начале декабря 2014 перевод за сутки пришел

    первый перевод скрилл на альфа счет в $ переведет без вопросов, последующие переводы спросят ваши паспортные данные и счет за комунальные услуги (на skrill более подробно описано про верефикацию), как предоставите документы, проблемы автоматом отпадут

    негативные отзывы про skrill пишут игроки в покер, которые выводят с poker румов, там жесткий контроль и любая жалоба с poker room = блокировка, знаю это потому что работал программистом в одном из покер румов, у нас была куча откатов с ворованных кредитных карт со skrill

    поэтому скрилл сразу спрашивает откуда у вас деньги: через игру в покер или полученные другим путем, odesk - в моем случае честно заработанные деньги

    вывожу с одеска четыре раза в месяц по $2004 через skrill, на счет альфы приходит $2000, снимаю в банкомате альфы $2000 без комиссии, с этой маленькой пачкой иду в другой банк, меняю по более выгодному курсу чем у альфы, но в основном конвертирую сразу в альфе $->в рубли, потому что так удобнее.

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

    ps. первый раз переводил $100 комиссия была $1+$4+$6
    последующие $1+$4

    UPD: авг. 2020, открыл агенство ибо уже уперся в потолок, времени на всех клиентов не хватает, опыта вагон а девать некуда, поэтому буду вливать его в сотрудников и осваивать бизнес процессы.
    Ответ написан
    16 комментариев
  • Рекомендуется ли использовать angularjs совместно с jquery?

    cjbars
    @cjbars
    имхо, они прекрасно работают в паре, просто для разных нужд работают.
    А плагины для Jquery отлично прицепляются через директивы(например) или вообще делаются в три строчки кода в самом angular.

    jQuery - берет DOM - парсит его и позволяет им крутить вертеть
    angular - берет данные - и делает из них DOM

    направление работы противоположное как бы
    Ответ написан
    Комментировать
  • Рекомендуется ли использовать angularjs совместно с jquery?

    akarin
    @akarin
    Одно другому не мешает(а если и будет мешать то jquery-docs.ru/core/jquery-noconflict/), можете еще и underscore прикрутить.
    jsbin.com/AVeTini/3/edit
    Ответ написан
    Комментировать