每周推荐一些好文章
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
2017
2018
.gitignore
README.md

README.md

weekly

每周推荐一些好文章

20181229 推荐阅读

腾讯性能监控框架 Matrix 源码分析第一篇

Matrix 刚开源,源码分析就来了

https://juejin.im/post/5c24c04f5188252ea66b5181

Flutter Exception 降到万分只几的秘密

Flutter 的异常分析

https://mp.weixin.qq.com/s/JiJ3XwIq_ADM457M6CBSxA

手 Q Android 线程死锁监控与自动化分析实践

对死锁问题的监控方案

https://cloud.tencent.com/developer/article/1064396

Choose Boring Technology

有时,我们想用新技术解决旧技术的包袱,问题是新技术会带来更多的包袱。新技术的一个问题是,人们还不知道他到底有多糟糕

http://boringtechnology.club

解谜英语语法

http://www.yinwang.org/blog-cn/2018/11/23/grammar

20181221 推荐阅读

一起玩转 Android 项目中的字节码

ASM 的应用

https://mp.weixin.qq.com/s/s4WgLFN0A-vO0ko0wi25mA

《Flutter 实战》开源电子书

https://juejin.im/post/5c1871d66fb9a04a0a5f1c85

JVM 中的守护线程

https://droidyue.com/blog/2018/12/16/daemon-thread-in-java/

为什么 Kotlin 的根类型是「Any?」

https://scala.cool/2017/12/kotlin-4/

Flutter 路由管理代码这么长长长长长,阿里工程师怎么高效解决?

基于 Dart 注解的路由方案

https://mp.weixin.qq.com/s/YgE9lwEHb31WOWyraHL35w

Flutter 混合开发组件化与工程化架构

http://zhengxiaoyong.com/2018/12/16/Flutter混合开发组件化与工程化架构/

20181214 推荐阅读

A Confusing Dependency

从 jcenter 拉取开源库被坑的一次经历,提示我们最好不要把 jcenter 放在第一位,至少要在 mavenCentral 后面

https://blog.autsoft.hu/a-confusing-dependency/

安卓开发中遇到的奇奇怪怪的问题

https://blog.csdn.net/qq_17766199/article/details/84789495

没错,老板让我写个 Bug

从一个 Bug 看 JVM 的内存分配

https://crossoverjie.top/2018/12/12/java-senior/java-memary-allocation/

Flutter ListView and ScrollPhysics: A Detailed Look

https://medium.com/flutter-community/flutter-listview-and-scrollphysics-a-detailed-look-7f0912df2754

20181207 推荐阅读

做了 2 个多月的设计和编码,我梳理了 Flutter 动态化方案对比及最佳实践

闲鱼利用 Flutter 做的动态化的方案

https://mp.weixin.qq.com/s/N5ih-DY5TuKyn_a0P2mz0Q

Android 高斯模糊你所不知道的坑

https://www.jianshu.com/p/d29841b1a4d5

与 JOSE 战斗的日子 - 写给 iOS 开发者的密码学入门手册

https://onevcat.com/2018/12/jose-1/

Learn Git Branching

一个很棒的 Git 教程,可以看到每个命令的执行情况

https://learngitbranching.js.org

Google Play 2018 年度最佳榜单

https://play.google.com/store/apps/editorial_collection/promotion_topic_bestof2018_mainpage_tp

20181109 推荐阅读

让程序员少掉几根头发的 Facebook 智能 bug 修复神器

Getafix 能够为 Infer 发现的 bug 提供修复建议

https://mp.weixin.qq.com/s/k0bjJ6Tokh_orVzRxRw4jw

支付宝客户端架构:Android 容器化框架初探

https://juejin.im/post/5bd81cf2f265da0ab674096c

性能比肩美拍秒拍的 Android 视频录制编辑特效解决方案

https://mp.weixin.qq.com/s/DecTyaZaJmGUN80kZ_xl3A

淘宝商品详情页信息重构:“搭积木”背后的设计思考

https://mp.weixin.qq.com/s/YtJ_MzJ7WujoUcj2_n_5tg

20181026 推荐阅读

今日头条屏幕适配方案终极版正式发布

使用头条的思路的 AndroidAutoSize

https://juejin.im/post/5bce688e6fb9a05cf715d1c2

