Как стать автором
Обновить
9
0
Виктор Котов @sman

Старший инженер-программист

Отправить сообщение

SberPay: как добавить поддержку бесконтактной оплаты в Android-приложение

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.4K

Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером.

Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии3

Микроэлектроника в России до и после 24.02.2022

Время на прочтение14 мин
Количество просмотров325K

В свете последних событий (для потомков: гуглим Россия, Украина, 24 февраля 2022), приведших к введению санкций против России в сфере высоких технологий и, в частности, микроэлектроники, я часто слышу вопрос: а что дальше? В каком сейчас состоянии российское микроэлектронное производство? Россия сможет создать полностью локальное производство чипов?

Так сможет или нет?
Всего голосов 441: ↑435 и ↓6+429
Комментарии658

Доступный дизайн компонентов на примерах. Дизайнеру про ARIA-атрибуты, порядок фокуса и другое

Время на прочтение11 мин
Количество просмотров15K

В статье я расскажу о том, как разрабатывать дизайн доступных (т. е. отвечающих требованиям доступности) компонентов, об основных руководствах по доступности и о ключевых моментах, на которые стоит обратить внимание, а именно: о порядке фокуса, о клавиатурном взаимодействии и об ARIA-атрибутах.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Как UX/UI-дизайнеру не потеряться в тысяче макетов в Figma: новый инструмент контроля версий

Время на прочтение7 мин
Количество просмотров8.5K

Знакома история, когда забыл сохранить предыдущую версию рабочего макета — и считай её и вовсе не было? Система контроля версий поможет избежать подобных ситуаций. Я работаю UX/UI-дизайнером в крупном проекте, где создание интерфейсов и разработка идут одновременно. В таких проектах важно держать все изменения версий макетов не только в голове, но и в самом рабочем файле, чтобы вконец не запутать команду разработчиков.

В этой статье я расскажу о плюсах и минусах инструментов контроля версий, с которыми мне приходилось сталкиваться в работе: подход семантического версионирования; история версий в Figma и новый (пока в бета-версии) инструмент в Figma — Branching («ветвление»).

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

RBAC в Angular-приложениях

Время на прочтение13 мин
Количество просмотров5.1K

«Каждый уважающий себя блогер должен написать статью о RBAC. Каждый уважающий себя читатель должен написать в комментарии, что всё равно ничего не понял». С этой фразы началось мое знакомство с RBAC. И я имел прекрасную возможность узнать, что всё так и есть.

Но теперь я разобрался с тем, что RBAC такое, и готов рассказать вам. Более того, я создал на основе RBAC собственный продукт, позволяющий использовать RBAC-паттерн в Angular-приложениях. Но обо всём по порядку.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии6

В начале был “workflow”

Время на прочтение9 мин
Количество просмотров5.1K

Добрый день! Меня зовут Кирилл, и я DevOps-инженер. За свою карьеру мне не раз приходилось внедрять DevOps-практики как в существующие, так и в новые команды, поэтому хочу поделиться своим опытом и мыслями по поводу стратегий ветвления. Существует множество различных типов рабочих процессов, и чтобы разобраться что к чему, предлагаю рассмотреть пример создания нового программного продукта. 

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Про хороший и плохой дизайн для недизайнеров

Время на прочтение13 мин
Количество просмотров19K

Что нужно пользователю от сайта? Чтобы нужная информация находилась легко, как рыбка в аквариуме. Дизайн в первую очередь должен решать проблемы пользователя. Я часто сталкиваюсь с нарушением UX-принципов в программных продуктах, поэтому хочу помочь менеджерам, начинающим дизайнерам и программистам освоить базовые принципы юзабилити, а также научиться распознавать распространённые ошибки.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии32

Делаем свой телеканал

Время на прочтение7 мин
Количество просмотров28K


Вы, возможно, удивитесь, но телевидение всё ещё живо. Да, аудитория поредела и «состарилась», а технологии приумножились и помолодели (IPTV, SmartTV, различные приставки), но всё-таки жизнь есть не только в YouTube и TikTok. Мало того, сейчас сделать свой телеканал можно при достаточно небольших инвестициях времени и финансов. В 2017 году мой брат (Ruler-ufa) попросил меня о помощи с технической реализацией нового музыкального телеканала на башкирском и татарском языках. О том, что у нас получилось, и пойдёт речь в этой статье. Сразу оговорюсь, что нюансов подбора контента, оформления эфира и подобных тем здесь не будет, т.к. я занимался исключительно технической частью. Кроме того, задача была сделать все максимально просто и дёшево, т.к. бюджет был ограничен, поэтому некоторые вещи можно было сделать по-другому — правильнее, но гораздо дороже.
Всего голосов 26: ↑26 и ↓0+26
Комментарии15

Заблуждения Clean Architecture

Время на прочтение15 мин
Количество просмотров410K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии203

Маленькие тайны тестирования большой LMS

Время на прочтение11 мин
Количество просмотров3K


