«Майстер робить більше помилок, ніж новачок — спроб»
Минулий
1. Текстовий редактор
Мета текстового редактора — зменшити зусилля користувачів, які намагаються перетворити їхнє форматування як валідну розмітку HTML. Хороший текстовий редактор дозволяє користувачам форматувати текст по-різному.
Якоїсь миті кожен використовував текстовий редактор. Так чому б не
2. Клон Reddit
Reddit займає більшу частину мого часу, але я продовжую зависати на ньому. Створення клону Reddit це ефективний спосіб вивчення програмування (при одночасному перегляді Reddit).
Reddit надає вам дуже багатий
Розумні клієнти одразу здогадаються, що робота виконується погано, і знайдуть когось іншого.
3. Публікація пакета NPM з відкритим кодом
Якщо ви пишете код на Javascript, швидше за все, ви використовуєте менеджер пакетів. Менеджер пакетів дозволяє повторно використовувати існуючий код, який написали та опублікували інші люди.
Розуміння повного циклу розробки пакету дасть дуже добрий досвід. Є багато речей, які вам потрібно знати під час публікації коду. Вам потрібно подумати про безпеку, семантичне управління версіями, масштабованість, угоди про імена та обслуговування.
Пакет може бути будь-яким. Якщо у вас немає ідеї, створіть свій власний Lodash та опублікуйте його.
Лодаш:
Наявність чогось, що ви зробили в Інтернеті, ставить вас на 10% вище за інших.
4. Навчальний план freeCodeCamp
freeCodecamp зібрав дуже
freeCodeCamp – це некомерційна організація. Вона складається з інтерактивної навчальної веб-платформи, онлайн-форуму спільноти, чатів, публікацій Medium та місцевих організацій, які мають намір зробити доступним для всіх вивчення веб-розробки.
Ви будете більш, ніж кваліфіковані для своєї першої роботи, якщо вам вдасться завершити весь курс.
5. Створіть HTTP-сервер з нуля
Протокол HTTP одна із основних протоколів, якими контент потрапляє до Інтернету. HTTP-сервери використовуються для обслуговування статичного контенту, такого як HTML, CSS та JS.
Можливість реалізувати протокол HTTP з нуля розширить ваші знання про те, як усе взаємодіє.
Наприклад, якщо ви використовуєте NodeJs, ви знаєте що Express надає HTTP-сервер.
Для довідки, подивіться, чи зможете ви:
- Налаштувати сервер без використання будь-яких бібліотек
- Сервер повинен обслуговувати вміст HTML, CSS та JS.
- Використання маршрутизатора з нуля
- Слідкувати за змінами та оновлювати сервер
Якщо ви не знаєте з чого, скористайтесь
6. Десктопний додаток для нотаток
Ми всі робимо нотатки, чи не так?
Давайте створимо програму для нотаток. Додаток повинен зберігати нотатки та синхронізувати їх з базою даних. Створіть нативну програму за допомогою Electron, Swift або чогось ще, що вам подобається, і що підходить для вашої системи.
Не соромтеся поєднувати це з першим челендж (текстовий редактор).
Як бонус спробуйте синхронізувати десктопну версію з веб-версією.
7. Подкасти (клон Overcast)
Хто не слухає подкасти?
Створіть веб-додаток з такими функціями:
- Завести обліковий запис
- Пошук подкастів
- Оцінювати та підписуватись на подкасти
- Зупинка та відтворення, зміна швидкості, функції вперед та назад на 30 секунд.
Як відправна точка спробуйте використовувати iTunes API. Якщо ви знаєте інші ресурси, напишіть у коментарях.
8. Захоплення екрану
Вітання! Я знімаю свій екран зараз!
Створіть десктопну або веб-додаток, яка дозволить вам захопити ваш екран та зберегти кліп як .gif
Ось
Переклад виконано за підтримки компанії
Джерело: habr.com