[周回顾] 2017 11 05

Untitled

这周朋友圈内很多人分享一个机器学习相关的课程,接着就不了了之了。让我想到iPhoneX首发当天的一个段子:
【iOS使用技巧分享】
今天拿到iPhoneX的朋友注意了,iPhoneX在开机后不需要发朋友圈也是可以正常使用的,大家多试试。

1.Annotation

  • 几个定义注解的元注解:
    1.@Target表示该注解修饰的对象范围,比如FIELD用于表示该注解用于修饰成员变量,TYPE用于表示该注解用于描述类,接口,METHOD用于表示该注解用于描述方法等等。
    2.@Retention表示注解的声明周期,SOURCE表示尽在源文件有效;CLASS表示在字节码文件中有效;RUNTIME表示该注解运行时有效。

2.AnnotationProcessor

  • AnnotationProcessor用于自定义针对注解的处理逻辑,我们实现的Processor需要继承AnnotationProcessor并重写4个方法:
    init(ProcessingEnvironment processingEnv) 参数ProcessingEnvironment 提供了Element,Filer,Messager等工具。
    getSupportedAnnotationTypes() 指定注解处理器是注册给那一个注解的,返回一个字符串的集合。
    getSupportedSourceVersion() 指定Java版本。
    process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) 在这里扫描和处理你的注解并完成自己的processor的逻辑,信息都在参数RoundEnvironment 里了。
  • 打包注解处理器的时候需要一个特殊的文件 javax.annotation.processing.Processor 在 META-INF/services 路径下,其内容是处理器的合法全称,多个处理器之间用换行符隔开。

3.网络通讯相关知识

  • https利用非对称加密来传输秘钥(防窥探)。
  • https利用CA证书来确认身份(防篡改)。
  • CA证书链,只要信任证书链中的一个证书结点,其链上后续的证书都被信任。
  • 发现了编程随想这头大牛的博客,对他的博文非常感兴趣(当且仅当博文类型==IT),写的很直白易懂。值得关注(需要科学上网)。
  • Tor的小白理解:洋葱路由通过三重代理模型实现了匿名访问网络资源,同时利用p2p搭建了一套互联网无法直接搜索到的“暗网资源”

4.Kotlin持续深入学习中