Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.
На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решен ие.
Для новичков, задача на неделю
Nano Stores I18n — библиотека для перевода приложений.
Есть интересная идея: добавить процессоры в переводы. Например, на базе этих препроцессоров можно сделать смену перевода при смене ширины экрана.
// stores/i18n.js
import { atom, onMount } from 'nanostores'
import { createI18n, sizePreprocessor } from '@nanostores/i18n'
const screenSize = atom('big')
onMount(screenSize, () => {
let media = window.matchMedia('(min-width: 600px)')
function check () {
screenSize.set(media.matches ? 'big' : 'small')
}
media.addEventListener('change', check)
() => {
media.removeEventListener('change', check)
}
})
size.setSource(screenSize)
export const i18n = createI18n(locale, {
get: …,
preprocessors: [
sizePreprocessor
]
})
Надо отправить PR в Nano Stores I18n с реализацией препроцессоров.
Польза: получить open source портфолио на JS.