Android开发架构设计演变 (mp.weixin.qq.com)
软件架构设计是个不老的话题,随着业务驱动,技术展现形式随之变化,从当初的“堆”模式开发到后来有点模型的形式(功能分包但无模式),再到后来 MVC 的出现,结束了“堆”模式,再到后来 MVP 模式出现,一部分开发者积极尝试,或重构,或运用,得到了很多的认可,后面又出现了双向绑定架构— MVVM,算是继 MVP 之后的又一经典架构;当然 Android 官方也推荐了架构:AAC(Android Architecture Components),后面,还会继续出其他的架构...
by @code小生 2019-12-12 18:39 查看详情
重磅! Flutter视图局部更新 (mp.weixin.qq.com)
新建一个flutter工程, 以flutter框架给我们自动生成的代码为例, 当我们点击按钮更新记数_counter时,最终是通过调用State.setState来更新视图的:
by @code小生 2019-12-12 18:38 查看详情
APT自动化生成代码整理 (mp.weixin.qq.com)
说到java的apt技术,其实已经算不是很陌生了,在以前阅读第三方框架butterknife、Dagger2等框架的时候,看到过apt的影子。他是squareup公司出的javapoet技术,通过在java的编译时期生成类,提高了在运行时期通过反射调用的效率。大家试想一下,如果butterknife所有的注解在运行时期都通过反射调用相应的findViewById的话,那得多慢啊。所以可以看到butterknife都是通过apt技术来生成相应的_ViewBinding,大家可以看下app-->build-->generated-->source-->apt下面找到对应的_ViewBinding。好了废话不多说,咋们下面来直接来撸码。
by @code小生 2019-12-12 18:38 查看详情
探索 Android 内存优化方法 (mp.weixin.qq.com)
写这篇文章的目的是完善我对 Android 多线程优化方法的认识,分享这篇文章的目的是希望大家也能从这些知识从得到一些启发。
by @code小生 2019-12-12 18:37 查看详情
无侵入式获取全局 Context (mp.weixin.qq.com)
当我们在使用第三方库,或者自己封装库,如果需要需要用到Context时,一般做法就是将初始化方法暴露给调用方,让调用方在初始化类库时,传入Context。
by @code小生 2019-12-02 10:34 查看详情
VS Code小白使用教程 (mp.weixin.qq.com)
现在使用Vscode编码的人越来越多,凭借着免费,开源,轻量,跨平台的特点收货了一大批忠实粉丝。
by @code小生 2019-12-02 10:34 查看详情
Linux 终端最全推荐(建议收藏) (mp.weixin.qq.com)
如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章。我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端。
by @code小生 2019-12-02 10:34 查看详情
如何写出让同事好维护的代码? (mp.weixin.qq.com)
写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。
by @code小生 2019-12-02 10:32 查看详情
小编自费赠书第二期开奖,第三期书单揭晓 (mp.weixin.qq.com)
恭喜以上三位同学,请在明天中午 12 点之前微信联系小编选择书籍和安排收货信息,过期视为弃权!
by @code小生 2019-12-02 10:31 查看详情
Google的面试题长啥样?看完被吊打! (mp.weixin.qq.com)
作为一名Google的工程师和面试官,今天是我第二次发文分享科技公司面试建议了。这里先声明:本文仅代表我个人的观察、意见和建议。请勿当作来自Google或Alphabet的官方建议或声明。
by @code小生 2019-12-02 10:31 查看详情
Mac 超详细入门指南,备用! (mp.weixin.qq.com)
这是写给 Mac 小白看的!重要的事要先说。对于使用 Mac 有一定经验的童鞋,请出门左拐,下面的东西是你不屑的。
by @code小生 2019-12-02 10:30 查看详情
Spring Boot 核心知识,深入剖析! (mp.weixin.qq.com)
在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架。或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用。因而Spring Boot应用本质上就是一个基于Spring框架的应用,它是Spring对“定优先于配置”理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于Spring生态圈的应用。
by @code小生 2019-12-02 10:30 查看详情
这本2019年才出版的Go新书,可以免费下载了 (mp.weixin.qq.com)
2009年11月,Google发布了Go语言,纵观这几年来发展趋势,Go语言已经成为云计算、云存储时代最重要的基础编程语言。
by @code小生 2019-12-02 10:29 查看详情
Android项目重构实践:从 Fresco 到 Glide 低成本重构方案 (mp.weixin.qq.com)
Fresco 是一个入侵性很重的框架,如果使用 Fresco 我们的ImageView都要替换为 SimpleDraweeView,如果使用自定义ImageView,就非常麻烦。虽然 SimpleDraweeView 提供了非常丰富的功能,比如圆角,边框等,但有时候会出现非常奇怪的布局异常。在5.0版本以前 Fresco 可以有效降低 OOM,但是现在已经没有优势了,所以项目计划从 Fresco 替换为 Glide。
by @code小生 2019-11-25 20:51 查看详情
17 个 Python 常用技巧,很少人注意到 (mp.weixin.qq.com)
很多读者都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。
by @code小生 2019-11-25 20:51 查看详情
MySQL 面试题 24 问 (mp.weixin.qq.com)
如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。
by @code小生 2019-11-25 20:50 查看详情
史上最烂的项目:苦撑 12 年,600 多万行代码 (mp.weixin.qq.com)
你见过最烂的项目,撑了多长时间才完蛋?六个月?一年?今天介绍的这个奇葩项目,不但一开始就烂得透透的,还硬撑了12年多,直到项目负责人被逮起来丢进监狱才完事。
by @code小生 2019-11-25 20:50 查看详情
使用Flutter一年后,这是我得到的经验 (mp.weixin.qq.com)
群里看到很多新手入门在语言选择上有了困惑,我一般的建议是选择 Java,毕竟Flutter 还没有 Java 根深蒂固
by @code小生 2019-11-25 20:49 查看详情
Spring的核心思想,总结得非常好! (mp.weixin.qq.com)
依赖注入是面型接口编程的一种体现,是Spring的核心思想。事实上依赖注入并不是什么高深的技术, 只是被Sping这么以包装就显得有些神秘。
by @code小生 2019-11-25 20:46 查看详情
我写了个 Chrome 插件,一键下载 Pornhub 视频! (mp.weixin.qq.com)
插件获取和使用见文末,请先欣赏技术流。

有个读者叫zgao,他之前写过一篇博客,爬取了 Pornhub(下面全部简称P站)上的视频,代码很简单,关键还好用!当时小詹就 P 站上爬取了一些考研数学视频,虽然我用不上,但是我热爱技术啊!
by @code小生 2019-11-25 20:45 查看详情