分类 默认分类 下的文章

文章参考来源:http://www.centoscn.com/CentOS/config/2015/0311/4857.html

VirtualBox 四种网络接入方式

  1. NAT 网络地址转换模式(NAT,Network Address Translation)
    特点:虚拟机可以访问外部网络,但是外部网络包括主机不能访问到虚拟机,也不知道虚拟机的存在;虚拟机之间也无法互访。
  2. Bridged Adapter 桥接模式
    特点:通过主机网卡桥接到外部网络,会被分配一个独立IP(前提是外部网络有可分配IP);外部看来这是与主机同层次的机器,所有机器(虚拟、主机、外部网络)都能互访。
  3. Internal 内部网络模式
    特点:虚拟机之间通过设置可以互访;虚拟机与主机、外部网络之间不能互访。
  4. Host-only Adapter 主机模式
    特点:虚拟机之间,虚拟机与主机可以互访(192.168.56/1网段);虚拟机与外部网络不可以互访。

推荐方法

推荐使用两块网络,第一块设置位NAT供虚拟机连接外部网络,第二块设置为Host-only供虚拟机与主机互访。这样做的目的是:

  • 虚拟机能够访问网络,但是网络不能访问虚拟机,保证虚拟机隐私和安全
  • 虚拟机与主机能够互访,方便使用虚拟机建立开发环境

  • 分布检验使用 lillietest 函数
  • 自相关使用xcorr函数
  1. = xcorr(x,y) 返回矢量长度为$2*N-1$互相关函数序列,其中x和y的矢量长度均为N,如果x和y的长度不一样,则在短的序列后补零直到两者长度相等。

c = xcorr(x) 为矢量x的自相关估计。
c = xcorr(x,y,'option') 为有正规化选项的互相关计算;其中选项为"biased"为有偏的互相关函数估计;"unbiased"为无偏的互相关函数估计;"coeff"为0延时的正规化序列的自相关计算;"none"为原始的互相关计算。

  • 使用corrcoef函数可以求两个序列的相关度
    corrcoef(x,y)表示序列x和序列y的相关系数,得到的结果是一个2*2矩阵,其中对角线上的元素分别表示x和y的自相关,非对角线上的元素分别表示x与y的相关系数和y与x的相关系数,两个是相等的。

最近windows下面的svchost.exe因为windows update的关系在内存方面兴风做浪,一开机就吃掉了1GB内存。令人抓狂,禁用了windows update服务之后还是觉得这个系统越来越不舒服。想想最近这段时间使用windows也仅仅是上网、收发邮件、coding/matlab之类的活,对文档的编辑也仅仅限于word之类,游戏什么都基本没有碰,所以好吧,我还是切换回archlinux吧。

目前想到的是,code用eclipse代替好了(php、android都可以嘛)、office自然libre-office啦,其他使用svn之类的同步windows和archlinux下面的代码,文档就直接挂载windows分区好了。

不过archlinux由于经常不升级,所以升级老是出现问题,现在apper已经不能用了,只能吃豆人一下。

资源:

  1. Archlinux 删除无用包 pacman -Rns $(pacman -Qdtq)

Android本身是在linux内核上的一套定制操作系统,而app运行环节则是在Android上定制的Java虚拟机。很多app功能的实现除了调用系统函数意外,还需要具有存储和网络功能,我们可能还需要搭建网络服务器来满足app的特定请求。所以,为了开发Android应用程序,所以以上提到的周边都需要(深入)学习。我们可以把它们分成Java基础,Linux基础,Android基础,存储和数据库基础,网站/服务器基础

注:此文参考观点1

一. Java 基础

