HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Всем привет! В этой статье я хочу поделиться своими впечатлениями о<a>первом проекте</a>в профессии<a>Python-программист</a>. Если вы проходите эту профессию и сомневаетесь "нужно ли проходить проекты", для экономии времени можете прочитать мои впечатления, которые опишу в конце.</p>
1 <p>Всем привет! В этой статье я хочу поделиться своими впечатлениями о<a>первом проекте</a>в профессии<a>Python-программист</a>. Если вы проходите эту профессию и сомневаетесь "нужно ли проходить проекты", для экономии времени можете прочитать мои впечатления, которые опишу в конце.</p>
2 <h2>Содержание</h2>
2 <h2>Содержание</h2>
3 <ul><li><a>Предыстория</a></li>
3 <ul><li><a>Предыстория</a></li>
4 <li><a>Сложности на старте</a></li>
4 <li><a>Сложности на старте</a></li>
5 <li><a>Начало работы</a></li>
5 <li><a>Начало работы</a></li>
6 <li><a>Мои первые впечатления</a></li>
6 <li><a>Мои первые впечатления</a></li>
7 </ul><h2>Предыстория</h2>
7 </ul><h2>Предыстория</h2>
8 <p>Перед покупкой проекта я колебался: нужно ли тратить 97$ на написание приложения, которое заставит пользователя отвечать на вопросы в духе "Делится ли 21 на 2", "Сколько будет 12+51". Кажется, что это слишком простая задача, такой скрипт можно накидать за 5 минут, подобные программы обычно пишут на старте изучения языка. По программе курса это действительно так, но я начал выполнять этот проект когда уже прошел почти все курсы, остались только SQL и ООП. Проекты в итоге я приобрел целой пачкой, когда увидел новость о повышении цен. Я до конца не верил, что<a>Игры разума</a>принесут мне какую-то пользу, но выполнение этого проекта (на момент написания статьи я его еще не закончил) помогло открыть глаза на то, как нужно писать приложения на Python правильно. Я на практике реализую то, что знал только в теории (речь идет в основном о<a>DRY</a>).</p>
8 <p>Перед покупкой проекта я колебался: нужно ли тратить 97$ на написание приложения, которое заставит пользователя отвечать на вопросы в духе "Делится ли 21 на 2", "Сколько будет 12+51". Кажется, что это слишком простая задача, такой скрипт можно накидать за 5 минут, подобные программы обычно пишут на старте изучения языка. По программе курса это действительно так, но я начал выполнять этот проект когда уже прошел почти все курсы, остались только SQL и ООП. Проекты в итоге я приобрел целой пачкой, когда увидел новость о повышении цен. Я до конца не верил, что<a>Игры разума</a>принесут мне какую-то пользу, но выполнение этого проекта (на момент написания статьи я его еще не закончил) помогло открыть глаза на то, как нужно писать приложения на Python правильно. Я на практике реализую то, что знал только в теории (речь идет в основном о<a>DRY</a>).</p>
9 <h2>Сложности на старте</h2>
9 <h2>Сложности на старте</h2>
10 <p>Это будет самая короткая секция, потому что сложности возникли только с установкой Poetry т.к. по умолчанию он работает с Python 2.7. В<a>этой</a>статье<a>Алексей</a>описал установку Poetry для работы с Python 3.x, все в порядке, работаем :)</p>
10 <p>Это будет самая короткая секция, потому что сложности возникли только с установкой Poetry т.к. по умолчанию он работает с Python 2.7. В<a>этой</a>статье<a>Алексей</a>описал установку Poetry для работы с Python 3.x, все в порядке, работаем :)</p>
11 <h2>Начало работы</h2>
11 <h2>Начало работы</h2>
12 <p>Установка Poetry это только первый шаг, но он занял достаточно времени. Далее нужно было собрать приложение, настроить конфиг, повторить уроки по модулям и пакетам, подключить линтер. Описание процесса заняло пару предложений, но по времени это длилось около шести часов из-за моей неуверенной работе в Ubuntu, один раз даже её пришлось переустановить. Наконец-то добрался до логики. В описании мне намекали, что скрипты отвечают только за запуск приложения, сама логика должна быть реализована в другом месте. В одном из следующих шагов мне еще раз повторили, что при добавлении новых модулей некоторый код может повторяться, и его лучше также вынести в отдельный модуль, к тому же еще codeclimat ругается (его также нужно было подключить по ходу выполнения шагов). В процессе я переписывал свое приложение, вынося повторяющиеся функции в отдельный модуль, и я был просто в восторге когда осознал, что могу добавить новые функции всего несколькими строками, которые после передам в "главный" модуль. Я осознанно описываю весь процесс в общих чертах чтобы не спойлерить тем, кто соберется проходить проект, но вся эта работа помогла понять как правильно создавать приложения на Python. Об этом я расскажу далее.</p>
12 <p>Установка Poetry это только первый шаг, но он занял достаточно времени. Далее нужно было собрать приложение, настроить конфиг, повторить уроки по модулям и пакетам, подключить линтер. Описание процесса заняло пару предложений, но по времени это длилось около шести часов из-за моей неуверенной работе в Ubuntu, один раз даже её пришлось переустановить. Наконец-то добрался до логики. В описании мне намекали, что скрипты отвечают только за запуск приложения, сама логика должна быть реализована в другом месте. В одном из следующих шагов мне еще раз повторили, что при добавлении новых модулей некоторый код может повторяться, и его лучше также вынести в отдельный модуль, к тому же еще codeclimat ругается (его также нужно было подключить по ходу выполнения шагов). В процессе я переписывал свое приложение, вынося повторяющиеся функции в отдельный модуль, и я был просто в восторге когда осознал, что могу добавить новые функции всего несколькими строками, которые после передам в "главный" модуль. Я осознанно описываю весь процесс в общих чертах чтобы не спойлерить тем, кто соберется проходить проект, но вся эта работа помогла понять как правильно создавать приложения на Python. Об этом я расскажу далее.</p>
13 <h2>Мои первые впечатления</h2>
13 <h2>Мои первые впечатления</h2>
14 <p>Я не могу подвести полный итог о выполнении проекта т.к. еще не завершил его, но я уже успел получить полезный опыт, который поможет мне создавать приложения в дальнейшем. Выделю самое главное:</p>
14 <p>Я не могу подвести полный итог о выполнении проекта т.к. еще не завершил его, но я уже успел получить полезный опыт, который поможет мне создавать приложения в дальнейшем. Выделю самое главное:</p>
15 <ol><li><p>Создание минимальной архитектуры приложения</p>
15 <ol><li><p>Создание минимальной архитектуры приложения</p>
16 </li>
16 </li>
17 <li><p>Разбиение функционала по модулям</p>
17 <li><p>Разбиение функционала по модулям</p>
18 </li>
18 </li>
19 <li><p>Анализ кода (codeclimat, flake8), вынесение повторяющихся функций в отдельные модули (см.<a>DRY</a>).</p>
19 <li><p>Анализ кода (codeclimat, flake8), вынесение повторяющихся функций в отдельные модули (см.<a>DRY</a>).</p>
20 </li>
20 </li>
21 <li><p>Сборка и публикация пакета в репозиторий.</p>
21 <li><p>Сборка и публикация пакета в репозиторий.</p>
22 </li>
22 </li>
23 </ol><p>Такие очевидные вещи для меня были раньше не так очевидны, они существовали только где-то в теории, в мире идей. Я знал, что повторения в коде это плохо, повторяющийся код нужно выносить в отдельные функции, но, чтобы разбить приложение на модули, а уж тем более собрать и сконфигурировать пакет, до этого мне бы еще пришлось как-то дойти. Неизвестно сколько на это бы ушло времени если бы не<a>Игры разума</a>.</p>
23 </ol><p>Такие очевидные вещи для меня были раньше не так очевидны, они существовали только где-то в теории, в мире идей. Я знал, что повторения в коде это плохо, повторяющийся код нужно выносить в отдельные функции, но, чтобы разбить приложение на модули, а уж тем более собрать и сконфигурировать пакет, до этого мне бы еще пришлось как-то дойти. Неизвестно сколько на это бы ушло времени если бы не<a>Игры разума</a>.</p>
24 <p>На этом пока все. Надеюсь эта статья поможет вам оценить<a>важность прохождения проектов</a>. На курсах много практики, но она нужна только для закрепления теории. Проекты же учат вас вещам, которые вы будете применять в дальнейшем в своей работе.</p>
24 <p>На этом пока все. Надеюсь эта статья поможет вам оценить<a>важность прохождения проектов</a>. На курсах много практики, но она нужна только для закрепления теории. Проекты же учат вас вещам, которые вы будете применять в дальнейшем в своей работе.</p>