Forwarded from Одиссея Кода
Немного выпал из учебной жизни, ездил на родину Страды 😜
Отдохнул, переключился — и вот уже вернулся в рабочий режим.
В прошлую пятницу закончился мой второй месяц обучения.

Описывать подробно, чем я занимался в этот раз, не буду. Оставлю это на следующий месяц, потому что в этом ритм учёбы был очень рваный. Я то писал код 3–4 дня почти по 10 часов, то 2–3 дня занимался рабочими и домашними делами или отдыхал. Из итогов могу отметить, что я закончил 3-й модуль и сегодня вот сделал чуть больше трети 4-го. Познакомился базово с тестами, с архитектурой папок, которая принята в Go-проектах, и с веб-сервером Gin.

А по поводу рваного ритма в учёбе: я заметил, что это в целом всегда так происходит. Когда я учился на других курсах, у меня первый месяц-полтора тоже были довольно насыщенные: отчёты каждую неделю, занятия ровно по графику, всё красиво и чётко. Но потом другие дела возвращаются и ломают идеальную картинку, которую мы себе представляем в голове.

Если вы перфекционист, это может побудить вас всё бросить, повесив табличку: «Это, наверное, не моё». Но если постараться подстроиться под изменения графика, выкинуть из головы красивые картинки, которые многие видели в соцсетях, где люди "красиво" учатся — процесс будет продолжаться.

Самое главное правило в учёбе, которое я себе повторяю каждое утро: «Дисциплина — прежде всего». Это действует на меня как магическое заклинание. Даже небольшие усилия лучше, чем отказ от борьбы.
❤‍🔥9🔥7
Forwarded from tATAR4Anel (Ivanius)
Прошел 2-й рабочий день
Вы не представляете какой кайф работать за норм техникой спустя 2 года страданий на старом гавне

Происходит жесточайший выход из зоны комфорта, я снова ниче не понимаю, голова взрывается от количества поступаемой информации, а поступать она не перестает, но мне оч нравится!!! свитч в новый стек точно стоил того, я снова сижу с горящими глазами и кайфую от того, че происходит
🔥14❤6❤‍🔥3
Forwarded from tATAR4Anel (Ivanius)
1-й месяц моей работы!

Прошел уже целый месяц с момента моего выхода на новое место, текущий опыт погружения очень сильно разнится с тем, что было несколько лет назад (гордо заявляю, что я писал код без ии), что связано и с развитием нейросетей и с наработанным опытом, за месяц я полностью отрефакторил 8 сервисов в рамках задачи на погружение в проект

Само собой поэкспериментировать и заняться творчеством на работе мне не дадут, поэтому сейчас совмещаю работу со страдой, постоянно возвращаясь в родную alma mater, на данный момент переписал весь 5-й модуль и приступаю к 6, недавно дошел до мысли, что это уже моя 3-я программа страды, которая кардинально поменяла мою жизнь и мышление, тут мне показали как можно и как надо за что еще 100 мильенов раз спасибо STRADA🙏🙏🙏
🔥13❤4🎉1
Фронтенд роадмап ВСЁ!

Историческое событие для Страда и «совет» по выбору стэка в 2026:

Сегодня закрываем ФР на платформе и переносим все силы на бэкенд

— Golang Бэкенд
— Системный Дизайн

пс. доступ к старым ФР потокам останется
псс. но если залетать — то лучше на ГО (бэкенд)
⚡10😈4🤝4
ты не бойся ночи, ведь я рядом
🔥6❤2😇2
Роадмапы можно проходить в своем темпе 😎️️️️️️
Начинать в любой день, прямо в 00:00
🔥3⚡2🏆2
ЗАКАНЧИВАЮ 4-Й МОДУЛЬ БЕКЕНДА НА GOLANG
ВПЕРЕДИ ЕЩЁ 4 МЕСЯЦА 🚀


Всем привет, я херачу каждый день не покладая рук 😈
Хочу поделиться как в старые добрые, чему научился!)

Что теперь умею 🤔 ?
Я добрался до полноценной работы с API, используя архитектуру REST

Научился писать CRUD-операции, используя как чистый HTTP, так и Gin фреймворк 🔥
CRUD - это основные операции с данными: создать, получить, обновить и удалить

Теперь я не только формашлёп, но и крудошлёп 🥲🤣

Я познакомился с тестированием и дико кайфанул от этого!
Изучил, как писать:
- unit-тесты
- интеграционные тесты
- E2E-тесты

Раньше тесты казались чем-то вроде дополнительной работы, которую нужно делать, потому что так правильно, а сейчас я начал понимать, насколько это полезная штука!

У меня на рабочем проекте тестов нет, но сейчас я точно понимаю, что их капец как не хватает 😔

Самое крутое, что тесты проверяют архитектуру приложения, если тесты писать сложно - значит плохая архитектура и нужно срочно её менять!!!

Также благодаря тестам проще замечать проблемы после изменений и не бояться развивать проект дальше - это то, чего мне не хватает на рабочем проекте, так как иногда бывает, что через 3 стенда баг доходит до прода и обнаруживается уже там 🤭

