Нам нужны твои мозги

Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.

На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решение.

Бэк: k6 jslib: хелперы для Rails

Для новичков, задача на пару дней

k6 – это современный инструмент для нагрузочного тестирования, написанный на Go и использующий JavaScript для описания тестовых сценариев. Из коробки k6 позволяет работать с WebSocket’ами, однако, тестирование Action Cable и AnyCable сценариев получается очень многословным. Для решения этой проблемы было написано расширение xk6-cable.

Однако, далеко не всю функциональность имеет смысл портировать в Go, иногда для тестирования Rails-приложений могут понадобиться простые хелперы. Для распространения JavaScript-хелперов, разработчики k6 используют jslib.k6.io. Мы предлагаем добавить новый пакет с хелперами для jslib.k6.io.

Польза: разобраться в том, как устроен k6 и его экосистема расширений, принести пользу Rails сообществу.

Инструкции по выполнению

Это задание требует творческого подхода. Попробуйте провести нагрузочное тестирование проекта на Rails с помощью k6. Посмотрите какие хелперы вы хотели бы вынести в отдельную библиотеку.

Например, в ходе работы с xk6-cable мы выявили необходимость вот в таких хелперах:

  • хелперы для работы с CSRF токенами (получение токена со страницы, возможно хелперы для post/put запросов);
  • хелперы для hotwire на основе примера.

План работ:

  1. опробовать k6 в связке с Rails проектом;
  2. создать новую библиотеку с хелперами для Rails в jslib.k6.io, следуя инструкциям;
  3. сделать Pull Request.

Полезные ссылки: