Search
Write a publication
Pull to refresh
12
0
Александр Шатилов @alexbraun

Tech Lead using Angular & .net

Send message

Kotlin. Автоматизация тестирования (Часть 2). Kotest. Deep Diving

Reading time30 min
Views9K

Kotest


Продолжение цикла публикаций про автоматизацию функционального тестирования на Kotlin
с использованием фреймворка Kotest совместно с наиболее полезными дополнительными библиотеками, существенно облегчающими и ускоряющими создание тестов.


В этой части мы углубимся в возможности Kotest:


  • покажу все варианты группировки тесты
  • расскажу про последовательность выполнения тестов и спецификаций
  • изучим возможности параллельного запуска
  • настроим таймауты на выполнение тестов
  • проговорим про ожидания и Flaky-тесты
  • рассмотрим использование Фабрик тестов
  • и напоследок исследуем тему Property Testing

Все части руководства:


Читать дальше →

Почему мы перешли с Webpack на Vite

Reading time2 min
Views47K
image


Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React. Однако исторически инструменты React были медленными на Replit. В то время как экосистема JavaScript создала отличные инструменты для профессиональных разработчиков, многие из самых популярных из них, такие как Create React App и Webpack, становятся все более сложными и неэффективными.

К счастью, мы заметили, как сообщество JavaScript осознало эту проблему и перешло к созданию более быстрых и эффективных инструментов, что означает, что мы, наконец, можем предоставить опыт, который наши пользователи ожидают от нас.

Этот новый опыт основан на Vite, инструменте сборки JavaScript, который обеспечивает быструю и экономичную разработку. Vite поставляется с рядом функций, включая HMR или Hot Module Replacement, команду сборки, которая объединяет ваши инструменты с Rollup, и встроенную поддержку TypeScript и JSX.

Построение компонентов с выпадающими блоками с помощью Angular и Material CDK

Reading time5 min
Views9.3K

Каждое приложение использует компоненты с выпадающими блоками. Такие панели используются в выпадающем списке, Autocomplete, Tooltip и т.д. В Material CDK есть инструмент Overlay для создания такого функционала.

В этой статье мы рассмотрим какую проблему решает Overlay CDK, кто использует его и напишем свой компонент на базе этого инструмента.

Читать далее

На чем тестировать алгоритмы распознавания и обработки документов, удостоверяющих личность?

Reading time6 min
Views5.9K

Как известно, мы в Smart Engines занимаемся системами компьютерного зрения и распознавания документов, а также научными исследованиями в этой области. В течение нескольких лет в фокусе нашего внимания находились системы распознавания документов, удостоверяющих личность. Одной из критичных проблем, возникающих при подготовке научных статей, является отсутствие открытых датасетов, на которых можно демонстрировать сообществу разработанные нами алгоритмы и подходы. В связи с этим два года назад мы начали работу над серией открытых пакетов изображений и видеоклипов ID-документов, предназначенных, главным образом, для исследователей, и о результатах этой работы хотели бы рассказать вам под катом.


Читать дальше →

Как мы научили нейросеть определять документы

Reading time4 min
Views10K


Этим летом мы научили нейронную сеть определять, присутствует ли на изображении документ, и если да — то какой именно.

Для чего это понадобилось


Чтобы разгрузить сотрудников и обезопасить людей от мошенников. Мы применяем новую нейросеть в двух сферах: когда пользователь восстанавливает доступ к странице и для скрытия личных документов из общего поиска.

Читать дальше →

PassportVision — простой способ распознавать документы

Reading time8 min
Views93K
Наверняка вам доводилось попадать в такую ситуацию: заходите в какое-нибудь учреждение (почта, банк, больница, кассы и т. п.), где для достижения ваших целей необходимо предъявить паспорт. И вроде очередь-то небольшая, всего 5 человек, но ждать придётся очень долго, ведь тётя Маша тратит по несколько минут на внесение данных с каждого паспорта в компьютер. Вам остаётся только наблюдать, как её указательный палец не спеша планирует над клавиатурой в поисках очередной клавиши.

