31.05.26
Я ни сидел в твиттере, не пользовался тен чатом, не сидел на форумах, практически не писал комменты под постами ни в одной соц. сети. Но раз это что-то новое может пора попробовать. Почему здесь? Походу это православный линкед ин. А всё чем занята моя голова - это ITшка. Мне в падлу общаться с людьми. Не охота улучшать своё жизненное положение. Мне просто интересно всё время узнавать что-то новое. Уже пару недель как я учу go. Прочёл примерно 120 страниц “Go идиомы и паттерны проектирования” Боднера. Какие откровения я открыл за это время? Во первых я удивлён насколько легко даётся второй язык по сравнению с первым. Учебник Саммерфилда по питону я растянул на долгие годы. И до сих пор так и не закончил. Руки чешутся пробовать. Когда я начинал учить питон, сразу возникло желание разобраться с Django. Ещё ничего не понимая в ООП, виртуальных окружениях, БД и т.д. я уже полез поднимать фреймворк. Я постоянно что-то начинаю, отвлекаюсь, начинаю что-то новое и сново отвлекаюсь. Только начав понимать go я наткнулся на видео Премагена где он решал что выбрать SQLx или SQLс и мне стало интересно попробовать создать БД 3-мя разными способами, что-то туда внести, что-то изменить, что-то удалить и сделать миграции. Сначала я создал базу командой _, err := r.DB.Exec(“CREATE TABLE …”) стандартной библиотеки. Сделал всякие там манипуляции, скачал goose и тут меня настигло второе откровение. Создавать БД нужно изначально миграцией. В python я полагался на SQLAlchemy, которая волшебным образом превращала pydantic-овский класс в структуру ORM, а потом долго не мог воткнуться в суть работы alembic, когда пришло время добавить поле в БД. Здесь же всё делается голыми руками и не причёсанными запросами. Вопрос на который я пытался себе ответить - Куда засунуть функцию создания БД и как её вызывать? А ответ простой - гусь 🪿. 300 слов хватит для первого поста. Не хочу тратить кучу времени на эту рефлексию.