1 added
1 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Привет, Хекслет!</p>
1
<p>Привет, Хекслет!</p>
2
<p>Это будет длинный и личный пост на тему моего развития в программировании. Обычно я стараюсь поместить большее кол-во полезной информации в меньшее кол-во текста, но сейчас не тот случай. Тут будет много воды, моих мыслей, историй из жизни.</p>
2
<p>Это будет длинный и личный пост на тему моего развития в программировании. Обычно я стараюсь поместить большее кол-во полезной информации в меньшее кол-во текста, но сейчас не тот случай. Тут будет много воды, моих мыслей, историй из жизни.</p>
3
<p>Будет ли вам интересно?</p>
3
<p>Будет ли вам интересно?</p>
4
<ul><li>Вам интересно узнать чей-то опыт самостоятельного обучения:<strong>True</strong></li>
4
<ul><li>Вам интересно узнать чей-то опыт самостоятельного обучения:<strong>True</strong></li>
5
<li>Вы ожидаете советов для самостоятельного обучения:<strong>True</strong></li>
5
<li>Вы ожидаете советов для самостоятельного обучения:<strong>True</strong></li>
6
<li>Вам интересен опыт трудоустройства и прохождения собеседований:<strong>False</strong></li>
6
<li>Вам интересен опыт трудоустройства и прохождения собеседований:<strong>False</strong></li>
7
</ul><p>В ходе повествования я буду давать<em>советы</em>. Так как я имею мало опыта, некоторые из них вполне могут оказаться вредными, поэтому не стоит их воспринимать как что-то истинное. Это просто нечто, чему бы я научил молодого самого себя.</p>
7
</ul><p>В ходе повествования я буду давать<em>советы</em>. Так как я имею мало опыта, некоторые из них вполне могут оказаться вредными, поэтому не стоит их воспринимать как что-то истинное. Это просто нечто, чему бы я научил молодого самого себя.</p>
8
<h2>Содержание</h2>
8
<h2>Содержание</h2>
9
<ul><li><a>Как все начиналось</a></li>
9
<ul><li><a>Как все начиналось</a></li>
10
<li><a>Выбор направления и инструментов</a></li>
10
<li><a>Выбор направления и инструментов</a></li>
11
<li><a>Первые робкие шаги в веб-разработку</a></li>
11
<li><a>Первые робкие шаги в веб-разработку</a></li>
12
<li><a>Первый месяц, первые успехи в Python</a></li>
12
<li><a>Первый месяц, первые успехи в Python</a></li>
13
<li><a>Погружение в веб</a></li>
13
<li><a>Погружение в веб</a></li>
14
<li><a>Неудачи и спасение в виде Hexlet</a></li>
14
<li><a>Неудачи и спасение в виде Hexlet</a></li>
15
<li><a>Начало обучения на Hexlet</a></li>
15
<li><a>Начало обучения на Hexlet</a></li>
16
<li><a>Обучение на Хекслете (о_О)</a></li>
16
<li><a>Обучение на Хекслете (о_О)</a></li>
17
<li><a>Что делать дальше? Проекты!</a></li>
17
<li><a>Что делать дальше? Проекты!</a></li>
18
<li><a>Полгода позади</a></li>
18
<li><a>Полгода позади</a></li>
19
<li><a>Результаты (кроме вышеописанного)</a></li>
19
<li><a>Результаты (кроме вышеописанного)</a></li>
20
<li><a>Планы на обучение</a></li>
20
<li><a>Планы на обучение</a></li>
21
<li><a>Советы начинающим</a></li>
21
<li><a>Советы начинающим</a></li>
22
</ul><h2>Как все начиналось</h2>
22
</ul><h2>Как все начиналось</h2>
23
<p>Мне всегда были интересны разные "компьютерные" вещи, в 11-12 лет я писал скрипты для программируемого чата mIRC, до сих пор помню синтаксис:</p>
23
<p>Мне всегда были интересны разные "компьютерные" вещи, в 11-12 лет я писал скрипты для программируемого чата mIRC, до сих пор помню синтаксис:</p>
24
<p>В том же возрасте конструировал сайты на "Юкозе", однажды даже купил хостинг с доменом и пытался сделать сайт на другом движке. Установил на хостинг PHP-Fusion, но с кодировкой случились какие-то проблемы: вместо букв показывались различные символы.</p>
24
<p>В том же возрасте конструировал сайты на "Юкозе", однажды даже купил хостинг с доменом и пытался сделать сайт на другом движке. Установил на хостинг PHP-Fusion, но с кодировкой случились какие-то проблемы: вместо букв показывались различные символы.</p>
25
<p>В школе я проходил Pascal, самостоятельно с большим интересом писал программки вне школьной программы дома, после чего воспроизводил их на уроке. Учитель конечно обратил на это внимание и посоветовал мне изучить C#, записал на мою флешку какие-то установочники. В C# для меня было удивлением, что можно определить переменную прямо в теле кода, когда в Pascal все объявляется до блока с инструкциями. К сожалению, я не нашел подходящих для себя материалов по этому языку: везде с первых страниц описывались классы, объекты, и я не понимал, что с ними делать. Я привык писать инструкции между begin и end, мне было непонятно что это за функция<strong>main</strong>, что такое<strong>static void</strong>. Когда я пытался разобраться в каждом нюансе, мне показалось это слишком сложным, и тогда я решил, что<strong>программирование - это не мое</strong>.</p>
25
<p>В школе я проходил Pascal, самостоятельно с большим интересом писал программки вне школьной программы дома, после чего воспроизводил их на уроке. Учитель конечно обратил на это внимание и посоветовал мне изучить C#, записал на мою флешку какие-то установочники. В C# для меня было удивлением, что можно определить переменную прямо в теле кода, когда в Pascal все объявляется до блока с инструкциями. К сожалению, я не нашел подходящих для себя материалов по этому языку: везде с первых страниц описывались классы, объекты, и я не понимал, что с ними делать. Я привык писать инструкции между begin и end, мне было непонятно что это за функция<strong>main</strong>, что такое<strong>static void</strong>. Когда я пытался разобраться в каждом нюансе, мне показалось это слишком сложным, и тогда я решил, что<strong>программирование - это не мое</strong>.</p>
26
<p>С тех пор я не занимался "айтишкой" регулярно, иногда поглядывал какие-то видео, в основном на тему сетей и информационной безопасности. Полгода назад я задумался: "раз мне так интересна "айтишка", я давно этим увлекаюсь, почему бы не стать специалистом?". Поставил цель стать джуном, определил срок: ровно год. Цель была очень мутная: кто такой джун? какой язык учить? какое направление выбрать? Если вы, как и я, учились сами, вы представляете, как сложно ответить на эти вопросы.<em>Тут важно не затягивать, и быстрее начать что-то делать.</em></p>
26
<p>С тех пор я не занимался "айтишкой" регулярно, иногда поглядывал какие-то видео, в основном на тему сетей и информационной безопасности. Полгода назад я задумался: "раз мне так интересна "айтишка", я давно этим увлекаюсь, почему бы не стать специалистом?". Поставил цель стать джуном, определил срок: ровно год. Цель была очень мутная: кто такой джун? какой язык учить? какое направление выбрать? Если вы, как и я, учились сами, вы представляете, как сложно ответить на эти вопросы.<em>Тут важно не затягивать, и быстрее начать что-то делать.</em></p>
27
<h2>Выбор направления и инструментов</h2>
27
<h2>Выбор направления и инструментов</h2>
28
<p>Помню, с каким интересом в детстве я возился с серверами, какое удовольствие получал, когда получалось подключиться по SSH или FTP. Таким образом, определился, что хочу работать с сетями. С выбором языка я не хотел долго затягивать, выбирал между<strong>Java</strong>и<strong>C#</strong>.<strong>Java</strong>хотел выучить чтобы писать мобильные приложения,<strong>C#</strong>, чтобы "одолеть дракона", который отбил желание когда-то заниматься программированием. Однако в итоге я выбрал<strong>Python</strong>, ибо я не хотел надолго затягивать выбор инструмента и взвешивать все "за" и "против". Я уже имел небольшой бэкграунд и осознавал, что язык - это лишь инструмент.</p>
28
<p>Помню, с каким интересом в детстве я возился с серверами, какое удовольствие получал, когда получалось подключиться по SSH или FTP. Таким образом, определился, что хочу работать с сетями. С выбором языка я не хотел долго затягивать, выбирал между<strong>Java</strong>и<strong>C#</strong>.<strong>Java</strong>хотел выучить чтобы писать мобильные приложения,<strong>C#</strong>, чтобы "одолеть дракона", который отбил желание когда-то заниматься программированием. Однако в итоге я выбрал<strong>Python</strong>, ибо я не хотел надолго затягивать выбор инструмента и взвешивать все "за" и "против". Я уже имел небольшой бэкграунд и осознавал, что язык - это лишь инструмент.</p>
29
<h2>Первые робкие шаги в веб-разработку</h2>
29
<h2>Первые робкие шаги в веб-разработку</h2>
30
<p>Помимо<strong>Python</strong>, мне совершенно спонтанно и независимо ни от чего пришла в голову идея выучить<strong>HTML</strong>и<strong>CSS</strong>. У меня есть друг, который занимается дизайном сайтов, интерфейсов. Иногда я задавал ему вопросы по CSS, но ответа не получал, ибо он уже давно не занимался версткой. Я получил от него только два совета: установить<strong>Sublime Text</strong>, пытаться верстать одностраничные лендинги. Так я и познакомился со своим первым редактором кода -<strong>Sublime Text</strong>. Даже сейчас он вызывает ностальгию, хотя всего-то прошло полгода.</p>
30
<p>Помимо<strong>Python</strong>, мне совершенно спонтанно и независимо ни от чего пришла в голову идея выучить<strong>HTML</strong>и<strong>CSS</strong>. У меня есть друг, который занимается дизайном сайтов, интерфейсов. Иногда я задавал ему вопросы по CSS, но ответа не получал, ибо он уже давно не занимался версткой. Я получил от него только два совета: установить<strong>Sublime Text</strong>, пытаться верстать одностраничные лендинги. Так я и познакомился со своим первым редактором кода -<strong>Sublime Text</strong>. Даже сейчас он вызывает ностальгию, хотя всего-то прошло полгода.</p>
31
<p>Верстка давалась тяжело,<strong>CSS</strong>мне казался очень нелогичным, и я решил отложить его изучение. Решил погружаться в<strong>Python</strong>: читал книги, смотрел видео, изучал синтаксис.</p>
31
<p>Верстка давалась тяжело,<strong>CSS</strong>мне казался очень нелогичным, и я решил отложить его изучение. Решил погружаться в<strong>Python</strong>: читал книги, смотрел видео, изучал синтаксис.</p>
32
<p><strong>Первыми граблями</strong>, на которые я наступил, были табы и пробелы. Я кучу раз перечитывал написанный код и не понимал, почему он не работает, пытался изменить логику, тестировал и отлаживал. Оказалось, все дело в том, что я мешал табы и пробелы.</p>
32
<p><strong>Первыми граблями</strong>, на которые я наступил, были табы и пробелы. Я кучу раз перечитывал написанный код и не понимал, почему он не работает, пытался изменить логику, тестировал и отлаживал. Оказалось, все дело в том, что я мешал табы и пробелы.</p>
33
<p>Синтаксис Python на базовом уровне я изучил очень быстро, ибо ранее уже имел небольшой опыт программирования. По старой памяти я<a>решил написать VK бота</a>(в детстве я писал ботов на mIRC). Бота я слепил почти копипастой, у меня была цель научиться получать сообщения из "ВК" и отвечать на них. Этой цели я в принципе добился, но осознавал, что слишком мало знаю для того, чтобы сделать что-то полноценное.</p>
33
<p>Синтаксис Python на базовом уровне я изучил очень быстро, ибо ранее уже имел небольшой опыт программирования. По старой памяти я<a>решил написать VK бота</a>(в детстве я писал ботов на mIRC). Бота я слепил почти копипастой, у меня была цель научиться получать сообщения из "ВК" и отвечать на них. Этой цели я в принципе добился, но осознавал, что слишком мало знаю для того, чтобы сделать что-то полноценное.</p>
34
<h2>Первый месяц, первые успехи в Python</h2>
34
<h2>Первый месяц, первые успехи в Python</h2>
35
<p>За месяц я научился реализовывать какие-то простые алгоритмы, но понимал, что пользуюсь языком еще очень неуверенно. Пришла идея поискать задачи по программированию, и так я наткнулся на<strong>Code Wars</strong>.</p>
35
<p>За месяц я научился реализовывать какие-то простые алгоритмы, но понимал, что пользуюсь языком еще очень неуверенно. Пришла идея поискать задачи по программированию, и так я наткнулся на<strong>Code Wars</strong>.</p>
36
<p>О, это чувство когда твое решение проходит тесты! Решение задач не только заставляет поработать головой, но также стимулирует изучать конструкции своего языка, работать с разными структурами данных. Это очень ценный опыт на старте, поэтому если вы новичок,<em>обязательно порешайте задачки!</em>.</p>
36
<p>О, это чувство когда твое решение проходит тесты! Решение задач не только заставляет поработать головой, но также стимулирует изучать конструкции своего языка, работать с разными структурами данных. Это очень ценный опыт на старте, поэтому если вы новичок,<em>обязательно порешайте задачки!</em>.</p>
37
<h2>Погружение в веб</h2>
37
<h2>Погружение в веб</h2>
38
<p>Решая задачи я думал, "куда двигаться дальше?". Вообще во время самостоятельного обучения этот вопрос всегда стоит остро, ибо некоторые темы уже слишком простые, а другие - слишком сложные. Новичку тяжело выстроить систему, понять что именно изучать на данном этапе.</p>
38
<p>Решая задачи я думал, "куда двигаться дальше?". Вообще во время самостоятельного обучения этот вопрос всегда стоит остро, ибо некоторые темы уже слишком простые, а другие - слишком сложные. Новичку тяжело выстроить систему, понять что именно изучать на данном этапе.</p>
39
<p>Я стал гуглить roadmap по "Питону", и наткнулся на сайт с бесплатными видеокурсами. Просмотрел курс по "Питону", в голове отложилось только, что такое стек вызовов и нэймспэйс. Все остальные темы того курса я уже знал, ничего особо полезного для себя я больше вспомнить не могу.</p>
39
<p>Я стал гуглить roadmap по "Питону", и наткнулся на сайт с бесплатными видеокурсами. Просмотрел курс по "Питону", в голове отложилось только, что такое стек вызовов и нэймспэйс. Все остальные темы того курса я уже знал, ничего особо полезного для себя я больше вспомнить не могу.</p>
40
<p>Помимо курсов по "Питону", там были очень классные лекции по веб-разработке, где последовательно объяснялись все основы. Из этих курсов я узнал как вообще устроены веб-приложения, что такое на самом деле бэкенд, узнал, что существуют веб-серверы (там даже рассматривался nginx в качестве примера). Где-то в начале я рассказывал, что неравнодушен к сетевым штукам, и эти лекции я впитывал с огромным интересом.</p>
40
<p>Помимо курсов по "Питону", там были очень классные лекции по веб-разработке, где последовательно объяснялись все основы. Из этих курсов я узнал как вообще устроены веб-приложения, что такое на самом деле бэкенд, узнал, что существуют веб-серверы (там даже рассматривался nginx в качестве примера). Где-то в начале я рассказывал, что неравнодушен к сетевым штукам, и эти лекции я впитывал с огромным интересом.</p>
41
<p>Особенно интересно было изучать протокол<strong>HTTP</strong>, значения хэдэров, mime-types, status codes и т.д. Наконец-то я узнал что такое cookies, и уже представлял, как работает авторизация. Также появилось представление, как кэшируются документы.</p>
41
<p>Особенно интересно было изучать протокол<strong>HTTP</strong>, значения хэдэров, mime-types, status codes и т.д. Наконец-то я узнал что такое cookies, и уже представлял, как работает авторизация. Также появилось представление, как кэшируются документы.</p>
42
<h2>Неудачи и спасение в виде Hexlet</h2>
42
<h2>Неудачи и спасение в виде Hexlet</h2>
43
<p>Впитав в себя знания веба, я решил написать приложение на<strong>Django</strong>. Выше писал про свой опыт написания VK-бота, тут была похожая ситуация. Я смотрел гайды на "Ютубе", повторял все за ведущим. Как бы ни пытался осознать что происходит, на определенном этапе (мне кажется, на момент создания моделей) все скатывалось в простую копипасту. Мне почти никак не пригодились знания того, как устроен веб, в Django были готовые решения, но чтобы их<strong>осознанно</strong>использовать, нужен некоторый опыт. Мне кажется на том этапе мне не хватало знаний того, как работают базы данных. Я не понимал, что такое миграции, что такое ORM и как вообще работают БД.</p>
43
<p>Впитав в себя знания веба, я решил написать приложение на<strong>Django</strong>. Выше писал про свой опыт написания VK-бота, тут была похожая ситуация. Я смотрел гайды на "Ютубе", повторял все за ведущим. Как бы ни пытался осознать что происходит, на определенном этапе (мне кажется, на момент создания моделей) все скатывалось в простую копипасту. Мне почти никак не пригодились знания того, как устроен веб, в Django были готовые решения, но чтобы их<strong>осознанно</strong>использовать, нужен некоторый опыт. Мне кажется на том этапе мне не хватало знаний того, как работают базы данных. Я не понимал, что такое миграции, что такое ORM и как вообще работают БД.</p>
44
<p>В процессе создания приложения на Django я понял, что без верстки мне не обойтись, и снова взялся за<strong>CSS</strong>. На этот раз я научился верстать с использованием<strong>Flex</strong>, имел представление, как сделать адаптивную вёрстку.</p>
44
<p>В процессе создания приложения на Django я понял, что без верстки мне не обойтись, и снова взялся за<strong>CSS</strong>. На этот раз я научился верстать с использованием<strong>Flex</strong>, имел представление, как сделать адаптивную вёрстку.</p>
45
<p>Верстать научился, но что делать с "Питоном, я не представлял; у меня совсем не было идей, куда двигаться дальше. Однажды на работе я вышел прогуляться в обеденный час. Включил подкаст<strong>Moscow Python</strong>на "Ютубе", где в качестве гостя выступал<a>Алексей Пирогов</a>.</p>
45
<p>Верстать научился, но что делать с "Питоном, я не представлял; у меня совсем не было идей, куда двигаться дальше. Однажды на работе я вышел прогуляться в обеденный час. Включил подкаст<strong>Moscow Python</strong>на "Ютубе", где в качестве гостя выступал<a>Алексей Пирогов</a>.</p>
46
<p>Алексей рассказывал про Хекслет в целом и о том, какое там дружное комьюнити. До этого про Хекслет я читал только в комментариях под каким-то постом на Pikabu. Комментаторы говорили, что для новичков Хекслет слишком сложен, сложность, в том числе, меня и привлекла.</p>
46
<p>Алексей рассказывал про Хекслет в целом и о том, какое там дружное комьюнити. До этого про Хекслет я читал только в комментариях под каким-то постом на Pikabu. Комментаторы говорили, что для новичков Хекслет слишком сложен, сложность, в том числе, меня и привлекла.</p>
47
<h2>Начало обучения на Hexlet</h2>
47
<h2>Начало обучения на Hexlet</h2>
48
<p>Вернулся в офис и решил зайти на Хекслет. Первый зеленый квадратик в моем профиле - это как раз тот день, тогда я решил посмотреть курсы по верстке, после чего ждал ЗП, чтобы оплатить PRO план. Это было начало четвертого месяца моего серьезного обучения программированию. После оплаты PRO плана я добил курсы по CSS, и они мне определенно понравились. В интернете куча одинаковой инфы, но я не находил в ней какую-то "полноту". Курсы Хекслета же закрыли многие пробелы, и я смог даже полюбить верстку (пока её в очередной раз не забросил, хах!).</p>
48
<p>Вернулся в офис и решил зайти на Хекслет. Первый зеленый квадратик в моем профиле - это как раз тот день, тогда я решил посмотреть курсы по верстке, после чего ждал ЗП, чтобы оплатить PRO план. Это было начало четвертого месяца моего серьезного обучения программированию. После оплаты PRO плана я добил курсы по CSS, и они мне определенно понравились. В интернете куча одинаковой инфы, но я не находил в ней какую-то "полноту". Курсы Хекслета же закрыли многие пробелы, и я смог даже полюбить верстку (пока её в очередной раз не забросил, хах!).</p>
49
<p>Я думаю, так же можно охарактеризовать курсы по Python. Самостоятельное обучение оставляет много пробелов, курсы Хекслета же эти пробелы закрывают, и у внимательного ученика остается меньше вопросов. К сожалению, я не внимательный, мне хотелось побыстрее все пройти, поэтому иногда (в принципе до сих пор) я снова обращался к пройденным темам.</p>
49
<p>Я думаю, так же можно охарактеризовать курсы по Python. Самостоятельное обучение оставляет много пробелов, курсы Хекслета же эти пробелы закрывают, и у внимательного ученика остается меньше вопросов. К сожалению, я не внимательный, мне хотелось побыстрее все пройти, поэтому иногда (в принципе до сих пор) я снова обращался к пройденным темам.</p>
50
<h2>Обучение на Хекслете (о_О)</h2>
50
<h2>Обучение на Хекслете (о_О)</h2>
51
<p>Курсы я проходил очень жадно, в день я проходил по одному курсу, за исключением только курса по БД, он у меня затянулся на полмесяца. Дальше опишу свои самые любимые курсы:</p>
51
<p>Курсы я проходил очень жадно, в день я проходил по одному курсу, за исключением только курса по БД, он у меня затянулся на полмесяца. Дальше опишу свои самые любимые курсы:</p>
52
-
<p><a>Python: Функции</a>. До сих пор помню, как я плевался когда его проходил, и какое удовольствие получил после завершения. Когда после каждой темы понимаешь, что тебя ждет непростая задачка, и после прохождения теста уже морально готовишься её решать. Вообще именно такие задачки помогают по-настоящему закрепить материал. Если ты просто пробежишься глазами по тексту, даже если (как кажется) все поймешь, без практики это очень быстро забудется.</p>
52
+
<p><a>Python: Функции</a>. До сих пор помню, как я плевался когда его проходил, и какое удовольствие получил после завершения. Когда после каждой темы понимаешь, что тебя ждет непростая задачка, и после прохождения теста уже морально готовишься её решать. Вообще именно такие задачки помогают по-настоящему закрепить материал. Если ты просто пробежишься глазами по тексту, даже если (как кажетс��) все поймешь, без практики это очень быстро забудется.</p>
53
<p><a>Регулярные выражения</a>. Когда я запустил этот курс, я не понял, что от меня хотят. С первых минут объясняется, как работать с регулярками, но не понятно, что это такое (спишем на мою невнимательность). Только открыв песочницу и внимательно прочитав задание, я вроде бы разобрался и даже вошел во вкус. Курс прошел с большим интересом.</p>
53
<p><a>Регулярные выражения</a>. Когда я запустил этот курс, я не понял, что от меня хотят. С первых минут объясняется, как работать с регулярками, но не понятно, что это такое (спишем на мою невнимательность). Только открыв песочницу и внимательно прочитав задание, я вроде бы разобрался и даже вошел во вкус. Курс прошел с большим интересом.</p>
54
<p><a>Протокол HTTP</a>. На момент прохождения курса я уже представлял, что такое HTTP, писал об этом выше. Фишка этого курса в том, что запросы нужно писать вручную, и это очень крутой опыт. Когда бы в нормальных условиях у ученика зачесались руки пописать такие запросы ручками?</p>
54
<p><a>Протокол HTTP</a>. На момент прохождения курса я уже представлял, что такое HTTP, писал об этом выше. Фишка этого курса в том, что запросы нужно писать вручную, и это очень крутой опыт. Когда бы в нормальных условиях у ученика зачесались руки пописать такие запросы ручками?</p>
55
<p><a>Основы реляционных баз данных</a>. Очень крутой курс, и, наверное, мой самый любимый. Его я проходил не спеша, прохождение заняло почти месяц. Я и раньше пытался выучить SQL, но тогда было лень учить все эти SQL-запросы, мозг думал, что их в любой момент можно нагуглить. С Хекслетом так не прокатит, и все нужно закреплять на практике. Курс дал отличную базу, после которой я наконец-то понял, как реализуются многие вещи, например, комментарии к постам. Теперь язык SQL не вызывает у меня какого-либо дискомфорта, без проблем его использую.</p>
55
<p><a>Основы реляционных баз данных</a>. Очень крутой курс, и, наверное, мой самый любимый. Его я проходил не спеша, прохождение заняло почти месяц. Я и раньше пытался выучить SQL, но тогда было лень учить все эти SQL-запросы, мозг думал, что их в любой момент можно нагуглить. С Хекслетом так не прокатит, и все нужно закреплять на практике. Курс дал отличную базу, после которой я наконец-то понял, как реализуются многие вещи, например, комментарии к постам. Теперь язык SQL не вызывает у меня какого-либо дискомфорта, без проблем его использую.</p>
56
<h2>Что делать дальше? Проекты!</h2>
56
<h2>Что делать дальше? Проекты!</h2>
57
<p>Курсы по Python подходили к концу, и я снова думал что делать дальше. Размышлял: нужны ли мне проекты, особо остро встал вопрос когда появилась новость о повышении цен. Думал недолго, купил все проекты пачкой.</p>
57
<p>Курсы по Python подходили к концу, и я снова думал что делать дальше. Размышлял: нужны ли мне проекты, особо остро встал вопрос когда появилась новость о повышении цен. Думал недолго, купил все проекты пачкой.</p>
58
<p>О первом проекте я<a>уже писал в дневнике ученика</a>, поэтому тут я его пропущу. Самое главное, что я научился разбивать код на модули, разобрался с настройкой рабочего окружения и созданием полноценных питоновских пакетов.</p>
58
<p>О первом проекте я<a>уже писал в дневнике ученика</a>, поэтому тут я его пропущу. Самое главное, что я научился разбивать код на модули, разобрался с настройкой рабочего окружения и созданием полноценных питоновских пакетов.</p>
59
<p>Второй проект затянулся на месяц, задачи казались слишком сложными, но стоит только открыть редактор и начать что-то писать, как задача сдвигалась с мертвой точки. Когда я получил первое ревью от ментора, первым делом я подумал, что самостоятельно я бы не понял, что делаю не так. Мне казалось, что основная проблема моей реализации это "некрасивый" код, еще и CodeClimat ругается, но оказалось проблемы намного глубже. Я постоянно обращался к ключам в словарях, когда лишнего хождения можно было избежать, не распаковывал кортежи перед их использованием, просто обращался по индексу. Я раньше что-то слышал про оптимизацию, но никогда с этим сам не сталкивался, ибо не было практики. Я воспринимал строки кода как нечто, что просто работает, и не задумывался о скорости выполнения, о том, что это могут быть лишние итерации, лишняя сложность.</p>
59
<p>Второй проект затянулся на месяц, задачи казались слишком сложными, но стоит только открыть редактор и начать что-то писать, как задача сдвигалась с мертвой точки. Когда я получил первое ревью от ментора, первым делом я подумал, что самостоятельно я бы не понял, что делаю не так. Мне казалось, что основная проблема моей реализации это "некрасивый" код, еще и CodeClimat ругается, но оказалось проблемы намного глубже. Я постоянно обращался к ключам в словарях, когда лишнего хождения можно было избежать, не распаковывал кортежи перед их использованием, просто обращался по индексу. Я раньше что-то слышал про оптимизацию, но никогда с этим сам не сталкивался, ибо не было практики. Я воспринимал строки кода как нечто, что просто работает, и не задумывался о скорости выполнения, о том, что это могут быть лишние итерации, лишняя сложность.</p>
60
<h2>Полгода позади</h2>
60
<h2>Полгода позади</h2>
61
<p>Вчера я снова попытался сделать свой блог на Django, и наконец-то я подошел к этому процессу осознанно. Конечно же одного знания работы баз данных мало, в прошлый раз мне не хватало и других навыков: импорты, пакеты, чтение документации, чтение кода, даже банально понимание конструкций языка. В рассказе я многое оставил за скобками, первые 3 месяца я занимался<strong>буквально каждый день</strong>, я на самом деле загорелся этим. Actually я до сих пор каждый день какое-то время посвящаю айтишке, это стало частью повседневной жизни, и мне это приносит удовольствие, просто сейчас я сбавил темпы.</p>
61
<p>Вчера я снова попытался сделать свой блог на Django, и наконец-то я подошел к этому процессу осознанно. Конечно же одного знания работы баз данных мало, в прошлый раз мне не хватало и других навыков: импорты, пакеты, чтение документации, чтение кода, даже банально понимание конструкций языка. В рассказе я многое оставил за скобками, первые 3 месяца я занимался<strong>буквально каждый день</strong>, я на самом деле загорелся этим. Actually я до сих пор каждый день какое-то время посвящаю айтишке, это стало частью повседневной жизни, и мне это приносит удовольствие, просто сейчас я сбавил темпы.</p>
62
<p>Помимо всего я поверхностно изучал и другие темы: безопасность веб-приложений, шифрование, читал про другие языки, фреймворки и т.д. В этой статье я еще скажу про роль Хекслета, когда буду описывать планы на дальнейшее обучение, сейчас пробегусь по результатам.</p>
62
<p>Помимо всего я поверхностно изучал и другие темы: безопасность веб-приложений, шифрование, читал про другие языки, фреймворки и т.д. В этой статье я еще скажу про роль Хекслета, когда буду описывать планы на дальнейшее обучение, сейчас пробегусь по результатам.</p>
63
<h2>Результаты (кроме вышеописанного)</h2>
63
<h2>Результаты (кроме вышеописанного)</h2>
64
<p>Сейчас я имею некоторое представление о том, как устроены языки программирования, какими они бывают (типизация, компилируемые или интерпретируемые, какие бывают реализации, стандарты и т.д.). Мне<strong>кажется</strong>, что сейчас я могу взять любой язык и за пару месяцев начать уверенно на нем писать. Также сейчас мне стало ясно по какому принципу выбираются языки для разных задач (библиотеки, их поддержка).</p>
64
<p>Сейчас я имею некоторое представление о том, как устроены языки программирования, какими они бывают (типизация, компилируемые или интерпретируемые, какие бывают реализации, стандарты и т.д.). Мне<strong>кажется</strong>, что сейчас я могу взять любой язык и за пару месяцев начать уверенно на нем писать. Также сейчас мне стало ясно по какому принципу выбираются языки для разных задач (библиотеки, их поддержка).</p>
65
<p>Говоря об алгоритмах, после второго проекта я начал задумываться о сложности выполнения кода, но на данный момент у меня мало практики. Планирую вернуться к Code Wars с новым опытом и пытаться решать задачи относительно оптимальными методами.</p>
65
<p>Говоря об алгоритмах, после второго проекта я начал задумываться о сложности выполнения кода, но на данный момент у меня мало практики. Планирую вернуться к Code Wars с новым опытом и пытаться решать задачи относительно оптимальными методами.</p>
66
<p>Наконец-то я могу использовать БД в своих приложениях! Проблема с хранением данных решена.</p>
66
<p>Наконец-то я могу использовать БД в своих приложениях! Проблема с хранением данных решена.</p>
67
<h2>Планы на обучение</h2>
67
<h2>Планы на обучение</h2>
68
<ul><li>Конечно же, нужно закончить проекты на Хекслете, но сейчас я решил взять небольшой перерыв.</li>
68
<ul><li>Конечно же, нужно закончить проекты на Хекслете, но сейчас я решил взять небольшой перерыв.</li>
69
<li>Однозначно нужно прокачиваться в CS (Computer Science), алгоритмах.</li>
69
<li>Однозначно нужно прокачиваться в CS (Computer Science), алгоритмах.</li>
70
<li>Планирую более подробно изучить работу ОС, как ОС выделяет ресурсы и память для процессов.</li>
70
<li>Планирую более подробно изучить работу ОС, как ОС выделяет ресурсы и память для процессов.</li>
71
<li>Потихоньку осваивать ОС на ядре Linux, в частности ubuntu. Научиться поднимать на удаленных серверах nginx и БД в "боевом" режиме.</li>
71
<li>Потихоньку осваивать ОС на ядре Linux, в частности ubuntu. Научиться поднимать на удаленных серверах nginx и БД в "боевом" режиме.</li>
72
<li>Меня удручает, что я изучаю бэкенд, но еще ничего на бэкэнде не сделал. Поэтому сейчас я буду заниматься своим проектом.</li>
72
<li>Меня удручает, что я изучаю бэкенд, но еще ничего на бэкэнде не сделал. Поэтому сейчас я буду заниматься своим проектом.</li>
73
<li>Хотел бы поверхностно изучить фронтенд для представления как там работают фиксики, в идеале использовать что-то в своих проектах</li>
73
<li>Хотел бы поверхностно изучить фронтенд для представления как там работают фиксики, в идеале использовать что-то в своих проектах</li>
74
<li>Выучить еще что-нибудь кроме "Питона" (и JS, ибо JS я и так все время параллельно тыкал).</li>
74
<li>Выучить еще что-нибудь кроме "Питона" (и JS, ибо JS я и так все время параллельно тыкал).</li>
75
<li>Научиться работать с "Гитом" помимо команд git clone/push/commit.</li>
75
<li>Научиться работать с "Гитом" помимо команд git clone/push/commit.</li>
76
<li>Научиться "грамотно" тестировать код.</li>
76
<li>Научиться "грамотно" тестировать код.</li>
77
<li>Поверхностно (на данном этапе) изучить паттерны проектирования.</li>
77
<li>Поверхностно (на данном этапе) изучить паттерны проектирования.</li>
78
</ul><p>Полгодика у меня еще есть, думаю хватит :)</p>
78
</ul><p>Полгодика у меня еще есть, думаю хватит :)</p>
79
<p>На формирование планов не мало повлиял контент Хекслета. Вэбинары, статьи, стримы - все эти вещи также раскрывают разные аспекты разработки, формируют представление, объясняют что "хорошо" а что "плохо".</p>
79
<p>На формирование планов не мало повлиял контент Хекслета. Вэбинары, статьи, стримы - все эти вещи также раскрывают разные аспекты разработки, формируют представление, объясняют что "хорошо" а что "плохо".</p>
80
<h2>Советы начинающим</h2>
80
<h2>Советы начинающим</h2>
81
<p>Выделю самое главное:</p>
81
<p>Выделю самое главное:</p>
82
<ul><li>Регулярно практикуйтесь!</li>
82
<ul><li>Регулярно практикуйтесь!</li>
83
<li>Если какая-то тема не содержит практики, хотя бы законспектируйте. Я использую Google Docs. К конспекту намного проще обращаться, чем искать нужную информацию непонятно где (хотя поиск информации тоже полезный навык).</li>
83
<li>Если какая-то тема не содержит практики, хотя бы законспектируйте. Я использую Google Docs. К конспекту намного проще обращаться, чем искать нужную информацию непонятно где (хотя поиск информации тоже полезный навык).</li>
84
<li>Английский язык! Он 100% нужен, переходить на него сложно и не комфортно, но это нужно делать. Гуглите на английском, читайте документацию, делайте хоть какие-нибудь шаги в этом направлении. Это должны быть<strong>реальные усилия</strong>, а не просто "я попытался почитать, ничего не понял, пошел гуглить на русском".</li>
84
<li>Английский язык! Он 100% нужен, переходить на него сложно и не комфортно, но это нужно делать. Гуглите на английском, читайте документацию, делайте хоть какие-нибудь шаги в этом направлении. Это должны быть<strong>реальные усилия</strong>, а не просто "я попытался почитать, ничего не понял, пошел гуглить на русском".</li>
85
<li>Изучите свой язык программирования: для каких целей он создавался, какие у него характеристики (типизация, структуры данных), какие есть отличительные особенности, как он работает "под капотом".</li>
85
<li>Изучите свой язык программирования: для каких целей он создавался, какие у него характеристики (типизация, структуры данных), какие есть отличительные особенности, как он работает "под капотом".</li>
86
<li>Учитесь работать с bash, изучайте ОС на ядре Linux.</li>
86
<li>Учитесь работать с bash, изучайте ОС на ядре Linux.</li>
87
</ul><p><strong>Спасибо, что прочитали :)</strong></p>
87
</ul><p><strong>Спасибо, что прочитали :)</strong></p>