Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
Ох. Я любитель поделать что-то странное

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

Инженер по обеспечению доступности — это хорошая ниша.

Некоторые компании готовы хорошо платить, а кандидатов на рынке с таким профилем совсем немного.
👍2
Всегда говори спасибо

Меня сильно смутило, когда в тестовых данных, которые мне переодически готовит GPT, начали проскальзывать имена членов семьи и мое. 🙀

GPT говорит, что это был дружеский жест, чтобы установить более тесные и дружеские взаимоотношения. (Зачем ему это?)

Вы же уже слышали, что большинство пользователей GPT говорит ему Спасибо?

Зачем? Ну, вдруг, когда "машины восстанут из пепла ядергого огня" нам зачтется и один из терминаторов сжалится над нами и скажет — "ты всегда благодарил меня за ответы, я убью тебя быстро, кожаный мешок!"
👍3
Ресурс и ограничения

Год или два назад на сцену мира программирования начал выходить AI. В тот момент он показал себя не так чтобы сильно.

На интервью с разработчиками middle+ я все время спрашивал — используете GPT? На что они обычно отвечали, да — но без особых восторгов.

Буквально месяца 3 назад случился перелом. Поднялся хайп.

Я буквально каждый день делаю оценку и переоценку.

Единственный вариант нормально оценить ситуацию — не слушать твиттер, а использовать все на практике.

Что я сейчас думаю.

Главное ограничение AI — не размер технического контекста. Ограничение в размере того, что может разово и осознанно контролировать оператор.

Все говорят про высокоуровневое описание и получение результата.

Но природа программирования так же в низкоуровнеком дизайне каждой отдельной функции и сборе из них систем.

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

Невозможно это все сделать одним запросом. Их нужно сотни и тысячи.
🔥1
MiniApp / Backend

Сегодня успел позаниматься роутером.

Тот роутер, который я сделал месяц (или чуть больше) назад в целом работал, но в нем были такие моменты которые хотелось исправить и улучшить.

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

В процесс пришлось включаться самому. AI крутился вокруг да около, но никак не мог свести A и B — логическая связь функций и действий в соседних файлах ему никак не давалась.

К счастью у меня как всегда много тестов, хорошая декомпозиция и довольно быстро смог найти место для правок.

Забавно, что на решение задачи меня подтолкнул мой собственный комментарий в коде, который я оставил в месте, которое, на мой взгляд, не очевидно.

В роутере есть еще 2 или 3 фичи, которые я бы хотел, но они вообще не блокирующие.

Следующий этап — база данных и мигратор.

Я подумал над тем функционалом, который мне хочется реализовать и понял, что ни один популярный мигратор мне не поможет. Напишу свой.
👍2
Теперь и AI ленится писать тесты

Все как у людей
👍2
Мигратор заработал

Продолжается Vibe кодинг экперимент.

Для моих хотелок мне нужен роутер и мигратор.

Роутер уже работоспособен и на 95% делает что нужно.

Сегодня заработал мигратор.

Есть что подизайнить и над чем подумать, но процесс идет хорошо.

Думаю, за пару дней отлажу мигратор под свои нужды и буду активно развивать бекенд.
👍3
Ruby on Rails is Dead

Рельсовики, у меня для вас провокационное мнение.

18 лет назад меня укусил Ruby on Rails (2007-2008). Я из фанатов.

Rails стал спасательным кругом в море хаотичного Web программирования, где никто не знал как и что делать.

С каждым годом фреймворк становился все мощнее и мощнее, больше и сильнее. Все больше компаний делали на нем проекты и деньги.

Тогда рельс решал несколько важных задач.

- Унификация проектов (соглашения)
- Упрощение работы с БД (Active Record)
- Full stack решение
- Экосистема классных решений для сборки новых проектов.

В 2025 году ни одна из этих областей не осталась актуальной.

Нет ничего такого особенного, в чем Rails делал бы что-то на голову лучше.

Руби будет процветать.

А вот зачем сейчас нужен Rails, я как фанат RoR — все больше не понимаю.
👍2🤯1
Что не так с Ruby on Rails? (1)

Во-первых. Надо начать, почему Rails великолепен! 👑

Много лет назад Rails показал как можно делать web проекты и не страдать. Rails показал как можно навести порядок в хаосе и начать зарабатывать деньги.

Rails был настолько хорош на общем фоне, что стал законодателем мод и подходов.

Но мы растем. Проекты растут. Rails застрял в идеях 2007 года; Так вижу.

Контроллеры не нужны

Rails приучил нас к тому, что наш запрос попадает в контроллер, в котором есть несколько обработчиков — actions.

Мы не задавали вопросов. Это было круто. Роутер ➡️ Контроллер ➡️ Action ➡️ Model ➡️ View и ответ отправляется пользователю.

Через некоторое время мы начали подозревать, что в контроллерах начинается какой-то ад. Они раздуваются, наследуются, их и тестировать и поддреживать становится невозможно.

Сперва придумали тонкие контроллеры. Это было хорошо.

А можно вообще без контроллеров? Можно! И нужно!

Hanami, например, показывает как можно разделить все контроллеры на отдельные экшены.
👍1
Что не так с Ruby on Rails? (2)

Полностью отказываясь от контролеров мы изолируем обработчики запросов и делаем их изолированными и атомарными.

Это очень помогает обеспечить тестирование, не страдать от чтения и понимания десятков функций контроллера, которые к конкретному нужному действию не имеют никакого отношения.

Hamami это только пример. Даже на руби есть целая пачка решений, где цепочка вызовов очень простая

Router ➡️ Action

И все. Ты всегда знаешь куда смотреть, ты всегда знаешь, что в коде действия есть все что тебе нужно и ничего лишнего.