Редко получается найти проект, в который влюбляешься еще на собеседовании и которым гордишься, когда он завоевывает новые рынки. Тем более приятно, когда профессионализм коллег на высоте, а в своей команде чувствуешь себя как в кругу семьи. Мне повезло не только найти такой проект, но и некоторое время назад начать влиять на процесс тестирования в нём. Я расскажу, что входит в наше понимание оптимального процесса; как мы пришли к ежемесячным релизам и как они у нас работают; а также о том, как мы приспособились к условиям карантина.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Эволюция конфигурации .NET

Время на прочтение14 мин
Количество просмотров15K


Каждый программист представлял — ну или может хочет представить — себя пилотом самолета, когда у тебя есть огромный проект, к нему огромная панель датчиков, метрик и переключателей, с помощью которых можно легко настроить всё как надо. Ну, по крайней мере, не бежать самому поднимать шасси вручную. И метрики, и графики — это всё хорошо, но сегодня хочу рассказать про те самые тумблерочки и кнопочки, которые могут менять параметры поведения самолета, конфигурировать его.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии23

Мне надоело, что обычные продавцы выдают себя за разработчиков и позорят индустрию. Они делают мир хуже

Время на прочтение5 мин
Количество просмотров122K


Когда Дудь выпустил ролик про долину, я очень сильно расстроился. Я ещё не знал, про что он конкретно, но мозг моментально нарисовал: манерные успешные успехи говорят про преодолевание, дух предпринимательства, поднятые миллионы баксов, и как сильно их говноприложенька влияет на мир.

Тогда я подумал — надо посмотреть, осудить и бахнуть статью. Про то, что Дудь засранец, а в настоящей разработке все по-другому. Прошло уже месяца два, но я так и не смог заставить себя это посмотреть.

Мои новостные ленты были завалены обсуждениями, восхищением и критикой выпуска. Каждый раз читая что-то об этом, я испытывал непонятную почти физическую боль. Ну хорошо, главный журналист страны рассказал про мою индустрию, но рассказал не так, как хочу я. С этим можно жить. Да, со всей своей преисполненностью и трушной технарскостью, я все ещё маленький завистливый чмошник. Я тоже хочу сидеть в кофейне в Пало-Альто и смотреть, как мне выписывают чек на пять миллионов долларов. Но смотрите, я вырос в России и давно научился не обращать внимания на свою патологическую зависть. Мне давно не бывает от нее больно.

Бомбанул я точно не от зависти — и я долго не знал, почему.
Читать дальше →
Всего голосов 423: ↑334 и ↓89+245
Комментарии970

Accessibility. Как сделать приложение доступным для пользователей с ограниченными возможностями

Время на прочтение10 мин
Количество просмотров16K

Обо мне


photo with me
Меня зовут Аня Ковтун, я UX/UI дизайнер и работаю в компании Arcadia с 2015 года. Помимо проектирования пользовательских интерфейсов, я общаюсь с заказчиками и занимаюсь составлением требований для команды разработчиков.


Предыстория


В 2018 году я работала над одним масштабным проектом по автоматизации управления ресурсами для европейского рынка. Со стороны заказчика поступил запрос на внедрение accessibility при разработке следующих версий. На тот момент для меня этот термин (в контексте IT) был незнакомым, и после нескольких часов в гугле в моем блокноте появилось много судорожно выписанных вопросов:


Что такое accessibility? А как пользователи с ограниченными возможностями взаимодействуют с вебом? Пользуются специальными приложениями? Или могут воспринимать тот же контент, что и мы? Кто заботится о них? Кто является ответственным за то, чтобы они могли полноценно воспринимать контент? Как можно сделать контент доступным? Это сложно? Можем ли мы помочь?


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

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии18

Быстрый расчет формул из Excel на C#

Время на прочтение16 мин
Количество просмотров30K
Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым проблемным моментом всегда остается интеграция таких данных с различными автоматизированными системами. Нашу команду попросили рассмотреть возможность проведения расчетов данных, используя настройки из пользовательского Excel-файла.

Быстрый расчет формул из Excel на C#

Если вам необходимо выбрать производительную библиотеку для работы с Excel-файлами или вы ищете решение для расчета сложных финансовых (и не только) данных с удобным инструментом управления и визуализации формул из коробки, добро пожаловать под кат.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии10

V&V not for vendetta

Время на прочтение13 мин
Количество просмотров598


Over the past six years, I have worked on developing and acceptance testing of the applications for conducting and supporting clinical trials. Applications of various sizes and complexity, big data, a huge number of visualizations and views, data warehousing, ETL, etc. The products are used by doctors, clinical trials management and people who are involved in the control and monitoring of research.

For the applications that have or can have a direct impact on the life and health of patients, a formal acceptance testing process is required. Acceptance test results along with the rest of the documentation package are submitted for audit to the FDA (Food and Drug Administration, USA). The FDA authorizes the use of the application as a tool for monitoring and conducting clinical trials. In total, my team has developed, tested and sent to the production more than thirty applications. In this article, I will briefly talk about acceptance testing and improvement of tools used for it.

Note: I do not pretend to be the ultimate truth and completely understand that most of what I write about is a Captain Obvious monologue. But I hope that the described can be useful to both the entry level and the teams that encounter this in everyday work, or at least it may make happy those who have simpler processes.
Read more →
Всего голосов 2: ↑1 и ↓10
Комментарии0

