Разработка ждёт балета – 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
300, братцы! Нас уже 300! Если задуматься, то это ведь чертовски много. Ну, например, мы уже вполне могли бы попытаться дать отпор персидской армии в Фермопильской битве (плохая шутка).
В честь этого события я попрошу тебя заполнить небольшой опрос (минут на 5). Обязательными я выставил только поля фидбэка, но чем больше людей заполнят все остальные, тем интереснее статистику потом посмотрим. Спасибо, что ты с нами! Пис 🤘🏻

#survey
https://goo.gl/forms/szrgaTEhkbPlcetG3
Статья о том, что не так с java.util.Date и почему нужно стараться его избегать. Нам на Android, к сожалению, никуда от него не деться, но помни, товарищ, что когда-нибудь мы выкрутим-таки minSdk на Android O, импортнем что-нибудь из java.time себе в файлик и заживем. Ох, заживем!

#java #date #time
https://codeblog.jonskeet.uk/2017/04/23/all-about-java-util-date/
Пост, который очень меня удивил (прилетел он, кстати, от @istima, дружно скажем ему “спасибо”). Удивил он меня в первую очередь тем, что камера моего телефона (большая часть фоток в посте сделана именно на Nexus 6P) способна на такое. Да, конечно, сведение множества сырых файлов проводилось на десктопе, но в теории провести его можно прямо на устройстве. Особое внимание обрати на фото. Вот прямо открой и увеличь. Несмотря на заметные шумы и прочие изъяны, фотографии ведь потрясны!

#camera #photo
https://research.googleblog.com/2017/04/experimental-nighttime-photography-with.html
В прошлую субботу мне довелось посетить митап под названием Peer Lab. Очень понравился формат: нет какой-то повестки дня, докладчика или чего-то такого. Просто несколько человек сидят в кафе и общаются на любые темы. Сейчас Peer Lab, насколько я понимаю, состоит в основном из iOS-ребят, но каких-то неудобств я из-за этого не ощущал: все-таки общих тем очень много. Ну и они не считают себя iOS-only - всем добро пожаловать. В общем, подбивая бабки, если ты из Москвы или Питера, то приходи, будем общаться.
Время: каждую субботу в 11:00.
Место: Starbucks на м. Кузнецкий мост.
Подробности по ссылкам.

#peerlab #meetup
Основной сайт: http://peerlab.community/find/
Peer Lab МСК геоточка: https://goo.gl/maps/mQwk7ckcokS2
Peer Lab МСК: https://news.1rj.ru/str/peerlabmoscow
Peer Lab СПБ: https://news.1rj.ru/str/spbpeerlab
В этой статье парень по имени Jeroen Mols рассказывает, как он вырезал лишние методы из используемых либ. Один из методов - найти и ручками вырезать лишние методы из гугловых либ (Guava, в его случае). Суть в том, что сначала при помощи ProGuard с подтюненным конфигом он оптимизирует библиотеку, а уже потом юзает ее как зависимость. Понятно, что тот же метод можно переложить и на другие гугловые высеры. Подробности найдешь по ссылке.

#dexlimit #proguard #optimize
http://jeroenmols.com/blog/2016/05/06/methodcount/
Короткая и весьма поверхностная статья о том, как Android работает с SSL-сертификатами. Статья аж от 2013-го года, так что материал немного устаревший, но немного света на тему пролить все-таки может.

#ssl #certificate
https://anatomyofandroid.com/2013/10/01/android-root-certificates-management/
Небольшая полезняшка: чувак сделал плагин под IDEA платформу, который умеет делать немного больше, чем стандартный Java Code Folding (это когда, например, анонимный класс сворачивается до лямбды и все в таком духе). На мой взгляд, некоторые из возможностей плагина не нужны, а может быть и вредны, но все легко настраивается. Я вот себе поставил. А подробные примеры ищи в статье.

#plugin #tool #java
https://medium.com/@andrey_cheptsov/making-java-code-easier-to-read-without-changing-it-adeebd5c36de
Пост на одном из моих любимых форумов про уязвимость (да, еще одну) в нашей любимой платформе. В этот раз спасибо можно сказать разработчикам Baidu SDK, которые локально запускали веб-сервер, принимающий любые запросы. В посте много ссылок, по которым советую походить.

