- 博客(17)
- 收藏
- 关注
原创 资源索引
AndroidAndroidDevToolsGoogle中国开发者网大公司的开源地址FaceBook腾讯ArchitectureThe Architecture of Open Source Applications人工智能麻省理工公开课:线性代数斯坦福大学公开课 :机器学习课程快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q
2017-02-05 22:02:01
478
原创 常用网址
大公司的开源地址 FaceBook react-native : A framework for building native apps with React. 腾讯 Android AndroidDevTools Google中国开发者网人工智能 基础 麻省理工公开课:线性代数 斯坦福大学公开课 :机器学习课程 吴恩
2017-02-05 21:50:51
557
翻译 可子类化设计
1. 可子类化设计为了创建可子类化的类需要注意以下几点:1.1 所有的构造函数,readObject,以及clone不能调用可重载的方法(非private, 非static,非final)1.2 如果有一个方法依赖于一个可重载方法的实现,这个依赖需要在javadoc里显式声明1.3 如非必要,不实现Serializable接口1.4 如非必要,不实现Cloneable接口
2015-11-05 20:52:15
364
翻译 由外之内的创建类(Construct classes from the outside in)
当设计一个新类时,从调用者(caller)的角度来看类的设计是很有帮助的:由于会有更多的用例(use case)反馈, 最终的设计质量会更好通常会使错误的设计发现的更早,这就意味着能更快的设计好大多数设计可以简单概括为下面几步:做做好的假设(Make your best guess)发现并修正错误重复1.2.第2步看起来是个关键步骤。错误发现得越早越
2015-10-26 20:59:29
397
翻译 按协约设计Design by Contract
一个类或接口的Specification(规范)是它提供的所有非私有的项的集合,作为服务提供给调用方,以及在javadoc中提供的使用指南。创建一个Specification(规范)是一件很有挑战的事,需要做到以下几点:* 越简单越好* 越清晰越好* 不含糊,不具二义性* 准确* 让读者完全忘掉实现细节(除非为了找bug)* 让读者很容易掌握按协约设
2015-10-16 19:54:08
606
原创 Tcpdump 命令解释
tcpdump -n 不转换主机名、端口号 -v -vv -vvv verbose输出-i eth0 指定网络接口,默认eth0-w xxx.pcap 输出到文件-r xxx.pcap 读入文件-s 100 指定抓包大小,默认65535字节-c 10 指定抓包数量,否则会一直运行-A 以ASCII格式打印数据包内容-XX 以16进制和ASCII格
2015-10-08 19:38:37
665
原创 Android中的Selector
Color State List Resource1. ColorSelector, 放在color资源目录 android:color="#RGB或#ARGB, #RRGGBB #AARRGGBB" android:state_pressed=["true" | "false"]
2015-08-15 18:31:52
360
原创 Android开发资源列表
Android官网http://developer.android.com/index.htmlAndroid Developers Blog:http://android-developers.blogspot.com/开源项目分类:https://fossdroid.com/c/development/Trinea开源项目汇总:https
2015-06-28 21:06:02
420
翻译 linux模拟网络状况
网络模拟模拟网络延迟1. 对出包增加100ms延迟tc qdisc add dev eth0 root netem delay 100ms2. 修改为100ms+-10ms延迟tc qdisc change dev eth0 root netem delay 100ms 10ms3. 修改为更随机跟前一个有25%相关tc qdisc change
2015-06-05 17:07:28
723
翻译 assert使用场景
Assert use cases常用的用assert场景:先决条件(private方法中) - 方法调用者必须满足这些需求后置条件 - 检查结果类不变式class invariant - 检查对象状态运行时不可达代码 - 某些分支预期不可达,但无法在编译器做检查(常见在else分支或switch的default分支)下面是例子import java.ut
2015-06-02 14:30:52
4720
翻译 不要在构造函数里往外传this参数
Don't pass 'this' out of a constructor在一个类例,this关键字指向一个native对象,当前类的实例。在一个构造函数里,this一般有以下几种使用方式.1. 在第一行,用this(...)调用其他构造函数2. 用this.filedName的形式访问设置属性3. 给其他对象的方法当参数,比如blah.operation(this);
2015-06-01 20:39:32
752
翻译 Java参数检查
Validate method arguments方法的第一行往往都是检查参数的合法性,其理念就是越早失败越好,这对于构造函数尤其重要。对于private的方法, 跳过参数合法行检查策略是一个合理的策略, 因为private的方法只有被类自身调用,类作者应该能够保证调用private方法时参数的有效性。如果有必要,可在private方法中可以用assert这个关键字来检
2015-06-01 20:16:28
1144
翻译 怎样写产品级别质量的代码
常常会问起怎么写production quality code, 产品级别的代码意味着对质量有严格的考量,不同于demo级别或普通开发级别的代码。那么产品级别的代码和普通开发级别的代码究竟有何不区别?这主要是他们面临的环境不一样。1) 产品总归是质量问题,它会暴露各种并发问题,负载问题,内存和CPU等各方面的压力.2) 产品输入数据的来源千差万别,或输入的数据压根就不正
2015-05-22 14:14:58
1745
翻译 Java Tips and Best practices to avoid NullPointerException in Java Applications
1) call equals() and equalsIngoreCase method on known String literal rather unknow object.eg. "knowObject".equals(unknowObjet)就很好2)Prefer valueOf() Over toString() where both return same resul
2015-05-20 20:30:20
350
翻译 Java javapractices (2) - Consider composition instead of subclassing
把组合当成继承的代替方案组合:采用转发调用到某个成员变量不会对该成员变量的具体实现有依赖由于可以运行时而不是编译时决定,相对更灵活继承:由于和父类或超类的实现紧密耦合,它破坏了封装性。给父类或超类添加方法会破坏子类父类或超类会同时添加进来不同的包可能有不同的人来维护,从不同的包来继承会引入风险例外的情况是基于模板的设计模式,这
2015-05-10 15:46:09
279
转载 Unicode来龙去脉
来源:http://mp.weixin.qq.com/s?__biz=MjM5OTMxMzA4NQ==&mid=211991021&idx=2&sn=5f51d940aa647d97abfeae298d1f0138很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为“字节”。
2015-05-10 10:59:49
322
翻译 Java javapractices (1) - Avoid basic style errors
Common Practices很多新手都会犯同样的风格错误,这样的风格错误不会使程序运行有问题,但是会使你的代码不好维护。从本质上来说,新手代码都不太具有可读性。下面是一些常见的基本风格错误:类名太长类方法名太长很少或没有文档(javadoc)名称上无法区分局部变量(local variables),参数(arguments), 成员变量(fields)许多空的catch块,
2015-05-09 23:03:21
430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人