Мы были озадачены такой печальной ситуацией в современном обществе и написали программку PassportVision, которая умеет распознавать данные с разных документов и отдавать результат пользователю в удобной форме. Задача оказалась совсем не такой простой, как может показаться на первый взгляд: в ходе работы над проектом мы узнали очень много нового про отечественные документы, компьютерное зрение и пользовательские интерфейсы. Голова уже полна новыми идеями о дальнейшем развитии программы, но мы решили найти время, чтобы поделиться опытом и полученными знаниями.



Сегодня в выпуске:
  • Популярные заблуждения о паспортах
  • Немного об используемых технологиях
  • Наш подход к интерфейсу
  • Как лучше всего отдать данные пользователю
Читать дальше →

Непрерывная интеграция и развертывание Docker в GitLab CI

Reading time20 min
Views76K
В этом руководстве рассмотрим вариант настройки непрерывной интеграции и развертывания Flask приложения на Docker Swarm через GitLab CI.

Сначала мы рассмотрим настройку рабочей среды, включая создание серверов для нодов Docker Swarm. Затем создадим простое приложение Flask с Redis и подготовим GitLab CI для непрерывной доставки.
Читать дальше →

Moscow JS Meetup в Райффайзенбанке: сохраняйте трансляцию

Reading time2 min
Views1.7K
Присоединяйтесь к трансляции Moscow JS Meetup 30 января: будем отвечать на вопрос, что такое «чистый код», найдем максимум багов за минимум времени, пройдем путь к разработке расширяемых интерфейсов и узнаем про способы перформанса Webpack и Babel. Планы — огонь!

Подключайтесь в 19:30!


Angular и SEO: как их подружить?

Reading time3 min
Views24K

Несмотря на заявления Google и Яндекс о поддержке поисковыми ботами парсинга сайтов SPA, надеяться на нормальную индексацию не стоит — у поисковых ботов мало ресурсов, ваше приложение должно максимально быстро отрабатывать, иначе, вам либо порежут рейтинг, либо не спарсят страницу, так же бот может не дождаться отработки всех ваших скриптов…
(исследование Google bot)


Изменение посещаемости

Мой маленький проект для исследования технологий — изменение посещаемости, после перехода на Server Side Rendering (SSR)


Как настроить Angular и готовые примеры ниже подкатом.

Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №469 (24 — 30 мая 2021)

Reading time3 min
Views7.9K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Golos — самый большой русскоязычный речевой датасет, размеченный вручную, теперь в открытом доступе

Reading time6 min
Views19K


Меня зовут Саша, в SberDevices я занимаюсь системой распознавания речи и тем, как данные могут сделать её лучше. В этой статье я расскажу о новом речевом датасете Golos, который состоит из аудиофайлов и соответствующих транскрипций. Общая длительность записей составляет примерно 1240 часов, частота дискретизации – 16кГц. На текущий момент это самый большой корпус аудиозаписей на русском языке, размеченный вручную. Мы выпустили корпус под лицензией, близкой к CC Attribution ShareAlike, что позволяет его использовать как для научных исследований, так и в коммерческих целях. Я расскажу о том, из чего состоит датасет, каким образом он был собран и каких результатов позволяет достичь.
Читать дальше →

Ультимативное сравнение систем распознавания речи: Ashmanov, Google, Sber, Silero, Tinkoff, Yandex

Reading time8 min
Views23K

sandwich_fake


Какое-то время назад мы писали цикл статей про то, как правильно измерять качество систем распознавания речи, и собственно снимали метрики с доступных решений (цикл статей — 1, 2, 3) (на тот момент и коммерческих и некоммерческих решений). На Хабре была выжимка из этого цикла в рамках этой статьи, но до масштабного обновления исследования, достойного публикации на Хабре, руки никак не доходили (это требует как минимум большого количества усилий и подготовки).


Прошло некоторое время и пора обновить наше исследование, сделав его по-настоящему ультимативным. По сравнению с прошлыми исследованиями изменилось или добавилось следующее:


  • Добавилось много валидационных сетов из разных реальных доменов;
  • На рынок вышел Сбер, в первую очередь интересно протестировать именно его;
  • Для чистоты эксперимента, мы не предупреждали разработчиков систем о доменах и факте проведения тестов;
  • Мы также попробовали немного протестировать пропускную способность сервисов (понятно, что мы не знаем какое железо и ограничения стоят в облаке);
  • Мы рассматриваем только коммерческие системы, к которым у нас получилось получить доступ и которые показали хоть какой-то намек на "всеядность", работу с холодного старта и "энтерпрайзность";
