Показать сообщение отдельно
  #14 (permalink)  
Старый 22.03.2015, 19:00
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Оформлю следующий этап "эволюции кодовой обезьяны" отдельным сообщением, дабы можно было углядеть [де]градацию.
  1. Scaffold

    Yeoman
    Языки:
    • Приложение: JavaScript, ECMAScript 6
    • Разметка: JSX (React)
    • Стили: Stylus
  2. Общие штуки
    Всё в куче. Связанное с программированием и не очень.
    • Стили - BEM от Nicolas Gallagher
    • Разметка (компоненты React): модуль + фасад
    • Общий рабочий процесс - TDD. хз насчёт статей. использую интеграционные тесты для определения задач, которые нужно имплементировать. Хоть и не похоже на TDD в чистом виде, подход "тест-имплементация-рефакторинг" остался.
    • Контроль, задачи - Bitbucket issues (с полным набором - компонентами, вехами, важностями, версиями и д.р.)
    • Git Flow - для организации коммитов и вообще всего, что происходит в репозитории
    • Toggl - замерить время на проекты \ задачи
    • Схемы - mindmup. На телефоне - SimpleMind Free mind mapping. Недооценённая штука
    • Управление временем. Как-то заболела спина и глаза. Попользовался Pomodoro. сейчас использую режим 45\15 как более привычный
  3. BE + FE!


    FrontEnd

    BackEnd
    • FW - Express
    • ORM - Sequelize
    • База - PostgreSQL
  4. Сборка

    Webpack - упаковщик модулей.

    Через webpack делается 2 сборки - клиентская (для браузера) и серверная (для серверной отрисовки)
  5. Тестирование

    Сравнение
    Chai в режиме should, chai-as-promised, sinon, sinon-chai, rewire

    FrontEnd
    • Mocha. Если нужно в браузере - mocha-loader для webpack. На практике, для React хватило и jsdom; результат - скорость выполнения тестов довольно неплохая

    BackEnd
    тоже Mocha
  6. Окружение

    Во всех 3х окружениях (разработка, тесты и боевой сервер) приложение крутится в Docker.

    Приложение поделено на микросервисы, каждый запускается в своем контейнере.

    Для манипулирования контейнерами использую docker-compose (в прошлом, fig).

    Окружения отличаются только переменными окружения (которые передаются из машины напрямую в контейнер).

    Кластеризацию и горизонтальное масштабирование пока не посчастливилось попробовать, но проблем возникнуть не должно (спс, Docker)

    Для разработки из под Linux использую сразу Docker, из под Windows - Vagrant Ubuntu с установленным внутри docker.

  7. Размещение
    • Исходников Bitbucket
    • Приложения OpenShift. Но из-за Docker может разместиться везде, хоть у меня на телефоне или роутере
Ответить с цитированием