Как стать автором
Обновить
10
-2
Василий Рылов @VasiliyRylov

Software Developer

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

Построение графа покрытия UI-тестами бизнес-логики на основе VisualFSM

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.8K

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

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

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

Что о мобильной разработке можно будет узнать на Mobius 2023 Spring

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

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

А кое-что остаётся привычным: это по-прежнему конференция по мобильной разработке, где в докладах не вода и общие темы, а техническая конкретика. За четыре дня докладов будет много, сейчас они уже известны — и мы представляем Хабру все их описания. Для удобства снабдили здесь описания значками 🤖 (Android), 🍏 (iOS), ♾️ (не привязанные к платформе), 🐦(Flutter). И поделили на тематические блоки (но порой это деление условное, один доклад может хорошо подходить в две категории сразу).

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

Виджет для вывода пользовательских данных на Android

Время на прочтение1 мин
Количество просмотров9.6K
Universal Widget позволяет размещать на рабочем столе Android информацию о любой из ваших систем, описанную в формате JSON. Например, статистику посещений вашего сайта, информацию о заказах в интернет-магазине, загрузку процессора на сервере и т.д.



Три простых шага для размещения информации на рабочем столе:

1) Создайте скрипт – провайдер данных в формате JSON
2) Установите Universal Widget
3) В настройках виджета задайте адрес скрипта — провайдера данных, а также интервал обновления
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии53

Программировать может каждый и в любом возрасте

Время на прочтение2 мин
Количество просмотров22K
Марк Цукерберг, Билл Гейтс, Джек Дорси и другие снялись в ролике некоммерческого фонда CodeOrg, чтобы вдохновить детей начать программировать.

Звезды Кремниевой долины рассказывают о своем первом опыте программирования и размышляют, чтобы было, если бы они могли начать программировать еще в школе.
CodeOrg призывает узнать о новой «суперсиле», которой не учат в 90% американских школ.


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

VIA Technologies запустит в продажу собственные мини-ПК

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


Похоже на то, что тема мини-компьютеров становится все более популярной. Многие производители уже заявили о намерении создать свои мини-ПК, и у некоторых компаний это получилось. Старается не отставать от других и VIA Technologies, сообщившая на днях о своем проекте, основанном на процессоре Eden X2. Этот компьютер, по словам разработчиков, предназначен для установки в автомобилях, но будет использоваться и в домашних медиа-системах или профессиональном оборудовании.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии60

Механические клавиатуры

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

А раз уж сталкиваешься с вещью регулярно, постепенно возникает вопрос — можно ли найти для работы какие-то более удобные варианты обычных клавиатур?

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10+303
Комментарии331

Почему скруглённые углы проще для восприятия

Время на прочтение3 мин
Количество просмотров21K
В наши дни дизайнеры так часто используют скруглённые углы, что их уже можно считать индустриальным стандартом, а не модным трендом. Они встречаются не только в программах, но даже в дизайне аппаратных устройств. Что же делает их такими популярными?

Все видят эстетическую красоту скруглённых углов, но не каждый способен объяснить, откуда возникает эта красота. Ответ находится буквально в наших глазах.
Читать дальше →
Всего голосов 182: ↑142 и ↓40+102
Комментарии114

Разработка и модификация прошивки для Android телефонов на примере HTC Hero GSM. Часть 1

Время на прочтение10 мин
Количество просмотров164K
Причины по которым люди ставят модифицированные версии прошивок различны. Кому-то хочется удивить друга смешной анимацией загрузки, кому-то не хватает определенного функционала (например vpn), кто-то хочет выжать максимум производительности из своего телефона за счет разгона процессора, а кто-то пять месяцев ждет новую версию операционной системы Android для своего любимого HTC Hero.
На данный момент уже существует превеликое множество самых невообразимых сборок для самых различных телефонов на базе Android. Иногда они даже появляются в той или иной форме на Хабре.
Я же хочу Вам рассказать о процессе и особенностях создания кастомной прошивки на основе официальной. Данные знания были получены в процессе разработки одной из не многих отечественных прошивок на базе Android 2.1 для HTC Hero GSM. И более или менее успешно опробованы на себе и других подвернувшихся пользователях одного крупного российского форума.
Не смотря на то, что все нижеследующее было сделано для HTC Hero, данные правила и особенности имеют полную силу для всех телефонов, особенно тех, которые разработаны компанией HTC и используют фирменную оболочку Sense.
Для экспериментов нам понадобится:
  • Android SDK желательно последней версии
  • Утилита apktool для реинжениринга системных приложений
  • Утилиты smali/baksmali для де-оптимизации системных приложений
  • Утилита unyaffs для извлечения системных файлов из образа
  • Скрипт split_bootimg.pl для извлечения ядра и ramdisk-а
  • Утилита testsign для подписывания пакета обновления и отдельных приложений
  • установленное и настроенное JRE
  • телефон с операционной системой Android
  • права суперпользователя и модифицированная подпрограмма восстановления (recovery rom)

Все вышеперечисленное доступно в версиях как для системы Linux так и для Windows. Но в своих примерах я буду ориентироваться на использование Linux.
Конечно же ни root-права ни recovery нам не нужен для того, чтобы начать разработку, однако если мы захотим опробовать наше творение, они нам понадобятся. Для HTC Hero можно использовать RA-hero-v1.6.2.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии46

JavaScript to APK. Подводные камни разработки под Android для тех, кого задолбал PhoneGap. Построение мостов из Java в JavaScript

Время на прочтение8 мин
Количество просмотров60K
Привет, Хабра!

Я люблю игры на JavaScript и стараюсь сделать их код пуленепробиваемыми для портирования на все платформы. Полгода назад я уже писал о сборке Android приложений и сегодня хотел бы раскрыть тему более подробно.

