home.social

#валидация_данных — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #валидация_данных, aggregated by home.social.

  1. Data Gravity и отравление выборки

    Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал

    habr.com/ru/companies/otus/art

    #ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных

  2. Data Gravity и отравление выборки

    Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал

    habr.com/ru/companies/otus/art

    #ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных

  3. Data Gravity и отравление выборки

    Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал

    habr.com/ru/companies/otus/art

    #ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных

  4. Data Gravity и отравление выборки

    Любой, кто хоть немного знаком с ИИ знает, что для эффективной работы искусственного интеллекта необходимы качественные данные. В результате 80% времени любого ML-проекта уходит не на подбор гиперпараметров и не на архитектуру нейросети, а на рутинный, выматывающий процесс — вылизывание данных. Мы собираем данные из множества устаревших систем, разбираемся с пустыми полями, убираем дубликаты, корректируем разметку. А после всего этого модель приходит ровно туда, куда мы её привели — шуму, смещениям и отравленным выборкам. В этой статье мы разберём основные проблемы, из-за которых все это происходит. Открыть материал

    habr.com/ru/companies/otus/art

    #ml #ai #data_gravity #качество_данных #отравление_данных #data_poisoning #смещение_данных #валидация_данных #drift_данных

  5. Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников

    Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:

    habr.com/ru/articles/1018664/

    #машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM

  6. Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников

    Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:

    habr.com/ru/articles/1018664/

    #машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM

  7. Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников

    Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:

    habr.com/ru/articles/1018664/

    #машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM

  8. Список литературы тоже умеет галлюцинировать: как я делаю систему проверки научных источников

    Список литературы долго казался мне самой скучной частью научной работы. Пока не выяснилось, что именно там может прятаться очень неприятная штука: ссылка, которая выглядит убедительно, аккуратно и по‑научному, но в реальности либо ведет в никуда, либо вообще не существует. Когда я брала тему диплома, она казалась мне очень приличной и даже немного слишком аккуратной. Ну правда: что может быть понятнее, чем проверить список литературы? Берем научную работу, смотрим на ссылки, сверяем их с реальностью, находим ошибки, помогаем автору, делаем мир чуть менее хаотичным. На бумаге это выглядело как хорошая прикладная задача. В жизни оказалось, что библиография умеет устраивать маленький фестиваль боли. Сейчас до защиты у меня два месяца, и это как раз тот момент, когда уже можно честно рассказать не только красивую формулировку темы, но и то, почему проблема правда важная, что именно я пытаюсь построить и где все оказалось сильно интереснее, чем я думала в начале. Тема моей ВКР звучит так:

    habr.com/ru/articles/1018664/

    #машинное_обучение #NLP #обработка_PDF #библиография #научные_публикации #проверка_источников #DOI #Python #валидация_данных #галлюцинации_LLM

  9. [Перевод] Возвращаем информативные ошибки API

    Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.

    habr.com/ru/companies/otus/art

    #API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API

  10. [Перевод] Возвращаем информативные ошибки API

    Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.

    habr.com/ru/companies/otus/art

    #API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API

  11. [Перевод] Возвращаем информативные ошибки API

    Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.

    habr.com/ru/companies/otus/art

    #API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API

  12. [Перевод] Возвращаем информативные ошибки API

    Ошибки в API часто воспринимаются как второстепенная часть контракта – до тех пор, пока интеграции не начинают ломаться в самых неожиданных местах. В этот момент выясняется, что одного HTTP-кода недостаточно: без ясной структуры и контекста ошибки превращаются в источник неопределённости и лишней работы. В статье разберём, как проектировать ошибки как полноценный элемент API – с понятной семантикой, единым форматом и возможностью для автоматической обработки.

    habr.com/ru/companies/otus/art

    #API_ошибки #обработка_ошибок #REST_API #HTTP_статускоды #проектирование_API #код_ошибки #сообщения_об_ошибках #валидация_данных #интеграции_API

  13. Связывание абстрактных классов со свойствами в python

    В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.

    habr.com/ru/articles/1002538/

    #Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных

  14. Связывание абстрактных классов со свойствами в python

    В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.

    habr.com/ru/articles/1002538/

    #Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных

  15. Связывание абстрактных классов со свойствами в python

    В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.

    habr.com/ru/articles/1002538/

    #Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных

  16. Связывание абстрактных классов со свойствами в python

    В данной статье хочу поделиться своим опытом по абстрактным классам. Думаю это будет полезно как разработчикам, только начинающим свой путь, так и уже имеющим опыт. В материале можно посмотреть, как изящно связать свойства и абстрактные классы с реализацией принципа DRY . Для начал кратко пробежимся по определениями и терминам, и далее ответим на вопросы, которые могут логично вытекать из этих определений. Абстрактные классы - это базовые классы, определяющие каркас с методами, обязательными для реализации в наследниках и служащими для создания интерфейсов, однако сами экземпляры таких классов создать нельзя. Абстрактные методы - методы с декоратором @abstractmethod, которые обязаны быть реализованы в дочерних классах. Абстрактный класс может содержать как обычные, так и абстрактные методы. Свойство - реализуется через декораторы @property (для чтения) и @<name>.setter (для изменения и валидации) обеспечивая инкапсуляцию, делая API удобным, при этом позволяя менять внутреннюю реализацию без изменения внешнего кода.

    habr.com/ru/articles/1002538/

    #Абстрактный_класс #свойство #python #property #setter #ООП #dry #наследование_в_python #абстрактные_классы #валидация_данных

  17. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  18. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  19. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  20. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  21. Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас

    Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…

    habr.com/ru/articles/991462/

    #python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных

  22. Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас

    Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…

    habr.com/ru/articles/991462/

    #python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных

  23. Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас

    Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…

    habr.com/ru/articles/991462/

    #python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных

  24. Хватит парсить Excel вручную: я написал библиотеку, которая сделает это за вас

    Буквально пару недель назад, проводя код-ревью, меня внезапно накрыло осознание: огромный кусок логики наших мини-приложений - это чтение и парсинг Excel-файлов . При этом целая команда разработчиков решает одну и ту же задачу, но каждый по-своему. Стало немного больно. Поэтому я написал xlea…

    habr.com/ru/articles/991462/

    #python #excel #парсинг_excel #обработка_excel_файлов #табличные_данные #data_parsing #data_engineering #python_библиотеки #schema #валидация_данных

  25. Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами

    Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?

    habr.com/ru/companies/otus/art

    #kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок

  26. Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами

    Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?

    habr.com/ru/companies/otus/art

    #kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок

  27. Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами

    Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?

    habr.com/ru/companies/otus/art

    #kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок

  28. Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами

    Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?

    habr.com/ru/companies/otus/art

    #kotlin #Arrow #android #функциональное_программирование #обработка_ошибок #валидация_данных #типизация_ошибок

  29. Хроники Valibot: как мы искали безупречные данные в мире JavaScript

    Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.

    habr.com/ru/companies/ostrovok

    #valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность

  30. Хроники Valibot: как мы искали безупречные данные в мире JavaScript

    Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.

    habr.com/ru/companies/ostrovok

    #valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность

  31. Хроники Valibot: как мы искали безупречные данные в мире JavaScript

    Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.

    habr.com/ru/companies/ostrovok

    #valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность

  32. Хроники Valibot: как мы искали безупречные данные в мире JavaScript

    Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined , — добро пожаловать в клуб! TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными. И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат. В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript . Под катом рассказываем, почему статической типизации уже недостаточно, чем Valibot отличается от Zod, и как валидатор помогает нам строить более надёжную архитектуру без лишнего кода.

    habr.com/ru/companies/ostrovok

    #valibot #zod #architecture #forms #js #валидация_данных #runtime #формы #api #типобезопасность

  33. Zod-valid. Безопасная валидация API данных

    Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.

    habr.com/ru/articles/947252/

    #typescript #zod #валидация_данных #валидация #api

  34. Zod-valid. Безопасная валидация API данных

    Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.

    habr.com/ru/articles/947252/

    #typescript #zod #валидация_данных #валидация #api

  35. Zod-valid. Безопасная валидация API данных

    Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.

    habr.com/ru/articles/947252/

    #typescript #zod #валидация_данных #валидация #api

  36. Zod-valid. Безопасная валидация API данных

    Zod-valid — это Typescript библиотека, зависимая от другой известной библиотеки zod , для безопасной валидации API данных. API редко гарантирует идеальные данные: поля могут быть пропущены, типы не совпадать, структуры меняться. Без проверки этих данных приложение рискует вызвать runtime-ошибки или ломать бизнес-логику. Валидировать данные заранее — значит обеспечить предсказуемое поведение и защитить приложение от неожиданных значений.

    habr.com/ru/articles/947252/

    #typescript #zod #валидация_данных #валидация #api

  37. 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 — облачное хранилище (асинхронно/синхронно).

    habr.com/ru/articles/936580/

    #Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами

  38. 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 — облачное хранилище (асинхронно/синхронно).

    habr.com/ru/articles/936580/

    #Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами

  39. 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 — облачное хранилище (асинхронно/синхронно).

    habr.com/ru/articles/936580/

    #Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами

  40. 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 — облачное хранилище (асинхронно/синхронно).

    habr.com/ru/articles/936580/

    #Python #утилиты #валидация_данных #инструменты_разработчика #кеширование #шифрование #devtools #работа_с_датами

  41. Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM

    Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.

    habr.com/ru/articles/920150/

    #llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных

  42. Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM

    Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.

    habr.com/ru/articles/920150/

    #llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных

  43. Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM

    Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.

    habr.com/ru/articles/920150/

    #llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных

  44. Как мы сделали полезным крупнейший русскоязычный датасет запросов к LLM

    Привет! Меня зовут Роман Куцев, я основатель LLM Arena . У нас каждый день сотни людей общаются с языковыми моделями, тестируют, сравнивают, задают вопросы. В какой-то момент стало ясно: в этих логах — не просто сессии пользователей. Это — живая картина того, как люди используют LLM в реальности. Так родилась идея: собрать открытый, структурированный датасет промптов и дать AI-комьюнити инструмент, с которым можно не просто смотреть, но и исследовать, фильтровать, понимать логику запросов юзеров к LLM. Изучая Arena Explorer от LMSYS, мы сначала хотели взять их путь за основу. Но быстро стало понятно — мы можем и должны пойти дальше. И построили систему, которая обусловлена русскоязычным контекстом, с другим уровнем прозрачности и внимания к качеству.

    habr.com/ru/articles/920150/

    #llm #llmarena #датасет #dataset #ai #ии #разметка_данных #валидация_данных

  45. [Перевод] Разбор уровней валидации

    Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:

    habr.com/ru/articles/902304/

    #валидация #валидация_данных #php #ddd

  46. [Перевод] Разбор уровней валидации

    Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:

    habr.com/ru/articles/902304/

    #валидация #валидация_данных #php #ddd

  47. [Перевод] Разбор уровней валидации

    Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:

    habr.com/ru/articles/902304/

    #валидация #валидация_данных #php #ddd

  48. [Перевод] Разбор уровней валидации

    Валидация и обработка ошибок — это фундаментальная задача, с которой сталкивается каждый разработчик, будь то работа с HTTP-запросами, управление очередями задач, обработка событий или асинхронная коммуникация между компонентами системы. Почему это важно? Выбор стратегии напрямую влияет на:

    habr.com/ru/articles/902304/

    #валидация #валидация_данных #php #ddd

  49. Регулярные выражения: как научиться читать между строк

    Представьте: нужно проверить документ или веб-страницу и найти повторяющиеся слова, чтобы, скажем, заменить их. А если найти нужно не просто слова, а электронные адреса, которые бывают разными. Решение этой задачи существенно упростит использование регулярных выражений. Регулярные выражения или regex (от англ. regular expression) – это особый синтаксис для описания шаблонов поиска информации. С их помощью можно искать, заменять или извлекать данные из текста с высокой точностью. В основе регулярных выражений лежат символы, которые задают правила для поиска, например, всех цифр или слов, начинающихся на определенную букву. Регулярные выражения позволяют описать сложные условия поиска в простой и читаемой форме, что делает их незаменимыми для различных задач. Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации. Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.

    habr.com/ru/articles/897206/

    #бот #chatapp #автоматизация_бизнеса #автоматизация #регулярные_выражения #валидация_данных

  50. Регулярные выражения: как научиться читать между строк

    Представьте: нужно проверить документ или веб-страницу и найти повторяющиеся слова, чтобы, скажем, заменить их. А если найти нужно не просто слова, а электронные адреса, которые бывают разными. Решение этой задачи существенно упростит использование регулярных выражений. Регулярные выражения или regex (от англ. regular expression) – это особый синтаксис для описания шаблонов поиска информации. С их помощью можно искать, заменять или извлекать данные из текста с высокой точностью. В основе регулярных выражений лежат символы, которые задают правила для поиска, например, всех цифр или слов, начинающихся на определенную букву. Регулярные выражения позволяют описать сложные условия поиска в простой и читаемой форме, что делает их незаменимыми для различных задач. Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации. Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.

    habr.com/ru/articles/897206/

    #бот #chatapp #автоматизация_бизнеса #автоматизация #регулярные_выражения #валидация_данных