0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>Первый проект в специальности "Python-разработчик" при самостоятельном обучении. Первый проект в жизни.</strong></p>
1
<p><strong>Первый проект в специальности "Python-разработчик" при самостоятельном обучении. Первый проект в жизни.</strong></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
<li><a>Выводы</a></li>
7
<li><a>Выводы</a></li>
8
</ul><h2>Предисловие</h2>
8
</ul><h2>Предисловие</h2>
9
<p>Проект "<a>Игры разума</a>" стал моим первым самостоятельным проектом в рамках обучения по профессии "Python разработчик". Да и вообще первым проектом, в котором я одновременно создавал код, настраивал окружение и размещал на GitHub.</p>
9
<p>Проект "<a>Игры разума</a>" стал моим первым самостоятельным проектом в рамках обучения по профессии "Python разработчик". Да и вообще первым проектом, в котором я одновременно создавал код, настраивал окружение и размещал на GitHub.</p>
10
<h2>Описание проекта</h2>
10
<h2>Описание проекта</h2>
11
<p>Моими глазами проект на старте выглядел так:</p>
11
<p>Моими глазами проект на старте выглядел так:</p>
12
<ul><li>Написать несложный код, описывающий логику пяти игр</li>
12
<ul><li>Написать несложный код, описывающий логику пяти игр</li>
13
<li>Отладить работу кода. Провести ручное тестирование</li>
13
<li>Отладить работу кода. Провести ручное тестирование</li>
14
<li>Аккуратно оформить этот код по правилам и нормам</li>
14
<li>Аккуратно оформить этот код по правилам и нормам</li>
15
<li>Упаковать код в poetry и выгрузить на GitHub.</li>
15
<li>Упаковать код в poetry и выгрузить на GitHub.</li>
16
</ul><h2>Ход выполнения проекта</h2>
16
</ul><h2>Ход выполнения проекта</h2>
17
<ol><li><p>Знакомство с описанием и предисловием к проекту. Тут первое представление о том, что все будет легко и понятно, быстро улетучивается. Уже на первом шагу проекта я столкнулся с тем, что мои ожидания ошибочны. Я приготовился писать исполнительный код программ, а тут сперва надо настроить окружение. Причем настройка окружения оказалась более сложной, чем это было описано в предшествовавшей теории. Я приуныл и на какое-то время отложил проект. Приуныл из-за того, что столкнулся с непонятным и сложным.</p>
17
<ol><li><p>Знакомство с описанием и предисловием к проекту. Тут первое представление о том, что все будет легко и понятно, быстро улетучивается. Уже на первом шагу проекта я столкнулся с тем, что мои ожидания ошибочны. Я приготовился писать исполнительный код программ, а тут сперва надо настроить окружение. Причем настройка окружения оказалась более сложной, чем это было описано в предшествовавшей теории. Я приуныл и на какое-то время отложил проект. Приуныл из-за того, что столкнулся с непонятным и сложным.</p>
18
</li>
18
</li>
19
<li><p>Поборов сомнения и прокрастинацию, я стал потихоньку перечитывать теорию и выполнять шаги с первого по третий. Сейчас, после завершения проекта, эти шаги кажутся простыми и проходимыми за пару часов. Но на них через преодоление себя пришлось потратить почти неделю (может и больше). Наконец стало казаться, что все работает корректно.</p>
19
<li><p>Поборов сомнения и прокрастинацию, я стал потихоньку перечитывать теорию и выполнять шаги с первого по третий. Сейчас, после завершения проекта, эти шаги кажутся простыми и проходимыми за пару часов. Но на них через преодоление себя пришлось потратить почти неделю (может и больше). Наконец стало казаться, что все работает корректно.</p>
20
</li>
20
</li>
21
<li><p>На четвертом шаге я плотно познакомился с CodeClimate и flake8. Эти инструменты произвели на меня сильное приятное впечатление. Оказалось, что часть тестирования кода (ту часть, которая про понятность и читаемость человеком) можно хотя бы частично регламентировать и доверить программе. Я и раньше слышал рассказы о подобных возможностях, но плотно столкнулся впервые.</p>
21
<li><p>На четвертом шаге я плотно познакомился с CodeClimate и flake8. Эти инструменты произвели на меня сильное приятное впечатление. Оказалось, что часть тестирования кода (ту часть, которая про понятность и читаемость человеком) можно хотя бы частично регламентировать и доверить программе. Я и раньше слышал рассказы о подобных возможностях, но плотно столкнулся впервые.</p>
22
</li>
22
</li>
23
<li><p>И вот наконец-то на пятом шагу я создал первый работающий файл одной из игр. Сам код игры писал минут пять, а вот потом ещё час "игрался" с ним. Тестировал, проверял, запускал, прогонял через flake8 и так далее. Первое ощущение от того, что написал именно "целевую" часть проекта.</p>
23
<li><p>И вот наконец-то на пятом шагу я создал первый работающий файл одной из игр. Сам код игры писал минут пять, а вот потом ещё час "игрался" с ним. Тестировал, проверял, запускал, прогонял через flake8 и так далее. Первое ощущение от того, что написал именно "целевую" часть проекта.</p>
24
</li>
24
</li>
25
<li><p>На шестом шаге я написал код второй игры. И, когда начал собирать эти игры внутри проекта, пришлось прилично переписать код первой игры. Чтобы "не повторять себя" и чтобы код был более универсальным. Сам код второй игры опять занял не много времени. А вот переделки, доделки и прогоны через flake8 заняли прилично времени. Стало понятнее, зачем нужно всё это окружение. Именно благодаря настройкам окружения "переделки" проходили достаточно быстро, а формирование нового пакета, его инсталляция и запуск превратились в постой запуск скрипта… В несколько десятков запусков скриптов…</p>
25
<li><p>На шестом шаге я написал код второй игры. И, когда начал собирать эти игры внутри проекта, пришлось прилично переписать код первой игры. Чтобы "не повторять себя" и чтобы код был более универсальным. Сам код второй игры опять занял не много времени. А вот переделки, доделки и прогоны через flake8 заняли прилично времени. Стало понятнее, зачем нужно всё это окружение. Именно благодаря настройкам окружения "переделки" проходили достаточно быстро, а формирование нового пакета, его инсталляция и запуск превратились в постой запуск скрипта… В несколько десятков запусков скриптов…</p>
26
</li>
26
</li>
27
<li><p>Три последующих шага полетели быстро. Уе сформировалось в сознание понимание того, что и как нужно сделать. Написал код, отладил код, встроил в пакет, прогнал через CodeClimate и flake8, исправил. Ощущение, как будто на конвейере.</p>
27
<li><p>Три последующих шага полетели быстро. Уе сформировалось в сознание понимание того, что и как нужно сделать. Написал код, отладил код, встроил в пакет, прогнал через CodeClimate и flake8, исправил. Ощущение, как будто на конвейере.</p>
28
</li>
28
</li>
29
<li><p>Перед тем, как запустить автоматическую проверку проекта еще раз все аккуратно проверил и вручную протестировал. Вытащил еще несколько ошибок, исправил их. С замиранием сердца отправил на автоматическую проверку. Томительные несколько минут ожидания.</p>
29
<li><p>Перед тем, как запустить автоматическую проверку проекта еще раз все аккуратно проверил и вручную протестировал. Вытащил еще несколько ошибок, исправил их. С замиранием сердца отправил на автоматическую проверку. Томительные несколько минут ожидания.</p>
30
</li>
30
</li>
31
<li><p>После первой поверки система выдала мне протокол действий из почти двухсот строк. И проект не был принят. Уныние. Через пол часа собрался с силами и стал разбираться в протоколе. Совсем не сразу, но я понял, что практически все проверки я прошел, кроме одной. Запятая после последнего элемента списка. Мой локальный flake8 на это не ругался, а автоматическая система проверки проекта это заметила. Исправил, запустил. И ВСЁ!</p>
31
<li><p>После первой поверки система выдала мне протокол действий из почти двухсот строк. И проект не был принят. Уныние. Через пол часа собрался с силами и стал разбираться в протоколе. Совсем не сразу, но я понял, что практически все проверки я прошел, кроме одной. Запятая после последнего элемента списка. Мой локальный flake8 на это не ругался, а автоматическая система проверки проекта это заметила. Исправил, запустил. И ВСЁ!</p>
32
</li>
32
</li>
33
<li><p>Зелёная галочка в зелёном кружке в виде результата! Класс! С таким удовольствием я со школы не учился!</p>
33
<li><p>Зелёная галочка в зелёном кружке в виде результата! Класс! С таким удовольствием я со школы не учился!</p>
34
</li>
34
</li>
35
</ol><h2>Впечатления от проекта</h2>
35
</ol><h2>Впечатления от проекта</h2>
36
<p>"Как будто сам сдал с первого раза матан на первом курсе!". А если более подробно, то вот так:</p>
36
<p>"Как будто сам сдал с первого раза матан на первом курсе!". А если более подробно, то вот так:</p>
37
<ul><li>Собственная неуверенность в начале мешает двигаться в проекте намного больше, чем отсутствие знаний и навыков.</li>
37
<ul><li>Собственная неуверенность в начале мешает двигаться в проекте намного больше, чем отсутствие знаний и навыков.</li>
38
<li>Как бы хорошо и аккуратно я не учился и не разбирался в курсе до проекта, все равно пришлось многократно возвращаться к пройденному материалу раз за разом, пока результат не начинал соответствовать сперва моим ожиданиям, а потом системе автоматической проверки.</li>
38
<li>Как бы хорошо и аккуратно я не учился и не разбирался в курсе до проекта, все равно пришлось многократно возвращаться к пройденному материалу раз за разом, пока результат не начинал соответствовать сперва моим ожиданиям, а потом системе автоматической проверки.</li>
39
<li>Для себя я с некоторым удивлением обнаружил, что объём "переделок" и "доработок" в проекте, как вызванных моими ошибками, так и заложенный шагами проекта, больше, чем сам объем итогового результата. Прям как в моей текущей работе.</li>
39
<li>Для себя я с некоторым удивлением обнаружил, что объём "переделок" и "доработок" в проекте, как вызванных моими ошибками, так и заложенный шагами проекта, больше, чем сам объем итогового результата. Прям как в моей текущей работе.</li>
40
<li>"Дорогу осилит идущий!". Если каждый день стараться делать хотя бы понемногу, то результат начинает появляться довольно быстро. Казалось бы банальность, но в очередной раз работает.</li>
40
<li>"Дорогу осилит идущий!". Если каждый день стараться делать хотя бы понемногу, то результат начинает появляться довольно быстро. Казалось бы банальность, но в очередной раз работает.</li>
41
</ul><p>Мне очень понравилось. После того, как система автоматической проверки приняла у меня проект, я ощутил искреннюю радость, прямо даже восторг. Проект "прокачал" меня не только технически, но и добавил уверенность в том, что я смогу пройти весь путь по освоению специальности.</p>
41
</ul><p>Мне очень понравилось. После того, как система автоматической проверки приняла у меня проект, я ощутил искреннюю радость, прямо даже восторг. Проект "прокачал" меня не только технически, но и добавил уверенность в том, что я смогу пройти весь путь по освоению специальности.</p>
42
<h2>Выводы</h2>
42
<h2>Выводы</h2>
43
<ul><li>Проект это сложно, и требует не менее 20 часов чистого времени</li>
43
<ul><li>Проект это сложно, и требует не менее 20 часов чистого времени</li>
44
<li>Чтобы все выполнить правильно, придётся вернуться и повторить предшествовавшую теорию, и не раз</li>
44
<li>Чтобы все выполнить правильно, придётся вернуться и повторить предшествовавшую теорию, и не раз</li>
45
<li>Именно проект позволил мне почувствовать, что я "что-то знаю и что-то умею"</li>
45
<li>Именно проект позволил мне почувствовать, что я "что-то знаю и что-то умею"</li>
46
<li>В процессе выполнения проекта у меня сформировались навыки и знания, которые в рамках предшествовавшего курса были только обозначены.</li>
46
<li>В процессе выполнения проекта у меня сформировались навыки и знания, которые в рамках предшествовавшего курса были только обозначены.</li>
47
</ul><p>Спасибо за проект!</p>
47
</ul><p>Спасибо за проект!</p>