В порядке оффтопа. JetBrains заопенсорсили утилиту для программной генерации шикарных обоев, по образцу тех, что используются на их обновленном сайте.
https://blog.jetbrains.com/team/2017/02/08/the-art-of-code-visualized/
#jetbrains
https://blog.jetbrains.com/team/2017/02/08/the-art-of-code-visualized/
#jetbrains
Фаулер набрасывает про Event Sourcing, CQRS и другие паттерны, завязанные на событийной модели. Заключение очевидное - серебрянной пули нет и все такое.
https://martinfowler.com/articles/201701-event-driven.html
#architecture
https://martinfowler.com/articles/201701-event-driven.html
#architecture
martinfowler.com
What do you mean by “Event-Driven”?
Some notes on the different patterns that may be present when people talk about event-driven architectures.
Разбор текущего статуса метапрограммирования в Kotlin.
https://medium.com/@workingkills/pushing-the-limits-of-kotlin-annotation-processing-8611027b6711#.94yngnfci
#kotlin
https://medium.com/@workingkills/pushing-the-limits-of-kotlin-annotation-processing-8611027b6711#.94yngnfci
#kotlin
Medium
Pushing the limits of Kotlin annotation processing
Is annotation processing really supported in Kotlin? ☐ Yes ☐ No ☑ It’s complicated
Взгляд на замену статическим свойствам, оставшимся в Java - companion object'ы и их влияние на потребление памяти приложением.
https://robots.thoughtbot.com/companion-objects-are-real-objects-too
#kotlin
https://robots.thoughtbot.com/companion-objects-are-real-objects-too
#kotlin
Thoughtbot
Companion Objects Are Real Objects Too
Why companion objects in Kotlin should not be used as a replacement for Java’s static constant.
Про то, чем отличаются package name и applicationId в Android-приложении.
https://blog.stylingandroid.com/package-name-vs-application-id/
#sdk
https://blog.stylingandroid.com/package-name-vs-application-id/
#sdk
Styling Android
Package Name vs. Application ID
All Android developers should understand that the Package Name that we choose for our app is very important. I'm referring to the Package Name of the application itself (which gets declared in the Man
Мне тут набросили, что хорошо было бы периодически закидывать статьи про более глобальные процессы в мире разработки. Вот, скажем, хороший анализ того, почему Atlassian купили Trello.
https://disruptnext.com/how-to-build-the-next-trello-and-sell-it-for-425-million-or-more-589045c9bd64#.j17grjqtc
#startups #business
https://disruptnext.com/how-to-build-the-next-trello-and-sell-it-for-425-million-or-more-589045c9bd64#.j17grjqtc
#startups #business
Stratout
How to build the next Trello and sell it for $425 million or more
Atlassian bought Trello for $425 million. Because Trello was on trajectory to kill Atlassian.
Нужно прочесть Effective Java, но некогда? Ловите краткий конспект с основными идеями из книги.
https://medium.com/rocknnull/effective-java-for-android-cheatsheet-bf4e3433889a#.rx183o5s8
#java #patterns
https://medium.com/rocknnull/effective-java-for-android-cheatsheet-bf4e3433889a#.rx183o5s8
#java #patterns
Medium
Effective Java for Android (cheatsheet).
Effective Java is considered by many, one of the most important books for writing Java code that is maintainable in the long run and…
Набор лайфхаков по оптимизации потребления памяти в Android приложении.
https://medium.com/google-developers/developing-for-android-ii-bb9a51f8c8b9#.e4ilacimi
#memory
https://medium.com/google-developers/developing-for-android-ii-bb9a51f8c8b9#.e4ilacimi
#memory
Medium
Developing for Android II The Rules: Memory
The Rules: Memory
Пятничный лайфхак - эффект Зейгарник и его влияние на нашу мотивацию и способность усваивать новую информацию.
https://habrahabr.ru/company/everydaytools/blog/321684/
#productivity
https://habrahabr.ru/company/everydaytools/blog/321684/
#productivity
Habr
Эффект Зейгарник на практике
Эффект Зейгарник может помочь повысить вашу работоспособность. Сначала я объясню, в чем заключается идея, а затем дам практический совет, как можно применить ее в обучении. Что такое Эффект Зейгарник?...
Я немного опоздал с новостью, но все же - вышел Kotlin 1.1 RC.
https://blog.jetbrains.com/kotlin/2017/02/kotlin-1-1-release-candidate-is-here/
#kotlin #news
https://blog.jetbrains.com/kotlin/2017/02/kotlin-1-1-release-candidate-is-here/
#kotlin #news
Kotlin Blog
Kotlin 1.1 Release Candidate is Here
As of today, Kotlin 1.1 has finally reached the release candidate stage. This means that most of our development work is done, we’re happy with the results, and we’ll soon publish them …
Про избавление от god-object'ов, в частности от Context.
https://www.philosophicalhacker.com/post/towards-godless-android-development-how-and-why-i-kill-god-objects/
#refactoring #patterns
https://www.philosophicalhacker.com/post/towards-godless-android-development-how-and-why-i-kill-god-objects/
#refactoring #patterns
Разбор способов работы с coroutines, появившимися в Kotlin 1.1. Выглядит шикарно.
https://medium.com/@macastiblancot/android-coroutines-getting-rid-of-runonuithread-and-callbacks-cleaner-thread-handling-and-more-234c0a9bd8eb#.lv89tx176
#kotlin #concurrency
https://medium.com/@macastiblancot/android-coroutines-getting-rid-of-runonuithread-and-callbacks-cleaner-thread-handling-and-more-234c0a9bd8eb#.lv89tx176
#kotlin #concurrency
Medium
Android Coroutines with Kotlin: getting rid of runOnUiThread and Callbacks; cleaner thread handling; and more
With the release of Kotlin 1.1.0, I decided to give a try to Kotlin’s Coroutines on Android. I had some ideas about what I wanted to build…
Про новый функционал Direct Boot, позволяющий запускать приложение даже посе перезагрузки телефона на залоченном экране.
https://android.jlelse.eu/directboot-in-details-a63e23bf4943#.q9papjpur
#sdk
https://android.jlelse.eu/directboot-in-details-a63e23bf4943#.q9papjpur
#sdk
AndroidPub
DirectBoot in details
Android 7.0 (Nougat) brought plenty of new features to both average users and developers. Alongside features like Multi-window view…
Введение в функциональное программирование для Android-разработчиков. Обещают целую серию, в которой рассмотрят практические кейсы, когда этот подход применим к прикладным задачам.
https://medium.com/@anupcowkur/functional-programming-for-android-developers-part-1-a58d40d6e742#.yecl4ptxb
#functional
https://medium.com/@anupcowkur/functional-programming-for-android-developers-part-1-a58d40d6e742#.yecl4ptxb
#functional
Medium
Functional Programming for Android developers — Part 1
Lately, I’ve been spending a lot of time learning Elixir — An awesome functional programming language that is friendly to beginners.
Автоматизация генерации versionName и versionCode с использованием разных возможностей git.
https://blog.uncommon.is/using-git-to-generate-versionname-and-versioncode-for-android-apps-aaa9fc2c96af#.256wrjhy1
#git #automatization
https://blog.uncommon.is/using-git-to-generate-versionname-and-versioncode-for-android-apps-aaa9fc2c96af#.256wrjhy1
#git #automatization
uncommon
Using git to generate versionName and versionCode for Android apps
Combine the master branch, feature branches and git describe till you have a smooth mixture. Serve hot.
Про то, как в Twitch проводят A/B тесты Android приложений.
https://habrahabr.ru/post/322452/
#testing #playstore
https://habrahabr.ru/post/322452/
#testing #playstore
habrahabr.ru
Как в Twitch проводят A/B тестирование
Эксперименты — одна из центральных функций научного подразделения сайта потокового видео Twitch. Мы работаем в тесном контакте с менеджерами по продукции,...
Так, а я тут наконец-то запустил чат для обсуждения публикуемых статей, холиваров и всего такого. Вступаем, вбрасываем темы для обсуждений и критикуем статьи.
https://t.me/droidgt
https://t.me/droidgt
Зарелизился retrofit 2.2.0 с поддержкой RxJava 2 и другими плюшками.
https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-220-2017-02-21
#libraries
https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-220-2017-02-21
#libraries
GitHub
retrofit/CHANGELOG.md at trunk · square/retrofit
A type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub.
Про библиотеку Scripto, позволяющую построить удобный бриджинг между нативным кодом и Javascript.
https://habrahabr.ru/post/305678/
#js #libraries
https://habrahabr.ru/post/305678/
#js #libraries
Habr
Scripto — замена стандартному JavaScriptInterface
Приветствую пользователей Хабра. Наверное, многие из более менее опытных пользователей слышали про JavaScriptInterface — «мостик» между Java и JavaScript, при помощи которого можно вызывать Java...
Ни дня без release notes - подробно про обновление Gradle, которое прямо очень сильно ускорило процесс сборки.
https://blog.gradle.org/incremental-compiler-avoidance
#gradle
https://blog.gradle.org/incremental-compiler-avoidance
#gradle
blog.gradle.org
Incremental Compilation, the Java Library Plugin, and other performance features in Gradle 3.4
We are very proud to announce that the newly released Gradle 3.4 has significantly improved support for building Java applications, for all kind of users. This post explains in details what we fixed, improve...