Недавно я уже скидывал ссылку на статью про функторы, тогда автор только-только закончил первую часть цикла. Сейчас же цикл завершен, все три статьи готовы, и я призываю тебя на них посмотреть. Узнаешь не только о том, что такое функторы, но и о том, что такое applicative (не представляю, как это перевести) и монады. Ну и да, все это на Kotlin. Пис ☝🏻
#kotlin #fp #functor #applicative #monad
https://hackernoon.com/kotlin-functors-applicatives-and-monads-in-pictures-part-1-3-c47a1b1ce251
https://hackernoon.com/kotlin-functors-applicatives-and-monads-in-pictures-part-2-3-f99a09efd1ec
https://medium.com/@aballano/kotlin-functors-applicatives-and-monads-in-pictures-part-3-3-832d58d92445
#kotlin #fp #functor #applicative #monad
https://hackernoon.com/kotlin-functors-applicatives-and-monads-in-pictures-part-1-3-c47a1b1ce251
https://hackernoon.com/kotlin-functors-applicatives-and-monads-in-pictures-part-2-3-f99a09efd1ec
https://medium.com/@aballano/kotlin-functors-applicatives-and-monads-in-pictures-part-3-3-832d58d92445
Hackernoon
Kotlin Functors, Applicatives, And Monads in Pictures. Part 1/3
Here’s a simple value:
Когда-то я смотрел, как мой друг пишет код в Vim и недоумевал, как этим вообще можно пользоваться и зачем. Прошло некоторое время, и я снова вернулся к этому редактору. Собственно говоря, я уже и не помню, сколько я им пользуюсь. К чему все это? Да вот к этому видео, в котором чувак рассказывает о том, как лучше подойти к изучению Vim. Я могу сказать только одно: оно того действительно стоит. Врядли я когда-нибудь смогу пользоваться чем-либо другим. Ну и да, пользоваться им можно (при помощи плагинов) и в Android Studio, и в Xcode. Пис 🤘🏻
#talk #vim
https://youtu.be/_NUO4JEtkDw
#talk #vim
https://youtu.be/_NUO4JEtkDw
YouTube
Learning Vim in a Week
Mike Coutermarsh presents a talk based on his great blog post, Learning Vim in a Week. The talk is beginner focused and covers getting up and running, and eventually productive with Vim.
Learn more from the developers at thoughtbot ⌨️
Head over to http://tbot.io/dev…
Learn more from the developers at thoughtbot ⌨️
Head over to http://tbot.io/dev…
Ох, про это видео я не буду говорить, хорошее оно или плохое. Две вещи скажу. Егор Бугаенко. Пища для размышлений. В этом докладе с конференции jbreak Егор рассказывает о том, что не так с *Utils классами и предлагает свое видение и решение проблемы. Пис 🤞🏻
#talk #oop
https://youtu.be/85B3FV_sB60
#talk #oop
https://youtu.be/85B3FV_sB60
YouTube
Utility Classes Are Killing Us (in Russian with English subnoscripts)
JBreak 2017; Novosibirsk, Russia; 4 April 2017; slides are here: https://www.slideshare.net/YegorBugayenko/utility-classes-are-killing-us
Доклад с Droidcon про рисование UI. В общем-то, глубокой инфы в нем довольно мало, но если ты только начинаешь копать в рисование кастомных View и прочее, то сойдет как обзор. Если после этого захочется более полного разбора тулзов для профайлинга, то советую посмотреть доклад Кости Заикина, который я сюда уже когда-то постил. Пис ☝🏻
#talk #ui #ux
https://youtu.be/8nBe5swnj_4
#talk #ui #ux
https://youtu.be/8nBe5swnj_4
YouTube
10- Будь хорошим самураем и оттачивай UI приложения
Александр Смирнов, Splyt
Во всех отношениях прекрасный пост про кастомные вьюхи от Lucas Rocha. Вот честно, мне очень жаль, что я не наткнулся на него сильно раньше, многих граблей удалось бы избежать. В статье расписано несколько типов кастомных вью, их достоинства и недостатки. Очень рекомендую открывать код, на который автор ссылается, и внимательно его разбирать. Подводя итог, именно таких статей хочется видеть как можно больше. Респект чуваку. Пис 🤘🏻
#view #layout
http://lucasr.org/2014/05/12/custom-layouts-on-android/
#view #layout
http://lucasr.org/2014/05/12/custom-layouts-on-android/
Lucas Rocha
Custom Layouts on Android
If you ever built an Android app, you have definitely used some of the built-in layouts available in the platform—RelativeLayout, LinearLayout, FrameLayout, etc. They are our bread and butter for building Android UIs.
Я думал, что уже кидал эту статью сюда. Оказалось, что нет. Спасибо за втык улетает подписчику @ozodrukh. Речь тут пойдет опять-таки о кастомных вьюхах, но на этот раз конкретно про custom ViewGroup. Пример с кодом (правда, реализацию onLayout() автор оставил на читателя), бенчмарки и тому подобные штуки - внутри. Пис ✊🏻
#view #layout
https://sriramramani.wordpress.com/2015/05/06/custom-viewgroups/
#view #layout
https://sriramramani.wordpress.com/2015/05/06/custom-viewgroups/
Sriram Ramani
Custom ViewGroups
Writing better performing custom ViewGroups in Android.
Выдающийся (опять?) доклад от Джейка про управление состоянием при помощи RxJava (снова?). На самом деле, доклад далеко не только про это. Из него можно почерпнуть и про построение unidirectional dataflow, и про некоторые приемы работы с rx, и про другое приятное полезное. Доклад посмотреть настоятельно советую. Ну и да, спасибо читателю @sgrekov, он прислал ссылку раньше, чем я на нее наткнулся. Пис 👏🏻
#talk #rxjava
https://youtu.be/0IKHxjkgop4
#talk #rxjava
https://youtu.be/0IKHxjkgop4
YouTube
Managing State with RxJava by Jake Wharton
Please subscribe to our YouTube channel @ https://bit.ly/devoxx-youtube
Like us on Facebook @ https://www.facebook.com/devoxxcom
Follow us on Twitter @ https://twitter.com/devoxx
RxJava's use in building Android apps has grown rapidly! Combining and composing…
Like us on Facebook @ https://www.facebook.com/devoxxcom
Follow us on Twitter @ https://twitter.com/devoxx
RxJava's use in building Android apps has grown rapidly! Combining and composing…
А теперь большой оффтоп, но очень уж мне понравилось это видео. Слышал про Dwarf Fortress? Это такая игра, графика в которой полностью состоит из ASCII символов, а славится она своим супер микроконтролем, генерацией огромных миров и их историй и, конечно же, тем, что в конце все в любом случае умрут. Я дважды ее запускал, хватало меня минут на 10-15, потому что разбираться во всем этом безобразии можно сутками, которых попросту нет. Вот в видео по ссылке более подробный обзор. Пис 💪🏻
#talk #game #dwarffortress
https://youtu.be/1QoH2B_huUU
#talk #game #dwarffortress
https://youtu.be/1QoH2B_huUU
YouTube
Dwarf Fortress (Edward)
Edward joins us to give an overview of the history, lore, community, scope, and systems that make up the sprawling game world of Dwarf Fortress.
Совершенно прекрасный репозиторий с принтами, в которых объясняется структура разных файлов. Картинки, архивы, исполняемые файлы - куча разных интересностей. В DevZen подкасте была выдвинута интересная идея: печатать эту красоту на футболках и одевать в них детей (своих). Более того, там есть картинки для Dalvik Executable и Dalvik Opcodes! Пис 👊🏻
#format #binary #dalvik
https://github.com/corkami/pics/tree/master/binary
#format #binary #dalvik
https://github.com/corkami/pics/tree/master/binary
GitHub
pics/binary at master · corkami/pics
File formats dissections and more... Contribute to corkami/pics development by creating an account on GitHub.
Facebook на своем F8 показали декларативный фреймворк для построения интерфейса - Litho. Зачем, почему и как - смотри в видео по ссылке, а я расскажу о своем впечатлении. Конечно, пока рано что-то дельное говорить, надо смотреть, как оно умеет в производительность и что у него внутри (у меня пока не было времени залезть внутрь, но код выложен на Github, в этом плане Facebook всегда красавцы), но выглядит довольно интересно. Смущает правда, что ты вешаешь какую-то аннотацию, а дальше оно как-то работает само. В итоге без чтения сорцов можно построить в голове воздушный замок, который совершенно не соответствует реальному положению дел. Насколько я понял из видео, Litho генерирует кучу кода в build-time. Он-то и позволяет всей этой красоте работать. В общем, довольно забавно. Может оно и взлетит, кто знает. Пис 🤞🏻
#litho #view #layout
https://developers.facebook.com/videos/f8-2017/litho-a-declarative-framework-for-efficient-uis/
#litho #view #layout
https://developers.facebook.com/videos/f8-2017/litho-a-declarative-framework-for-efficient-uis/
Meta for Developers
Meta for Developers - Litho: A Declarative Framework for Efficient UIs
Components for Android allows developers to implement complex, efficient RecyclerViews through a simple declarative API. In this session we’ll discuss...
Занимательный README.md от одного из ведущих Fragmented. В нем описано, какие бонусы можно получить от перехода на minSdk повыше. Однако, конечно, всегда нужно помнить про trade-off между плюшками платформы и долей покрытых устройств. Особенно рекомендую обратить внимание на самую последнюю ссылку в файле (прикреплю сюда для удобства). На этой странице Википедии можно посмотреть список фич для каждой версии Android. Пис 👋🏻
#minsdk
https://github.com/kaushikgopal/why_bump_android_minsdk
https://en.wikipedia.org/wiki/Android_version_history#Version_history_by_API_level
#minsdk
https://github.com/kaushikgopal/why_bump_android_minsdk
https://en.wikipedia.org/wiki/Android_version_history#Version_history_by_API_level
GitHub
kaushikgopal/why_bump_android_minsdk
Why you should bump your Android app minsdk? Contribute to kaushikgopal/why_bump_android_minsdk development by creating an account on GitHub.
Back to the roots! Доклад с Droidcon NYC про байты. Просто про байты. Чувак показывает как устроены некоторые кодировки, цвета, текстовые и бинарные форматы передачи данных и все в таком духе. Большую часть из этого ты наверняка знаешь, но что-то новенькое наверняка найдешь. Я вот нашел. Пис 👌🏻
#talk #encoding #byte
https://youtu.be/T_p22jMZSrk
#talk #encoding #byte
https://youtu.be/T_p22jMZSrk
YouTube
Droidcon NYC 2016 - Decoding the Secrets of Binary Data
Jesse Wilson, Square, Inc.
Opaque blobs of data have hexed Android programmers for too long. It’s time to byte the bullet and learn how data is transmitted and persisted.
In this talk we’ll:
💾 Learn a bit about base64, little-endian, and EOF.
💾 See how inefficient…
Opaque blobs of data have hexed Android programmers for too long. It’s time to byte the bullet and learn how data is transmitted and persisted.
In this talk we’ll:
💾 Learn a bit about base64, little-endian, and EOF.
💾 See how inefficient…
Эта статья подъехала от читателя @Atetc. Автор рассказывает о RxPM паттерне, где PM - это Presentation Model. Суть его в том, что в MVVM автоматический databinding заменяется на связывание через Rx. Его плюсы/минусы/код найдешь в статье по ссылке. Пис 🖖🏻
#architecture #rxpm #pattern
https://habrahabr.ru/company/mobileup/blog/326962/
#architecture #rxpm #pattern
https://habrahabr.ru/company/mobileup/blog/326962/
Habr
Реактивные приложения с паттерном RxPM. Прощайте MVP и MVVM
Уже продолжительное время я размышляю над паттерном RxPM и даже успешно применяю его в «продакшене». Я планировал сначала выступить с этой темой на Mobius , но программный комитет отказал, поэтому...
300, братцы! Нас уже 300! Если задуматься, то это ведь чертовски много. Ну, например, мы уже вполне могли бы попытаться дать отпор персидской армии в Фермопильской битве (плохая шутка).
В честь этого события я попрошу тебя заполнить небольшой опрос (минут на 5). Обязательными я выставил только поля фидбэка, но чем больше людей заполнят все остальные, тем интереснее статистику потом посмотрим. Спасибо, что ты с нами! Пис 🤘🏻
#survey
https://goo.gl/forms/szrgaTEhkbPlcetG3
В честь этого события я попрошу тебя заполнить небольшой опрос (минут на 5). Обязательными я выставил только поля фидбэка, но чем больше людей заполнят все остальные, тем интереснее статистику потом посмотрим. Спасибо, что ты с нами! Пис 🤘🏻
#survey
https://goo.gl/forms/szrgaTEhkbPlcetG3
Google Docs
Android Дичь: опрос номер раз
Нас уже 300, но кто мы?
Статья о том, что не так с java.util.Date и почему нужно стараться его избегать. Нам на Android, к сожалению, никуда от него не деться, но помни, товарищ, что когда-нибудь мы выкрутим-таки minSdk на Android O, импортнем что-нибудь из java.time себе в файлик и заживем. Ох, заживем!
#java #date #time
https://codeblog.jonskeet.uk/2017/04/23/all-about-java-util-date/
#java #date #time
https://codeblog.jonskeet.uk/2017/04/23/all-about-java-util-date/
Jon Skeet's coding blog
All about java.util.Date
This post is an attempt to reduce the number of times I need to explain things in Stack Overflow comments. You may well be reading it via a link from Stack Overflow – I intend to refer to thi…
Пост, который очень меня удивил (прилетел он, кстати, от @istima, дружно скажем ему “спасибо”). Удивил он меня в первую очередь тем, что камера моего телефона (большая часть фоток в посте сделана именно на Nexus 6P) способна на такое. Да, конечно, сведение множества сырых файлов проводилось на десктопе, но в теории провести его можно прямо на устройстве. Особое внимание обрати на фото. Вот прямо открой и увеличь. Несмотря на заметные шумы и прочие изъяны, фотографии ведь потрясны!
#camera #photo
https://research.googleblog.com/2017/04/experimental-nighttime-photography-with.html
#camera #photo
https://research.googleblog.com/2017/04/experimental-nighttime-photography-with.html
Googleblog
Experimental Nighttime Photography with Nexus and Pixel
В прошлую субботу мне довелось посетить митап под названием 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
Время: каждую субботу в 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
Peer Lab: Developers Helping Developers
Find a Peer Lab
Here's the idea: come join other developers for a peer-based collaborative learning lab. You've got a question? Maybe someone can provide you with some insight. Maybe you can help someone else with their questions. Bring a laptop and some code to work on.
В этой статье парень по имени Jeroen Mols рассказывает, как он вырезал лишние методы из используемых либ. Один из методов - найти и ручками вырезать лишние методы из гугловых либ (Guava, в его случае). Суть в том, что сначала при помощи ProGuard с подтюненным конфигом он оптимизирует библиотеку, а уже потом юзает ее как зависимость. Понятно, что тот же метод можно переложить и на другие гугловые высеры. Подробности найдешь по ссылке.
#dexlimit #proguard #optimize
http://jeroenmols.com/blog/2016/05/06/methodcount/
#dexlimit #proguard #optimize
http://jeroenmols.com/blog/2016/05/06/methodcount/
Jeroen Mols
Efficiently reducing your method count
As green field projects are a rare breed, chances are that you’ve inherited a legacy code base. If you’re as lucky as me, that code base has over 65k methods causing the build times to be boringly slow.
Короткая и весьма поверхностная статья о том, как Android работает с SSL-сертификатами. Статья аж от 2013-го года, так что материал немного устаревший, но немного света на тему пролить все-таки может.
#ssl #certificate
https://anatomyofandroid.com/2013/10/01/android-root-certificates-management/
#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
#plugin #tool #java
https://medium.com/@andrey_cheptsov/making-java-code-easier-to-read-without-changing-it-adeebd5c36de
Medium
Making Java Code Easier to Read (Without Changing it)
Modern JVM languages such as Kotlin, Groovy, Scala and some others offer many language features that let you write code in a more concise…