- PVSM.RU - https://www.pvsm.ru -

Еще список проектов, на чем потренироваться

«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов [1] набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор

image

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

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

2. Клон Reddit

image

Reddit [3] — это агрегация социальных новостей, рейтинг веб-контента и сайт для обсуждений.

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

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

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

image

Reddit API [4]

3. Публикация пакета NPM с открытым исходным кодом

image

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

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

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

image

Lodash: lodash.com [5]

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

4. Учебный план freeCodeCamp

image

FCC curriculum [7]

freeCodecamp собрал очень всеобъемлющий курс по программированию [7].

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

image

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

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

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

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

Например, если вы используете NodeJs, то вы знаете что Express предоставляет HTTP-сервер.

Для справки, посмотрите, сможете ли вы:

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

Если вы не знаете с чего, воспользуйтесь Go lang [8] и попытайтесь создать HTTP-сервер Caddy [9] с нуля.

image

6. Десктопное приложение для заметок

image

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

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

Не стесняйтесь сочетать это с первым челленджом(текстовый редактор).

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

7. Подкасты (клон Overcast)

image

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

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

  • Завести аккаунт
  • Поиск подкастов
  • Оценивать и подписываться на подкасты
  • Остановка и воспроизведение, изменение скорости, функции вперед и назад на 30 секунд.

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

image

affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api [10]

8. Захват экрана

image

Привет! Я снимаю свой экран прямо сейчас!

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

Вот несколько советов [11], как добиться этого.


Перевод выполнен при поддержке компании EDISON Software [12], которая профессионально занимается разработкой приложений и сайтов на PHP [13] для крупных заказчиков, а так же разработкой облачных сервисов и мобильных приложений на Java [14].

Автор: rishat_edison

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/301788

Ссылки в тексте:

[1] список тренировочных проектов: https://habr.com/company/edison/blog/344006/

[2] создать его самостоятельно: https://codeburst.io/lets-build-a-customizable-rich-text-editor-with-slate-and-react-beefd5d441f2

[3] Reddit: https://en.wikipedia.org/wiki/Reddit

[4] API: https://www.reddit.com/dev/api/

[5] lodash.com: https://lodash.com

[6] Вот некоторые полезные ресурсы: https://laracasts.com/series/how-to-manage-an-open-source-project

[7] FCC curriculum: https://learn.freecodecamp.org/

[8] Go lang: https://golang.org/

[9] Caddy: https://github.com/mholt/caddy

[10] affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api: https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/

[11] несколько советов: https://w3c.github.io/mediacapture-screen-share/

[12] EDISON Software: https://www.edsd.ru/

[13] разработкой приложений и сайтов на PHP: https://www.edsd.com/updates-and-maintenance-for-php-sites

[14] разработкой облачных сервисов и мобильных приложений на Java: https://www.edsd.com/cloud-services-and-mobile-applications-in-java

[15] Источник: https://habr.com/post/430126/?utm_campaign=430126