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

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

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

Узнавайте о новых задачах первыми

RSS

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

Фронт: Убрать Yargs из Logux Server

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

Сейчас Logux Server использует Yargs, чтобы работать с CLI-аргументами и выводить --help.

Но у Yargs некрасивый вывод --help — хочется, как минимум, разделить блоки цветом.

Кроме CLI-аргументов, Logux Server получает настройки через переменные среды и опции JS API. Хочется упростить код, совместив обработку всех элементов.

Польза: получить open source портфолио на Node.js.

Присылайте свои решения:

— Можно мне взять эту задачу?

Все задачи на этой странице еще не решены. Если задача вам интересна — берите и смело делайте. Спрашивать разрешения и становиться в очередь не нужно. Даже если кто-то сделает задачу быстрее вас, не останавливайтесь — ваше решение может быть лучше. Это Open Source!

Помощь запрашиваетДмитрий ЦепелевДмитрий Цепелев Дмитрий Цепелев

Бэк: Добавить поддержку #read_multi в Ruby gem graphql-ruby-fragment_cache

Для уверенных в себе, задача на неделю

graphql-ruby-fragment_cache — Ruby gem, позволяющий кэшировать части ответа на GraphQL запрос.

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

Польза: разобраться с устройством graphql-ruby, прокачаться в Ruby, принести пользу сообществу.

Присылайте свои решения:

Помощь запрашиваетДолганов СергейДолганов Сергей Долганов Сергей

Бэк: Создание библиотеки Refinement Types на Go (для построения контрактов)

Для продвинутых, задача на неделю

Нужно создать новую библиотеку, которая состоит из:

  • абстракции — Refinement Type;
  • различных способов композиции типов, начиная с их сложения и умножения (см. Algebraic Data Types).

Внутри библиотека:

  1. должна работать по таким же принципам, как blood_contracts-core;
  2. являться органичной для экосистемы Go.

Приведенная на Ruby библиотека используется для создания контрактов в приложении.

Контракт — это набор валидаций (тестов), которые запускаются во время production сессии взаимодействия с внешней системой по API (например, CRM системой или социальными сетями).

Такие валидации решают проблему упрощения отладки и распознавания отклонений в поведении внешних зависимостей.

Польза: создать гибкую и универсальную Go библиотеку, вдохновленную функциональным программированием.

Присылайте свои решения:

Помощь запрашиваетДолганов СергейДолганов Сергей Долганов Сергей

Бэк: Создание библиотеки Refinement Types на Node.js (для построения контрактов)

Для продвинутых, задача на неделю

Нужно создать новую библиотеку, которая состоит из:

  • абстракции — Refinement Type;
  • различных способов композиции типов, начиная с их сложения и умножения (см. Algebraic Data Types).

Внутри библиотека:

  1. должна работать по таким же принципам, как blood_contracts-core;
  2. являться органичной для экосистемы Node.js.

Приведенная на Ruby библиотека используется для создания контрактов в приложении.

Контракт — это набор валидаций (тестов), которые запускаются во время production сессии взаимодействия с внешней системой по API (например, CRM системой или социальными сетями).

Такие валидации решают проблему упрощения отладки и распознавания отклонений в поведении внешних зависимостей.

Польза: создать гибкую и универсальную Node библиотеку, вдохновленную функциональным программированием.

Присылайте свои решения: