Несколько месяцев назад я наткнулся на статью, в которой утверждалось, что каждый разработчик (и начинающий разработчик) должен решить первые 50« проблем Project Euler ». Итак, вот моя попытка решить первые 50 с помощью JavaScript.
Почему Project Euler?
Project Euler - это серия сложных задач, требующих математических навыков и навыков программирования. Я цитирую Беннета Гарнера из его статьи Считаете себя разработчиком? Вы должны решить проблемы Эйлера проекта
Преимущества работы над проблемами Project Euler слишком велики, чтобы их игнорировать:
- Они покажут, понимаете ли вы основные операции используемого вами языка, и могут ли они быть решены на любом языке программирования.
- Вы научитесь писать надежный, стандартный, ванильный код. Никаких библиотек не требуется, поэтому вам не придется полагаться на костыли
- Вам нужно будет подумать о том, как вы храните и получаете доступ к данным в памяти.
- Вам нужно будет оптимизировать скорость обработки и хорошо подумать об алгоритмах.
Если вы решите первые 50–100 задач Project Euler, вы:
- Твердо владеть основами программирования
- Уверенно владейте синтаксисом выбранного вами языка и свободно владейте им.
- Узнайте об оптимизации алгоритмов и, что более важно, об интуиции оптимизации
- Получите опыт написания чистого кода с хорошей документацией
- Получите возможность попрактиковаться в разработке через тестирование
- Имейте что-нибудь впечатляющее, чтобы показать на своем GitHub и в портфолио
Подход
Что я попытаюсь сделать в этой серии:
- Решайте проблемы программно, а не математически.
- Пока не беспокойтесь о пространственно-временной сложности.
- Улучшайте старые решения, как только будут готовы первые 50.
- Создайте сообщение в блоге для каждой проблемы с объяснением решения.
- Опубликовать ответы на мое репо на Github
- Применяйте шаблоны функционального программирования для решения проблем.
Подпишитесь на мои сообщения, чтобы получать обновления по каждой решенной проблеме.
Смотрите все мои блоги на @ ohmycode.in