22.03.2015, 19:00
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Оформлю следующий этап "эволюции кодовой обезьяны" отдельным сообщением, дабы можно было углядеть [де]градацию.
- Scaffold
YeomanЯзыки:- Приложение: JavaScript, ECMAScript 6
- Разметка: JSX (React)
- Стили: Stylus
- Общие штуки
Всё в куче. Связанное с программированием и не очень.- Стили - BEM от Nicolas Gallagher
- Разметка (компоненты React): модуль + фасад
- Общий рабочий процесс - TDD. хз насчёт статей. использую интеграционные тесты для определения задач, которые нужно имплементировать. Хоть и не похоже на TDD в чистом виде, подход "тест-имплементация-рефакторинг" остался.
- Контроль, задачи - Bitbucket issues (с полным набором - компонентами, вехами, важностями, версиями и д.р.)
- Git Flow - для организации коммитов и вообще всего, что происходит в репозитории
- Toggl - замерить время на проекты \ задачи
- Схемы - mindmup. На телефоне - SimpleMind Free mind mapping. Недооценённая штука
- Управление временем. Как-то заболела спина и глаза. Попользовался Pomodoro. сейчас использую режим 45\15 как более привычный
- BE + FE!
FrontEnd
BackEnd- FW - Express
- ORM - Sequelize
- База - PostgreSQL
- Сборка
Webpack - упаковщик модулей.
Через webpack делается 2 сборки - клиентская (для браузера) и серверная (для серверной отрисовки)
- Тестирование
Сравнение
Chai в режиме should, chai-as-promised, sinon, sinon-chai, rewire
FrontEnd- Mocha. Если нужно в браузере - mocha-loader для webpack. На практике, для React хватило и jsdom; результат - скорость выполнения тестов довольно неплохая
BackEnd
тоже Mocha
- Окружение
Во всех 3х окружениях (разработка, тесты и боевой сервер) приложение крутится в Docker.
Приложение поделено на микросервисы, каждый запускается в своем контейнере.
Для манипулирования контейнерами использую docker-compose (в прошлом, fig).
Окружения отличаются только переменными окружения (которые передаются из машины напрямую в контейнер).
Кластеризацию и горизонтальное масштабирование пока не посчастливилось попробовать, но проблем возникнуть не должно (спс, Docker)
Для разработки из под Linux использую сразу Docker, из под Windows - Vagrant Ubuntu с установленным внутри docker.
- Размещение
- Исходников Bitbucket
- Приложения OpenShift. Но из-за Docker может разместиться везде, хоть у меня на телефоне или роутере
|