Немного терминов. Технологии, которые мы используем в разработке

К нам периодически приходят сообщения от желающих работать в нашем агентстве программистом или верстальщиком. Для того, чтобы соискатели имели представление, что нужно знать, и чем придется заниматься у нас, мы расскажем, какие технологии использует Мэйк.Мы разбили технологии на 3 блока: администрирование, бэкэнд и фронтенд, чтобы каждый мог обратить внимание на ту область знаний, которая ему интересна.

Администрирование

  1. На наших серверах мы используем ОС семейства UNIX в частности Ubuntu, поэтому для администрирования нужно хорошо знать, как работать в консоли с основными утилитами Ubuntu.
  2. Нужно понимать, как выстраиваются компьютерные сети и уметь их администрировать.
  3. Для управления базами данных используется 2 вида СУБД: Postgresql и mysql.
  4. В случае, если сайты падают, например, при отключении света, для их автоматического включения используется один из 2-х способов: демон monit или стандартная утилита автозагрузки в ubuntu - update-rc.d.
  5. Также на случай непредвиденных ситуаций настроена система бэкапирования на основе гема backup. Она каждый день создает бэкапы для всех сайтов и приложений.
  6. Некоторые сторонние приложения, например gitlab, запущены в контейнерах (Docker) для их изоляции от основной системы. Поэтому неплохо было бы знать контейнеризацию (Docker).
  7. Также используются виртуальные машины с windows, для виртуализации используется система виртуализации QUEM/KVM.
  8. Nginxapache сервера и их настройка
  9. Развертывание сайтов с помощью capistrano.

Бэкэнд разработка

  1. Для разработки небольших шаблонных сайтов мы используем систему управления контентом систему 1С-Битрикс
  2. Более сложные системы разрабатываются на фреймворке Ruby on Rails.
  3. Для управления данными применяются 2 вида СУБД: для битрикса - mysql, а для проектов на Ruby on Rails - Postgresql.
  4. При работе над Ruby on Rails  проектами мы используем некоторое количество обязательных подключаемых библиотек, называемых гемами в мире Ruby on Rails разработки.
  5. puma - основной сервер приложения.
  6. sass-rails - препроцессор для каскадных таблиц стиля (CSS).
  7. coffee-rails - препроцессор для javascript.
  8. slim-rails - шаблонизатор гипертекста (HTML)
  9. rmagick- для обработки изображений на сайте (масштабирование, изменение пропорций, сжатие и т.д)
  10. carrierwave- для загрузки различных документов на сервер.
  11. whenever - для настройки периодически выполняемых в приложении действий
  12. ckeditor - текстовый редактор для админки с дружественным интерфейсом
  13. russian - для локализации сайта на русский язык
  14. devise - используется для регистрации и аутентификации пользователей
  15. pundit - разграничение прав доступа для пользователей.
  16. friendly_id - для автоматической генерации человеко-понятных идентификаторов для объектов БД
  17. sidekiq - для управления очередями в rails приложении
  18. capistrano- удобное средство для деплоя приложения на сервер.
  19. rails_admin - создает понятную админку для всех сущностей на сайте
  20. sentry-raven - наблюдает за возникновением ошибок в программном коде сайта и хранит о них всю информацию.
  21. nokogiri - для парсинга гипертекста (HTML) документов

Также используется множество других более специализированных гемов, здесь представлены лишь самые основные, без которых не обходится почти не одно rails приложение.

Фронтенд разработка

Здесь будут также приведены, только самые важные и необходимые технологии, которые мы используем.

  1. scss - препроцессор для каскадных таблиц стиля (CSS)
  2. coffeescript - препроцессор для javascript
  3. slim - шаблонизатор гипертекста (HTML)
  4. bootstrap - фреймворк каскадных таблиц стиля (CSS) для создания стандартных элементов на странице.
  5. React - javascript фреймворк, необходимый для создания интерактивных сайтов со сложным фронтендом, который очень тесно связан с базой данных
  6. jquery - для упрощения работы с javascript, и для программирования множества стандартных техник поведения элементов на сайте.
  7. Сборщик модулей (Webpack) - для сборки и оптимизации фронтенд части сайта
  8. leaflet - упрощает работу с различными видами географических карт
  9. d3 - позволяет комфортно работать с svg форматом
  10. slick slider - универсальный слайдер на все случаи жизни
  11. БЭМ методология - делает верстку более поддерживаемой, также дает лучше понимание того, как построена вся система.

Общие знания

Это неплохо было бы знать для работы в любой области программирования

  1. Иметь хотя бы общие представление о работе в репозитории (Git).
  2. Общие представление о работе в операционной системе (Linux).
  3. Знать основные принципы ООП.
  4. Иметь общее понимание о том, как проектируется БД.
  5. Уметь читать UML диаграммы.
  6. Уметь читать и разбираться в чужом коде.
  7. Знать английский язык

В заключении хотелось бы сказать, чтобы вы не пугались большого количества используемых технологий, многие из них можно изучить по ходу работы.

Самое главное что, администратор должен знать операционную систему (Linux), бэкэнд разработчик должен уметь разрабатывать на Ruby on Rails фреймворке или на битриксе, а фронтенд разработчик должен уметь верстать и знать javascript.

Станислав Фоменко

ruby

лекторий

веб

читайте также

Техническая поддержка ИТ проекта и зачем оно нужно в 2026 году

Рассказываем, зачем проекту нужна техническая поддержка в 2026 году, какие риски она закрывает и почему регулярное сопровождение выгоднее разовых исправлений

исследования

веб

перейти в телеграм