Читать дальше →

Позиция науки: что такое регрессивная гипнотерапия и как гипноз помогает путешествовать в прошлое

Reading time11 min
Views40K

Если взять за основу работы школы Павлова, то в гипнозе как в редком, и отсюда возможно интересном феномене, мало чего удивительного. Обычная ультра парадоксальная стадия, которая вызывает состояние "внушенного сна наяву". Поэтому будем держаться классической теории советских клиницистов и разберем по полочкам внутреннюю кухню гипнотерапии и отдельно стадии гипноза. Для желающих углубиться в предмет есть две фундаментальные монография Платонова К. И. "Слово как физиологический и лечебный фактор" и книга Лифшица С.Я. "Гипноанализ инфантильных травм у истериков".

Читать далее

Роботизация в сельском хозяйстве. Будущее агропроизводства

Reading time19 min
Views15K
На прошлой неделе в наших соцсетях выступил Эдуард Абдулкин, ведущий специалист по внедрению роботизированной техники в Cognitive Pilot.

Эдуард родом из сельской местности. Всю жизнь был связан с сельским хозяйством. Закончил Московский государственный агро-инженерный университет имени Горячкина. После учебы работал в сфере сельхозтехники и точного земледелия. Сейчас занимается внедрением роботизированной техники в Cognitive Pilot. Активно пишет на Хабре в блоге своей компании об эксплуатации и технологиях сельхозтехники. Его статьи стабильно набирают высокие рейтинги и входят в топ статей за год на Хабре.

Делимся с вами расшифровкой эфира и записью.

Как быстро и удобно документировать Angular проект с помощью модуля AddOnDoc из TaigaUI

Reading time5 min
Views5.7K

Не так давно вышла новая библиотека компонентов Taiga UI. Как говорят сами создатели Александр Инкин и Роман Седов, это конструктор Lego. И действительно: в нём есть много полезных модулей, которые можно использовать в своём проекте. В этой статье мы рассмотрим модуль AddOnDoc.

Читать далее

Если нарисуем такие графы, сможем навсегда изменить компьютеры

Reading time5 min
Views9.5K

Инженеры могли бы использовать этот прорыв в теории графов для разработки невероятно эффективных квантовых компьютерных микросхем.

Доцент кафедры информатики в Копенгагенском университете Джейкоб Холм просматривал доказательства из научной статьи, опубликованной в Интернете в октябре 2019 года им и его коллегой Евой Ротенберг (доцентом кафедры прикладной математики и информатики Датского технического университета), и обнаружил, что их результаты невольно дали решение многовековой проблемы графов.

Приятного чтения!

Open-Closed Principle в Angular

Reading time8 min
Views10K

Всем привет! Меня зовут Вова, я фронтендер в Тинькофф. Сейчас перед нашей командой стоит задача редизайна функциональности на пересечении нескольких продуктов. Данная ситуация заставила нас задуматься во-первых о DDD, а во-вторых о гибкости наших решений, применяемых при разработке, и достичь этого нам помогли принципы SOLID, а точнее OCP и Dependency Inversion (не путать с Dependency Injection), о чем и хочется дальше поговорить.

Читать далее

ТайпСкрип: Ох уж эта весёлая система типов

Reading time3 min
Views15K

Здравствуйте, меня зовут Дмитрий Карловский и недавно я, вместе с Артуром Мукминовым, проводил воркшоп, где показывал как разрабатывать сложные типофункции через тестирование. Это 2 часа сурового программирования на типах. Так что в качестве тизера, ловите разбор курьёзов тайпскриптовой системы типов.


Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №439 (26 — 31 октября 2020)

Reading time3 min
Views8.8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Чистим код в Angular. Готовим ESLint, codelyzer, stylelint, husky, lint-staged и Prettier

Reading time8 min
Views26K

Если вам не приходилось работать в команде, то, возможно, вы еще не используете эти вещи, а кто-то даже не знает про них. Работая один, вы сами себе хозяин.


Как только начали работать в команде  —  ситуация резко меняется. Если нет договоренностей, то каждый начинает писать код в таком стиле, в каком умеет. И даже если вы все же собрались и обсудили на словах codestyle на проекте и даже записали где-то, это, скорее всего, не поможет решить проблему, и вот почему.


Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity