Месяц: Февраль 2021

  • Функциональное программирование на TypeScript: Option и Either

    от автора

    Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» В предыдущей статье мы рассмотрели понятие класса типов (type class) и бегло познакомились с классами типов «функтор», «монада», «моноид». В этой статье я обещал подойти к идее алгебраических эффектов, но решил всё-таки написать про работу с nullable-типами и исключительными ситуациями, чтобы дальнейшее изложение было понятнее,…

  • Дайджест интересных материалов для мобильного разработчика #383 (22 — 28 февраля)

    от автора

    Этот дайджест вышел небольшой, но в нем все равно есть продолжение истории про автотестирование, API сна для Android, подготовка Flutter к null safety и прогноз развития рынка приложений до 2025 года.

  • Специфические задачи Data Science в Банке

    от автора

    В течение последних пяти лет я проработал в Центральном Аппарате Сбербанка в Управлении Валидации моделей машинного обучения (machine learning, ML) и видел много «узких мест», которые возникают при разработке и валидации моделей машинного обучения. В этой статье сначала предполагал рассмотреть основные информационные системы некоторого абстрактного Банка X, поскольку именно на базе уже сложившихся информационных систем…

  • Сервер Haute Couture: обзор Apple Xserve G4

    от автора

    Компания Apple — одна из самых заметных на компьютерном рынке, она же — одна из самых противоречивых. Равнодушных к ее продукции и рыночной стратегии исчезающе мало — ее либо любят, либо критикуют — бывает и вовсе ненавидят. Ее продукты хорошо известны многим, интересующимся компьютерной техникой. Но есть одно направление, присутствие в котором предложений от Apple…

  • Реализация мультиарендности с использованием Spring Boot, MongoDB и Redis

    от автора

    В этом руководстве мы рассмотрим, как реализовать мультиарендность в Spring Boot приложении с использованием MongoDB и Redis.Используются:Spring Boot 2.4Maven 3.6. +JAVA 8+Монго 4.4Redis 5Что такое мультиарендность?Мультиарендность (англ. multitenancy — «множественная аренда») — это программная архитектура, в которой один экземпляр программного приложения обслуживает нескольких клиентов. Все должно быть общим, за исключением данных разных клиентов, которые должны быть…

  • Последние облака. Подробно о гипотезе влажной стратосферы

    от автора

    В 2004 году, на момент выхода фильма «Послезавтра», сохранялось ощущение, что подобный сюжет является фантастикой, преувеличением или просто страшилкой. Сегодня мы живем в мире, где уже превратилась в недавнюю историю филиппика Греты Тунберг, где рекордно обмелел водопад Виктория, а на Ямале зафиксирована вспышка сибирской язвы – болезнь сохранилась в трупе северного оленя, долгие годы пролежавшем…

  • Проверка орфографии в приложениях Qt

    от автора

    В данной статье описано как добавить к вашему приложению на Qt проверку орфографии с подсветкой орфографически некорректных слов и возможность замены на более подходящие варианты. Для этого используется словарь hunspell.Для подсветки орфографически некорректных слов используется модифицированный класс QSyntaxHighlighter, для отображения и ввода текста используется модифицированный класс QTextEdit. Первым делом, поскольку мы работаем с библиотекой hunspell,…

  • Json api сервис на aiohttp: middleware и валидация

    от автора

    В этой статье я опишу один из подходов для создания json api сервиса с валидацией данных. Сервис будет реализован на aiohttp. Это современный, постоянно развивающийся фреймворк на языке python, использующий asyncio. Об аннотациях: Появление аннотаций в python позволило сделать код более понятным. Так же, аннотации открывают некоторые дополнительные возможности. Именно аннотации играют ключевую роль при…

  • Наследование компонентов в Angular: простой способ решить проблему с Dependency Injection

    от автора

    Итак, собственно проблема: порой у нас в проекте есть много похожих компонентов, с одинаковой логикой, одинаковыми DI, свойствами итд и возникает мысль: а почему бы не вынести все это дело в базовый компонент (точнее директиву) абстрактным классом, а остальные компоненты уже наследовать? На самом деле мысль хорошая, принцип DRY соблюдается, имеем один источник истины, при…

  • Эффективная конструкция агрегатов. Понимание через исследование

    от автора

    Эта статья является конспектом материала Effective Aggregate Design Part III: Gaining Insight Through Discovery.Во второй части обсуждали, как агрегаты ссылаются друг на друга и как использовать конечную согласованность для достижения определенных бизнес целей. В третьей части увидим, как соблюдение правил агрегатов влияет на проектирование модели Scrum (тестовый проект из первой части). Переосмысление конструкции моделиПосле итерации рефакторинга,…