«Мастер совершает больше ошибок, чем новичок — попыток»
Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.
![image](https://habrastorage.org/getpro/habr/post_images/2c7/b80/b5e/2c7b80b5e5541f2a95186314533cf034.gif)
Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.
В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/12b/7d7/d96/12b7d7d96842766fa12727933d25f940.png)
Reddit — это агрегация социальных новостей, рейтинг веб-контента и сайт для обсуждений.
Reddit — занимает большую часть моего времени, но я продолжаю зависать на нем. Создание клона Reddit — это эффективный способ изучения программирования (при одновременном просмотре Reddit).
Reddit предоставляет вам очень богатый API. Не упускайте какие-либо функции и не делайте как попало. В реальном мире с клиентами и покупателями, вы не сможете работать как попало, или вы быстро потеряете работу.
Умные клиенты сразу же догадаются, что работа выполняется плохо, и найдут кого-то другого.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/1ec/1e2/db9/1ec1e2db99e62b5218e8ea51bca69052.png)
Reddit API
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/88d/299/9e4/88d2999e4efa762f593e054b95abfd8c.png)
Если вы пишите код на Javascript, скорее всего, вы используете менеджер пакетов. Менеджер пакетов позволяет повторно использовать существующий код, который написали и опубликовали другие люди.
Понимание полного цикла разработки пакета даст очень хороший опыт. Есть много вещей, которые вам нужно знать при публикации кода. Вам нужно подумать о безопасности, семантическом управлении версиями, масштабируемости, соглашениях об именах и обслуживании.
Пакет может быть любым. Если у вас нет идеи, создайте свой собственный Lodash и опубликуйте его.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/0da/bec/885/0dabec88572160fa54b0eb6c7e6606ee.png)
Lodash: lodash.com
Наличие чего-то, что вы сделали в Интернете, ставит вас на 10% выше других. Вот некоторые полезные ресурсы об открытых источниках и пакетах.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/e2e/0a1/be2/e2e0a1be2af5550a0eb5c3af7eb8587a.png)
FCC curriculum
freeCodecamp собрал очень всеобъемлющий курс по программированию.
freeCodeCamp — это некоммерческая организация. Она состоит из интерактивной обучающей веб-платформы, онлайн-форума сообщества, чатов, публикаций Medium и местных организаций, которые намереваются сделать доступным для всех изучение веб-разработки.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/3e2/196/f53/3e2196f532a0e3ec662be30f91dc5e9c.png)
Вы будете более чем квалифицированы для своей первой работы, если вам удастся завершить весь курс.
Протокол HTTP является одним из основных протоколов, по которым контент попадает в Интернете. HTTP-серверы используются для обслуживания статического контента, такого как HTML, CSS и JS.
Возможность реализовать протокол HTTP с нуля расширит ваши знания о том, как все взаимодействует.
Например, если вы используете NodeJs, то вы знаете что Express предоставляет HTTP-сервер.
Для справки, посмотрите, сможете ли вы:
Если вы не знаете с чего, воспользуйтесь Go lang и попытайтесь создать HTTP-сервер Caddy с нуля.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/111/a23/18c/111a2318c077e5d343649b60742fa217.png)
![image](https://habrastorage.org/getpro/habr/post_images/f4b/5b2/73b/f4b5b273bfa65fa0d230ce0ac60851b2.gif)
Мы все делаем заметки, не так ли?
Давайте создадим приложение для заметок. Приложению необходимо сохранять заметки и синхронизировать их с базой данных. Создайте нативное приложение с помощью Electron, Swift или чего-то еще, что вам нравится, и что подходит для вашей системы.
Не стесняйтесь сочетать это с первым челленджом(текстовый редактор).
В качестве бонуса попробуйте синхронизировать десктопную версию с веб-версией.
![image](https://habrastorage.org/getpro/habr/post_images/8ca/128/790/8ca128790dfc7b8780a19de2ab7f2351.gif)
Кто не слушает подкасты?
Создайте веб-приложение со следующими функциями:
В качестве отправной точки попробуйте использовать iTunes API. Если вы знаете какие-либо другие ресурсы, напишите в комментариях.
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/cb6/582/88a/cb658288aab4e888bfda2c7aa6712f84.png)
affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api
![image](https://habrastorage.org/getpro/habr/post_images/4e5/6fd/68f/4e56fd68f7acc6b1b945c3228e709a79.gif)
Привет! Я снимаю свой экран прямо сейчас!
Создайте десктопное или веб-приложение, которое позволит вам захватить ваш экран и сохранить клип как
Вот несколько советов, как добиться этого.
Перевод выполнен при поддержке компании EDISON Software, которая профессионально занимается разработкой приложений и сайтов на PHP для крупных заказчиков, а так же разработкой облачных сервисов и мобильных приложений на Java.
Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.
1. Текстовый редактор
![image](https://habrastorage.org/getpro/habr/post_images/2c7/b80/b5e/2c7b80b5e5541f2a95186314533cf034.gif)
Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.
В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
2. Клон Reddit
![image](https://habrastorage.org/getpro/habr/post_images/12b/7d7/d96/12b7d7d96842766fa12727933d25f940.png)
Reddit — это агрегация социальных новостей, рейтинг веб-контента и сайт для обсуждений.
Reddit — занимает большую часть моего времени, но я продолжаю зависать на нем. Создание клона Reddit — это эффективный способ изучения программирования (при одновременном просмотре Reddit).
Reddit предоставляет вам очень богатый API. Не упускайте какие-либо функции и не делайте как попало. В реальном мире с клиентами и покупателями, вы не сможете работать как попало, или вы быстро потеряете работу.
Умные клиенты сразу же догадаются, что работа выполняется плохо, и найдут кого-то другого.
![image](https://habrastorage.org/getpro/habr/post_images/1ec/1e2/db9/1ec1e2db99e62b5218e8ea51bca69052.png)
Reddit API
3. Публикация пакета NPM с открытым исходным кодом
![image](https://habrastorage.org/getpro/habr/post_images/88d/299/9e4/88d2999e4efa762f593e054b95abfd8c.png)
Если вы пишите код на Javascript, скорее всего, вы используете менеджер пакетов. Менеджер пакетов позволяет повторно использовать существующий код, который написали и опубликовали другие люди.
Понимание полного цикла разработки пакета даст очень хороший опыт. Есть много вещей, которые вам нужно знать при публикации кода. Вам нужно подумать о безопасности, семантическом управлении версиями, масштабируемости, соглашениях об именах и обслуживании.
Пакет может быть любым. Если у вас нет идеи, создайте свой собственный Lodash и опубликуйте его.
![image](https://habrastorage.org/getpro/habr/post_images/0da/bec/885/0dabec88572160fa54b0eb6c7e6606ee.png)
Lodash: lodash.com
Наличие чего-то, что вы сделали в Интернете, ставит вас на 10% выше других. Вот некоторые полезные ресурсы об открытых источниках и пакетах.
4. Учебный план freeCodeCamp
![image](https://habrastorage.org/getpro/habr/post_images/e2e/0a1/be2/e2e0a1be2af5550a0eb5c3af7eb8587a.png)
FCC curriculum
freeCodecamp собрал очень всеобъемлющий курс по программированию.
freeCodeCamp — это некоммерческая организация. Она состоит из интерактивной обучающей веб-платформы, онлайн-форума сообщества, чатов, публикаций Medium и местных организаций, которые намереваются сделать доступным для всех изучение веб-разработки.
![image](https://habrastorage.org/getpro/habr/post_images/3e2/196/f53/3e2196f532a0e3ec662be30f91dc5e9c.png)
Вы будете более чем квалифицированы для своей первой работы, если вам удастся завершить весь курс.
5. Создайте HTTP-сервер с нуля
Протокол HTTP является одним из основных протоколов, по которым контент попадает в Интернете. HTTP-серверы используются для обслуживания статического контента, такого как HTML, CSS и JS.
Возможность реализовать протокол HTTP с нуля расширит ваши знания о том, как все взаимодействует.
Например, если вы используете NodeJs, то вы знаете что Express предоставляет HTTP-сервер.
Для справки, посмотрите, сможете ли вы:
- Настроить сервер без использования каких-либо библиотек
- Сервер должен обслуживать содержимое HTML, CSS и JS.
- Внедрение маршрутизатора с нуля
- Следить за изменениями и обновлять сервер
Если вы не знаете с чего, воспользуйтесь Go lang и попытайтесь создать HTTP-сервер Caddy с нуля.
![image](https://habrastorage.org/getpro/habr/post_images/111/a23/18c/111a2318c077e5d343649b60742fa217.png)
6. Десктопное приложение для заметок
![image](https://habrastorage.org/getpro/habr/post_images/f4b/5b2/73b/f4b5b273bfa65fa0d230ce0ac60851b2.gif)
Мы все делаем заметки, не так ли?
Давайте создадим приложение для заметок. Приложению необходимо сохранять заметки и синхронизировать их с базой данных. Создайте нативное приложение с помощью Electron, Swift или чего-то еще, что вам нравится, и что подходит для вашей системы.
Не стесняйтесь сочетать это с первым челленджом(текстовый редактор).
В качестве бонуса попробуйте синхронизировать десктопную версию с веб-версией.
7. Подкасты (клон Overcast)
![image](https://habrastorage.org/getpro/habr/post_images/8ca/128/790/8ca128790dfc7b8780a19de2ab7f2351.gif)
Кто не слушает подкасты?
Создайте веб-приложение со следующими функциями:
- Завести аккаунт
- Поиск подкастов
- Оценивать и подписываться на подкасты
- Остановка и воспроизведение, изменение скорости, функции вперед и назад на 30 секунд.
В качестве отправной точки попробуйте использовать iTunes API. Если вы знаете какие-либо другие ресурсы, напишите в комментариях.
![image](https://habrastorage.org/getpro/habr/post_images/cb6/582/88a/cb658288aab4e888bfda2c7aa6712f84.png)
affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api
8. Захват экрана
![image](https://habrastorage.org/getpro/habr/post_images/4e5/6fd/68f/4e56fd68f7acc6b1b945c3228e709a79.gif)
Привет! Я снимаю свой экран прямо сейчас!
Создайте десктопное или веб-приложение, которое позволит вам захватить ваш экран и сохранить клип как
.gif
Вот несколько советов, как добиться этого.
Перевод выполнен при поддержке компании EDISON Software, которая профессионально занимается разработкой приложений и сайтов на PHP для крупных заказчиков, а так же разработкой облачных сервисов и мобильных приложений на Java.