1.1 Java基础语法 参考《Java知识点列表》v1.0

  • 开发环境:Java SDK 下载和安装、环境变量的配置(path和classpath)
  • 编程基础:标识符命名规范、Java数据类型、运算符与表达式、流控制(if, switch, for, while),函数
  • 面向对象基础:面向对象与面向过程(结构)之间的区别、面向对象基本思想(封装)、类的定义方法、对象和类的关系、对象的创建方法、通过对象使用成员变量和成员函数的方法、构造函数的作用、函数的重载、static的作用、this(self)的作用
  • 面向对象高级:继承(基本思想、作用、语法特点)、super的使用方法、多态(基本思想)、对象的向上转型和向下转型、final关键字的作用、接口和抽象类(定义方法、语法特征、在面向对象中的地位和意义)、设计模式(工厂方法模式)、Java当中异常的定义、异常的分类以及各自的特点、异常(try…catch…finally结构的使用方法、throw和throws的使用方法、自定义异常的使用方法)、内部类(定义方法、常见使用方法、匿名内部类的定义方法)
  • 线程:线程的定义、在Java中实现线程的两种方法、线程运行状态介绍(准备、运行、阻塞、死亡)、线程间通讯的方法、线程同步、线程死锁
  • IO:IO基本概念、输入流和输出流的作用、Java当中IO流的分类方法、常见IO类的使用方法
  • 常见类库:类集框架、日志相关类库的使用方法

1.2 设计模式

下列23中模式引用此文

  • 创建型模式工厂方法模式、抽象工厂模式、单例模式、创造者模式、原型模式
  • 结构型模式适配器模式、装饰器模式、代理模式、桥接模式、组合模式、享元模式
  • 行为型模式策略模式模板方法模式观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
  • 其他模式:并发型模式、线程池模式、MVC模式
    模式之间关系如下图所示

java.model.relationship.jpg

  • 书籍资源:《Effective Java》 、《Agile Software Development:Principles, Patterns and Practices》和《head first 设计模式》

二. Linux基础

  • 《鸟哥的私房菜》
  • 内核API

三. Android 基础

3.1 Android 基本

  • Android开发和调试环境、Android应用结构、界面组件与界面编程、资源管理、四大组件

3.2 Android 中级

  • 文件IO与SQLite、图形图像与动画、音频视频的录制与播放、传感器编程、GPS应用

3.3 Android 高级

  • 网络编程、OpenGL-ES 3D开发、Java和C相互调用

3.4 资源

四. 存储和数据库基础

4.1 存储

4.2 数据库

  • SQLite

五. 网站/服务器基础

5.1 前端

  • HTML5基础:基本HTML和HTML5标签、常见表单标签
  • CSS3基础:基本CSS3语法、bootstrap等框架
  • JavaScript基础:JavaScript基本语法、JavaScript面向对象基础、JSON语法
  • Ajax:XMLHttpRequest和异步请求、发送请求和处理响应、常见Ajax库(jQuery等)

5.2 后端

  • 语言:php、python、Java、asp任意一种以上
  • 数据库:MySQL、noSQL等任意一种以上
  • XML:XML基本规则、DTD和Schema、XML和样式表、基于XML的数据交换

SAE memcache

SAE的memcache基本继承了php本身的memcached,基于memcached有所优化

Typecho Mostcache 插件

Mostcache插件提供了MySQL的cache和SAE的memcache两种方案,因为路上部署在SAE上面,所以直接使用memcache方案。

使用memcache后,chrome浏览器的函数调用从53000+降低到了5300左右,也就是说只有原来的十分之一,而IE11和firefox则更加明显,直接降低到700-800,即只有原来的1.4%左右。换而言之,使用memcache后,性能提升明显。

使用cache后IE/firefox的函数调用图
callgraph1426240020-752.png

究其原因,因为Typecho在设计之初,对数据库进行了充分(过分)的抽象,导致加载页面的时候,会产生过多(复杂)的数据库查询。这就降低了整个网站的效率。

从第一个图片可以看出,在数据库查询是,对mysql_query的查询Inc:104.455ms,Excl:104.455ms,产生了62次调用;对Tyecho_Db_Query::filterColumn的查询Inc:101.316ms,Excl:87.362ms,产生了234次调用,而其对ctype_alnum则有15736次调用。两个大的数据库查询函数调用占到了接近50%(25%+24%)的总执行时间(416.407ms)。从第三个图,也就是采用了cache之后IE访问的函数调用图可以看到:总的执行时间为46.084ms,而且关于数据库查询的时间占用也下降到了<20%。

这再次说明cache是多么的重要!

意外发现

  1. chrome 对后台的调用比IE和firefox多了7倍(5300/750),而且还调用了两次
  2. 采用了gzip压缩网站之后,经常会出现ERR_CONTENT_DECODING_FAILED的错误,导致网站加载失败。。