Языки программирования и фреймворки
PHP, HTML/CSS, JavaScript/Jquery – стандартный набор большинства веб-разработчиков в мире. Каждая из этих технологий активно развивается и эволюционирует, помогая разработчикам делать современные продукты быстрее и качественнее.
Symfony 2 – суперсовременный и один из самых популярных в мире MVC фреймворков. Эта enterprise-level платформа обеспечивает высокий уровень качества, надёжности и быстродействия. Большая часть проектов, которые мы сделали в последние три года, написаны на Symfony. За это время мы создали собственную библиотеку плагинов (бандлов) и разворачиваем новые проекты на готовых модулях в течение нескольких часов.
NodeJS – инструмент, который мы часто используем для написания скриптов внутри проектов.
Базы данных
Основной выбор при разработке проектов средней сложности, это MySQL. Если в проекте требуется работа с транзакциями, финансовой логикой, статистикой или картографией, то мы используем PostgreSQL. MongoDB мы берем в качестве инструмента в случаях, когда из базы много чтения, то мало записей. Redis – просто и эффективное решение для кеширования данных. В технологически сложных проектах используем микс из разных баз данных, максимально используя сильные стороны каждой.
MySQL (MariaDB, Percona) MongoDB PostgreSQL Redis
JS-фреймворки и библиотеки
В последнее время разработка фронтенд-компонентов проектов изменилась, и активно появляются новые инструменты для оптимизации кода, скорости работы и правильной разработки. На большинстве проектов мы используем Require.js, WebPack и Handlebars.js.
Backbone.js – библиотека, на базе которой мы создаем single-page applications проекты (одностраничные приложения).
Gulp / GruntJS – с помощью этих инструментов мы оптимизируем размер картинок, CSS и JavaScript файлов, а так же меняем подход выгрузки ресурсов на клиентов вашего проекта. Мы контролируем как и в каком объеме пользователь получит ресурсы, выгружаемые на отдельных страницах. Каждая страница содержит только тот набор ресурсов, который необходим для её отображения.
Методология тестирования
Проект (самые важные части или весь код) покрывается тестами, как unit-тестами, так и функциональными тестами для фронтенда. Мы используем подход Continuous Integration, при котором тесты запускаются автоматически каждый раз, когда происходит обновление кода в репозитории, и разработчик видит, не затронуло ли его изменение другие части кода.
Behaviour driven development (BDD) особенно часто мы используем в Agile проектах, когда написанные тесты позволяют контролировать целостность проекта и проводить быстрые изменения без потери качества.
GitLab CI Selenium phpUnit Behat Mink
Поисковые движки
Когда нужен большой объем фильтрации или поиск по морфологии, стандартный поиск в базе данных работает неэффективно. Поисковые движки Sphinx Search и ElasticSearch создают индекс, по которому поиск и фильтрация осуществляются быстро и не нагружая ресурсы сервера.
Инструменты
Blackfire – С помощью Blackfire мы замеряем производительность написанных нами компонентов и приложений. Отслеживание метрик на протяжении всей разработки дает нам уверенность в том, что код написан не только качественно, но и наиболее оптимально.
Varnish – http кеширующий сервер для увеличения скорости загрузки страницы. В отдельных случаях может давать прирост в 20-50 раз и спасать от падения сервера под нагрузкой.
NGINX – производительный веб-сервер, стандарт де-факто в работе с объемными проектами.
Newrelic – набор инструментов для замеров скорости работы и наличия ошибок. С его помощью мы проверяем производительность и находим узкие места в архитектуре проекта. Проводим нагрузочное тестирование и убеждаемся в том, что проект держит требуемую заказчиком нагрузку.
Sentry – логирование ошибок. Позволяет отлавливать ошибки в автоматическом режиме. Мы устанавливаем этот инструмент на каждый проект после его реализации и запуска, и можем видеть ситуацию с багами на проекте после его релиза.
Спасибо!
Ваше сообщение отправлено.
Мы ответим Вам в ближайшее время.
Продолжить