When (and when not) to Use Type Parameter Constraints in Kotlin

Kotlin 泛型中何时该用类型形参约束

https://typealias.com/guides/when-to-use-type-parameter-constraints/

Gitmoji

让提交变得更有趣一些

https://github.com/carloscuesta/gitmoji/

使用 ThreadPool 不当引发的死锁

https://mp.weixin.qq.com/s/OPCBMlj97HDrx_O84XRilw

20181019 推荐阅读

AndroidX

和 Support Library 类似,后续 Google 会放弃维护 Support Library,需要迁移到 AndroidX

https://developer.android.com/jetpack/androidx/

Flutter 之禅 内存优化篇

https://mp.weixin.qq.com/s/mHBz56OWKBB_g9YavVKTbQ

MVVM architecture, ViewModel and LiveData

https://proandroiddev.com/mvvm-architecture-viewmodel-and-livedata-part-1-604f50cda1

回归初心: 极简 Android 组件化方案—— AppJoint

https://juejin.im/post/5bb9c0d55188255c7566e1e2

知乎 Android 客户端第三方库敏感代码扫描机制

FindDanger 用于敏感代码扫描,扫描三方库是否存在获取用户隐私等高风险行为

https://www.jianshu.com/p/248ef6db02c5

阿里云的这群疯子

https://mp.weixin.qq.com/s/VZxirFEVNlncojBF9lyYkQ

20181012 推荐阅读

通过 Gradle 自动实现 Android 组件化模块构建

通过 Calces 实现快速组件化构建和多 App 同时构建

https://www.jianshu.com/p/db33095aa7e8

Android 多开检测的另一个思路

https://blog.darkness463.top/2018/09/30/Android-Virtual-Check-Plus/

Python Faster Way

更快的 Python

http://pythonfasterway.org

美军的 120 秒快速入睡法

https://medium.com/s/story/combat-tested-training-unwind-and-sleep-anywhere-in-120-seconds-27d5307b7606

20180921 推荐阅读

无需自定义 View,彻底解放 shape,selector 吧

实现 shape 的另一种思路

https://mp.weixin.qq.com/s/Ykce--W80j11SZYRZXnqhA

关于 Android 系统流畅性的一些思考

http://www.androidperformance.com/2018/08/13/Some-Thoughts-on-the-Fluency-of-Android/

支付宝蚂蚁森林能量自动收取插件开发原理

http://www.520monkey.com/archives/1283

ML for Android Developers

https://blog.stylingandroid.com/ml-for-android-developers-part-1-2/

浅谈博弈论

https://mp.weixin.qq.com/s/cz7PxOiJQmlTlgygMhifEA

20180914 推荐阅读

RxJava 沉思录

RxJava 是不是真的让我们的代码更简洁

https://juejin.im/post/5b8f536c5188255c352d3528

Git 如何遗弃已经 Push 的提交

git rebase -i 的用法

https://juejin.im/post/5b8f42a3f265da43566fa9da

Android Webview H5 秒开方案实现

使用 Webview 的缓存

https://mp.weixin.qq.com/s/XfBt_gTw0gN7tXzuyP4PTw

一次 Java 内存泄漏调试的有趣经历

https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651481642&idx=1&sn=7e6e69af7b3a06a9704d15a2828b3029

John Ousterhout: “A Philosophy of Software Design” | Talks at Google

关于软件设计的一个演讲

https://www.youtube.com/watch?v=bmSAYlu0NcY

Writing Documentation When You Aren’t A Technical Writer

写技术文档的技巧

https://blog.stoplight.io/writing-documentation-when-you-arent-a-technical-writer-part-one-ef08a09870d1

20180907 推荐阅读

Introducing Android Sunflower

通过 Sunflower 学习 Jetpack 组件

https://medium.com/androiddevelopers/introducing-android-sunflower-e421b43fe0c2

GopherCon 2018 - Demystifying Binary Search Tree Algorithms

用 Go 语言解释二叉树算法

https://about.sourcegraph.com/go/gophercon-2018-binary-search-tree-algorithms/

RSSHub

RSS 重度患者的福音,RSSHub 可以给任何奇奇怪怪的内容生成 RSS 源

https://github.com/DIYgod/RSSHub

20180831 推荐阅读

