Языки программирования и фреймворки
Python – этот язык программирования используется для написания автоматических тестов, для разработки mining pool, для быстрого создания различных утилит.
PHP, HTML5, CSS, JavaScript/jQuery – стандартный набор большинства веб-разработчиков в мире. Каждая из этих технологий активно развивается и эволюционирует, помогая разработчикам делать современные продукты быстрее и качественнее.
Symfony 3 – суперсовременный и один из самых популярных в мире MVC фреймворков. Эта enterprise-level платформа обеспечивает высокий уровень качества, надёжности и быстродействия. Большая часть проектов, которые мы сделали в последние пять лет, написаны на Symfony. За это время мы создали собственную библиотеку плагинов (бандлов) и разворачиваем новые проекты на готовых модулях в течение нескольких часов.
Ruby on Rails 5 – фреймворк для создания веб-приложений на языке Ruby. Мы используем его на нестандартных проектах, когда необходимо быстро получить нужный результат. Развитые механизмы автоматического тестирования позволяют нашим клиентам быть уверенными в полученном результате.
Блокчейн технологии
Для коммуникации с Bitcoin и его форками мы используем JSON-RPC API. Мы владеем приемами создания сложных транзакций, можем защитить средства проекта с помощью multisignature и cold wallet. Мы также имеем опыт интеграции с известными блокчейн сервис-провайдерами.
C/C++, Qt – на этих технологиях был написан и продолжает развиваться оригинальный клиент Bitcoin Core. Многие форки блокчейна, в том числе созданные нами, наследуют эти технологии. Разработка новых алгоритмов Proof of Work, используемых в майнерах, также ведется нами на языке C++, с использованием вычислительных библиотек CUDA, OpenCL.
Мы разрабатываем смарт-контракты для сетей Ethereum и RSK на языках Solidity и Vyper.
Мы владеем инструментами Web3.js и MetaMask, которые позволяют создавать интерактивные web-приложения.
Базы данных
Основной выбор при разработке проектов средней сложности, это MySQL. Если в проекте требуется работа с транзакциями, финансовой логикой, статистикой или картографией, то мы используем PostgreSQL. MongoDB мы берём в качестве инструмента в случаях, когда преобладают операции чтения из БД. Redis – простое и эффективное решение для кеширования данных. В технологически сложных проектах используем микс из разных баз данных, максимально используя сильные стороны каждой.
Мы имеем также опыт миграции проекта на Microsoft SQL Server.
Инструменты: MySQL (MariaDB, Percona), PostgreSQL, MongoDB, Redis
JS фреймворки и библиотеки
В последнее время разработка фронтенд-компонентов проектов изменилась, и активно появляются новые инструменты для оптимизации кода, скорости работы и правильной разработки. На большинстве проектов мы используем Require.js, WebPack и Handlebars.js.
ReactJS, Angular, Backbone.js – современные средства для создания пользовательских интерфейсов, на базе которых мы создаем single-page applications проекты (одностраничные приложения).
Gulp, Grunt – с помощью этих инструментов мы оптимизируем размер контента страницы – картинок, CSS и JavaScript файлов, а так же меняем подход выгрузки ресурсов на клиентов вашего проекта. Мы контролируем, как и в каком объёме пользователь получит ресурсы, выгружаемые на отдельных страницах. Каждая страница содержит только тот набор ресурсов, который необходим для её отображения.
Методология тестирования
Проект (самые важные части или весь код) покрываются автоматическими тестами, как unit-тестами, так и функциональными тестами для фронтенда. Мы используем подход Continuous Integration, при котором тесты запускаются автоматически каждый раз, когда происходит обновление кода в репозитории, и разработчик видит, не затронуло ли его изменение другие части кода.
Behaviour driven development (BDD) особенно часто мы используем в Agile проектах, когда написанные тесты позволяют контролировать целостность проекта и проводить быстрые изменения без потери качества.
Инструменты: GitLab CI, phpUnit, Rspec, Selenium, Behat, Mink, Capybara, Truffle, Remix
Поисковые движки
Когда нужен большой объём фильтрации или поиск по морфологии, стандартный поиск в базе данных работает не эффективно. Поисковые движки Sphinx Search и ElasticSearch создают индекс, по которому поиск и фильтрация осуществляются быстро и не нагружая ресурсы сервера.
Инструменты
Truffle – этот фреймворк мы используем для создания большинства смарт-контрактов.
Amazon Web Services (AWS) – для создания гибкой инфраструктуры высоконагруженного проекта.
Cloudflare – используем для обеспечения бесперебойной работы web-приложений наших клиентов.
NodeJS – инструмент, который мы часто используем для написания скриптов внутри проектов.
Blackfire – с помощью Blackfire мы замеряем производительность написанных нами компонентов и приложений. Отслеживание метрик на протяжении всей разработки даёт нам уверенность в том, что код написан не только качественно, но и наиболее оптимально.
Varnish – http кеширующий сервер для увеличения скорости загрузки страницы. В отдельных случаях может давать прирост в 20-50 раз и спасать от падения сервера под нагрузкой.
NGINX – производительный веб-сервер, стандарт де-факто в работе с объёмными проектами.
Newrelic – набор инструментов для замеров скорости работы и наличия ошибок. С его помощью мы проверяем производительность и находим узкие места в архитектуре проекта. Проводим нагрузочное тестирование и убеждаемся в том, что проект выдерживает требуемую заказчиком нагрузку.
Sentry – журналирование ошибок. Позволяет отлавливать ошибки в автоматическом режиме. Мы устанавливаем этот инструмент на каждый проект после его реализации и запуска, и можем видеть ситуацию с ошибками на проекте после его релиза.
RabbitMQ – менеджер сообщений позволяет нам распределять нагрузку в сложных проектах, упрощает масштабирование и делает код более понятным.
Спасибо!
Ваше сообщение отправлено.
Мы ответим Вам в ближайшее время.
Продолжить