###信息的半衰期###
信息的半衰期用来衡量信息的价值和效用随着时间衰减的速度。实践证明,微博的半衰期为一天,这意味着在微博获取的信息,只要24小时就会消失的无影无踪,这样就一直重复着一日复一日的无聊生活。
###信息的价值###
不得不说,至少我关注的微博信息95%是对我没用的。
结合这亮点看来,微博这个看起来很有效率的工具显得是如此的低效。微信虽然改变了这个问题,但是微信的信息还存在着碎片化信息切换的损耗的问题。
###转换成本###
人天生具有专注的能力。一个人如果必须在多个信息中转换注意,则往往一件事情都做不好,别说你可以一心多用做很多事情,你做的事情最多不过是马戏团里踩着自行车丢球的戏法。任何的转换都是需要付出转换成本的,当转换成本太多大脑就会精疲力尽,获取信息就会变得更弱。这也就是为什么微博、微信信息比看书更难获取的原因之一。看书我可能一天都在关注这一个内容,而且有很好的延续性。解决这种问题最好的方式就是把他们通过自己的理解,写下来,至少我是这么做的。
=======分割线========
Maven一些注意的地方:
1.settings.xml,在Maven目录的 conf文件夹中,他全局定制了Maven的行为。最好是吧该文件放到 ~/.m2/ (linux中~就表示用户目录,windows目录需要找到你当前用户的目录,比如C:\Users\x\.m2)中去,这样的好处是可以保证你的修改只对你自己有效,并且在Maven升级的时候,不需要重新编写setting.xml。
2.~/m2\repository 为Maven本地仓库的地址,所有的构建都被存储在该仓库中。
3.如果有安全需要,可以在setting.xml中设置http代理。
<settings> ... <proxies> <proxy> <id>my-proxy</id> <active>true</active> <protocol>http</protocol> <host>218.14.227.197</host> <port>3128</port> <!-- <username>***</username> <password>***</password> <nonProxyHosts> repository.mycom.com|*.google.com </nonProxyHosts> --> </proxy> </proxies> ... </settings>
proxies下可以用多个proxy原色,默认第一个被激活的proxy会生效。nonProxyHosts是不需要进行代理的主机名,多个用“|”分开。
4.坐标详解
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.dragonsoft.david.studymvn</groupId> <artifactId>hello-world</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <classifier>jdk15</classifier> <name>hello-world</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> </dependencies> </project>
##groupId 必须
当前Maven项目隶属的实际项目。 Maven项目与设计项目是多对一的,比如Spring这个项目中,可能有core,有common。所以org.springframework也是一个groupId。因此一个实际项目可能会划分成多个模块。
##artifactId 必须
就是Maven项目的唯一标示符,一般使用项目名或者模块名作为名字。比如 spring-core。
##version 必须
定义Maven项目所处的版本,SNAPSHOT代表快照,具体会在以后写到版本管理的内容时候具体说明。
##packaging 可选
打包的方式,默认是Jar,也可以改成war
##classifier 不能直接定义
定义输出的一些附属构件。不能直接定义,需要通过插件。
项目构件的文件名是与坐标相对应的,一般为 artifactId-version [-classifier].packaging,例如spring-core-3.1.1.jar
5.依赖
如上xml中,junit设置了scope为test,就是只在测试时候依赖,未设置则为全局。
6.常用命令
mvn clean compile 先执行clean(删除target目录),再执行resource任务(没有定义资源文件则跳过),在compiler,将项目主代码编译至target/classes目录。
mvn clean test
比上个命令多了testResources 和testCompile。在Maven执行测试之前,都会自动执行项目主资源处理、主代码编译、测试转处理、测试代码编译等工作,这是Maven生命周期的一个特性。
mvn clean package
和测试一样,多了打包操作。