Android 你不能忽略的代码命名规范

https://mp.weixin.qq.com/s/JJWBZRwiojJZq9mfiyZe2A

Functional Programming(not necessarily with Java)

https://hackernoon.com/functional-programming-not-necessarily-with-java-f93764d64a8c

HTTPS explained with carrier pigeons

生动有趣的解释了 Https

https://medium.freecodecamp.org/https-explained-with-carrier-pigeons-7029d2193351

Julia 极简入门教程

Julia 是一个面向科学计算的高性能动态高级程序设计语言

https://mp.weixin.qq.com/s/Pf8v4xL5ZnH0VwsGM-I1NA

https://zhuanlan.zhihu.com/p/39253127

20180824 推荐阅读

如何优雅的构建易维护、可复用的 Android 业务流程

结合 RxJava,一种更加简单的方式来实现复杂的业务流程

https://juejin.im/post/5b0a7088f265da0db721cf73

Animating on a Schedule

Google I/O App 的动画实践

https://medium.com/google-developers/animating-on-a-schedule-8a90d812ae4

Android Native Crash 收集

Native Crash 的问题难以排查,用这个方案可以拿到 Native Crash 的调用栈帮助排查难题

https://www.kymjs.com/code/2018/08/22/01/

记一次全民 K 歌的 crash 定位过程

一个与 RecyclerView 的 IllegalArgumentException 问题的记录

https://mp.weixin.qq.com/s/mwTtxk4YfYWCG4m6n_ropw

WMRouter:美团外卖 Android 开源路由框架

https://mp.weixin.qq.com/s/pKRi5qpZmol7xFIfeBbK_A

Kakao - how to make UI testing great again

Agoda 开源的 UI 测试工具

https://proandroiddev.com/kakao-how-to-make-ui-testing-great-again-19972cf13740 https://github.com/agoda-com/Kakao

How AI Can Save Our Humanity

开复老师的演讲

https://www.ted.com/talks/kai_fu_lee_how_ai_can_save_our_humanity

20180817 推荐阅读

Google release source for Google I/O 2018 for Android

iosched 2018 开源了

https://android-developers.googleblog.com/2018/08/google-releases-source-for-google-io.html

Listeners with several functions in Kotlin. How to make them shine?

当一个接口有多个方法,却又不需要全部都实现的时候怎么办

https://antonioleiva.com/listeners-several-functions-kotlin/

Flutter Dart Framework 原理简解

https://mp.weixin.qq.com/s/uh_NhrxmZz8g_jN6wPt4KA

Top 25 Programming Puzzles and Brain Teasers

一些有趣的编程题

https://techiedelight.quora.com/Top-25-Programming-Puzzles-and-Brain-Teasers

20180810 推荐阅读

Building a Custom Machine Learning Model on Android with TensorFlow Lite

利用 TensorFlow Lite 训练自己的模型

https://riggaroo.co.za/building-a-custom-machine-learning-model-on-android-with-tensorflow-lite/

Flutter 的原理及美团的实践

https://mp.weixin.qq.com/s/cJjKZCqc8UuzvEtxK1BJCw

Announcing Dart 2 Stable and the Dart Web Platform

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 Mac 未来的变化

Surge 真的是一个很棒的 App

https://medium.com/@Blankwonder/软件授权模式的讨论和-surge-mac-未来的变化-1ae827ffbe58

This Can Be Your Life If You Choose It

来点儿鸡汤?

https://medium.com/the-mission/this-can-be-your-life-if-you-choose-it-19382aabc5b5

20180803 推荐阅读

Awesome-Flutter

各种 Flutter 教程合集,可以学起来啦

https://github.com/Solido/awesome-flutter

Effective Java in Kotlin, obsolete items thanks to Kotlin (item 3, 4, 16, 40, 61 from 3rd edition)

Kotlin 让 Effective Java 中的若干条目不那么适用了

https://blog.kotlin-academy.com/effective-java-in-kotlin-obsolete-items-thanks-to-kotlin-items-3-4-16-40-61-from-3rd-edition-31952da308f4

区块链 DAPP 开发实战——在安卓下调用本地节点发行的代币和智能合约

去中心化的 App 了解一下

https://mp.weixin.qq.com/s/cG_nglYQaucgMf7mqos7_Q

