月度归档:2013年03月

网络OSI七层模型复习笔记

1977年OSI参考模型的提出,标志着计算机网络进入到第三阶段

7<=======================应用层
(用户接口)(HTTP,FTP)
6<=======================表示层
(数据的表现形式,特定的实现,如:加密) (ASCII,JPEG)
5<=======================会话层
(对应用会话的管理,同步)(操作系统,应用读取)
4<=======================传输层
(源端口和目的端口)(TCP,UDP)
3<=======================网络层
(源ip地址和目的ip地址)(IP,IPX)
2<=======================数据链路层
(网卡的物理地址,源mac地址和目的地址)(802.3 802.2)
1<=======================物理层
(设备之间的比特流传输,物理接口,电气特性)(EIA,TIA-232)

一个php程序员的ubuntu使用笔记(2013.9.28修正)

一个php程序员的ubuntu使用笔记,这是自己在使用ubuntu作为开发环境过程中的一些经验积累,
目的是可以为自己的经历和果实,也可以帮助菜鸟进步。老鸟请自行绕道。

刚装完系统

第一次开机首先要更新语言设置(更新以后,Thunderbird菜单栏就变成汉语了)
更新完语言以后更新系统,软件更新

gnomeshell主题安装

vim安装

安装cpmpiz配置管理程序

ubuntu firefox浏览器安装flashplayer插件

http://get.adobe.com/flashplayer/
flash插件就是一个libflashplayer.so文件,封装在deb或tar.gz压缩包,把里面的libflashplayer.so解压到

然后重启firefox

ubuntu下安装QQ

下载地址
http://www.longene.org/download/WineQQ2012-20121221-Longene.deb

ubuntu最新版QQ下载地址(2014/04/07更新)
http://www.longene.org/download/WineQQ2013SP6-20140102-Longene.deb
QQ安装如下,不需要装wine:

上面的方法已经失效,请尝试下面方法

ubuntu下安装fcitx五笔输入法

先在ubuntu软件管理中心安装fictx
然后安装fcitx输入法(然后安装五笔拼音库)

ubuntu下安装chm手册阅读器

磁盘空间不足

php集成开发环境xampp安装

下载xampp包(解压到/opt目录)

设置快捷键(开启,关闭,重启)
在家目录里边界 .bashrc文件

XAMPP 不支持64bit解决方案(XAMPP is currently only availably as 32 bit application)
XAMPP is currently only availably as 32 bit application.
Please use a 32 bit compatibility library for your system.
XAMPP不支持64位linux系统!

不支持64位ubuntu解决方案:

Ubuntu like:

centos like:

ubuntu下安装netbeans(7.2.1)

一、安装jdk或者jre(这里解释一下。二者选一,至于二者什么关系自己找google解决)

1)这里说jdk的安装方式
先下载软件包然后解压放到指定目录
这里我把jdk安装到/usr/local/java路径下面

然后配置环境变量,代码如下

2)如果安装上前面那一步,此步骤略过。

安装jre(java runtime environment),先在www.java.com/zh-cn下载jre,然后
这里我把jre安装到/usr/local/java路径下面

然后在命令行执行

做到这一步算是OK了,然后在终端中输入java -version试一下

二、安装成功以后再装netbeans

Ubuntu系统中永久修改主机名也比较简单

主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。

使gedit可以识别中文编码

个人倾向于使用第二种方法!因为新安装的ubuntu的gconf-editor里面没有auto-detected,新手一般不会设置!

Ubuntu系统自带的LibreOffice

PS:因为有了国产的WPS for linux版,现在不需要它了,如何彻底删除LibreOffice呢?
一条命令搞定:

php文档注释的一些说明

@access
使用范围:class,function,var,define,module
该标记用于指明关键字的存取权限:private、public或proteced
@author
指明作者
@copyright
使用范围:class,function,var,define,module,use
指明版权信息
@deprecated
使用范围:class,function,var,define,module,constent,global,include
指明不用或者废弃的关键字
@example
该标记用于解析一段文件内容,并将他们高亮显示。Phpdoc会试图从该标记给的文件路径中读取文件内容
@const
使用范围:define
用来指明php中define的常量
@final
使用范围:class,function,var
指明关键字是一个最终的类、方法、属性,禁止派生、修改。
@filesource
和example类似,只不过该标记将直接读取当前解析的php文件的内容并显示。
@global
指明在此函数中引用的全局变量
@ingore
用于在文档中忽略指定的关键字
@license
相当于html标签中的,首先是URL,接着是要显示的内容
例如
百度
可以写作 @license http://www.baidu.com 百度
@link
类似于license
但还可以通过link指到文档中的任何一个关键字
@name
为关键字指定一个别名。
@package
使用范围:页面级别的-> define,function,include
类级别的->class,var,methods
用于逻辑上将一个或几个关键字分到一组。
@abstrcut
说明当前类是一个抽象类
@param
指明一个函数的参数
@return
指明一个方法或函数的返回指
@static
指明关建字是静态的。
@var
指明变量类型
@version
指明版本信息
@todo
指明应该改进或没有实现的地方
@throws
指明此函数可能抛出的错误异常,极其发生的情况
上面提到过,普通的文档标记标记必须在每行的开头以@标记,除此之外,还有一种标记叫做inline tag,用{@}表示,具体包括以下几种:
{@link}
用法同@link
{@source}

简单的认识进程和线程

简单的认识进程和线程
一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。如果有兴趣深入的话,我建议你们看看《现代操作系统》或者《操作系统的设计与实现》。对就个问题说得比较清楚。