Здравствуйте! Вчера мы с вами поговорили про сомнения при обучении , а сегодня поговорим про создание своего первого проекта. Создавая свой проект(веб-приложение), мы будем преследовать две цели:
1. Попробовать полученные и изученные навыки программирования.
2. Если всё получится, то положить данный проект к себе в портфолио.
Подготовка к работе.
Для начала нам нужно определиться на какую тему мы хотим делать наш проект. Лучше всего, чтобы проект был посвящён той сфере, которой вы очень увлечены и которая вам нравится. Для чего это нужно? Ну прежде всего, чтобы кроме желания испытать свои навыки в деле, это было бы вам ещё и интересно само по себе. Если, например, вы посвятите проект цветам, а вы к ним равнодушны, то и забросите вы его после первой же сложной ситуации и не захотите к нему возвращаться: мало того, что не получается, так там ещё и цветы, а я никогда не испытывал к ним особого интереса.
Второе. Проект должен вам быть полезным, чтобы после окончания работы над ним, вы смогли им пользоваться. А если вы будете им пользоваться, значит будете его периодически улучшать и дорабатывать.
Функционал.
С выбором темы проекта мы определились, также определились, что он нам должен быть как-то полезен. Давайте теперь определимся, что я имею в виду, говоря о полезности: ну, например, вам нравится футбол, и вы хотите следить за успехами/неудачами своей любимой команды, значит вам нужен сайт, на котором будет собрана вся актуальная информация о вашей команде. Либо вы любите компьютерные игры и хотите знать о распродажах в различных магазинах игр, значит вам нужно, чтобы вся эта информация была собрана в одном месте. Думаю, этот момент понятен.
И определившись с моментом полезности, мы плавно переходим к определению функционала. Возьмите ручку и бумагу(программу-записную книжку) и опишите по пунктам, что должен уметь делать ваш проект. Для первого проекта советую не писать список из ста пунктов, такая работа вас быстро вымотает. Лучше потом добавлять дополнительные функции постепенно.
Советую сделать следующим образом: описывайте такие функции, которые бы помогли вам охватить и испытать все навыки, которые вы приобрели.
Например, моим первым проектом было приложение, которое при поиске по двум книжным магазинам(Лабиринт и Book24), показывала мне цену искомой/искомых книг. Что должно быть в таком приложении?
1. Простая страничка HTML со строкой поиска, кнопками "Вход\Регистрация" и "Выход"
2. Функция, которая собирает(парсит) информацию с внешних ресурсов.
3. Функция, которая сохраняет найденные книги и их картинки в базе данных.
4. База данных с таблицами Автор, Издательство, Книга.
5. Функция, которая выводит эти данные на страницу HTML.
6. Сервер, где всё это будет храниться. О развёртывании(деплое) приложения мы с вами пока что не говорили, поэтому об этом можно пока не задумываться. Но если интересно, можно погуглить на эту тему.
Не советую всё делать одной функцией, вы потом замучаетесь поддерживать такой код. Будем придерживаться принципов Unix — каждая функция должна делать что-то одно, но делать это хорошо.
Работа над проектом.
И начинаем работать над проектом. Глядя на свой список, подумайте, что и в каком порядке вы будете делать, что от чего зависит. А после проставьте напротив каждого пункта цифру. Вот и всё. Начинаете делать приложение пункт за пунктом, если зашли где-то в тупик -> документация + Google. Зашли в тупик и не получается из него выйти? Отложите работу, займитесь чем-то кардинально другим, что переключит внимание вашего мозга. Решение придёт само.
Удачи вам в работе и приятного вам обучения!
Если понравилась статья, поставьте, пожалуйста, лайк и подпишитесь на блог, если хотите остаться с нами.
Предыдущая статья. ................................................................... Следующая статья.