Как стать автором
Обновить
2
0

Пользователь

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

Deep Dive Into Deep Link. Часть 1. Введение и исходная задача

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

Давно хотели разобраться, как работают Deep Link-и? Мы стартуем новый цикл статей, который посвящен работе Deep Link в Android. В первой части мы зафиксируем основные понятия: ​​Deep Link, Web Link, App Link. Разберем особенности каждого вида Deep Link-ов и разницу между ними.

Читать лонгрид

Как я нахожу парковочное место за 5 секунд

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

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

Читать далее

Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения

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

Всем привет! Меня зовут Андрей Нестеров, я занимаюсь компьютерным зрением в  применении к мобильным приложениям (ML на конечных устройствах) в компании Friflex и работаю продуктами по оцифровке спорта. Я стал замечать, что в обычной жизни не хватает технологий компьютерного зрения. Например, мне бы хотелось замерять, сколько времени я провожу за компьютером или трачу на сон. Но отслеживать эти действия можно и самостоятельно. С тех пор я начал думать о том, что действительно будет полезным, какую проблему можно было бы успешно решить с помощью технологий. Такая проблема вскоре нашлась.

Читать далее

Как мы упростили подготовку данных для тестирования

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

Привет, Хабр! Меня зовут Сергей Петровский, я руководитель IT-направления в СберТехе — компании, которая строит цифровой фундамент Сбера.

Мы создаём Platfrom V — облачную платформу с готовой средой разработки, компонентами и инструментами для быстрого создания бизнес-приложений. В этой статье расскажу об одном из сервисов Platform V, который решает проблему подготовки тестовых данных при тестировании сложных интеграционных сервисов.

SyntWork, о котором пойдёт речь, входит в семейство инструментов Platfrom V Works для agile-разработки. Эта статья — первая в цикле материалов о Works. В следующих статьях расскажем про другие инструменты: в Works много сервисов для agile-разработки, и каждый достоин отдельного материала.

Поехали!

Читать далее

Пишем стратегию тестирования для Agile/Scrum-проекта

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

Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю над проектом WASD.TV. В этой статье я моделирую стратегию тестирования для Agile/Scrum-проекта. Она может быть полезна небольшим командам, работающим по такой методологии. Стратегия проста, но не универсальна, вы можете дополнить ее на свое усмотрение.

Подробности – под катом.

Читать далее

Команда awk – примеры использования в Linux и Unix

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

В этом базовом руководстве вы узнаете самые основы команды awk, а также увидите некоторые способы её использования при работе с текстом, включая вывод содержимого файла, а также его конкретных столбцов, строк и слов по указанным критериям. Приступим!
Читать дальше →

Android Studio. Kotlin. Подключение Google календаря через Content Provider

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

Подробно с демонстрацией своего кода рассказываю о том, как я реализовал в своем приложении на Kotlin добавление, редактирование, удаление и чтение событий из Google календаря при помощи Content Provider. Описываю "грабли", на которые наступал, не найдя в сети помощи и поддержки в тяжелое для себя время...

Читать далее

Менторство в QA: как погрузить новых сотрудников в проектную работу

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

Привет! Меня зовут Наталья, в QA я с 2010 года. За это время была тестировщиком, QA, QA Lead, спикером на курсах по тестированию, ментором. С 2018 года возглавляю группу менторов в направлении QA компании SimbirSoft. Мы с командой развиваем внутреннюю программу обучения для новых сотрудников (Примечание. Ниже по тексту мы их иногда будем называть менти). В статье расскажем, какие подходы оказались эффективными у нас – возможно, они будут полезны и вам. 

Наш опыт учитывает особенности заказной разработки: нужны специалисты, готовые влиться в самые разные проекты – от банков до промышленного ПО, с командами от 3 до 100+ человек. В статье рассмотрим, что нужно знать менторам в QA, как составить программу обучения, выстроить непрерывный процесс передачи знаний и погружения в проект. Также наши коллеги поделятся своими лайфхаками.

Читать далее

Использование Gatling. Тестирование gRPC

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

Всем привет! Команда тестирования производительности Тинькофф продолжает цикл статей о нагрузочном тестировании различных протоколов с помощью Gatling.

В прошлой статье мы показали, как протестировать JDBC-протокол с помощью Gatling. В этой — разберем протокол gRPC.

Читать далее

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек

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

Привет, Хабр! 

Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.

Внедрение Trunk-Based Development и Feature Flags

В процессе работы над большими приложениями, в которых много фич и над которыми трудится большая команда разработчиков, часто приходится сталкиваться с такой проблемой как конфигурация приложения помощью фича-флагов. Мы в QIWI столкнулись с этим два года назад, когда в QIWI Кошельке было создано несколько feature-команд. Выяснилось, что разрабатывать новые фичи с помощью стандартных feature-веток не так удобно, потому что когда над одним проектом работает несколько feature-команд, ветки становятся достаточно объёмными. Потом смержить их в мастер становится довольно непростой задачей, появляются постоянные конфликты. 