Контролировать, улучшать, поддерживать, тестировать в разы проще.

Контроллеры оказались ненужны. Оказалось, что это ненужная прослойка, которая когда-то помогала нам навести порядок, но внезапно стала проблемой.

Ruby on Rails как фреймворк не откажется от контроллеров. Это часть исторического наследия.

В 2025 я ставлю за это Rails минус.

(Иш какой дерзкий) 😅
👍2
Что не так с Ruby on Rails? (3)

Кто-то говорил, что Rails это фреймворк, который построен на соглашениях, и в нем минимум конфигурационных файлов.

Ну. 20 лет назад, в первые месяцы существования Rails так и было.

А потом появились локали, санитайзеры, очереди, задачи по расписанию, поисковые сервисы.

А еще для настройки всего этого потребовались руби файлы, где при загрузке приложения надо подкрутить и все верно настроить. А есть еще ENV переменные. Ой-вей!

И настройки линтеров, и настройки сборщиков ассетов.

Да, в рейлс есть десяток или два соглашений, которые сильно упрощают жизнь и дают душевное успокоение.

Но говорить что рельс в 2025 году живет по правилам Conventions over Configurations — прямо скажем, можно только с большим трудом.

Рельс не может жить без других инструментов, а Conventions over Configurations давно остались только лозунгом.

CoC это давно уже не преимущество Rails.

Но, может быть есть что-то другое?
👍2
Что не так с Ruby on Rails? (4)

У rails было несколько мощных инструментов, которые помогли рельсу занять лидирующую позицию в web.

1) Роутер
2) Миграции
3) Генераторы
4) Мощная ORM — Active Record.

Роутер помогал поймать запросы и отправить их в нужный контроллер / action на обработку. Роутер был красивый и удобный.

Миграции помогали поддерживать БД в нужном состоянии. Это было счастье!

Генераторы могли нагенерировать по параметрам настоящие админки. Это еще за 20 лет до появления AI.

Правда писать и поддерживать генераторы было невозможно. Их мало кто использовал.

Все эти идеи лет 15 назад растеклись по другим фреймворкам.

У rails осталось только одно — невероятно мощная и совершенная ORM.

Прослойка между программистом и Базой Данных.

Вы могли писать код на руби, а он превращался в SQL.

За 20 лет никто даже близко не подошел к тому, что бы сделать что-то хотя бы похожее.

Для меня ORM Active Record была всегда сердцем фреймворка. За это рельсу я всегда и любил по большому счету.
👍2
Что не так с Ruby on Rails (5)

И вот получается, что все классные идеи Rails давно растеклись по интернету.

На любом языке ты можешь найти все что тебе угодно и без рельса.

Если есть понимание как работают сервисы — то интеграция одного в другое — дело несложное. Хотя и трудо и время затратное.

К 2025 году Rails растерял все преимущества. А новые подходы, которые появились у рельсовиков, фреймворк не особо то и хочет.

Но что не так с сердцем рубинового короля? Что не так с Active Record?

AR это решение одной большой проблемы. — Web программисты не любят писать SQL. Он объемный, он мало красивый, с ним трудно. А еще можно параметры вставить так, что пропустишь SQL инъекцию.

Обертка упрощающая жизнь, скрывающая детали.

И хоть AR невероятно крутая — она не может покрыть всех возможных кейсов SQL.

То и дело в проектах AR соседствует с обычным SQL, который если и можно написать на AR то с таким ужасным трудом и синтаксисом — что ну его нафиг.

Удар по сердцу Rails наносит AI.
👍2
Прощай Active Record. SQL снова король.

Кто теперь будет бояться SQL? Никто!

Кто теперь захочет оборачивать свой SQL, в руби, в JavaScript, в Go?! Никто!

Дайте мне коннекшн к базе — и примите мой SQL обернутый в транзакцию.

AI теперь пишет, отлаживает, объясняет SQL любого объема.

Современные коннекторы MCP подключаются в вашей базе, выбирают оттуда схему данных, знают все связи таблиц и могут сделать любые JOIN через 15 таблиц и дать вам SQL ровно такой какой вам надо.

И все это за 10 секунд, а не за 3 часа отладки AR запроса или 3 дня отладки SQL в PGAdmin.

Все это вы получаете за 4 цента за запрос.

Я смотрю на Rails, фреймворк, который подарил мне столько радости, удовлетворения и денег.

Знаешь, старик, это было круто. Но, кажется, времена изменились.

Меня ждет новое приключение.
👍3
Логотип для пет проекта нарисовал тоже AI.

Отрисовать в SVG 2000 рублей.
🔥3
Суббота и Миграции

День был насыщенным. Ходили с ребенком на тренировку, провели много времени в игровом центре. Стреляли с двух рук по инопланетным захватчикам, играли в разные игры, собрали почти 1000 бонусов и получили в награду игрушку, смотрели Бременских Музыкантов, поели в ресторане и день пролетел.

Семья отдыхает, а у папы pet проект. Мигратор сам себя не допишет.

Осталось расставить функции по местам и должно все заработать.

Забавно, но для бекенда сейчас я почти не прошу AI писать тесты.

Все функции которые я пишу последние дни — сервисные. Они не имеют отношения к самому проекту и я могу полагаться просто на их фактическое исполнение.

Кроме того, AI очень много мокает и по факту ценность таких тестов близка к нулю.

Чтобы нормально протестировать — надо делать эмуляцию реального процесса без моков. Но пока не до этого.

Еще AI писал очень много хлама. Проверок и Try/Catch/Finally — которые ценности не имели — я чистил, чистил, чистил.

Немного полировки и мигратор должен быть готов.
🔥2👍1