Android 里比较常见的混淆方案就是 ProGuard 和 DexGuard,都是 GuardSquare 的产品,前者免费,后者收费;同时,GuardSquare 还推出了 iOS 的混淆方案 iXGuard。
我们用的方案是 ProGuard,因此这里的讨论只针对 ProGuard,源码见这里 https://sourceforge.net/projects/proguard/ 。
学无止境。
Android 里比较常见的混淆方案就是 ProGuard 和 DexGuard,都是 GuardSquare 的产品,前者免费,后者收费;同时,GuardSquare 还推出了 iOS 的混淆方案 iXGuard。
我们用的方案是 ProGuard,因此这里的讨论只针对 ProGuard,源码见这里 https://sourceforge.net/projects/proguard/ 。
最近真是节奏不断…起因都是在朋友圈里说了一些人认为不该说的话。
前两天被 drakeet 拉黑了,原因我也不想多说了。总之,当时反应是比较愕然,有那么一瞬间的失落,不过随即就消失了,慢慢地有一些生气一直到现在,不过并不在意,不会放在心上。
前些天,看了电影『驴得水』,朋友跟我讲,很心疼张一曼,我也回了个『嗯,心疼』,然后又接了句『也心疼周铁男』。在听到枪响之前,这是我最喜欢的一个角色,年轻、莽撞、单纯,枪响之后,这个人立马变成了自己曾经讨厌的样子。最近一直在问自己:忙忙碌碌一整年,如今的自己是个什么样子?
如何开办一个开发者大会?开发者们从来都不要求 CSDN、QCON 之流能够有多么高尚的追求,甚至极尽包容乃至允许平庸,然而无处不散发着的鸡贼气息,着实让人扫兴。今天去参加了 Google Developer Day 。无论从哪个角度看,Google 都为国内众多组织机构做了一个最好的示范,一家企业的价值观在整个大会的方方面面,每一个细节都体现的淋漓尽致。
插件化技术发展到现在其实已经很成熟了,但是相应的问题,如果没有真正地去实践过,根本不了解其中有多少问题,会牵涉到多少技术细节,多少被外人膜拜的外表光鲜的技术大牛都被『插件化』这三个字折磨地死去活来,这对于 Android 整个生态的损害也让人无法忽视。
昨天的 MDCC ,冯森林老师提出了一个很有意思的思路『组件化』。
最近一直在做插件化相关的工作。现在最常见的方案就是来自阿里的 Atlas 和 360 的 DroidPlugin 了。按照我的理解,对于当前的大多数应用来讲,可能 Atlas 会更适合一些,因为它允许插件与宿主之间,甚至是插件之间可以有互动;而 DroidPlugin 的思想会更先进,可想象空间更大一些,理论上它可以启动任何一个第三方应用,比如虚拟化,可参照物就是 LBE 的平行空间。
Scalable 可伸缩。
纯函数(Pure Function),或函数的纯粹性(Purity),没有副作用(Side Effect)。
副作用指状态的变化(mutation)。如修改全局变量(x+=y),抛出异常,IO读写,调用有副作用的函数。
引用透明(Referential Transparency)。对于相同的输入,总是能得到相同的输出。
如果 f(x) 的参数 x 和函数体都是引用透明的,那么函数 f 就是纯函数。(反例:append)
五一回家,我办了婚礼。其实对于来说,这个仪式有没有倒并没有什么所谓,不过这总归是家里人的一桩心愿,了却了这桩心愿,以后的事才能真正集中精力去做其他的事情嘛。
接触过 EventBus
和 RxJava
的都知道,可以用 RxJava
来实现 EventBus
,网上随便一搜,就可以拿得到代码。但是究竟为什么可以这么做?却没有类似的文章作进一步的深度解析。(本文假定读者都已经了解 EventBus
和 RxJava
是什么,可以做什么。)
我和我的朋友们一起在我们乡下的老家发起了一个图书馆项目,现在这个项目已经持续了三年多了。这是一篇约稿,答应同学要写写自己的经历,写的也比较随性,想到哪儿就写到哪儿。