Поэтому мы решили перейти на Trunk-Based Development (TBD). TBD предлагает работать в небольших ветках и, желательно, чтобы они как можно быстрее были влиты основную ветку. Для этого, конечно же, реализацию нового функционала нужно оформлять небольшими пулл-реквестами, чтобы они быстро проходили ревью и были влиты в основную ветку. Это, в свою очередь, создает другую проблему — когда в главной ветке может появиться код, который ещё не готов к релизу, но при этом нам нужно как-то релизить с этим кодом приложение. Мы же релизы выпускаем достаточно часто. И для этого TBD предлагает пользоваться такими подходами, как Branch by Abstraction (BBA) и Feature Flags (FF).

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

Читать далее

Простой поиск дубликатов изображения

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

Существует множество проверенных решений, основанных на разных алгоритмах. Этот пример использует элементы машинного обучения, текущий уровень развития инструментов, позволяет с минимальными усилиями решать "бытовые задачи". В качестве меры сходства - косинусное сходство. Сравнение многомерных массивов (изображение в цифровом пространстве), ресурсоемкий процесс, поэтому, применяем обученную свёрточную нейронную сеть для уменьшения размерности с учетом важных пространственных признаков. Библиотека keras содержит готовые модели под разные задачи, этот пример задействует архитектуру VGG16 обученную на данных imagenet. Вход в сеть (N, 224, 224, 3), выход (1, 512).

Читать далее

Динамика в деле: интерактивные графики в Dash

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

Dash представляет собой фреймворк для визуализации данных и построения веб-приложений, понятен и довольно прост в применении. Может быть интересен тем, кто хочет использовать интерактивные графики для анализа данных с помощью Python. Рассмотрим построение таких графиков с применением обратных вызовов в Dash.

Читать далее

Как использовать Kotlin Multiplatform ViewModel в SwiftUI и Jetpack Compose

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

Мы в IceRock Development уже много лет пользуемся подходом MVVM, а последние 4 года наши ViewModel расположены в общем коде, за счет использования нашей библиотеки moko-mvvm. В последний год мы активно переходим на использование Jetpack Compose и SwiftUI для построения UI в наших проектах. И это потребовало улучшения MOKO MVVM, чтобы разработчикам на обеих платформах было удобно работать с таким подходом.

30 апреля 2022 вышла новая версия MOKO MVVM - 0.13.0. В этой версии появилась полноценная поддержка Jetpack Compose и SwiftUI. Разберем на примере как можно использовать ViewModel из общего кода с данными фреймворками.

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

Читать далее

Установка Shadowsocks с обходом блокировок на Keenetic

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

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

Читать далее

Альф, переведи мне на телефон миллион рублей

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

Или нюансы тестирования и разработки голосового помощника в банковском приложении.

А нюансов достаточно. Например, однажды мы тестировали модуль Яндекса, который закрывает звёздочками нецензурные слова в диалоге с голосовым помощником. Он работает в нашем приложении Альфа-Мобайл с октября 2021 и его зовут Альф (Alf). Он умеет оплачивать счета, переводить на телефон и озвучивает курс доллара голосом Геральта — Всеволода Кузнецова. 

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

Читать далее

Открываем шлагбаум кнопкой на руле автомобиля

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

Привет, Хабр!

Я живу в Москве и у меня во дворе, как и у многих, установлен шлагбаум. Некоторое время назад я задался вопросом, как мне упростить процесс его открытия? Хотелось, чтобы можно было добавлять это действие в сценарии умного дома, открывать по кнопке в авто, давать друзьям возможность открывать его самостоятельно и т.д. Частично я решил проблему еще в прошлом году, но недавно всё "допилил" и решил поделиться.

Читать далее

Gatling. Тестирование JDBC

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

Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще мы написали вводную статью, из которой можно узнать, что такое Gatling и как мы его используем. В этой статье мы поговорим о работе Gatling с протоколом JDBC.

Читать далее

Найти за полсекунды: сравниваем похожие фотографии

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

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

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

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

Читать далее

Топ вопросов работодателю от Android-разработчика

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

Представьте: вы на собеседовании, только что закончили отвечать на кучу вопросов и были на высоте. Наконец наступает ваш черед задавать ваши вопросы работодателю. Не знаю как вы, а я в таких ситуациях часто начинал теряться и забывал самое важное, о чем стоило бы спросить. Однако, собеседование – это двустороннее общение, а значит, не только работодатель собеседует вас, но и вы – работодателя. 

Меня зовут Костя, я – Android-техлид в hh.ru, и сегодня я расскажу об идеальных вопросах от Android-разработчика на собеседовании. Объясню, почему я выбрал именно эти вопросы, на что обращать внимание в ответах работодателя, а также отвечу на них так, как мы отвечаем нашим Android-соискателям. Эта статья будет полезна не только мобильным разработчикам, но и специалистам других направлений, которые проходят собеседования.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность