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

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

      Отзывчивость, простота, гибкость и расширяемость кода — принципы, которые можно закрепить за реактивным UI.

      Наверняка, если совместить реактивные backend и UI, то можно получить качественный продукт. Именно его мы и попытались сделать, разрабатывая 2GIS Dialer — звонилки, которая работает через API и при этом должна оставаться быстрой и удобной.


      Читать дальше →
    • Провал длиною в год, или опыт разработки игры под Android

      Привет, Хабрасообщество!

      В этой статье я хотел бы рассказать о своем (уже не первом) опыте разработки игр под мобильные платформы, истории создания одной игры и полученных результатах. Как ясно из названия статьи, данный опыт можно считать провальным, но тут как посмотреть, о чем будет сказано ниже.
      Читать дальше →
    • Создание репортов о тестировании Android-приложений с помощью Spoon и Emma

      image

      Тестирование — один из самых важных этапов при разработке приложения. И приложения на Android не есть исключением. При написании кода обычно нужно его просматривать и задуматься над тем, как же его протестировать потом. Представим ситуацию, когда вам нужно покрыть тестами ваш проект, который полностью написан. Чаще всего, это не так-то просто. Скорее всего, ваш код просто-напросто не был реализован так, чтобы его было легко тестировать. Это означает, что вам придётся делать изменения в нём, чтобы сделать его поддающимся тестированию… не разрушив никакой функциональности (собственно это в наше время и называется рефакторингом (refactoring)).
      Читать дальше →
    • О правомерности работы физического лица с магазином App Store в РФ

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

        Итак, суть статьи заключается в том, чтобы понять: можно ли в РФ физическому лицу законно получать прибыль от продаж программ в App Store? Просмотр тематических форумов с подобными вопросами привел к выводу: мнения людей на этот счет расходятся. Одни считают, что можно, другие — что такая деятельность будет квалифицироваться как незаконная предпринимательская деятельность, т.к. договор от Apple — это агентский договор и в нем нет ни слова про авторские вознаграждения, и, как следствие, нужно регистрироваться в качестве индивидуального предпринимателя (ИП).
        Читать дальше →
      • Ratchet 2.0 — самый красивый HTML5-фреймворк теперь дружит и с iOS, и с Android



          Ratchet — так называется HTML5-фреймворк для быстрого прототипирования мобильных приложений, который 1,5 года назад создали те же парни, которые когда-то выпустили Bootstrap.

          Инструмент позволяет быстро создать красивый интерфейс мобильного приложения — и дает вам красивые стили и замечательные иконки, согласованные с гайдлайном в зависимости от платформы. Можно сделать прототип, а можно завернуть в PhoneGap и без особых усилий получить сравнимый с нативным интерфейс приложения в продакшене.
          Фреймворк очень прост в использовании и прекрасно документирован.

          Я являюсь поклонником Ratchet с момента выхода первой версии. Тогда он был доступен только под iOS.
          Не так давно вышла вторая версия, которая наряду с iOS поддерживает Android. Ура-ура!
          (правда, обратной совместимости с первой версией нет)

          Кому интересно про новые возможности Ratchet 2.0 — прошу под кат!
          Читать дальше →
        • Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?

            Статью с обзором ситуации с микроэлектроникой в России я закончил утверждением, что сейчас в России есть технические возможности для создания любых военных микросхем (если не считаться с ценой). Однако и в комментариях к той статье, и во многих других — всех больше волновал вопрос отсутствия (на уровне погрешности измерений) производства чисто-коммерческих (гражданских) высокотехнологичных продуктов. Этот вопрос волновал и меня, потому я постоянно мучил вопросами всех, кто так или иначе связан с высокими технологиями и бизнесом в России.

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

            Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.

            Сразу нужно отметить, что в связи с многогранностью проблемы объем статьи получился довольно большой, так что можно начать читать с резюме в конце, и затем прочитать лишь те разделы, которые вызовут интерес. Сразу хочу предупредить — повествование «нелинейное», соседние заголовки могут описывать разные аспекты проблемы и быть друг с другом практически не связанными.
            Читать дальше →
          • Google Chrome — убираем рутину с помощью кастомного поиска

              Disclaimer: речь — о давно существующей функции, но, судя по комментам на Хабре, недооцененной, поэтому решил все-таки написать.

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

              Например:


              Как настроить?
            • Ошибки Android интерфейса Twitter

                В прошлом посте, я анализировал Evernote на предмет недочетов в следовании гайдлайнам. Сегодня хочу провести анализ интерфейса Twitter.

                Action Bar


                Поиск

                В руководстве разработчика по работе с Action Bar Google вводит такое понятие как «Представление действия (Action View)». Виджет поиска — одно из таких представлений. По-умолчанию оно свернуто в иконку, но при разворачивании должна появляться иконка «вверх», нажатие на которую позволяет свернуть действие обратно (см. раздел "Поддержка сворачиваемый представлений действий"). В Twitter при открытии поиска отсутствует иконка «вверх»


                Читать дальше →
              • Как подружить MS Office и LibreOffice

                  image
                  Здравствуй, читатель! Ты когда-нибудь занимался переводом своего офиса/школы/института/друзей на Linux? Помнишь, как долго и упорно ты доказывал, что это — путь добра и света? А помнишь первую проблему, из-за которой пришлось все вернуть назад? Дай угадаю. Первый документ созданный в LibreOffice или OpenOffice отказался корректно открываться в MS Office? Слезы, сопли и мольбы оставить Linux ни к чему не привели? Утри нос, читатель! Под катом — о том, как подружить LibreOffice 3.5 и MS Office 2010 так, чтобы все везде открывалось одинаково.

                  Читать дальше →
                • Какие видеоуроки вы смотрите?

                    Есть интерес изучить вопрос, кто какие видеоуроки смотрит в целях самообучения.
                    Да, и смотрит ли вообще?
                    Прошу принять участие в опросе с целью провести актуальное статистическое исследование.
                    Думаю, что многим будет интересно узнать среднюю температуру по больнице.

                    По возможности поделитесь опытом и впечатлениями в комментариях.

                    Only registered users can participate in poll. Log in, please.

                    Какие видеоуроки вы смотрите?

                    • 19.6%Lynda.com447
                    • 1.6%TotalTraining38
                    • 11.8%NetTuts268
                    • 10.4%PluralSight237
                    • 1.9%Video4Brain45
                    • 4.9%CBT Nuggets113
                    • 3.9%Digital Tutors90
                    • 3.6%O'Reilly Media83
                    • 3.5%Andrew Kramer / Супер After Effects и другие по работе с видео/эффектами81
                    • 7.9%Евгений Попов / Валера Станкевич / Виталий Куликов и другие181
                    • 20.3%Другое (укажу в комментариях)463
                    • 43.2%Видеоуроки не смотрю. Книгу ничто не заменит981

                    Каких сферах IT вы обучаетесь посредством видеоуроков?

                    • 54.3%Веб-разработка1116
                    • 21.2%Программирование под iOS/Android436
                    • 21%Программирование под Linux/Mac/PC433
                    • 16.8%Сети346
                    • 12%Работа с видео/эффектами247
                    • 6.4%Работа со звуком133
                    • 14.9%Графические редакторы 2D308
                    • 16.8%Графические редакторы 3D346
                    • 12%Инженерные и научные программы248
                    • 11.4%Другое (укажу в комментариях)236
                  • Методы анонимности в сети. Часть 4. Tor&VPN. Whonix


                      Всем привет!

                      Вот мы и дошли до более интересных вещей. В этой статье мы рассмотрим варианты комбинирования Tor с VPN/SSH/Proxy.
                      Для краткости далее я буду писать везде VPN, ведь вы все — молодцы и уже знаете плюсы и минусы VPN, SSH, Proxy, которые мы изучили ранее здесь и здесь.
                      Мы рассмотрим два варианта подключений:
                      • сначала VPN, потом Tor;
                      • сначала Tor, а потом VPN.

                      Также я расскажу про дистрибутив ОС Whonix, реализующий самые передовые достижения в области сетевой анонимности, ведь в нём, помимо всего прочего, настроены и работают обе анализируемые схемы.
                      Предыдущие части здесь:
                      Часть 1: Методы анонимности в сети. Просто о сложном.
                      Часть 2: Методы анонимности в сети. Утечки данных.
                      Часть 3: Методы анонимности в сети. Firefox.
                      Читать дальше →
                    • Обзор особенностей ядра Андроида

                        “А я… карбюратор промываю!”
                        Анекдот


                        Введение

                        В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

                        Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


                        Читать дальше →
                      • Вконтакте представили SDK для Android

                        ВКонтакте представили SDK для Android

                        На днях ВКонтакте в разделе для разработчиков выложили SDK для Android.



                        Популярная социальная сеть ВКонтакте пополнила свой набор инструментариев для разработки приложений, в котором уже имеются Flash и Javascript SDK, а также SDK для iOS, еще одним — SDK для Android.

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

                        Не забыли ребята и о владельцах девайсов с неактуальными версиями Android на борту — тестовое приложение, поставляемое вместе с SDK, имеет требования Android 2.2+

                        Также не оставлен без внимания вопрос защиты.
                        Подробности под катом.
                        Читать дальше →
                      • SELinux — описание и особенности работы с системой. Часть 2



                          Коллеги, в первой части статьи о SElinux мы рассмотрели основные особенности работы с системой SELinux. Как и обещано, теперь публикуем вторую часть, в которой основное внимание уделено настройке политик. Что же, приступим.

                          Читать дальше →
                          • +43
                          • 32.8k
                          • 7
                        • SELinux – описание и особенности работы с системой. Часть 1



                            О SELinux на Хабре уже писали, однако, не так много опубликовано подробных мануалов по данной системе. Сегодня мы публикуем именно такой, подробный мануал по SELinux, начиная от информации по системе, и заканчивая гибкой настройкой политик.
                            Для того, чтобы не превращать пост в «простыню», сложную для понимания, мы решили разделить мануал на две части. Первая будет рассказывать о самой системе, и некоторых ее особенностях. Вторая – о настройке политик. Сейчас публикуем первую часть, чуть позже будет опубликована и вторая часть.

                            Читать дальше →
                          • Атака с помощью вашего сервера времени: NTP amplification attack (CVE-2013-5211)

                              13 января Компьютерная команда экстренной готовности США (US-CERT) выпустила предупреждение о новом способе DDoS-атак. Зараженные компьютеры отправляют запрос monlist с поддельным IP-адресом отправителя к NTP-серверу. Запрос monlist возвращает список из последних 600 клиентов ntpd. Таким образом, небольшим запросом от зараженного компьютера к жертве отправляется большой поток UDP. В этом и заключается сущность амплификации.

                              Незащищенный NTP-сервер становится невольным промежуточным звеном атаки.
                              Атаке подвержены версии ntpd до 4.2.7p26 (стабильная сейчас 4.2.6p5).

                              Проверить свой сервер на уязвимость можно выполнив команду
                              ntpdc -c monlist адрес_сервера
                              Если команда выдает список клиентов (а не «timed out, nothing received»), значит система уязвима.
                              Как бороться
                            • ActionBar на Android 2.1+ с помощью Support Library. Часть 3 — Полезные функции

                              • Tutorial
                              Всем доброго времени суток!

                              Мда, давно не писал я статей на Хабр. Что ж, буду это дело исправлять.
                              Вообще, ActionBar в Android – довольно сложная штука. В первой и второй частях я рассмотрел только основные его функции – меню и навигация. Но есть ведь и множество дополнительных: Split ActionBar, кастомный View для элемента меню и ActionProvider. О них и пойдёт речь. Кроме того, бонус: многие знают, что кнопка Up служит для перехода на предыдущее Activity. Но если на экран можно попасть только с одной другой Activity, то можно не кодить переход вверх. Заинтригованы? Прошу под кат.
                              Читать дальше →
                            • Еще раз об архитектуре Android приложения или джентльменский набор библиотек

                                Вот надумал написать обзор библиотек с помощью которых легко и удобно писать приложения под Android.
                                Список вырисовывается такой:

                                Если заинтересованны прошу под кат.
                                Читать дальше →
                              • Параллельные и распределенные вычисления. Лекции от Яндекса для тех, кто хочет провести праздники с пользой

                                • Tutorial
                                Праздничная неделя подходит к концу, но мы продолжаем публиковать лекции от Школы анализа данных Яндекса для тех, кто хочет провести время с пользой. Сегодня очередь курса, важность которого в наше время сложно переоценить – «Параллельные и распределенные вычисления».

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



                                Лекции читает Олег Викторович Сухорослов, старший научный сотрудник Центра грид-технологий и распределенных вычислений ИСА РАН. Доцент кафедры распределенных вычислений ФИВТ МФТИ. Кандидат технических наук.
                                Содержание и тезисы лекций
                              • Безопасен ли Telegram? Или как я искал закладку в MTProto

                                Telegram — мессенджер для смартфонов позиционирующий себя как безопасный, защищающий не только от злоумышленников, но и от гос. структур вроде АНБ. Для достижения этой безопасности Telegram использует собственную разработку — криптографический протокол MTProto, в надежности которого сомневаются многие, сомневаюсь и я.
                                Читать дальше →