Сразу предупрежу, что мне пришлось отказаться от PhoneGap, т.к. опыт использования его в двух проектах меня огорчил. Он отлично справляется с «Hello World» приложениями, но при конвейерной сборке всего подряд всплывают нюансы.

Почему PhoneGap не пошел:
1. Он изначально пустой. Постоянно приходится подключать все новые и новые модули.
2. Многие модули написаны криво. Они либо берут много лишнего, либо ведут себя неожиданно. Например, из двух модулей под Android для отправки SMS, один не работал, второй — отправлял true при любых условиях.
3. Не решены элементарные вещи, вроде получения EMEI телефона. Нужно постоянно допиливать.


Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии30

Ежемесячные расходы дизайн-студии на электроные сервисы

Время на прочтение2 мин
Количество просмотров46K
Поговорим о ежемесячных тратах на электронные сервисы, которые необходимы для работы небольшой студии с удалённой командой, занимающейся дизайном в интернете. Давайте посмотрим, какими платными сервисами мы пользуемся в Genue.



50$. Basecamp



image

Простая и удобная система управления проектами от команды 37signals. Это основной инструмент взаимодействия как внутри студии, так и с заказчиками. Все задачи заводятся в виде простых списков и легко меняются местами друг с другом простым перетаскиванием. Каждая задача выглядит как публикация с комментариями. Любой может указывать, кто из команды получит уведомление на email о его комментарии. Можно ограничивать видимость некоторых задач для клиента.
Читать дальше →
Всего голосов 109: ↑100 и ↓9+91
Комментарии83

Модификация стоковых прошивок для Android. Часть 4

Время на прочтение21 мин
Количество просмотров50K
Здравствуй Хабр!

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

На прошлых скриншотах были следующие меню в моем самодельном твикере и вызвало множество приватных вопросов о реализации.

Предпочтительный слот
Выберите SIM карту на которой использовать передачу данных
Уведомление о соединении
Запретить оповещение об интернет подключении
Автоматическая запись звонков
Все звонки будут записаны стандартным диктофоном согласно его настройкам
Запретить энергосбережение
Запретить иконку энергосбережения в слайдере и статус баре
Запретить выключатели
Отключение в слайдере статус бара
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии14

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

Библиотека X.Scaffolding

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


Внимание! Обновил пакет в NuGet. Подробности в конце статьи.

С выходом Visual Studio 2013, ASP.NET MVC 5 и Entity Framework 6 возможности скаффолдинга встроенные в Visual Studio стали еще лучше. Однако до сих пор создавая новое веб-приложение приходится делать много действий, которые можно было бы автоматизировать.
Поэтому для себя и разработчиков с которыми я работаю был создан пакет X.Scaffolding позволяющий более продуктивно создавать веб-приложения. Именно на основе этого пакета у нас сейчас разрабатывается большинство новых веб-приложений для работы с данными.

Сегодня же я решил поделится этим проектом и с читателями Хабрахабра. Возможно кому-то он покажется интересным и поможет в его работе, а кто-то и сам захочет поучаствовать в его развитии.
Подробности
Всего голосов 22: ↑20 и ↓2+18
Комментарии9

Создание 1k/4k intro для Linux, часть 4

Время на прочтение11 мин
Количество просмотров32K
Доброго всего, мои избыточно терпеливые друзья!
Как очень немногие из вас помнят, во второй части мы остановились на том, что получили прямоугольник на весь экран в сколько-то там сотен байт, и теперь вот уже полтора года стоим перед проблемой заполнения пустоты в наших кодах и сердцах творчеством.

Что же всё-таки можно нарисовать с помощью всего двух треугольников? Квадрат? Фрактал? Полёт сквозь мегатонной мощности взрыв в центре города? Есть ли предел безумию, где заканчивается реальность и начинается явь? Как правильно ухаживать за лучами, чем их кормить и обо что отражать вы узнаете во внезапном продолжении цикла статей про демомейкинг!


Читать дальше →
Всего голосов 108: ↑104 и ↓4+100
Комментарии11

Алгоритм выбора STL-контейнера

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


UPD: схема заменена на вариант с контейнерами из С++11, соавторы — в комментариях ниже

Первый вариант схемы - без контейнеров из С++11

Всего голосов 86: ↑74 и ↓12+62
Комментарии54

Пульт от «Dendy» в любительских конструкциях

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

Часто радиолюбители сталкиваются с проблемой оформления выносного пульта управления устройством. Если число кнопок на нем велико, то для сокращения числа проводов в соединительном кабеле пульт оснащают шифратором команд нажатых кнопок, а устройство дешифратором. В этой ситуации может выручить старый джойстик, от некогда популярных игровых приставок «Dendy». Задача радиолюбителя сильно упрощается, так как джойстик имеет неплохой дизайн и оснащен готовым шифратором команд нажатия кнопок.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии20

Разработка web API

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

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Всего голосов 235: ↑224 и ↓11+213
Комментарии128

Основы безопасности операционной системы Android. Уровень ядра

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

Вступление


Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
Читать дальше →
Всего голосов 108: ↑102 и ↓6+96
Комментарии19

Основы безопасности операционной системы Android. Native user space, ч.1

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

Вступление


В этой статье я попробую рассмотреть безопасность чуть-чуть повыше ядра, а именно: как работает безопасность в Native user space. Мы коснемся темы процесса загрузки операционной системы и рассмотрим структуру файловой системы Android. Как я уже говорил, я не очень силен в Linux, поэтому если заметите неточности, то исправляйте — меня научите и статью улучшите. Так как эта тема довольно обширная, я решил разбить её на две части. В первой части мы рассмотрим процесс загрузки операционной системы и особенности файловой системы. Всем кому интересно, добро пожаловать!
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии29

Информация

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