Разработка ждёт балета – Telegram
Разработка ждёт балета
1.65K subscribers
506 photos
4 videos
15 files
1.53K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://news.1rj.ru/str/+e2ND1tAa0lU2ZTli
Download Telegram
Продолжаем тему безопасности. Автор показывает, как можно положить некоторый API-ключик в NDK. Проделано всё довольно просто и достать ключ по-прежнему несложно, но всё-таки это лучше, чем зашивать его в static final. В общем, если вы ещё не разбирались с NDK, будет полезно посмотреть. Ах да, отсылка к докладу из предыдущего поста: всё ещё можно подключиться к аппке дебаггером и вытащить собранный ключ из Java-части. В общем, берегите своего внутреннего параноика. Пис 🤘🏻
https://androidsecurity.info/2016/12/15/storing-your-secure-information-in-the-ndk/
Мало кто любит Android Plugin DSL. Отсутствие автокомплита и внятных доков иногда заставляют грустить. Однако, какие-никакие доки всё-таки есть, и на том, блядь, спасибо. http://google.github.io/android-gradle-dsl/current/index.html
Но речь не о доках. Вот вам статья про выделение зависимостей всех модулей в отдельный dependencies.gradle. Несмотря на то, что подход попахивает переусложнением и лишает Android Studio возможности проверять обновления библиотек (о чём автор честно пишет), мне понравилось. Интересный подход. Помнится, где-то я видел gradle-плагин, который делал похожие вещи. В общем, не переусложняйте без необходимости, и, как обычно, пис 👌🏻
https://hackernoon.com/android-how-to-add-gradle-dependencies-using-foreach-c4cbcc070458#.xmx5tx2py
А вот вам небольшой подгон. Я иногда ловил себя на том, что гуглю треклятую диаграмму lifecycle очередного компонента Android или ещё какой-нибудь кусок дерьма. Ну, бывает. У всех иногда что-то вылетает из головы. В какой-то момент я стал сохранять полезные диаграммы и шпаргалки, чтобы всегда были под рукой. А позднее мы в компании просто решили выложить эту папочку в Google Drive. Собственно, на здоровье. Пис 👊🏻
https://drive.google.com/drive/folders/0B8043N7nHWABNEJicEJiNmdjclE?usp=sharing
И последнее на сегодня. Каждый, кто так или иначе погружался в Android, открывал для себе вездесущий Context. С одной стороны, многие компоненты им являются, с другой - все они дают разные возможности. Причём обойтись без него нельзя в самых разных задачах. Так вот, если вы не знаете, откуда уши Context растут - обязательно прочитайте эту статью про Context Object Pattern. Лишние знания не навредят, гарантирую. Учите матчасть. Пис 🖕🏻
Целый цикл статей не про Android. Максим Хижинский - автор крестовой libcds библиотеки - пишет о lock-free структурах данных. Да-да, привет, multithreading. Если упростить, то lock-free структура данных - это такая хреновина, которой можно манипулировать из многих потоков, и самому при этом не думать о lock/unlock и прочей нечисти. В конце каждой статьи можно найти ссылки на все остальные части цикла. Сразу скажу, что чтиво непростое и требует приложения определённых когнитивных усилий, но оно того стоит. В идеальном мире знать о таких вещах должен каждый разработчик. Ну, вперёд! Пис 🤘🏻
https://habrahabr.ru/post/195770/
И ещё два плотных подгона. "What Every Computer Scientist Should Know About Floating-Point Arithmetic" и "What Every Programmer Should Know About Memory". Многие наверняка натыкались на названия этих трудов, но если вы не в их числе, то обязательно прочтите. Не обязательно за один раз, можно читать понемногу каждый день, статьи довольно сложные. Да, это врядли поможет вам написать очередную Activity. Но знание основ безусловно важно для понимания общей картины. Смотрите на это как на долгосрочную инвестицию в себя. Помни корни. Пис 🖕🏻
Внезапно узнал, что Cyanogen OS закрывается. Если я правильно всё понял, то OS - это именно сборки, которые пилили они, ROM - сборки, поддерживаемые сообществом, а MOD - набор приложений от их команды. Я давно их осью не пользовался, но новость какая-то грустная. Мда. Cyanogen-девственности я когда-то лишился с HTC Desire HD. Первый раз разблокировать bootlader. Осторожно войти в fastboot. Ммм. Ностальгия. Пис 🖖🏻
https://techcrunch.com/2016/12/24/cyanogen-failed-to-kill-android-now-it-is-shuttering-its-services-and-os-as-part-of-a-pivot/
Оказывается, Bazel - гугловая система сборки всего на свете - вышла в публичную бету. Более того, они говорят, что система стабильна для многих вещей (Android в том числе), так как давно используют её внутри. Подумываю наложить на неё руки в эти праздники. И вам того же. Пис 👍🏻
https://bazel.build/versions/master/docs/support.html
Ловите цикл из трёх статей от хабраюзера Yoto - кюветы Android. Наверняка многие их уже читали, но я просто не могу не поделиться ими здесь. Статьи идеально обрисовывают те самые бочки говна, что мы с вами усердно едим. Сколько же в них боли! И язык, которым пишет автор, мне очень заходит. Надеюсь, вы не вскроетесь. Пис 🤘🏻
https://habrahabr.ru/post/279811/
https://habrahabr.ru/post/280190/
https://habrahabr.ru/post/281312/
Статья из разряда "а знаете ли вы, что IDEA может ещё и вот так". Автор вкратце рассказывает про Analyze Data Flow фичу в Intellij-платформе. Эта балалайка позволяет отследить откуда пришли/куда пойдут данные из какого-то участка кода. Полезная штука, имейте её в виду. В рамках Android она далеко не всегда применима, но иногда может сэкономить немного времени. Пис 👍🏻
https://tips.seebrock3r.me/analyse-data-flows-without-the-debugger-android-studio-protips-3-ef2885aaffd9#.mubu6bmfb
Случайно наткнулся на забавное исследование уязвимостей Android за 2014-2016 гг. К сожалению, в руки ко мне попала только презентация, так что над каждым слайдом нужно немного подумать, дорисовывая в голове общую картинку. Из интересного - 85% багов обосновались не в ядре Linux, а в коде драйверов от производителей железа, драть их красной кочергой. Но штука интересная, рекомендую. Пис ☝️🏻
Ну что, господа. Уже 6 января. В голову начинают закрадываться мысли о том, что пора прекращать заливаться бухлишком. Но не дёргайтесь. Прекращать пить тоже надо не спеша. Поэтому вот вам под пивасик неторопливый доклад из Варшавы о внутреннем устройстве Gradle. Пис 🍻
https://youtu.be/WalksPHi1Bo
Уже почти месяц доступны записи докладов с DevFest Siberia 2016 (дружно скажем спасибо GDG Novosibirsk). Некоторые доклады повторяют те, что были на Droidcon Moscow и других DevFest, но есть и такие, которые мне ещё не попадались. В частности, есть доклады по Go, Rust и всяким другим балалайкам. Расписание докладов, в котором можно выбрать интересные и достать слайды/репозитории можно найти здесь: http://devfest.gdg.org.ru/schedule/
А youtube-playlist тут: https://www.youtube.com/playlist?list=PLINg778NUJCovyoK2HzGiEZnjoL092Kow
Всё. Пис 🖕🏻
Поговорим немного о чёрных шляпах. Наткнулся тут на скрипт, который запихивает бэкдор в APK (автор обещает, что в любой). Эта штука позволяет встроить зловред в приложение, причём очень и очень просто. От вас требуется только соорудить для скрипта окружение из всех необходимых зависимостей - всем известных тулзов для реверса Android-приложений + Metasploit. Если интересуетесь темой, вперёд. Йо-хо-хо, бутылка рома и пис 🤘🏻
https://github.com/dana-at-cp/backdoor-apk
Опять задвигаем Android подальше. Сегодня у нас прекрасное введение в blockchain. Чувак записал скринкаст, в котором он по шагам объясняет, как это дело работает и почему. Если давно хотели узнать, как же оно устроено, то начните с этой ссылочки. Если хотя бы примерно понимаете, что такое хеш-функция, то точно всё поймёте. Никакой магии. Поиграться с демкой автора можно там же. Пис 👍🏻
https://anders.com/blockchain/
Обновилась страничка с советами по Gradle на Android Developers. Чуваки добавили ещё больше рецептов по сборке Android-проектов. На самом деле, 80% всех советов - баяны, а остальные 20% почти никому не нужны, но если вы только знакомитесь с этой системой сборки, то рекомендую разобрать все пункты. Год-два назад я был бы рад иметь этот список под рукой. Пис 👊🏻
https://developer.android.com/studio/build/gradle-tips.html