• Если нет возможности нанять одновременно frontend и backend разработчиков на проект, то кого нанимать первым?

    @coderxx
    keep calm and learn js
    Конечно вам нужно нанять бэкенд-разработчика, а фронт сделать своими силами в виде заглушек (т.е. максимально упрощенно, без дизайна, адаптива и т.д.) Когда логика будет готова, нанимаете фронтендера и он делает красиво и удобно. Сами подумайте, какой смысл делать обертку для несуществующего приложения? Мало ли что там и как будет в итоге.
    Ответ написан
    14 комментариев
  • Как разделить Android Activity или фрагменты и состояние приложения?

    @Deadkenny
    Библиотека Mosby поможет вам разделить логику и отображение в приложении. А хранить состояние отображения можно во ViewState.
    hannesdorfmann.com/mosby
    Ответ написан
    Комментировать
  • Как разделить Android Activity или фрагменты и состояние приложения?

    VYakushev
    @VYakushev
    Разработчик Android в Nowtaxi
    Я использую для этого стейт-машину:
    1. Создаем обертку для стейт-машины, в которую есть возможность передать событие. ПРодумываем сохранение и восстановление состояния
    2. Используем Singleton или Dependecy Injection для получения ссылки на нашу обертку
    3. Прописываем состояния и события стейт-машины
    4. Создаем интерфейс для подписки на стейт-машину, в котором есть метод возвращающий фрагмент или интент
    5. Каждый фрагмент или активити наследуются от базового, который имплементирует интерфейс подписчика. В обработчики стартуем пришедший интент или фрагмент
    6. В самой активити и фраменте отправляем стейт-машине события
    Ответ написан
  • Можно ли в Java 8 устанавливать лимит памяти исходя из системной памяти, а не памяти java процесса?

    Vamp
    @Vamp
    В вашем случае решения чисто на java нет. Здесь необходимо зарядить регулярную задачу (cron), которая будет смотреть свободную физическую память в системе и убивать самое толстое java приложение при достижении 95% лимита памяти. Например, так:
    #!/usr/bin/env bash
    
    # pid'ы отслеживаемых java процессов
    # задачку определения актуальных pid'ов оставлю на вас
    PID1=1234
    PID2=5678
    
    # минимальное допустимое количество свободной памяти в процентах
    MIN_MEM_SIZE=5
    
    function get_java_mem {
      jstat -gc $1 | awk 'NR==1 {print ($3 + $4 + $6 + $8 + $10)}'
    }
    
    function get_free_mem {
      free | awk 'NR==2 {print ($7 * 100) / $2}'
    }
    
    if [ $(echo "`get_free_mem` < $MIN_MEM_SIZE" | bc) -eq "1" ]; then
      if [ $(echo "`get_java_mem $PID1` > `get_java_mem $PID2`" | bc) -eq "1" ]; then
        PID_TO_KILL=$PID1;
      else
        PID_TO_KILL=$PID2
      fi
      echo "Memory shortage detected. Taking heap dump and killing process $PID_TO_KILL"
      jmap  -dump:format=b,file=${PID_TO_KILL}.heapdump.bin $PID_TO_KILL
      kill $PID_TO_KILL
    fi


    если я пропишу -Xmx2g то оба влезут, но если один процесс использует все 2 гб, то второй не может эту память использовать.

    Не очень ясно зачем нужны такие качели. Если приложение нормально работает с -Xmx2g, то с -Xmx4g сильно лучше не станет. Разве что full gc будет происходить немного чаще, только и всего.
    Ответ написан
    Комментировать
  • Каких разработчиков проще найти - Spring на J2EE?

    Reynard13
    @Reynard13
    java developer
    Заранее скажу, что это не тот ответ, который вам нужен.
    Я еще не видел, чтобы технологии проекта подбирались для простоты поиска программистов, а не для решения определенной задачи.
    Я бы не сказал что описанные выше технологии и J2EE (которая уже больше 9 лет называется просто Java EE) похожи, и считаю, что стек Spring во многих аспектах круче чем Java EE.
    И самое главное - хороший java-программист сможет перейти на Spring (и как минимум, уже должен иметь представление о нем).
    Ответ написан
    2 комментария