• Как ускорить выкатывание изменений в большом проекте (монолит)?

    @InOdinWeTrust
    Возможно, вы доросли до большого проекта. Значит, без аналитики не разобраться.
    Нужно четкое представление сколько времени тратится на каждый шаг вашего процесса релиза.
    Если нет однозначных метрик - покрывайте. Нужно не на глаз сколько минут, а четко статистика по каждой задаче - сколько времени собиралась, тестировалась, сколько релиз, сколько проверка бизнесом, и тд и тп. Метрик мало не бывает.
    Затем по собранным данным рисовать графики, диаграммы, анализировать, на что тратится больше всего времени.
    Затем думать, где можно оптимизировать.
    Анализировать и оптимизировать не имея на руках цифр и картинок с диаграммами - это путь вникуда. Можете угадать с оптимизацией, можете не угадать.

    Когда все данные на руках есть, можете оптимизировать.

    Чаще всего помогает:
    - Исключить из процессов или минимизировать участие людей (CI, CD, автотесты и тд)
    - Распараллелить множественные однообразные процессы (мержи, запуски тестов на задачах, запуски тестов на билде, и тд)
    - Группировать (тестировать билд один раз после того, как в него попали все нужные бизнессу задачи)
    Ответ написан
    1 комментарий
  • Как организовать динамическое добавление consumer-ов для rabbit-mq?

    @RidgeA
    Я бы сделал промежуточного консьюмера, который бы просто очередь выгребал и смотрел что по свободным ресурсам. Если есть возможность (есть свободный процесс или есть возможность поднять новую виртуалку и тем самым обеспечить свободный процесс) - ставил в другую очередь, где сообщение получит уже консьюмер, который выполняет реальную задачу. Для каждого процесса можно организовать отдельную очередь по topic exchange на каждый процесс на виртуалке.

    Если воркер-посредник видит, что свободных процессов нет и нет возможности поднять виртуалку - возввращать сообщение в очередь (можно через отложенную очередь).
    Ответ написан
    3 комментария
  • Что выбрать, pro 13 или pro 15 с touch bar?

    BVadim
    @BVadim
    Есть Air 13" 2013 (i7/8Gb/512), Pro 15" 2015 (i7/16Gb/512/R9 M375X), был Pro 13" 2014 (i5/8Gb/256).
    Много со всем этим работал (и продолжаю работать), поэтому впечатления качественные.

    8Gb RAM в 2017 году точно мало. 2016 года MacBook с нормальной клавиатурой лучше брать в предтоповой комплектации: i7/16/512. У официальных реселлеров такую можно найти в районе 140-150. Плюсы: крутой экран, крутая клавиатура, достаточно долгое время автономной работы, лёгкий, сильно лучше видеоадаптер по сравнению с 13" 2014-2015 годов (там интерфейс ОС всё ещё не достаточно отзывчивый). Минусы: отсутсвие MagSafe, отсутствие обычных USB A.

    15" 2016 года есть только с TouchBar, поэтому я его вообще не рассматривал. Я очень активно пользуюсь функциональными клавишами и Esc и не готов терпеть их сенсорные аналоги, это повлияет на моё удобство, поэтому все остальные плюсы тут уже не важны.

    15" 2015 года очень хороший вариант. Я для себя выбрал его, но Air использовать продолжаю активно. 15" 2015 на 100% покрывает все мои задачи, ничего не тормозит, не подлагивает совсем нисколько, память свободная всегда есть. Но он большой и тяжелый, это надо учитывать. Конечно, 2кг это не так много, жить можно, но вот держа в руках Air, который весит 1,3 и 15" прошку - разница очень заметная. Но при этом площадь экрана на много более комфортна для работы, чем на 13", он значительно холоднее 13" прошки, из-за большего объема корпуса я полагаю (надо сказать, что Air значительно холоднее их обоих, я вообще не помню, чтобы слышал вентиляторы у своего Air). Если зрение хорошее, можно еще разрешение сделать повыше, будет аналог FullHD по площади. Для меня это такой настольный вариант. Если нужно сесть на диван, пойти на кухню или выйти из дома - я беру Air.

    В сухом остатке - для ежедневного таскания, работы на коленках сидя на диване, частых перемещений внутри помещения - Pro 13" 2016 i7/16Gb/512.
    Для постоянного сидения за столом, редких передвижений внутри помещения и тасканий в руках - 15" 2015 (желательно с дискреткой, хотя не обязательно, если нет задач работать с рендерингом фото/видео и игр, т.к. в интерфейсе ОС в любом случае используется интегрированная карта).
    Ответ написан
    Комментировать
  • Что выбрать, pro 13 или pro 15 с touch bar?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    На 15" кодить комфортнее. Там уже сами смотрите как вам по размеру/весу.
    Ответ написан
    Комментировать
  • Какой есть способ обмена данными с веб сервером из iOS?

    GxocT
    @GxocT
    1. Можете не стороне сервера формировать JSON или XML. IMO JSON легче парсить.

    Либо можете передавать готовые объекты, например, воспользовавшись Thrift thrift.apache.org

    2. Если в Google вас забанили, то можете воспользоваться поиском по stackoverflow: stackoverflow.com/search?q=infinite+scroll+objective-c
    Ответ написан
    Комментировать