Цель редактора форматированного текста - уменьшить усилия пользователей, пытающихся выразить свое форматирование как допустимую разметку HTML. Редактор форматированного текста дает пользователям возможность форматировать свой текст по-разному.

В какой-то момент каждый пользовался редактором форматированного текста. Так почему бы не построить самому?

2. Reddit Clone

Reddit - это сайт для агрегирования новостей, рейтинга веб-контента и дискуссий.

Reddit - моя самая большая дыра во времени, но я продолжаю этим заниматься. Создание клона Reddit - это продуктивный способ научиться программировать (пока вы все еще просматриваете Reddit).

Reddit предоставляет вам очень богатый API. Не пропускайте никаких функций и не будьте беспечны. В реальной ситуации с платежеспособными клиентами и покупателями вы не сможете выполнить половину работы, иначе вы потеряете работу очень быстро.

Умные клиенты сразу узнают, что была сделана плохая работа, и найдут кого-нибудь еще.

3. Опубликуйте пакет npm с открытым исходным кодом.

Если вы пишете код на JavaScript, скорее всего, вы используете диспетчер пакетов. Менеджер пакетов позволяет повторно использовать существующий код, который был написан и опубликован другими людьми.

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

Пакет может быть любым. Если у вас нет идей, создайте собственный Lodash и опубликуйте пакет.

Наличие чего-то, что вы создали в Интернете, уже дает вам 10%. Вот несколько полезных ресурсов об открытом исходном коде и пакетах.

4. Учебная программа freeCodeCamp

FreeCodeCamp составил очень обширную программу обучения программированию.

FreeCodeCamp - это некоммерческая организация. Они состоят из интерактивной обучающей веб-платформы, онлайн-форума сообщества, чатов, публикации Medium и местных организаций, стремящихся сделать обучение веб-разработке доступным для всех.

Вы более чем квалифицированы для своей первой работы, если вам удастся закончить всю учебную программу.

5. Создайте HTTP-сервер с нуля.

HTTP - один из основных протоколов обслуживания контента в Интернете. HTTP-серверы используются для обслуживания статического контента, такого как HTML, CSS и JS.

Возможность реализовать протокол HTTP с нуля расширяет ваши общие представления о том, как все сочетается друг с другом.

Например, если вы пришли из Node, фреймворк Express предоставляет HTTP-сервер.

Если хотите, попробуйте:

  • Настройте сервер без использования каких-либо библиотек.
  • Сервер должен обслуживать содержимое HTML, CSS и JS.
  • Реализовать роутер с нуля.
  • Следите за изменениями и обновляйте сервер.

Если вы ищете направление, используйте Go lang и попробуйте создать HTTP-сервер Caddy с нуля.

6. Примечание о настольных приложениях

Мы все делаем заметки, правда?

Давайте создадим настольное приложение для заметок. Ведущий должен сохранять заметки и синхронизировать их с базой данных. Создайте собственное приложение с Electron, Swift или чем угодно, если оно существует в вашей файловой системе.

Не стесняйтесь комбинировать это с первой задачей (редактор форматированного текста).

В качестве бонуса попробуйте синхронизировать настольную версию с веб-версией.

7. Подкасты в Интернете (облачный клон)

Кто не слушает подкасты?

Создайте веб-приложение со следующими функциями:

  • Завести аккаунт.
  • Найдите подкасты.
  • Ставьте лайк и подписывайтесь на подкасты.
  • Остановитесь и играйте, измените скорость, вперед и назад на 30 секунд.

В качестве отправной точки попробуйте iTunes API. Если вы знаете какие-либо другие ресурсы, пишите в комментариях!

8. Снимок экрана

Создайте настольное или веб-приложение, которое позволит вам сделать снимок экрана и сохранить клип как .gif. Вот некоторые рекомендации о том, как этого добиться.

Заключение

Ищете другие идеи для программирования? Никогда больше не иссякайте идеи для программирования. Получите здесь доступ к множеству интерфейсных задач.

Спасибо за чтение и удачного кодирования!