#валидация_данных — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #валидация_данных, aggregated by home.social.
-
Data Gravity и отравление выборки
Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал
https://habr.com/ru/companies/otus/articles/1012868/
#ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных
-
Data Gravity и отравление выборки
Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал
https://habr.com/ru/companies/otus/articles/1012868/
#ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных
-
Data Gravity и отравление выборки
Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал
https://habr.com/ru/companies/otus/articles/1012868/
#ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных
-
Data Gravity и отравление выборки
Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал
https://habr.com/ru/companies/otus/articles/1012868/
#ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных
-
Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников
Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:
https://habr.com/ru/articles/1018664/
#машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM
-
Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников
Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:
https://habr.com/ru/articles/1018664/
#машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM
-
Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников
Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:
https://habr.com/ru/articles/1018664/
#машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM
-
Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников
Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:
https://habr.com/ru/articles/1018664/
#машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM
-
[Перевод] Возвращаем информативные ошибки API
Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.
https://habr.com/ru/companies/otus/articles/1018008/
#API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API
-
[Перевод] Возвращаем информативные ошибки API
Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.
https://habr.com/ru/companies/otus/articles/1018008/
#API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API
-
[Перевод] Возвращаем информативные ошибки API
Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.
https://habr.com/ru/companies/otus/articles/1018008/
#API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API
-
[Перевод] Возвращаем информативные ошибки API
Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.
https://habr.com/ru/companies/otus/articles/1018008/
#API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API
-
Связывание абстрактных классов со свойствами в python
В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.
https://habr.com/ru/articles/1002538/
#Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных
-
Связывание абстрактных классов со свойствами в python
В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.
https://habr.com/ru/articles/1002538/
#Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных
-
Связывание абстрактных классов со свойствами в python
В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.
https://habr.com/ru/articles/1002538/
#Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных
-
Связывание абстрактных классов со свойствами в python
В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.
https://habr.com/ru/articles/1002538/
#Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных
-
Zod: строгая валидация и удобная типизация. Опыт перехода
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.
https://habr.com/ru/companies/banki/articles/994886/
#zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация
-
Zod: строгая валидация и удобная типизация. Опыт перехода
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.
https://habr.com/ru/companies/banki/articles/994886/
#zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация
-
Zod: строгая валидация и удобная типизация. Опыт перехода
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.
https://habr.com/ru/companies/banki/articles/994886/
#zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация
-
Zod: строгая валидация и удобная типизация. Опыт перехода
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.
https://habr.com/ru/companies/banki/articles/994886/
#zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация
-
Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас
Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…
https://habr.com/ru/articles/991462/
#python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных
-
Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас
Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…
https://habr.com/ru/articles/991462/
#python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных
-
Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас
Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…
https://habr.com/ru/articles/991462/
#python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных
-
Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас
Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…
https://habr.com/ru/articles/991462/
#python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных
-
Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами
Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?
https://habr.com/ru/companies/otus/articles/989658/
#kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок
-
Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами
Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?
https://habr.com/ru/companies/otus/articles/989658/
#kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок
-
Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами
Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?
https://habr.com/ru/companies/otus/articles/989658/
#kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок
-
Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами
Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?
https://habr.com/ru/companies/otus/articles/989658/
#kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок
-
Хроники Valibot: как мы искали безупречные данные в мире JavaScript
Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.
https://habr.com/ru/companies/ostrovok/articles/987380/
#valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность
-
Хроники Valibot: как мы искали безупречные данные в мире JavaScript
Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.
https://habr.com/ru/companies/ostrovok/articles/987380/
#valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность
-
Хроники Valibot: как мы искали безупречные данные в мире JavaScript
Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.
https://habr.com/ru/companies/ostrovok/articles/987380/
#valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность
-
Хроники Valibot: как мы искали безупречные данные в мире JavaScript
Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.
https://habr.com/ru/companies/ostrovok/articles/987380/
#valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность
-
Zod-valid. Безопасная валидация API данных
Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.
-
Zod-valid. Безопасная валидация API данных
Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.
-
Zod-valid. Безопасная валидация API данных
Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.
-
Zod-valid. Безопасная валидация API данных
Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.
-
XTools-py — универсальные утилиты для Python-разработчиков
🚀 XTools-py — универсальные утилиты для Python-разработчиков Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас. XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку. Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения. ✨ Возможности Find — быстрый поиск и работа с коллекциями данных. Matrix — операции с матрицами. Config — удобная работа с JSON, YAML, INI. Validator — валидация строк, чисел и других типов. Cache — простой кеш с TTL. DateTimeUtils — работа с датами и временем. MathUtils — расширенные математические функции. ColorUtils — преобразование и обработка цветов. EncryptionUtils — шифрование и хеширование. TextUtils — удобные манипуляции с текстом. UnitConverter — конвертация единиц измерения. AWS S3 — облачное хранилище (асинхронно/синхронно).
https://habr.com/ru/articles/936580/
#Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами
-
XTools-py — универсальные утилиты для Python-разработчиков
🚀 XTools-py — универсальные утилиты для Python-разработчиков Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас. XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку. Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения. ✨ Возможности Find — быстрый поиск и работа с коллекциями данных. Matrix — операции с матрицами. Config — удобная работа с JSON, YAML, INI. Validator — валидация строк, чисел и других типов. Cache — простой кеш с TTL. DateTimeUtils — работа с датами и временем. MathUtils — расширенные математические функции. ColorUtils — преобразование и обработка цветов. EncryptionUtils — шифрование и хеширование. TextUtils — удобные манипуляции с текстом. UnitConverter — конвертация единиц измерения. AWS S3 — облачное хранилище (асинхронно/синхронно).
https://habr.com/ru/articles/936580/
#Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами
-
XTools-py — универсальные утилиты для Python-разработчиков
🚀 XTools-py — универсальные утилиты для Python-разработчиков Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас. XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку. Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения. ✨ Возможности Find — быстрый поиск и работа с коллекциями данных. Matrix — операции с матрицами. Config — удобная работа с JSON, YAML, INI. Validator — валидация строк, чисел и других типов. Cache — простой кеш с TTL. DateTimeUtils — работа с датами и временем. MathUtils — расширенные математические функции. ColorUtils — преобразование и обработка цветов. EncryptionUtils — шифрование и хеширование. TextUtils — удобные манипуляции с текстом. UnitConverter — конвертация единиц измерения. AWS S3 — облачное хранилище (асинхронно/синхронно).
https://habr.com/ru/articles/936580/
#Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами
-
XTools-py — универсальные утилиты для Python-разработчиков
🚀 XTools-py — универсальные утилиты для Python-разработчиков Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас. XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку. Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения. ✨ Возможности Find — быстрый поиск и работа с коллекциями данных. Matrix — операции с матрицами. Config — удобная работа с JSON, YAML, INI. Validator — валидация строк, чисел и других типов. Cache — простой кеш с TTL. DateTimeUtils — работа с датами и временем. MathUtils — расширенные математические функции. ColorUtils — преобразование и обработка цветов. EncryptionUtils — шифрование и хеширование. TextUtils — удобные манипуляции с текстом. UnitConverter — конвертация единиц измерения. AWS S3 — облачное хранилище (асинхронно/синхронно).
https://habr.com/ru/articles/936580/
#Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами
-
Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM
Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.
https://habr.com/ru/articles/920150/
#llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных
-
Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM
Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.
https://habr.com/ru/articles/920150/
#llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных
-
Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM
Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.
https://habr.com/ru/articles/920150/
#llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных
-
Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM
Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.
https://habr.com/ru/articles/920150/
#llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных
-
[Перевод] Разбор уровней валидации
Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:
-
[Перевод] Разбор уровней валидации
Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:
-
[Перевод] Разбор уровней валидации
Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:
-
[Перевод] Разбор уровней валидации
Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:
-
Регулярные выражения: как научиться читать между строк
Представьте: нужно проверить документ или веб-страницу и найти повторяющиеся слова, чтобы, скажем, заменить их. А если найти нужно не просто слова, а электронные адреса, которые бывают разными. Решение этой задачи существенно упростит использование регулярных выражений. Регулярные выражения или regex (от англ. regular expression) – это особый синтаксис для описания шаблонов поиска информации. С их помощью можно искать, заменять или извлекать данные из текста с высокой точностью. В основе регулярных выражений лежат символы, которые задают правила для поиска, например, всех цифр или слов, начинающихся на определенную букву. Регулярные выражения позволяют описать сложные условия поиска в простой и читаемой форме, что делает их незаменимыми для различных задач. Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации. Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.
https://habr.com/ru/articles/897206/
#бот #chatapp #автоматизация_бизнеса #автоматизация #регулярные_выражения #валидация_данных
-
Регулярные выражения: как научиться читать между строк
Представьте: нужно проверить документ или веб-страницу и найти повторяющиеся слова, чтобы, скажем, заменить их. А если найти нужно не просто слова, а электронные адреса, которые бывают разными. Решение этой задачи существенно упростит использование регулярных выражений. Регулярные выражения или regex (от англ. regular expression) – это особый синтаксис для описания шаблонов поиска информации. С их помощью можно искать, заменять или извлекать данные из текста с высокой точностью. В основе регулярных выражений лежат символы, которые задают правила для поиска, например, всех цифр или слов, начинающихся на определенную букву. Регулярные выражения позволяют описать сложные условия поиска в простой и читаемой форме, что делает их незаменимыми для различных задач. Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации. Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.
https://habr.com/ru/articles/897206/
#бот #chatapp #автоматизация_бизнеса #автоматизация #регулярные_выражения #валидация_данных