每周推荐一些好文章
Matrix 刚开源,源码分析就来了
https://juejin.im/post/5c24c04f5188252ea66b5181
Flutter 的异常分析
https://mp.weixin.qq.com/s/JiJ3XwIq_ADM457M6CBSxA
对死锁问题的监控方案
https://cloud.tencent.com/developer/article/1064396
有时,我们想用新技术解决旧技术的包袱,问题是新技术会带来更多的包袱。新技术的一个问题是,人们还不知道他到底有多糟糕
http://www.yinwang.org/blog-cn/2018/11/23/grammar
ASM 的应用
https://mp.weixin.qq.com/s/s4WgLFN0A-vO0ko0wi25mA
https://juejin.im/post/5c1871d66fb9a04a0a5f1c85
https://droidyue.com/blog/2018/12/16/daemon-thread-in-java/
https://scala.cool/2017/12/kotlin-4/
基于 Dart 注解的路由方案
https://mp.weixin.qq.com/s/YgE9lwEHb31WOWyraHL35w
http://zhengxiaoyong.com/2018/12/16/Flutter混合开发组件化与工程化架构/
从 jcenter 拉取开源库被坑的一次经历,提示我们最好不要把 jcenter 放在第一位,至少要在 mavenCentral 后面
https://blog.autsoft.hu/a-confusing-dependency/
https://blog.csdn.net/qq_17766199/article/details/84789495
从一个 Bug 看 JVM 的内存分配
https://crossoverjie.top/2018/12/12/java-senior/java-memary-allocation/
https://medium.com/flutter-community/flutter-listview-and-scrollphysics-a-detailed-look-7f0912df2754
闲鱼利用 Flutter 做的动态化的方案
https://mp.weixin.qq.com/s/N5ih-DY5TuKyn_a0P2mz0Q
https://www.jianshu.com/p/d29841b1a4d5
https://onevcat.com/2018/12/jose-1/
一个很棒的 Git 教程,可以看到每个命令的执行情况
https://learngitbranching.js.org
https://play.google.com/store/apps/editorial_collection/promotion_topic_bestof2018_mainpage_tp
Getafix 能够为 Infer 发现的 bug 提供修复建议
https://mp.weixin.qq.com/s/k0bjJ6Tokh_orVzRxRw4jw
https://juejin.im/post/5bd81cf2f265da0ab674096c
https://mp.weixin.qq.com/s/DecTyaZaJmGUN80kZ_xl3A
https://mp.weixin.qq.com/s/YtJ_MzJ7WujoUcj2_n_5tg
使用头条的思路的 AndroidAutoSize
https://juejin.im/post/5bce688e6fb9a05cf715d1c2
Kotlin 泛型中何时该用类型形参约束
https://typealias.com/guides/when-to-use-type-parameter-constraints/
让提交变得更有趣一些
https://github.com/carloscuesta/gitmoji/
https://mp.weixin.qq.com/s/OPCBMlj97HDrx_O84XRilw
和 Support Library 类似,后续 Google 会放弃维护 Support Library,需要迁移到 AndroidX
https://developer.android.com/jetpack/androidx/
https://mp.weixin.qq.com/s/mHBz56OWKBB_g9YavVKTbQ
https://proandroiddev.com/mvvm-architecture-viewmodel-and-livedata-part-1-604f50cda1
https://juejin.im/post/5bb9c0d55188255c7566e1e2
FindDanger 用于敏感代码扫描,扫描三方库是否存在获取用户隐私等高风险行为
https://www.jianshu.com/p/248ef6db02c5
https://mp.weixin.qq.com/s/VZxirFEVNlncojBF9lyYkQ
通过 Calces 实现快速组件化构建和多 App 同时构建
https://www.jianshu.com/p/db33095aa7e8
https://blog.darkness463.top/2018/09/30/Android-Virtual-Check-Plus/
更快的 Python
实现 shape 的另一种思路
https://mp.weixin.qq.com/s/Ykce--W80j11SZYRZXnqhA
http://www.androidperformance.com/2018/08/13/Some-Thoughts-on-the-Fluency-of-Android/
http://www.520monkey.com/archives/1283
https://blog.stylingandroid.com/ml-for-android-developers-part-1-2/
https://mp.weixin.qq.com/s/cz7PxOiJQmlTlgygMhifEA
RxJava 是不是真的让我们的代码更简洁
https://juejin.im/post/5b8f536c5188255c352d3528
git rebase -i 的用法
https://juejin.im/post/5b8f42a3f265da43566fa9da
使用 Webview 的缓存
https://mp.weixin.qq.com/s/XfBt_gTw0gN7tXzuyP4PTw
关于软件设计的一个演讲
https://www.youtube.com/watch?v=bmSAYlu0NcY
写技术文档的技巧
通过 Sunflower 学习 Jetpack 组件
https://medium.com/androiddevelopers/introducing-android-sunflower-e421b43fe0c2
用 Go 语言解释二叉树算法
https://about.sourcegraph.com/go/gophercon-2018-binary-search-tree-algorithms/
RSS 重度患者的福音,RSSHub 可以给任何奇奇怪怪的内容生成 RSS 源
https://github.com/DIYgod/RSSHub
https://mp.weixin.qq.com/s/JJWBZRwiojJZq9mfiyZe2A
https://hackernoon.com/functional-programming-not-necessarily-with-java-f93764d64a8c
生动有趣的解释了 Https
https://medium.freecodecamp.org/https-explained-with-carrier-pigeons-7029d2193351
Julia 是一个面向科学计算的高性能动态高级程序设计语言
https://mp.weixin.qq.com/s/Pf8v4xL5ZnH0VwsGM-I1NA
https://zhuanlan.zhihu.com/p/39253127
结合 RxJava,一种更加简单的方式来实现复杂的业务流程
https://juejin.im/post/5b0a7088f265da0db721cf73
Google I/O App 的动画实践
https://medium.com/google-developers/animating-on-a-schedule-8a90d812ae4
Native Crash 的问题难以排查,用这个方案可以拿到 Native Crash 的调用栈帮助排查难题
https://www.kymjs.com/code/2018/08/22/01/
一个与 RecyclerView 的 IllegalArgumentException 问题的记录
https://mp.weixin.qq.com/s/mwTtxk4YfYWCG4m6n_ropw
https://mp.weixin.qq.com/s/pKRi5qpZmol7xFIfeBbK_A
Agoda 开源的 UI 测试工具
https://proandroiddev.com/kakao-how-to-make-ui-testing-great-again-19972cf13740 https://github.com/agoda-com/Kakao
开复老师的演讲
https://www.ted.com/talks/kai_fu_lee_how_ai_can_save_our_humanity
iosched 2018 开源了
https://android-developers.googleblog.com/2018/08/google-releases-source-for-google-io.html
当一个接口有多个方法,却又不需要全部都实现的时候怎么办
https://antonioleiva.com/listeners-several-functions-kotlin/
https://mp.weixin.qq.com/s/uh_NhrxmZz8g_jN6wPt4KA
一些有趣的编程题
https://techiedelight.quora.com/Top-25-Programming-Puzzles-and-Brain-Teasers
利用 TensorFlow Lite 训练自己的模型
https://riggaroo.co.za/building-a-custom-machine-learning-model-on-android-with-tensorflow-lite/
https://mp.weixin.qq.com/s/cJjKZCqc8UuzvEtxK1BJCw
Dart 2 发布了
https://medium.com/dartlang/dart-2-stable-and-the-dart-web-platform-3775d5f8eac7
有限自动机、下推自动机和图灵机
https://www.nosuchfield.com/2017/01/05/Computation-of-computers/
Surge 真的是一个很棒的 App
https://medium.com/@Blankwonder/软件授权模式的讨论和-surge-mac-未来的变化-1ae827ffbe58
来点儿鸡汤?
https://medium.com/the-mission/this-can-be-your-life-if-you-choose-it-19382aabc5b5
各种 Flutter 教程合集,可以学起来啦
https://github.com/Solido/awesome-flutter
Kotlin 让 Effective Java 中的若干条目不那么适用了
去中心化的 App 了解一下
https://mp.weixin.qq.com/s/cG_nglYQaucgMf7mqos7_Q
https://zhuanlan.zhihu.com/p/40985361
To be is harder than not to be
https://www.theverge.com/2018/8/1/17638480/google-china-search-engine-censored-report
微信读书的卡顿检测
http://www.infoq.com/cn/articles/weixin-reading-stuck-monitor-and-test
知乎的启动耗时的排查过程
https://zhuanlan.zhihu.com/p/40097338
在手机上照片方向是对的,但上传之后却出现颠倒的原因分析
https://blog.praveen.science/crazy-image-exif-orientation-bug-or-feature/
https://mp.weixin.qq.com/s/ZQtuqWevWSENbrCaAPnL1g
The key to success is not working hard, It’s working smart.
猜画小歌刷爆了朋友圈,背后的原理了解一下
https://mp.weixin.qq.com/s/sTVGoiTN4sOtEV1ADRL_Hg https://mp.weixin.qq.com/s/tIeWXgiGmCXIb1iJJD2ejg https://ai.googleblog.com/2017/04/teaching-machines-to-draw.html
文中提到了怎么防止被抓包、怎么防止被 Hook、怎么防止被调试等几个方案
http://www.520monkey.com/archives/1263
Dagger 入门
https://moducode.com/blog/android-tutorial-dagger-kotlin/
97 条编程的建议,文章很长,慢慢读
小米的创业之路
https://www.bilibili.com/video/av27087520
已经有超过六成的开发者用过 Kotlin 了,大家抓紧时间学习 Kotlin 啦
https://pusher.com/state-of-kotlin
美团出了一套无业务代码入侵的自动化页面测速插件
https://mp.weixin.qq.com/s/purpCZtjomvSFcjOMZuQpg
理解编译器,还记得编译原理吗
https://medium.com/@CanHasCommunism/understanding-compilers-for-humans-ba970e045877
唯品会也出了一个 Java 规范
https://github.com/vipshop/vjtools
https://mp.weixin.qq.com/s/mx4Iu4ZFo2rSFyGfffMrJQ
美团剖析了 Kotlin 的隐藏开销,对如何避免隐藏开销进行了探索和实践
https://mp.weixin.qq.com/s/b9Dp9tdU-Ymh0JzC3rpUag
最近 Flutter 大火,闲鱼团队写了一系列的文章介绍 Flutter 的使用感想和开发经验
https://yuque.com/xytech/flutter/rl0dnk
京东的插件化和组件化方案
https://mp.weixin.qq.com/s/LBORB7e8e2NIhNKFKAAb6A
adb 增强工具,可以在命令行里打开开发者选项,显示布局边界、过度绘制检测等等
https://github.com/ashishb/adb-enhanced
一些还不错的开源软件
https://github.com/serhii-londar/open-source-mac-os-apps/blob/master/README.md
经典的 DP 问题
DIY: 利用树莓派和打印机将照片变成卡通图片