Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.
На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решен ие.
Для уверенных в себе, задача на несколько дней
Нужно добавить в Ossert новые источники данных. Отличным кандидадатом с достаточно богатым API является Reddit.
Это позволит охватить еще один важный аспект развития Open-Source библиотек — доступность и объем поддержки, а также заинтересованность в них.
Польза: возможность научиться работать с API Reddit и узнать больше о метриках и поведении разработчиков свободного ПО.
Как это должно работать?
На данный момент сбор информации уже работает для Rubygems, Github, Bestgems и StackOverflow. Необходимо совместимым образом организовать сбор с новых источников.
Советы по реализации
За основу предлагается взять любой из существующих классов для сбора в Ossert. Например, Ossert::Fetch::Rubygems
, и реализовать класс, осуществляющий сбор интересной информации:
module Ossert
module Fetch
class Reddit
def initialize(project)
...
end
def process
# Метод сбора основных метрик по проекту
end
end
end
end
Для начала, вам потребуется вникнуть в проблему, решаемую проектом — оценку зрелости свободного ПО.
Для этого нужно проанализировать возможность API вашего источника данных и выбрать:
Например:
А затем, конечно, организовать сбор этих метрик и параметров.
Инструкции по выполнению