V&V не значит вендетта

Время на прочтение13 мин
Количество просмотров2.9K


На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и тому подобное. Продуктом пользуются врачи, менеджмент и люди, которые участвуют в контроле и наблюдении за исследованиями.

Для приложений, которые оказывают или могут оказать прямое влияние на жизнь и здоровье пациентов, обязателен формальный процесс приёмочного тестирования. Результаты приёмочного тестирования вместе с остальным пакетом документации предоставляются для аудита в FDA (Food and Drug Administration, США). FDA выдаёт разрешение на использование приложения в качестве инструмента контроля и проведения клинических исследований. В общей сложности в моей команде разработано, протестировано и отправлено в продакшен более тридцати приложений. В данной статье я коротко расскажу о приёмочном тестировании и развитии инструментов в одной отдельно взятой маленькой группе.

Note: я не претендую на истину в последней инстанции и прекрасно понимаю, что большая часть того, о чём я пишу, — монолог Капитана Очевидность. Но я надеюсь, что описанное окажется полезным и начальному уровню, и командам, которые сталкиваются с этим в повседневной работе, или хотя бы порадует тех, у кого процессы попроще.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Screenplay — не Page Object'ом единым

Время на прочтение9 мин
Количество просмотров18K

Со временем вносить изменения в любой продукт становится сложнее, и растёт риск не только зарелизить новые фичи, но и сломать старые. Часто вместо того, чтобы руками проверять весь проект, этот процесс стараются автоматизировать. Если поговорить с людьми, которые занимаются тестированием интерфейсов, походить по конференциями, становится понятно, что в мире веб-тестирования правит Selenium, а в качестве организации кода подавляющее большинство используют Page Object.


Вот только мне, как программисту, этот паттерн и код, который я видел у разных команд, почему-то никогда не нравился — в голове звучали буквы SOLID. Но я уже был готов смириться с тем, что тестировщики пишут код, как им удобно, из-за отсутствия альтернатив, как где-то год назад, на Angular Connect, услышал я доклад, посвящённый тестированию Angular приложений c использованием Screenplay паттерна. Теперь хочу поделиться.


Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии1

Введение в реактивное программирование

Время на прочтение11 мин
Количество просмотров48K
Здравствуйте. В этой статье я пробегусь галопом по Европам, а именно — расскажу, что понимают под реактивным программированием, познакомлю с акторами, реактивными потоками, и наконец, при помощи реактивных потоков мы сделаем распознавание мышиных жестов, как в старой Opera и её духовном наследнике — Vivaldi.

Цель — познакомить с основными концепциями реактивного программирования и показать, что не всё так сложно и страшно, как может показаться на первый взгляд.

image
Источник
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии20

Meeting Room Little Helper

Время на прочтение6 мин
Количество просмотров10K
Сегодня я расскажу вам о приложении, которое создавалось в «Аркадии» для удобства бронирования переговорных комнат.



Есть два основных сценария использования этого приложения:

1. Поиск свободной комнаты
Ежедневно в компании проходит множество митингов, переговорки бронируют менеджеры, разработчики и сотрудники HR-отдела. Поиск комнаты для митинга может быть довольно долгим и рутинным занятием. Чтобы понять, какая из комнат свободна в данный момент, необходимо зайти в календарь Outlook (или открыть дверь, отвлекая внимание участников проходящего совещания), просмотреть полное расписание по комнатам, найти свободный слот времени и создать appointment. За это время кто-то из сотрудников может забронировать комнату, и тогда необходимо начинать поиск заново. Гораздо удобнее сделать бронирование нажатием одной кнопки при помощи приложения, заранее получив подсказки о статусе комнат.

2. Ad hoc бронирование
Довольно часто возникает ситуация, когда нужно собраться минут на 15, чтобы коротко обсудить текущие задачи по проекту. В этом случае нет смысла занимать комнату на целый час, да может и не быть свободных слотов на выбранное время. Но если остаётся хотя бы 10 минут до следующего митинга, приложение позволит забронировать комнату, и для короткого митинга этого может быть вполне достаточно. Также иногда возникает ситуация, когда комната была забронирована на долгий срок, например, 2 часа, но митинг завершился раньше. В этом случае по завершении митинга можно нажать на кнопку отмены и освободить комнату.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии12

Воспроизведение зашифрованных файлов с дешифровкой “на-лету” на iOS

Время на прочтение5 мин
Количество просмотров6K
image

В процессе разработки приложения на фрейворке Sencha Touch для платформы iOS потребовалось реализовать воспроизведение локальных видео и аудио файлов, которые должны быть зашифрованы на сервере перед скачиванием в память мобильного устройства. Дополнительным условием был запрет на создание дешифрованной версии файла на диске, таким образом появилась необходимость делать расшифровку и чтение данных в оперативной памяти. Поэтому стандартный плагин от Cordova для воспроизведения локальных медиа файлов не подходил, хотя опыта разработки на Objective C у меня не было, я решил создать свой, обладающий требуемым функционалом.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии2
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность