HTML Diff
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>