Кроме этого я поработал с Swagger и Postman? 🛠
- научился описывать API через Swagger, чтобы было понятно, какие ручки есть в приложении и как с ними работать фронтендерам
- познакомился с Postman, научился загружать туда конфигурацию Swagger и проверять свои ручки, очень удобно)
- познакомился с Makefile
Если коротко, это файл, в котором можно описывать команды для выполнения разных задач проекта
Чтобы не писать каждый раз длинные команды вручную, можно просто вызвать нужную команду через make


Впервые в жизни поработал с базой данных 🗄

Мы начали с SQLite, далее будет PostgreSQL
Изучил базовые методы, функции для написания SQL запросов, мне нравится!)
Тренируюсь дополнительно писать запросы здесь 📎

Меня учили правильно строить архитектуру на strada
Я начал лучше понимать, что такое чистый код и зачем вообще нужна архитектура приложения!

В моем случае приложение "Кинопоиск" разделено на слои:
- handler — принимает запросы и обрабатывает взаимодействие с HTTP
- service — содержит бизнес-логику
- repo — отвечает за работу с данными
- model — описывает структуры данных

Все слои взаимодействуют друг с другом через интерфейсы, а не напрямую через конкретные реализации
Зачем это нужно❓

Чтобы каждый слой меньше зависел от внутреннего устройства остальных и его было проще менять, тестировать и развивать

Например, можно тестировать сервис отдельно от реальной базы данных, подменив реализацию репозитория

И вот когда начинаешь писать тесты для такой архитектуры, постепенно понимаешь, зачем вообще всё это разделение нужно 😎

Раньше я просто писал всё в разных файлах, но импортировал один в другой, радовался что оно работает и думал, что у меня нормальная архитектура 😂


Потихоньку приходит мидловский\сеньорский опыт, начинаю понимать что такое архитектура на разных уровнях приложения, и также что написать работающий код - это только часть задачи, важно еще сделать так, чтобы это всё было легко и просто масштабировать 💯

По итогу 👇
- 4-й модуль скорее всего закрою на этой-следующей неделе
- изучил новые подходы, инструменты, стал немного умнее и прокаченнее
- начинаю видеть, как отдельные знания складываются в единую картину

Обнял и до следующего поста ;)
Letssss goo, baby 🤟

К ставит реакции, ставьте + в комментах!!!!
Интересно узнать, кто у меня здесь активничает 😇
❤2🔥1
Прошёл 2 модуль Golang-роадмапа

Во 2 модуле происходит поэтапное наслоение новых тем на кодовую базу приложения "Календарь событий". Уделено внимание распределению кода по пакетам, определению ответственности и взаимодействия между друг другом.

Теперь я знаю и умею:
- создавать модуль и делать сборку приложения;
- добавлять и использовать пакеты других разработчиков;
- создавать UUID (уникальный ID) для сущностей;
- создавать методы у структур;
- делать сериализацию данных;
- делать отложенный вызов функции с помощью defer;
- организовывать работу пользователя с приложением через командную строку;
- логировать сообщения об ошибках и информационные сообщения;
- публиковать своё приложение как пакет для других разработчиков.

Я познакомился с интерфейсами, типизацией, композицией, горутинами, каналами, таймерами, мутексом, колбэками; поработал с ошибками и тестами.

На темах с горутинами и каналами в приложении происходит очередное наслаивание логики, и вот этот симбиоз новых терминов и логики немного запутывает. Тут я использовал тактику прямого, долгого и медленного вчитывания с лицом-камнем, и в итоге стало понятнее.

Вообще это весьма душные темы для меня, выглядящие как большой и страшный слон, к которому неохота подходить; вызывающие прям сильное отторжение.

По аналогии во фронтенде, например, такими душными темами для меня являются замыкания, промисы и эвент луп.

Отторжение возникает уже на этапе, как я вижу этот термин. Бррр...

В ходе написания поста я задумался - почему так? Ведь при создании и использовании переменных такого нет. И ответ кроется в примере: нужно сделать сложное простым. Сидеть с лицом-камнем, разбираясь в сложной теме, и повторять и упрощать, повторять и упрощать, повторять и упрощать...

Уф, как же ещё хочется посмотреть двести записей созвонов, сто роликов на ютубе и прочитать десятки книг, чтобы наконец-то понять горутины и каналы и преисполниться (нет) в знании голанга на 100%. Чтобы в итоге что? А хз.

Кстати, 2 модуль я проходил в сентябре 2025 г.: время капец как летит.

Тогда самым сложным заданием этого модуля была запись демки приложения. Начинаешь записывать: плохо говоришь, несёшь бред, попутно ещё баги находишь -> фиксишь, начинаешь запись заново. А потом ещё этот стыд выкладываешь публично среди участников.
Сейчас, проходя повторно, за неимением особого смысла я это задание пропустил.

Ах, какого классного и оперативного ИИшного ревьювера завезли в страду - просто отвал бровей.

Да, Артём был прав насчёт ведения канала. В ходе написания поста начинаешь рефлексировать, больше понимать, ловить инсайты и знать - ну вообще-то я молодец и капитальный красавчик. Так что ведите каналы или дневники, возможно, для вас это будет реально полезно.
🔥8⚡5