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

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

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

Помощь запрашивалАндрей СитникАндрей Ситник Андрей Ситник

ПомогАлексей НаумовАлексей Наумов Алексей Наумов

Бэк: Добавить протокол 3 в Logux Rack (Ruby/Rails)

Для новичков, задача на неделю

Нужно перевести Ruby gem logux-rack на новую версию протокола общения с Logux-сервером. Изменения:

  1. Сейчас logux-rack, в случае ошибки, всегда возвращает ["error", stack]. В новой версии логика сложнее. Если ошибка произошла в момент обработки конкреного action или подписки, сервер должен ответить ["error", meta.id, stack]. В остальных случаях сервер должен ответь HTTP-кодом 500 с текстом ошибки в теле ответа (прекратив обработку остальных команд).
  2. Нужно изменить password на secret в теле запросов от Logux-сервера и запросов к Logux-серверу.
  3. Нужно обновить версию протокола в коде logux-rack.

Польза: получить open source портфолио в Ruby, научиться работать с Logux.

  1. Форкнуть logux-rack.
  2. Сделать новую ветку.
  3. Изучить, как идет обработка ошибок сейчас. Переписать код.
  4. Найти, где обрабатываются запросы от Logux-сервера и формируются запросы к Logux-серверу. Обновить там версию протокола и изменить password на secret.
  5. Обновить тесты.