知乎客户端埋点流程、模型和平台技术

https://zhuanlan.zhihu.com/p/40985361

Whistleblower reveals Google’s plans for censored search in China

To be is harder than not to be

https://www.theverge.com/2018/8/1/17638480/google-china-search-engine-censored-report

20180727 推荐阅读

微信读书阅读引擎卡顿监控测试

微信读书的卡顿检测

http://www.infoq.com/cn/articles/weixin-reading-stuck-monitor-and-test

知乎安卓客户端启动优化—— Retrofit 代理

知乎的启动耗时的排查过程

https://zhuanlan.zhihu.com/p/40097338

Crazy Image EXIF Orientation Bug (or Feature)

在手机上照片方向是对的,但上传之后却出现颠倒的原因分析

https://blog.praveen.science/crazy-image-exif-orientation-bug-or-feature/

拼多多的多和少

https://mp.weixin.qq.com/s/ZQtuqWevWSENbrCaAPnL1g

7 Things to Start Being More Productive Today

The key to success is not working hard, It’s working smart.

https://medium.com/@cammipham/7-things-you-need-to-stop-doing-to-be-more-productive-backed-by-science-a988c17383a6

20180720 推荐阅读

你的灵魂画作都去哪儿了?“猜画小歌”背后的 5000 万组数据

猜画小歌刷爆了朋友圈,背后的原理了解一下

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

Android 安全防护之旅——只需要这几行代码让 Android 程序项目变得更加安全

文中提到了怎么防止被抓包、怎么防止被 Hook、怎么防止被调试等几个方案

http://www.520monkey.com/archives/1263

Beginner’s Guide to Dagger in Android, with Kotlin

Dagger 入门

https://moducode.com/blog/android-tutorial-dagger-kotlin/

97 Things Every Programmer Should Know

97 条编程的建议,文章很长,慢慢读

https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/index.html

一团火:小米创业 8 年内部纪录片

小米的创业之路

https://www.bilibili.com/video/av27087520

20180713 推荐阅读

The State of Kotlin

已经有超过六成的开发者用过 Kotlin 了,大家抓紧时间学习 Kotlin 啦

https://pusher.com/state-of-kotlin

Android 自动化页面测速在美团的实践

美团出了一套无业务代码入侵的自动化页面测速插件

https://mp.weixin.qq.com/s/purpCZtjomvSFcjOMZuQpg

Understanding Compilers For Humans

理解编译器,还记得编译原理吗

https://medium.com/@CanHasCommunism/understanding-compilers-for-humans-ba970e045877

vjtools

唯品会也出了一个 Java 规范

https://github.com/vipshop/vjtools

小米开源项目盘点

https://mp.weixin.qq.com/s/mx4Iu4ZFo2rSFyGfffMrJQ

Kara Swisher 采访扎克伯格的记录

https://www.recode.net/2018/3/22/17150814/transcript-interview-facebook-mark-zuckerberg-cambridge-analytica-controversy

20180706 推荐阅读

Kotlin 代码检查在美团的探索与实践

美团剖析了 Kotlin 的隐藏开销,对如何避免隐藏开销进行了探索和实践

https://mp.weixin.qq.com/s/b9Dp9tdU-Ymh0JzC3rpUag

闲鱼 Flutter 实践效果访谈

最近 Flutter 大火,闲鱼团队写了一系列的文章介绍 Flutter 的使用感想和开发经验

https://yuque.com/xytech/flutter/rl0dnk

当插件化遇到 Android P

京东的插件化和组件化方案

https://mp.weixin.qq.com/s/LBORB7e8e2NIhNKFKAAb6A

adb-enhanced

adb 增强工具,可以在命令行里打开开发者选项,显示布局边界、过度绘制检测等等

https://github.com/ashishb/adb-enhanced

macOS Open Source Applications

一些还不错的开源软件

https://github.com/serhii-londar/open-source-mac-os-apps/blob/master/README.md

Follow these steps to solve any Dynamic Programming interview problem

经典的 DP 问题

https://medium.freecodecamp.org/follow-these-steps-to-solve-any-dynamic-programming-interview-problem-cc98e508cd0e

cartoonify

DIY: 利用树莓派和打印机将照片变成卡通图片

https://github.com/danmacnish/cartoonify