#cybersec #exploit #vulnerability
https://0x00sec.org/t/android-open-ports-serve-as-wormholes/1946
Разбор всяких мелких изменений со стороны API в Android O. Мне статья зашла тем, что подробно, но при этом кратко (как это ни парадоксально) расписаны изменения и нововведения в платформе.

#androido
https://medium.com/@ianhlake/hidden-gems-of-android-o-7def63136629
Коротенькая шпаргалка про разницу между drawable-nodpi и drawable-anydpi папочками. Может пригодится.

#drawable #resources #dpi
https://commonsware.com/blog/2015/12/21/nodpi-anydpi-wtf.html
Интересная статья прилетела от @makazone. Чувак из конторы eSpark рассказывает, как они использовали тул TLA+, чтобы найти баги в системе и оптимизировать узкие места. Суть инструмента в том, что на специальном языке (языке программирования, в некотором смысле) описывается система и то, в каких состояниях она должна быть, затем TLA+ гоняет эту модель всеми возможными способами и находит ошибки. Подробности, как всегда, найдешь по ссылке.

#modeling #testing #tool
https://medium.com/espark-engineering-blog/formal-methods-in-practice-8f20d72bce4f
Очередную статью прислал @istima. На самом деле она совсем короткая, автор просто рассказывает, как выключить ублюдочную серую рамку для иконки своего приложения на устройствах Samsung с оболочкой TouchWiz.

#samsung #touchwiz #hack
https://android.jlelse.eu/disabling-touchwiz-icon-frames-c7cb4b626180
Хочу напомнить про небольшой, но очень мощный хак, который из коробки доступен в Android Studio. Она умеет конвертировать изображения в WebP формат. Без прозрачности и с потерями (которые в реальности глазу не видны) эти картинки доступны, начиная с API 14, а lossless и с прозрачностью - с API 18. Если подумать, то это довольно круто, ведь самые жирные изображения, как правило, - это какие-то фоновые jpeg без прозрачности. Для примера: один очень жирный (1.3 Мб) jpeg у нас в проекте при 75% перегоне в WebP на глаз не меняется, но приобретает вес 132.7 Кб - 10% от изначального размера. Так что вот. Имей в виду.

#studio #hack #webp
https://developer.android.com/studio/write/convert-webp.html
Статья-шутка от нашего любимого Чета про разные аннотации. Как тебе @DangerousArgs? А @Undocumented? Вот и я о том же. А там таких еще целая пачка.

#humor #annotations
https://medium.com/pointer-io/the-annotated-programmer-247d62582abf
И еще один шутливый пост от Chet Haase. На этот раз - про Exceptional Programming. Я не смогу описать суть статьи лучше, чем автор: “Exceptions are the new line numbers”. Замечу только, что не надо воспринимать пост всерьез, это действительно всего лишь шутка, не пытайся повторить дома :)

#humor #exception
https://medium.com/pointer-io/exceptional-programming-62ea8150f61f
Очень интересная статья про реверс протокола Apple Location Services. Автор байтик за байтиком разобрал запросы к серверу и его ответы для приблизительного определения местоположения по mac-адресам Wi-Fi точек. Особенно понравилось, что чувак подробно расписал шаги, перечисляя свои ошибки и выводы из них.

#apple #reverse #cybersec
https://appelsiini.net/2017/reverse-engineering-location-services/
Интересная серия статей (две штуки) про рефакторинг инвентаря в игре (а-ля Minecraft) при помощи некоторого “разворота” модели. Да, чувак просто описал, как он отрефакторил кусочек игры, применив мозг, математику и Kotlin. Не стоит пугаться слов monoid и sum type в названии - до такой же модели вполне можно дойти, пользуясь только головой, но умение видеть математические структуры в требованиях к модели тут, безусловно, сэкономило автору время и предостерегло от ошибок. Настоятельно рекомендую прочитать.

#kotlin #refactoring #monoid
https://medium.com/@mttkay/refactoring-with-monoids-and-sum-types-part-1-bddc9ea61f5f
https://medium.com/@mttkay/refactoring-with-monoids-and-sum-types-part-2-b2a8e8b29d5f
Саша Смирнов (если помнишь, он ведет канал на YouTube - Android в лицах) выложил приглашение на митапчик MOSDROID. Пройдет это дело 20 мая в Москве - Kaspersky Lab. Участие, само собой, бесплатное. Если интересно - welcome.

#meetup #mosdroid
https://habrahabr.ru/post/328428/