Для защиты от несанкционированного доступа к своему Nexus 4 я использую стандартную блокировку экрана с паролем. Но пароль приходится постоянно вводить вручную, а это немного напрягает. Блокировка с помощью графического ключа меня не впечатлила, так же как и PIN-код (слишком мало возможных комбинаций). Хотелось сильную защиту, с сохранением скорости разблокировки. Именно по этой причине я решил присмотреться к технологии NFC.
@avgxread-only
User
С камерой в облака. Часть 2
26 min
253KTutorial

Спасибо каждому, кто читал и комментировал первую часть. Благодаря вам, продолжение будет еще интереснее. Если еще не читали — рекомендую это сделать. Там мало текста, и есть классные видео.
Изначально планировалось, что эта часть будет завершающей. Но, для удобства попадания в скролл, сейчас остановимся лишь на этих вопросах:
- Тренировки. Вырабатывание летных навыков.
- Выбор модели: самолет, вертолет или мультикоптер?
- Выбор конкретной конструкции и размера
- Моторы и ESC
- Полетный контроллер
Как обычно, сразу к делу.
+169
С камерой в облака. Часть 1
6 min
242K
Многие из нас размышляли об установке камеры на летательный аппарат. Вот я и прошел этот путь. Углубившись в тонкости видеополетов от первого лица (FPV), делюсь полученными знаниями с теми, кто тоже хочет испытать новые ощущения.
Пост состоит из 2 частей. В первой — ответы на основные вопросы. Их легко найти в интернете по-отдельности, но сложно вместе: дальность полета (чем ограничивается и какая максимальная), качество картинки, грузоподъемность, стоимость и сроки (от выделения бюджета до первого полета).
Вторая часть (сейчас в процессе) — о сборе конкретной системы со всеми тонкостями, какие мне только удалось найти и испробовать. Что именно и где купить, как расположить на модели, зачем и что экранировать, где требуются ферритовые кольца, а где виброгасители.
Ну что же, перейдем сразу к делу.
+150
+220
Geotagging — привязка фотографий к карте
9 min
39K
Возможность просмотра привязанных к картам фотографий предоставляет большинство современных фото-хостингов — PicasaWeb, Flickr, Яндекс-Фотки и прочие, да и десктопные программы подтягиваются, например Picasa.
+20
Cocos2d-x: Сборка проекта под Android
4 min
31KВ предыдущей статье мы узнали, как легко начать писать свою игру, используя кроссплатформенный движок cocos2d-x и научились запускать наше приложение на платформе Win32. Но этого не достаточно, ведь основная цель, разработка для мобильных устройств. В этой статье мы соберем проект под операционную систему Android.
+26
Continuous Integration для Android
7 min
18KПосле реализации пары проектов под Android, стало понятно, что, несмотря на их небольшие размеры и кажущуюся простоту, без автоматизированных сборок и тестирования не обойтись. Родилось желание получить следующие возможности:
- unit тестирование,
- интеграционное тестирование,
- тестирование интерфейса,
- тестирование этих типов тестов на различных версиях Android и конфигурациях девайсов,
- рассылка по email в случае сломанного билда;
- таже не помешает автоматическая сборка релизов.
+32
Ужесточение правил для разработчиков Google Play. Полный запрет push-рекламы
8 min
60KTranslation
Google вводит крупное обновление для разработчиков контента Play Store, устраняет рекламу из панели уведомлений (на этот раз точно) и другое.

