Vue3, Composition API, Typescript

Представим, что на сайте страховой компании нужна форма для ввода данных о транспортном средстве.
В форме есть поля: тип, марка, модель, номерной знак.
Бизнес-логика:
-
Формат номера зависит от типа ТС

Представим, что на сайте страховой компании нужна форма для ввода данных о транспортном средстве.
В форме есть поля: тип, марка, модель, номерной знак.
Бизнес-логика:
Формат номера зависит от типа ТС
Писать надо только тогда, когда не можешь не писать (С) Л.Н. Толстой
На самом деле я работал над статьей о Claude Code, но тут пальцы сами открыли ноут на начали набивать буквы. Извините!
Начну издалека, с темы, максимально далекой от предмета статьи. У меня есть друг, который постоянно норовит втянуть меня в свои хобби. За десятилетие я попробовал стать фанатом ножей, огнестрельного и пневматического оружия, охоты, выживания в БП, полетах на самолетах. Ни одно хобби не зашло.
Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod, для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.
Но давайте сначала рассмотрим использование стандартных инструментов библиотеки zodЧитать полностью »
Привет! Представьте ситуацию: вы нашли крутой сервис, регистрируетесь, вводите свой email my.name+coolservice@gmail.com (ведь вы, как и я, любите порядок во входящих) и… получаете ошибку «Некорректный email». Знакомо? Уверен, что да.
Каждый раз, когда я сталкиваюсь с таким, у меня дергается глаз. Это не просто мелкий баг. Это симптом глубокой проблемы в подходе к разработке и непонимания базовых стандартов. Давайте раз и навсегда разберемся, почему сервисы не принимают почту с «плюсом», почему это плохо для бизнеса и, главное, как это исправить.
Таки здравствуйте. Как вы поняли по названию, сегодня в блоге ЛАНИТ мы продолжим мучить JSON. Располагайтесь поудобнее и поехали вместе выжимать из него очередную порцию полезностей для работы.
В предыдущей статье мы использовали JSON как формат передачи данных и файл для подгрузки тестовых данных. Но это еще не все, что он может нам дать для тестирования API. И да, сегодня мы научимся использовать JSON в качестве шаблона для валидации ответов на запросы.

Написание кода в кодовой базе, полностью сделавшей упор на типы, похоже на жульничество. Часто я могу реализовать 80% новой фичи, ни разу не запустив код. Я начинаю работать над крупным рефакторингом, требующим нарушить допущение, принятое во всём коде, но вскоре выясняю, что благодаря системе типов изменения оказываются тривиальными. Простые фичи практически кодируют себя сами, потому что опечатки мгновенно отлавливаются, а половина моего кода пишется автодополнением. На вопросы от команды техподдержки о тонкостях работы какой-то фичи можно ответить при помощи Ctrl+F в коде, даже если письменной документации почти нет. Целые категории багов, с которыми мне приходилось бороться, попросту исчезли.
Я начал называть стиль кодинга, позволяющий реализовать подобное, Type Driven Development. В статье я приведу разрозненные мысли и ссылки на ресурсы, сильно повлиявшие на то, как я понимаю type driven development.
Читать полностью »
Не нашел на просторах сети полноценного сравнения алгоритмов консенсуса, поэтому решил собрать инфу из разных источников воедино. Впереди очень много букаф технической инфы, статья не для всех, простым языком это не изложить:‑(
Всем кто остался — приятного чтения:‑)

Привет, коллеги!
Хочу поделиться своим опытом работы с формами во Flutter. Каждый из нас сталкивался с задачей создания сложных форм и хочу рассказать о подходе с использованием нового пакета form_model.
Почему form_model?
В Госдуме предложили запретить регистрацию на российских сайтах с помощью иностранной электронной почты. Госдума уже одобрила поправки во втором и третьем чтениях и сейчас проект рассматривается Советом Федерации.
