пятница, 24 января 2014 г.

REST под Android. Часть 2: разрабатываем API

Первая часть статьи была посвящена вопросу реализации клиентского REST-приложения под Android. Корректная реализация требует использования одного из паттернов, предложенных Virgil Dobjanschi. Существует ряд подходящих библиотек, способных облегчить эту задачу. Наиболее интересной из них мне показалась RoboSpice.

Прежде чем переходить к разработке тестового проекта на RoboSpice, необходимо определиться с API для тестового проекта. Разумеется, можно взять одно из готовых API - благо их сейчас сотни. Однако гораздо интереснее написать свое, тем более, что это нетривиальный процесс. Рассмотрим, как пишутся REST API, какие инструменты для этого существуют, и попробуем реализовать простейшее тестовое API.

пятница, 17 января 2014 г.

REST под Android. Часть 1: паттерны Virgil Dobjanschi

В одном из проектов появилась необходимость написать REST-приложение под Android. Каким путем пойти, какие Android-особенности учесть, на какие библиотеки опереться в работе? Пришлось провести исследование. Результатами хочу поделиться.

суббота, 11 января 2014 г.

Сдача налоговой отчетности ИП (УСН 6%) за 2013 год

Год закончился, до 30 апреля нужно подать декларацию по ИП. Как всегда, в этом году в отчетности есть кое-какие изменения:
  • ОКАТО заменили на ОКТМО,
  • отменили необходимость подачи "сведений о среднесписочной численности работников" для ИП-шников, у которых в течении года не было работников.
В остальном, похоже, все как в прошлые годы.
P.s. Не забудьте скачать свежую версию программы Налогоплательщик ЮЛ.

пятница, 3 января 2014 г.

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

О пользе и преимуществах методики контрактного программирования (Design by Contracts, DBC) написано много. Вот несколько хороших статей: Основная идея методики: улучшить надежность программного обеспечения за счет определения контрактов между взаимодействующими программными компонентами. Для метода задается контракт, который описывает:
  • пред-условия, которым должен соответствовать вызывающий код;
  • пост-условия, которые гарантируются методом.
Некоторые преимущества, которые обеспечивает DBC:
  • Повышение надежности программы за счет систематической и гарантированной проверки входных данных.
  • Исключение лишних проверок в коде. Корректность данных проверяется в методе, а не в вызывающем коде.
  • Автоматическое документирование кода, создание спецификации API программного модуля.
  • Косвенно: повышение эффективности статического анализа кода.
Вариантов реализации DBC для Java достаточно много. Обзорные статьи на эту тему: Однако, Java - это Java, а Android - это Android. Как всегда, под Android есть своя специфика. В данной статье я хочу рассмотреть практические подходы для реализации технологии DBC при программировании на Android.