• Блокировать трекеры рекламы на сетевом уровне сложно, но возможно

    • Перевод
    image


    Когда вы выходите в интернет или используете приложение, множество компаний спокойно отслеживают каждое ваше действие. Некоторые, такие как Newrelic, достаточно невинны, они отслеживают ошибки пользователей и чтобы быстрее на них реагировать. Но другие, такие как Facebook Audience Network, собирают огромное количество данных как с ваших собственных устройств, так и с устройств в вашей сети.

    Блокировка рекламы традиционно была выходом для потребителей, желающих сохранить конфиденциальность своей информации, но она работает только в веб-браузерах. Многие компании теперь отслеживают вас и в нативных приложениях. И удаление вашей учетной записи Facebook не мешает компании отслеживать вас — социальная сеть создает «теневые профили», чтобы собирать данные также и о тех, кто не пользуется ею в Интернете.

    Пытаясь защитить свою частную жизнь, я решил, что лучше всего использовать ядерный метод: блокировать рекламу и трекеры во всей моей домашней сети.
    Читать дальше →
  • Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году


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


      Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH.


      Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические анализаторы кода в CI (а что еще обсуждать). Прозвучала мысль о том, что их круто использовать — но только после того, как появится уверенность в логической надежности кода. Другими словами, о кодстайле можно думать только после того, как все тесты написаны.


      Решил прислушаться к коллеге и задумался о том, как подсчитать масштаб бедствия для подручных приложений. Взгляд пал на Sonarqube и Jacoco. Процесс их подключения для hello-world проектов элементарен. Подключить их в Android-проект, разбитый на модули — уже сложнее. С целью помочь интересующимся и была написана эта статья.

      Читать дальше →
    • Kaspresso: фреймворк для автотестирования, который вы ждали

        Все, кто занимался или занимается автотестами под Android, знают, какая это боль.
        От объема задач и проблем устаешь так, что и отпуск не помогает. Люди даже увольняются из-за автотестов.

        Боль, страдания и мучения неизбежно приводят к появлению чего-то нового и прекрасного. Мы постарались собрать вместе все грабли, на которые нам пришлось наступить, объединили свои усилия с ребятами из «Авито» и HH и создали то, что сделает ваши отношения с автотестами несравнимо лучше и плодотворнее.

        Встречайте: Kaspresso — фреймворк для автотестирования, который вы ждали!


        Читать дальше →
      • Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы

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

          В подборке расскажем о пяти библиотеках, откуда можно скачать реальные звуки природы и использовать их в коммерческих целях.

          Читать дальше →
          • +15
          • 4,3k
          • 1
        • Модульные спрайтовые персонажи и их анимация

          • Перевод
          Эта запись девлога целиком посвящена моей системе анимации персонажей, она наполнена полезными советами и фрагментами кода.

          За последние два месяца я создал целых 9 новых действий игрока (такие забавные вещи как блокировка щитом, уворачивание в прыжке и оружие), 17 новых носимых предметов, 3 набора брони (пластинчатый, шёлковый и кожаный) и 6 видов причёсок. Также я завершил создавать всю автоматизацию и инструменты, поэтому всё уже используется в игре. В статье я расскажу, как этого добился!


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

          Краткое описание


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

          Разумеется, такие функции активно используются в 3D- и 2D-играх с пререндеренными спрайтами или в 2D-играх со скелетной анимацией, но насколько я знаю, существует не так много игр, совмещающих созданную вручную анимацию и модульных персонажей (обычно потому, что процесс оказывается слишком монотонным).
          Читать дальше →
          • +26
          • 7,9k
          • 2
        • Material Design 2.0 и Android P

            Google показал обновлённую дизайн-систему Material Design 2.0 на конференции I/O. Это серьёзное изменение визуального стиля и расширение инструментария, первые звоночки которого появились ещё в марте.

            Читать дальше →
          • Техническое задание на сайт. Практика



              В комментариях к статье Техническое задание на сайт зашел разговор о шаблоне для техзадания и, собственно, примере ТЗ, составленного по описанным в статье принципам. Там я пообещал показать, и шаблон, и само ТЗ.

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

              Много текста и картинок
            • 30+ инструментов для профессиональной разработки приложений под Android

              • Перевод
              image

              В этой статье я собираюсь поделиться некоторыми из лучших инструментов для повышения производительности разработки и создания лучших приложений под Android. Я лично использовал эти инструменты уже довольно давно и нашел их действительно полезными.

              Эти инструменты помогли мне сэкономить много драгоценного времени из моей повседневной жизни, а также помогли мне создавать более качественные приложения. Поэтому, не теряя времени, давайте познакомимся с новыми и потрясающими инструментами для профессиональной разработки приложений под Android.
              Читать дальше →
              • +22
              • 34,7k
              • 7
            • Как работает Android, часть 1


                В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

                Читать дальше →
              • Курс пиксель-арта

                  Это перевод публикации «Les Forges Pixel Art Course».

                  pdf на английском.

                  Часть 1: Правильные инструменты
                  Часть 2: Линии и кривые
                  Часть 3: Перспективы
                  Часть 4: Тень и свет
                  Часть 5: Палитры цветов
                  Часть 6: Сглаживание
                  Часть 7: Текстуры и размытие
                  Часть 8: Мир тайлов

                  Предисловие


                  Есть много определений пиксель-арта, но здесь мы будем использовать такое: изображение пиксель-арт, если оно создано целиком руками, и присутствует контроль над цветом и позицией каждого пиксела, который нарисован. Несомненно, в пиксель арте включение или использование кистей или инструментов размытия или машин деградации (degraded machines, не уверен), и других опций ПО, которые «современны», нами не используются (вообще-то put at our disposal значит «в нашем распоряжении», но по логике вроде правильнее так). Он ограничен инструментами такими как «карандаш» и «заливка».

                  Тем не менее не скажешь, что пиксель-арт или не-пиксель-арт графика — более или менее красива. Справедливее сказать, что пиксель-арт другой, и он лучше подходит для игр стиля «ретро» (как Супер Нинтендо или Гейм Бой). Вы можете также комбинировать техники изученные здесь, с эффектами из не-пиксель-арта, для создания гибридного стиля.

                  Так, здесь вы будете изучать техническую часть пиксель-арта. Тем не менее никогда я не сделаю вас художником… по простой причине, что я тоже не художник. Я не научу вас ни человеческой анатомии, ни структуре искусств, и мало скажу о перспективе. В этом руководстве, вы можете найти много информации о техниках пиксель-арта. В конце, вы должны будете быть способны создать персонажей и пейзаж для ваших игр, при условии что вы будете внимательны, практиковаться регулярно, и применять данные советы.
                  Читать дальше →
                • 2D магия в деталях. Часть четвёртая. Вода


                    — Я тут воду для проекта запилил.
                    — О, круто! А почему она плоская? Даёшь волны!

                    — Слушай, ты тогда про волны говорил, помнишь? Зацени!
                    — Да, хорошие волны, а преломление и каустику ещё не делал?

                    — Привет, я тут игрался с Unity всю ночь, смотри какие отражения и каустику закодил!
                    — Дарова, и правда, хорошо! А когда у тебя вода кипит, отражения не глючат?

                    — Хай, реализовал наконец, кипение, вроде ничего?
                    — О, прямо как нужно! Слушай, прикинь как круто, если кипящую волну заморозить?

                    — Лови картинку, лёд вроде ничего придумал?
                    — Норм, слушай, а у тебя лёд замерзает, он в объёме увеличивается? И кстати, ты когда геймлей то делать начнёшь?
                    Вариации на тему лога с другом.

                    Да, вы уже поняли, наконец-то расскажу про реализацию воды в проекте. Приступим?

                    Читать дальше →
                  • Android и архитектура

                    • Перевод

                    Операционная система Android предоставляет мощный фундамент для разработки приложений, которые отлично работают на множестве разнообразных устройств и форм-факторов. Теперь, как говорится, мы услышали жалобы разработчиков: трудно создавать "безглючные" приложения в условиях сложных циклов жизни объектов и отсутствия рекомендованной архитектуры приложения.


                    Нам, создателям Android, надо сделать простым и веселым написание устойчивых приложений, чтобы перевести усилия разработчиков в те области, в которых можно создавать инновации. Сегодня мы аннонсируем путеводитель по архитектуре Android-приложений и превью библиотек Architecture Components. Вместо того чтобы изобретать колесо, мы признаем работу, сделанную авторами популярных сторонних Android-библиотек (прим. пер.: WAT?).


                    Читать дальше →
                    • +8
                    • 22,6k
                    • 2
                  • Исследуем RxJava 2 для Android

                    • Перевод

                    enter image description here


                    Меня зовут Аркадий, я Android-разработчик в Badoo. В последнее время в нашем блоге много постов про Go, PHP, JS, QA, и я решил разбавить их темами по мобильной разработке. Как раз занимался портированием одного Android-проекта с RxJava 1 на RxJava 2 и читал всё, что можно найти на эту тему в интернете. В частности, доклад Джейка Вортона с конференции GOTO Copenhagen 2016. Мне показалось, что это достойный кандидат на перевод – думаю, многие Android-разработчики задумываются о переходе на RxJava 2, и им интересно, что изменилось по сравнению с первой версией.


                    Джейк сделал достаточно объёмное введение о реактивном программировании, так что знание RxJava 1 не требуется для понимания статьи. Доклад был подготовлен, когда RxJava2 ещё только готовилась к выпуску (на текущий момент уже выпущена версия 2.1.0).

                    Читать дальше →
                    • +40
                    • 149k
                    • 5
                  • Овладение Coordinator Layout

                    • Перевод
                    На презентации Google I/O 15, компания Google представила новую версию библиотеки поддержки которая реализует несколько компонентов, сильно связанных со спецификациями Material Design, среди этих компонентов вы можете найти новые типы ViewGroup такие как AppbarLayout, CollapsingToolbarLayout и CoordinatorLayout.

                    При правильном комбинировании и настройке данные Viewgroup могут быть очень мощным инструментом, по этому я решил написать статью с некоторыми настройками и советами.
                    Читать дальше →
                  • Android Tips and Tricks

                      В данном материале можно будет увидеть различные инструменты и подсказки, которые здорово облегчают жизнь Android разработчикам. Большая часть собрана напрямую от знакомых разработчиков и содержит вещи, которые должен знать каждый. Дополнения и расширения приветствуются, и если вы знаете о каком-то крутом механизме, который не был упомянут в статье, не поленитесь перейти в оригинал и открыть pull request.
                      Читать дальше →
                    • Фотостудия для съёмок пластилиновой игры

                        Привет! В жизни почти каждого разработчика игр наступает момент, когда он отбивается от стаи, выкапывает себе нору и начинает в одиночку делать «лучшую в мире игру, не то что эти всякие». 2 года назад это случилось и со мной. Не обладая навыками художника, я решил замахнуться на stop-motion анимацию и делать всю графику из пластилина.

                        image
                        Читать дальше →
                      • Шишки и грабли Android-разработчика за 2 года

                        • Перевод
                        image

                        Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

                        Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

                        Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

                        И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: StackOverflow и Github.

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

                        Предупреждение: в этой статье я затрону Android, а также идеи и результаты программирования, так что если вы не знакомы с одним из этих пунктов, то вам может быть неинтересно дочитывать статью до конца. Остальные, просто читайте.
                        Читать дальше →
                      • Bobby. Рюкзак особого назначения

                          В мире существует довольно много компаний, производящих такой класс вещей, как рюкзаки. Ещё больше существует самих рюкзаков: для ноутбуков, для фотоаппаратов, для фотоаппаратов и ноутбуков, для дронов, для активного отдыха, для лежания овощем и т.д — только у нас на сайте отобрано более 50 моделей (и это именно в наличии). Казалось бы, рассказывать о них на Geektimes нет никакого смысла, рюкзаки и рюкзаки. Но сегодня про один всё же расскажем, так как внимания гиков он заслуживает совершенно точно: это новый Bobby от голландской компании XD-Design.

                          Читать дальше →
                        • 2D магия в деталях. Часть третья. Глобальное освещение


                            Глобальное освещение, динамический свет и декали (да, есть такое слово :) ) в действии.


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

                            Читать дальше →
                          • 2D магия в деталях. Часть первая. Свет


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

                              Читать дальше →