На днях компания Google выпустила крупное обновление правил программы для разработчиков приложений для Google Play. Неважно, кто вы — пользователь или разработчик — следует знать об этих измнениях. Политика в отношении контента в основном сводится к гугловскому подходу «Это то, что мы не разрешаем в Play Store». Теперь вы понимаете, насколько важно быть в курсе. Google регулярно вносит обновления в эту политику, но, я думаю, это самое грандиозное изменение, которое мы могли только наблюдать. Было затронуто и изменено множество областей, что повлекло за собой значительные последствия.
+65
Twitter.Bootstrap.MVC4 – пакет Twitter Bootstrap для ASP.NET MVC 4
2 min
32K
Я хочу рассказать о NuGet пакете, который пригодится тем, кто решил создать приложение на связке ASP.NET MVC 4 и Twitter Bootstrap. Этот пакет не только добавит ресурсы Twitter Bootstrap в проект, но и предоставит готовые способы решения часто возникающих задач.
+28
История плохого старта — вариант «Все сам»
5 min
57K
+53
HoloEverywhere
2 min
20KВот признайтесь: читая Android Interface Guidelines, вам не приходила мысль, что это все, конечно, офигенно, но на старые (2.3 <) Андроиды приходиться перелопачивать половину стилей, чтобы смахивало на Holo интерфейс?
Или так: в последнем Андроиде есть ну просто офигенная фича, а вам вот нужно ее использовать?
Самое первое, что приходит на ум: ActionBar и ActionBarSherlock.
ABS — это замечательно, но одним ActionBar не отделаешься. Мы хотим Holo тему, а не только Holo бар, блин.
Эх, такой привлекательный ActionMode на списках чего стоит…
Позвольте представить вам HoloEverywhere — проект, целью которого является портирование Holo стиля, Holo виджетов и других фишек на Android 1.6 и старше.
Или так: в последнем Андроиде есть ну просто офигенная фича, а вам вот нужно ее использовать?
Самое первое, что приходит на ум: ActionBar и ActionBarSherlock.
ABS — это замечательно, но одним ActionBar не отделаешься. Мы хотим Holo тему, а не только Holo бар, блин.
Эх, такой привлекательный ActionMode на списках чего стоит…
Позвольте представить вам HoloEverywhere — проект, целью которого является портирование Holo стиля, Holo виджетов и других фишек на Android 1.6 и старше.
+35
HoloEverywhere 1.6.8
6 min
11KTutorial

Всем единообразия, или доброго времени суток!
Листая тут хабр наткнулся на статейку Подключение шрифтов в своем проекте автора mcavalon, думал подчерпнуть чего-нить интересное… Но увидев очередной TextView.setTypeface how-to, зевнул и пошел читать другую статью (@rus1f1kat0r, привет кстати :)).
Так вот, несколько минут назад (на момент написания этих строк это были еще минуты, а не часы, совершенно непреднамеренно меня выдернули девушки) я выпустил HoloEverywhere 1.6.8, основной фичей этого релиза является продвинутый FontLoader, ну и еще несколько плюшек, как всегда.
+31
Как устроена apache cassandra
13 min
243K
В этом топике я хотел бы рассказать о том, как устроена кассандра (cassandra) — децентрализованная, отказоустойчивая и надёжная база данных “ключ-значение”. Хранилище само позаботится о проблемах наличия единой точки отказа (single point of failure), отказа серверов и о распределении данных между узлами кластера (cluster node). При чем, как в случае размещения серверов в одном центре обработки данных (data center), так и в конфигурации со многими центрами обработки данных, разделенных расстояниями и, соответственно, сетевыми задержками. Под надёжностью понимается итоговая согласованность (eventual consistency) данных с возможностью установки уровня согласования данных (tune consistency) каждого запроса.
NoSQL базы данных требуют в целом большего понимания их внутреннего устройства чем SQL. Эта статья будет описывать базовое строение, а в следующих статьях можно будет рассмотреть: CQL и интерфейс программирования; техники проектирования и оптимизации; особенности кластеров размещённых в многих центрах обработки данных.
+73
AMQP-REST
2 min
6.9Kпро AMQP говорили много. Очередная разработка, ориентированная на AJAX.
Возможности:
Данные возвращаются в JSON.
Возможности:
- читать из очереди одно сообщение
- читать из очереди все сообщения
- узнать длинну очереди
- публиковать сообщение в обмен
Данные возвращаются в JSON.
+4
Обзор мобильного приложения «ЖД билеты» для платформы Android
10 min
38KМы продолжаем разбирать приложения из Google Play. Представляем вашему вниманию второй обзор из серии практических рекомендаций по улучшению дизайна, архитектуры и эргономичности интерфейса приложений для Android. Обзоры подготовлены совместно с компанией UsabilityLab.
Приложение «ЖД билеты» является пока первым приложением в Google Play, с помощью которого можно купить билеты на поезд. Через приложение можно найти билет, оплатить его банковской картой и сразу пройти электронную регистрацию.
Обращаясь к отзывам в Google Play, мы видим, что пользователи не очень довольны данным приложением. Вот отзыв пользователя Yuriy Turchin:
Далее мы расскажем о ключевых проблемах приложения и дадим рекомендации по их устранению.
О приложении
Приложение «ЖД билеты» является пока первым приложением в Google Play, с помощью которого можно купить билеты на поезд. Через приложение можно найти билет, оплатить его банковской картой и сразу пройти электронную регистрацию.

