- 博客(233)
- 资源 (16)
- 收藏
- 关注
原创 MySQL参考手册第5章:日志管理
1 日志概述 MySQL服务器使用五种日志,分别是general_log,error_log,slow_log,binlog,relay_log。 默认并不开启日志。若开启日志,通常将日志写入datadir下。通过flush logs方式可以指示服务器关闭当前日志并启用新日志文件。 其中general log和slow query log可以动态配置打
2014-06-05 14:55:41
3299
原创 MySQL参考手册第5章:服务器管理-系统参数、变量与状态
服务器管理有几方面,1 命令行及配置文件的选项 2 系统变量 3 系统状态。如果对这3方面能很熟悉,则即可以对MySQL进行较好的调整和监控。然而难点也在于此,这此选项、变量、状态值众多,动辄数百个,需要花费较多的心思才能掌握。 本节不准备进行完整的所有参数、选项、变量、状态等的介绍,只对每个部分最为重点的部分进行介绍。 语法上,命令行选项形如--word-of-param,而
2014-06-04 15:57:12
3041
原创 MySQL参考手册第4章:MySQL程序集
一 MySQL部署工具1 mysqld_safe这是一个脚本,用于启动mysqld,它会在出错时记录一些日志,最关键的是在mysqld挂起后,可能拉起mysql进程。mysqld_safe是一个包装器,对于mysqld_safe不理解的选项,会传递给mysqld,配置文件中可以有[mysqld_safe]一节用来指定其执行参数。其默认行为是杀死当前运行的mysqld然后启动一个新的my
2014-06-03 19:08:24
2087
原创 在android应用中使用luasocket
最近接手一个移动端应用,要为其android版本扩展支持调用lua脚本解析,而且最好同时能支持luasocket。如果只是希望在android下支持lua标准库的使用,那么androLua这个开源项目就可以解决这个问题。然而在为其扩展支持三方库,如luasocket时,遇到了一些问题,经过一翻折腾,最终解决了这个问题,把折腾的过程记录下来,方便有其他相同需求的人少走弯路。 首先介绍些基础
2014-04-20 17:46:15
10644
2
原创 Lua5.1编程四:Lua与C交互基础
1 CAPILua与C可以有两种方式进行交互,一种是把LUA的功能作为库进行使用。另一种是在LUA中调用C库的功能,二者都可以通过CPAI的方式在LUA与C之间建立起桥梁。主要的数据结构是一个虚拟栈,大部分API均会操作栈上的值,进行数据交换。栈由Lua管理,垃圾收集器能对无用数据进行回收。CAPI的能力包括读写LUA全局变量、调用LUA函数、运行LUA代码,以及注册C函数以供LUA代
2014-04-10 15:54:21
6004
原创 Lua5.1编程3:Lua标准库介绍
1 数学库三角函数sin/cos/tan/asin/scos ...指对数函数exp/log/log10取整函数floor/ceilmax/min随机数函数random() 不带参数时返回0-1的随机小数,带整数参数则返回0-N的一个随机数randomseed() 设置随机数种子2 table库table.insert
2014-04-09 13:52:33
16571
原创 MySQL技术内幕之一:使用SQL管理数据
MySQL 4th1 基础在设计数据库之前,应该对存放的数据做深入的思考,以避免在存入数据之后再做调整。SQL语句中除了库名/表名外,字段、条件比较通常都是不区分大小写的。库名、表名随所在的操作系统而不同。在Win上不区分大小写,而在Linux上区分大小写。随机查询的方法 select * from table order by rand() limit N
2014-04-07 23:47:28
2166
原创 Lua5.1编程二:Lua高级特性
1 数据结构1.1 数组对table使用数字索引,即把table当数组使用。约定数组下标从1开始。若索引中间有空洞,table并不会为空洞索引分配空间。只有当表是顺序表时,#tab返回的长度才有意义。table.maxn() 返回最大的索引值。对于非顺序表,遍历时使用pairs是一个好方法。1.2 多维数组即table的元素也是table。其能比较好的支持稀疏矩
2014-04-02 14:30:51
5710
原创 Lua5.1编程一:Lua语言基础
Lua的设计目的是依赖C的高效,并提供C所没有动态结构、高层抽象、内存回收、高阶函数等功能。Lua本身很小,功能有限,大部分功能来源于其标准库。但本身提供的简单、高效、高扩展、可移植等特性,使得在特定场景中Lua有用武之地。1 语言基础1.1 词法约定Lua语言是一种区分大小写的语言。变量命名和C一样,只能使用字母数字和下划线,数字不能位于开始。以下划线开始的变量默认为Lua自
2014-03-30 15:19:46
2671
原创 使用SSH进行端口转发
多数情况下,ssh作为一个安全终端来进行使用。但SSH也提供了隧道功能,配合sshd守护进程,可以实现TCP端口转发等强大功能,可以实现保护通信数据,实现反向突破防火墙限制等功能。1 ssh的一般使用ssh -p 22 -l root 192.168.1.1 连接远程ssh服务器,-p指定端口,-l指定登录用户名其他选项说明-f 指定ssh在后台运行-i 指定证书
2014-03-24 18:06:44
1665
转载 Laravel cheatsheet
Laravel是一个新兴PHP WEB开发框架,支持MVC模式的开发、支持ORM、页面模板等特性,比较看好此开发框架。http://cheats.jesse-obrien.ca/Artisan php artisan --help OR -hphp artisan --quiet OR -qphp artisan --version OR -Vphp artisa
2014-03-15 16:26:58
5527
原创 PHP学习之九:扩展函数库之字符串与数据库访问等
1 数组函数extract(array a,extr_type t,string prefix) 从关联数组中提取标量2 字符串函数string trim(string s) 去除字符串左右的空格string ltrim(str) 去除左侧空格string rtrim(str) 去除右侧空格string nl2br(s
2014-03-05 23:14:13
1307
原创 jQuery简介
jQuery 是一个JavaScript函数库。支持HTML元素选取和操作、CSS操作、JS特效与动画、DOM处理、Ajax等。导入jQuery就像导入一段外部js代码一样简单,可以使用MS或Google的CDN进行加载。1 jQuery基础jQuery采用了CSS选择器的语法来选择HTML元素,基础语法为$(selector).action()示例 $(document)
2014-02-20 16:04:43
9625
原创 层叠样式表CSS简介
CSS实现了网页内容和样式定义的分离,是web前端领域的一大突破。所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。1 浏览器缺省设置2 外部样式表 通常link导入3 内部样式表(位于 标签内部) 通过标签定义4 内联样式(在 HTML 元素内部) 通过style属性定义1 CSS语法CSS规则由两个主要
2014-02-19 18:30:54
1844
原创 PHP的包依赖管理工具Composer简介
Composer是一个基于项目的依赖管理器,负责将PHP项目所依赖的包或库安装到项目所在的目录中,默认它不会安装任何数据到全局。它用于取代之前所使用的pear工具。1 安装Composercurl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer2 简单应用我
2014-02-08 10:51:04
26864
原创 字符编码的概念及字符编码的探测
1 关于多字节与宽字符的解释非英语系的大部分语言,存在无法用有限的ascii字符表达的问题。由此产生了使用多字节字符来表示的办法,比如GB编码的汉字。但多字节带来的一个显著不便就是多字节字符在处理的时候不太方便。比如文本编辑的时候,中英文混排,光标移动、汉字删除时会出现半个汉字的问题。为了文本处理的方便,许多系统内部采用了将多字节字符和单字节字符都转换称宽字符的办法,将所有的字
2014-01-06 19:21:31
3876
原创 Squid代理服务3.1版本的配置和使用简介
Squid是一个单进程的异步代理缓存服务器,支持HTTP,FTP,GOPHER,ICP等协议。通过配置,可以实现反向代理、透明代理的功能,并且支持缓存,是实现高性能网站的必备基础设施之一。通常部署在应用服务器的前端。Squid的安装就比较简单,可以yum安装或源码安装,安装完之后,配置在/etc/squid/目录下。1 命令行参数-a port 同配置中的http_po
2014-01-02 19:19:56
10722
1
原创 Common Lisp学习之十一:使用宏
1 CL中常见的宏1.1 条件宏when (defmacro when (cond &rest) `(if ,cond (progn ,@rest)))unless (defmacro unless (cond &rest) `(if (not ,cond) (progn ,@rest)))cond 1.2 逻辑宏and ornot1.3 循环宏C
2013-12-29 22:57:41
2349
原创 Common Lisp学习之十:输出格式化控制与高级循环控制
1 format1.1 Format函数其通用调用方式为:(format stream control-string format-args)第一个参数用于输出目的地,它可以是T NIL 一个流或一个带有填充指针的字符串。T是stdout的简称;NIL将使format返回一个字符串。其他情况均返回NIL。第二个参数为控制字符串,用来指示如何进行显示,包含众多的格式化指令。第二节将重
2013-12-29 22:56:25
3838
原创 Common Lisp学习之九:使用包
1 读取器如何处理包每个包都有名字,(find-package name)可以通过包名来找到一个包。解释器当前使用包存储于全局变量*package*中。包的字面形式为#。(package-name pkg)可以返回一个包的名称。包可看作一个字符串和符号的映射表,读取器使用(find-symbol name)和intern通过名字来查找特定包中的某个符号。二者的区分是后者会在符号
2013-12-29 22:49:40
3734
原创 Common Lisp学习之八:异常状况处理
Lisp的condition系统是其最伟大的特性之一。状况比异常更具一般性,状况可以代表程序执行过程中的任何事件。状况比异常更灵活,其将责任分为三部分:产生状况、处理以及再启动。在多数语言中,错误处理方式为从一个失败的函数退出并返回给调用者,调用者根据情况采取后续的步骤:让自己也失败,或者忽略之,进一步地,尝试修复此错误。一些语言采用返回值的方式,另一些采用了异常抛出的方式。这两种方式
2013-12-29 22:48:36
3516
原创 Common Lisp学习之七:LISP的面向对象编程
1 面向对象和Common Lisp 面向对象的基本思想在于数据和操作的绑定-即封装,而更重要的是多态。CL和多数OO语言一样是基于类的,类通过层次结构组织在一起,形成了对象的分类系统。 在CL中,所有类的基类是单根T,但它其同时支持多重继承。然而CL的面向对象是基于广义函数来实现的。广义函数类似于抽象函数,只定义接口(名字和参数列表),不提供实现。实现由方法提供,每个方法提供广义函数
2013-12-29 22:43:47
5378
原创 Common Lisp学习之六:文件IO操作与路径名抽象
1 打开文件CL也提供了流的抽象,读取文件的一般方式也是open一个文件,然后在返回的流上,调用read-*函数。(open "path" &key direction element-type if-not-exist) 根据路径打开一个文件,返回一个流direction支持选项:input :output :ioif-exist可以控制文件存在时的操作,支持:er
2013-12-29 22:38:34
4645
原创 Common Lisp学习之五:集合数据结构
1 向量向量是基于数字索引的集合,分为变长和定长两种。(vector values) 用来创建并初始化一个定长的向量。(make-array dim &key initial-element fill-pointer adjustable ...) 用来创建变长向量,其中命名参数initial-element可以指定元素的初始值,fill-pointer可以指定初始
2013-12-29 22:31:33
3009
原创 Common Lisp学习之四:简单数据结构及处理
1 字面数值在CL中,给定类型的数字可以有多种不同的字面表示方式,这些不同的形式将被读取器转化成相同的对象表示。例如10,20/2等都表示10。有理数在读取后都被规范化,分数被化简;整数语法:[+/-]123456比值语法:[+/-]1/4.2整数数值可以以特定的进制进行解释#b 二进制 #0 八进制 #x 十六进制 #36 三十六进制-数字集合从0-9 A-Z
2013-12-29 22:21:17
3889
1
原创 Common Lisp学习之三:使用变量
Common Lisp支持词法变量和动态变量(Special variable)。在一定程度上,词法变量类似于类C语言中的局部变量,只在特定的作用域中有效,在作用域外部不可见;而动态变量类似于全局变量,访问其的代码可以在任意时刻对其进行重新绑定。1 变量基础Common Lisp是一种动态强类型的语言。变量可以指向任意类型的对象,而类型保存在对象信息里,而不是变量上;同时所有的类型
2013-12-29 22:17:02
3900
1
原创 Common Lisp学习之二:使用函数
1 定义函数(defun name (parameter*) body-form*)body可由任意Lisp表达式构成,它们将在函数调用时依次求值,而最后一个表达式的值将被返回。而使用return-from可以从函数任意位置立即返回。2 形参列表函数定义的括号中可以提供一系列的形参,当函数调用时,必须为它的每一个必要形参都提供一个实参。每个形参被绑定到对应的实参上。
2013-12-29 21:58:18
2207
原创 Common Lisp学习之一:初识CL的语法与语义
Lisp是一类语言的统称,指那些使用前缀表达式和S表达式进行代码编写和编译的语言。此类语言有CL,Scheme,Racket,Clojure等。Lisp语言和其他语言相比,其优势在于无比强大的抽象能力。可以在代码层面上进行抽象,利用Lisp的元编程技术,构造特定领域的DSL,进行自底向上的逐层开发。CL作为其中发展比较完善和标准化的一个分支,完全可以完成各种大型项目的开发需要。CL的学习资源也
2013-12-29 21:42:52
2505
原创 Java核心编程十四:Applet与Web
1 Applet基础1.1 Applet简介Applet是一种将Java程序,通常为UI程序加载进web浏览器,在用户的浏览器中执行的一套转换机制。因而HTML页面中必须支持相关的标签,告诉浏览器下载哪些类文件,以及如何在网页上进行显示的信息。如果一切就绪,则由浏览器中的java-plugin来执行。将java类封装成applet比较简单,只需要继承自JApplet,然后将我们UI组件
2013-12-29 20:48:41
2390
原创 Java核心编程十三:注解
1 注解数据注解是插入到源代码中,用于工具处理的标签。在JDK5之前,注解只用来描述代码,而现在可以利用工具将任务数据插入到现有的源代码中。2 注解语法自定义注解,由接口来实现的;自定义的注解类都隐含的继承自Java.lang.annotation.Annotation接口,这是一个普通接口。modifiers @interface AnnotName{ ty
2013-12-23 18:57:38
2703
原创 Java核心编程十二:国际化
国际化并不简单的是Unicode编码,它涉及到一系列复杂的相关表示。如数字、时间、货币显示等。1 LocaleLocale用来存储语言和区域信息。它描述了一种语言、一个国家/地区,一个变量。语言采用ISO-639标准来描述,它用两个小写字母标识一种语言,如Chinese的代码为zh。国家采用ISO-3166来描述,它用两个大写字母标识一个国家,如China的代码为CN。这样区分就可
2013-12-23 18:46:14
1375
原创 Java核心编程十一:XML处理
0 XML基础正确的XML分为两类,一类是well-formed,一类是validating的。前者是只要符合XML语法即可,而后者还需要满足DTD或Schema的定义。这里只介绍well-formed的XML的格式要求。a XML的第一行必须是声明,其中包含版本和文档体的字符编码。b XML中只能有一个根元素。c 标记必须正确地关闭。d 标记可以嵌套,但不能交叉。
2013-12-23 18:35:42
1564
原创 Java核心编程十:异常处理与日志
1 异常层次需要考察的异常情况有:用户输入错误、设备错误、物理限制、程序错误,传统的返回错误码的方法并不能处理所有的情况。1.1 异常分类在Java程序中,异常对象都派生于Throwable。如果Java的内置异常不满足需求,则可以创建自定义异常。下图是基本的异常体系:Error类描述了Java运行时系统的内部错误和资源耗尽错误,此类错误不应由应用程序抛出。
2013-12-23 18:26:28
8979
原创 Java核心编程九:线程与进程处理
1 线程Thread类:Thread(Runnable task)void start()void stop() 不建议使用static void sleep(ms) 当抛出异常时,中断位置也随着清除Runnable接口void run()2 中断线程除了stop()方法之外,可以使用interrupt方法来终止一个线程。当向一个线程发送
2013-12-23 18:20:24
1351
原创 Java核心编程八:网络编程
1 基本客户端下面的代码实现了一个连接到服务器,并从服务器上读取一段数据的程序。sock = new Socket(host,port);InputStream inputStream = sock.getInputStream();Scanner in = new Scanner(inputStream); while(in.hasNextLine()){
2013-12-23 18:16:15
1298
原创 Java核心编程七:数据库访问
1 JDBC设计JDBC提供两套接口,应用程序开发者使用JDBC API,而数据库提供商使用JDBC驱动API。2 JDBC编程概念与SQL相关的类都包含在java.sql和javax.sql中。2.1 设置驱动路径不同的数据库需要下载相应的驱动jar包安装到系统中,然后设置系统CLASSPATH或运行时classpath参数,使得驱动在运行时可加载。2
2013-12-23 18:06:10
1188
原创 Java核心编程六:集合与泛型算法
1 集合接口Java中将集合的接口和实现进行了分离,这样当你希望变更设计时,只需要调整构造器地方即可。如果希望自行实现相关的集合,即只需要扩展自以Abstract开头的类即可。Collection是所有集合类的根接口,下面继承了Set,List,Map,Queue,SortedSet,SortedMap等一系列的接口。其声明了各种实用的方法,实现类都必须实现这些方法。如isEmpty(
2013-10-19 14:50:09
2173
原创 Java核心编程五:泛型概念
泛型编程和C++的模板比较类似,可以使得我们不用到处使用Object再进行相应的类型转换。由于C类语言都是强类型语言,因此在泛型的实现上必须要有特定的语法,这一点不如动态类型语言方便。1 泛型的优点在JDK5之前,泛型是由继承来实现的,容器中存放的是Object类型的对象数组。这样的数组一方面不安全,可以加入各种类型的对象。另一方面不方便,在使用时必须进行向下类型的转换。
2013-10-19 14:41:53
1191
原创 Java核心编程四:文件流与正则匹配
1 流Java.io中定义了抽象基类InputStream和OutputStream。分别支持基本的读和写操作。int read(int n) 读取指定字节,结束返回-1;int read(byte[] b,int offset,int len);long skip(long n) 路过指定的偏移int available() 返回流中可读的字节数。void close()
2013-09-19 07:49:00
2614
Programming with posix threads
2008-12-19
Linux网络协议栈架构--设计与实现
2008-11-25
Cisco IPv6实现技术
2009-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