Продолжаю работу с ментатами 🤓
Теперь у нас есть гном который первый в мире проявил интеллект, надел на все 21 палец кольца, надел нагрудник из ожерелий, сделал пушку из кучу посохов
а за спиной у него огромный кристалл который дает ману и забирает в замен души умерших врагов, но, маг ли это до сих пор? а был ли им?
(разбор дюжины принципов наследования в ООП :)
...Понял, зачем таки нужны монады (состояний). Они снимают необходимость в явном протаскивании состояния через цепочку вычислений. И через это явно разделяют декларируемые вычисления от цепочки присваиваний.
Это задание вынесло мне мозг, (видимо, искалечен императивщиной :-)
...Не так давно заметил проблему, которую на своем уровне считаю
Сделать недопустимые состояния непредставимыми - это настоящее мастерство. Ранее я был вынужден везде писать проверки на допустимое состояние. То сейчас объекты с недопустимым состоянием просто не будут созданы. Если объект создан, то я уверен что объект валидный и проверки не нужны.
...Исключительно, наверное, отустствие опыта в продакшене. Казалось что там какой-то особые мир, а оказалось что все крутится вокруг базы. А остальные знания по конкретным задачам проекта подтягиваются достаточно быстро. Но тут не столкнувшись с суровой реальностью, трудно понять всю глубину филофии вашего подхода.
...Я пошёл искать такие шаблоны у себя в проекте — и нашёл три штуки, которые буквально просят, чтобы их обернули в абстракцию. Не классические GoF-паттерны, а именно повторяющиеся управляющие конструкции: «получи и проверь», «открой-поработай-закрой», «попробуй-сообщи-результат». Каждый из них в коде живёт десятками копий, и каждый раз кто-то новый их пишет руками.
Главное в том, что если завтра захочется, например, логировать каждый 404 или возвращать структурированный ответ с подсказками — я правлю в одном месте, а не в пятнадцати. И никто не сможет завести новый хэндлер, в котором «забыли проверить на null»
...Здесь в полной мере ощутил мощь основного подхода - построения иерархии абстракций, каждая из которых реализует свой DSL. Сейчас мне кажется, что идея простая, но она абсолютно не очевидна, и научиться ее применять - в какой-то степени сродни искусству. Зато в полной мере осознал, что только благодаря хорошо продуманным слоям системы, можно как-то удерживать её сложность в разумных рамках. Хотел бы еще отметить, насколько проще и как-то радостней в целом идет разработка, когда опираешься на "чистые" функции и на функциональный подход. В какой-то степени благодарен еще и себе за то, что в свое время довольно подробно изучал алгебраические структуры - так легче осознается математический фундамент, который стоит в основе ФП, а это позволяет проще "находить" нужные абстракции, в том числе и с помощью LLM. Курс в этом плане дал толчок к тому, чтобы активно применять это в работе - прежде всего за счет крайне наглядной демонстрации того, как функциональное проектирование помогает работать со сложностью.
Экзистенциальная засада обучения этому всему в том, что наш мозг на самом деле способен учиться очень быстро и качественно, ну но это и минус, так как разной дряни вы также можете обучиться незаметно легко и просто. В этом в частности проблема с самообучением, особенно когда начинаешь "учиться" с помощью нейронки, потому что получаемая от неё полуправда, когда с крупицами истины выдаётся нейрослоп, грузит в мозг вредную смесь полезного и мусорного.
Для ментатов же я очень тщательно вручную выискиваю бриллианты computer science и граню их, и по итогу уровень ребят и девчат получается billionaire luxury lifestyle 🙈
Post #2415
583
YouTube MONACO LADIES BEST SUPERCAR ARRIVALS & BILLIONAIRE LUXURY LIFESTYLE
- ❤ 30
- ✍ 6
- 🔥 4
- 👍 1
- 👏 1