Обращаясь к отзывам в Google Play, мы видим, что пользователи не очень довольны данным приложением. Вот отзыв пользователя Yuriy Turchin:
Средняя оценка приложения – 2.4 из 5.«Не работает толком и ещё такие высокие наценки за приложение. Назвали сервисными сборами — поборы за сырой продукт».
Далее мы расскажем о ключевых проблемах приложения и дадим рекомендации по их устранению.
+36
Беседа Линуса Торвальдса со студентами университета Аалто (23.10.2012)
35 min
47KRecovery Mode
Приветствую, Хабр!
Однажды я наткнулся в YouTube на это видео с Линусом Торвальдсом и с огромным удовольствием его посмотрел, узнал много интересного для себя и к своему удивлению обнаружил, что на Хабре оно осталось незамеченным, особенно учитывая то, что предыдущее его общение со студентами из этого университета многим хорошо известно из-за случая внезапного пиара nVidia со стороны Линуса. Не знаю, может я плохо искал, но, в любом случае, беседа ведется на английском языке и длится более часа и, возможно, кто-то из вас не очень хорошо им владеет, поэтому я решил перевести ее для вас в текст на русском языке и опубликовать на Хабре. Итак, тем, кто хочет узнать что сейчас Линус делает в Linux, как он борется с прокрастинацией, что он думает о Linux на мобильных устройствах, что для него важнее в Linux, юзабилити или безопасность, как он относится к производителям железа, на чем зарабатывает, как отдыхает, программируют ли его дети и многое-многое другое — добро пожаловать под кат!
+114
Разработка web API
9 min
291KTranslation
Интро
Это краткий перевод основных тезисов из брошюры «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 для работы с отдельной собакой
+213
Модификация стоковых прошивок для Android. Часть 1
9 min
290KЗдравствуй Хабр!
Несколько лет назад, когда я впервые познакомился с Android, я услышал от своего коллеги по работе, что Android предусматривает возможность установки модифицированных или самодельных прошивок. Признаться, тогда я был далек от этого. И даже пол года назад меня едва интересовали подобные вещи. Глубоко в душе, я был уверен: то, что делает производитель, уже предназначено для нормального использования.
Каково же было мое разочарование, когда я приобрел телефон из поднебесной, где заводскими настройками было запрещено использование Google, Skype, Facebook и других приложений. В принципе, на некоторые вещи можно было закрыть глаза, но когда мой телефон не подразумевал использование учетной записи Google — я взял с себя обещания обязательно разобраться во что бы мне это не стало.
Прошло пол года и мои кастомные прошивки с успехом используются по всему миру.
В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.
Несколько лет назад, когда я впервые познакомился с Android, я услышал от своего коллеги по работе, что Android предусматривает возможность установки модифицированных или самодельных прошивок. Признаться, тогда я был далек от этого. И даже пол года назад меня едва интересовали подобные вещи. Глубоко в душе, я был уверен: то, что делает производитель, уже предназначено для нормального использования.
Каково же было мое разочарование, когда я приобрел телефон из поднебесной, где заводскими настройками было запрещено использование Google, Skype, Facebook и других приложений. В принципе, на некоторые вещи можно было закрыть глаза, но когда мой телефон не подразумевал использование учетной записи Google — я взял с себя обещания обязательно разобраться во что бы мне это не стало.
Прошло пол года и мои кастомные прошивки с успехом используются по всему миру.
В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.
+81
Модификация стоковых прошивок для Android. Часть 2
10 min
79KЗдравствуй Хабр!
После написания первой части, в течение всей недели я размышлял о том, стоит ли писать о том что обещал или же по просьбе некоторых читателей дать разъяснения и объяснения по поводу некоторых, на мой взгляд базовых, вещей.
Не хотелось бы, но придется некоторых из вас расстроить. Писать самому — займет слишком много времени и сил, «копипастить» я не люблю больше всего, а делать из статьи кучу ссылок на разные ресурсы — будет моветон.
Например, описывать как происходит загрузка Android в данной статье будет не уместно. Если вы знаете принцип инициализации аппаратного обеспечения вашего компьютера в BIOSе, а затем его загрузка через ядро системы, то Android в этом плане ничем не отличается. Разница лишь в процессорной архитектуре. Структура файловой системы? Ну господа, это же чистой воды UNIX система, и писать где, что и как хранится — абсурдно! Править build.prop — это тюнинг системы. Да, это модификация, но большую часть этих параметров можно сделать сторонними приложениями, причем удобными для пользования, например System Tuner.
Понять самому принципы системы Android заняло у меня пару месяцев, столько же займет времени и писать статьи, чтобы осветить все базовые вещи. Так что давайте лучше будем писать о конкретных примерах как разбирать Dalvik код и создавать на телефоне удобства «пользования».
И так, поехали! Сегодня я расскажу как я реализовал функционал автоматической записи телефонных разговоров родными средствами.
После написания первой части, в течение всей недели я размышлял о том, стоит ли писать о том что обещал или же по просьбе некоторых читателей дать разъяснения и объяснения по поводу некоторых, на мой взгляд базовых, вещей.
Не хотелось бы, но придется некоторых из вас расстроить. Писать самому — займет слишком много времени и сил, «копипастить» я не люблю больше всего, а делать из статьи кучу ссылок на разные ресурсы — будет моветон.
Например, описывать как происходит загрузка Android в данной статье будет не уместно. Если вы знаете принцип инициализации аппаратного обеспечения вашего компьютера в BIOSе, а затем его загрузка через ядро системы, то Android в этом плане ничем не отличается. Разница лишь в процессорной архитектуре. Структура файловой системы? Ну господа, это же чистой воды UNIX система, и писать где, что и как хранится — абсурдно! Править build.prop — это тюнинг системы. Да, это модификация, но большую часть этих параметров можно сделать сторонними приложениями, причем удобными для пользования, например System Tuner.
Понять самому принципы системы Android заняло у меня пару месяцев, столько же займет времени и писать статьи, чтобы осветить все базовые вещи. Так что давайте лучше будем писать о конкретных примерах как разбирать Dalvik код и создавать на телефоне удобства «пользования».
И так, поехали! Сегодня я расскажу как я реализовал функционал автоматической записи телефонных разговоров родными средствами.
+62
Настраиваем NGINX для мультиязычных сайтов
4 min
27KTutorial

Уже давно считается хорошим тоном отдавать контент сайта на языке, предпочитаемом пользователем. Некоторые сервера определяют язык по месту нахождения пользователя с помощью модулей геолокации, остальные берут настройки браузера. Языковые предпочтения пользователя часто сохраняются в cookie, и затем используются при повторном визите.
Какой метод определения языка пользователя подходит лучше – вопрос достаточно спорный. Мой личный ранг значимости языковой информации (в порядке убывания): cookie, настройки браузера, регион.
Для поисковых систем, социальных сетей и прочих агрегаторов информации важно знать, на каком языке должна быть проиндексирована или загружена страница, например в качестве миниатюры в хронику фейсбука. Это значит, что ссылка должна однозначно указывать на язык.
Распространенные варианты кодирования языковой информации о ресурсе следующие:
- каждая языковая версия на отдельном субдомене, например
en.example.com
,ru.example.com
- язык ресурса указывается в префиксе URI, например
example.com/en/
,example.com/ru
- язык ресурса указывается в GET параметре, например
example.com?lang=en
,example.com?lang=ru
Первый вариант наиболее радикальный, каждая языковая версия сайта рассматривается как отдельный ресурс. Могут возникнуть сложности с SSL сертификатом, необходимо заранее предусмотреть все возможные варианты в SAN DNS Host Name, или заказать сертификат с маской, например *.example.com.
Второй вариант наиболее практичный, выбор языка входит в URI, значит, не будет проблем с индексацией и копированием ссылки.
Третий вариант выглядит менее привычно, требует дополнительной логики при добавлении остальных GET параметров и может смутить пользователя при копировании ссылки. Не самый лучший вариант для публичных ссылок.

Я расскажу о реализации второго варианта на базе сервера NGINX. При минимальных изменениях можно применить описанные настройки и для первого варианта.
+45
Information
- Rating
- Does not participate
- Registered
- Activity