h2O
h2O
对于XML的学习主要分为两个部分:生成XML和解析XML。 ### 生成XML ### #### 通过字符串生成XML文档 #### 主要有以下几个关键点: >header('Content-Type:text/xml'); >'\' >htmlspecialchars() 看代码: ``` header('Content-Type: text/xml'); print '' . "\n"; print "\n"; $shows = array( array('name' => 'Modern Family', 'channel' =>...
Cron 语法备份 ============= cron常用命令 ------------ `crontab -e` 使用默认编辑器(vi/emacs)编辑 cron tables. `crontab -l` 查看计划任务. cron table syntax ------------------ ``` ________________________ Minute of the Hour (0-59) | _____________________ Hour of the Day...
深入理解chmod xxxx 四位数字 =========================== 通常我们如果修改一个文件的权限,使用`chmod`命令。一般的用法是: ``` $ chmod 0755 FILENAME ``` 在这里必须提及到一个知识点: 也就是文件的权限,分别为`r`,`w`,`x`。 对用的数字分别为: r---->4 w---->2 x---->1 如果一个文件需要全部的权限,也就是`rwx`,则数字为`4+2+1`,也就是`7`. 那么`0755`分别代表什么意思呢? 在这里,先忽略`0`(后面解释). 剩下的三位分别对应: 文件属主(ower,u), 文件组(group,g), 其他(others,o). 因此`chmod 755 FILENAME`代表的意思就是,属主具备读写执行权限,同一组的用户具备读执行权限,其他用户具备读执行权限. 回到之前的`0`数字这里,四位数字中的第一位数字具备什么含义呢? 在这里说明一下`chmod`权限选项: `4000`...
Git回滚远程仓库 =============== 场景 ----- 在本地修改了代码,并提交到了远程分支上。 发现是一个错误的提交,然后本地回滚了历史版本,然而在回滚远程分支时,出现了错误。 回滚 ---- 下面是回滚的代码: ``` $ git reflog # 查看版本id(COMMENT_ID) $ git reset --hard COMMENT_ID $ git push -f origin master ``` 结果出现如下报错: ``` remote:...
存储过程与事务 ============== #### 存储过程 > 是一组为了完成特定功能的SQL语句集,经编译后存储在数据库。 > 存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储作为一个单元处理。 > 存储过程在创建时进行编译,存储在数据库内,所以执行起来比单个SQL语句快。 #### 存储过程的优点 - 存储过程只在创造时进行编译,以后每次执行都不需要重新编译,而一般的SQL语句每次执行都需要编译,执行速度上相对存储过程会慢。 - 当对数据库进行复杂操作(如:对多张表进行update,insert操作时),可将此复杂的SQL操作语句集封装成存储过程,进行调用。 - 安全性高,可以对存储过程设置用户权限 #### 存储过程的缺点 - 可移植性差 - 如果更改范围大,需要对存储过程中的参数进行修改时,比较繁琐 #### 事务 > 一个事务是指:由一系列数据库操作组成的一个完成的逻辑过程。 > 例如:银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和,构成一个完成的逻辑过程,不可拆分。这个过程被称为一个事务。...
笔记本扩展多屏 ============== 为了可以竖屏,最近特意入手了一个IPS屏,方便自己日常代码的编写。 加上之前的一个外屏和笔记本的内置屏,就有三个屏幕了。 查看了下自己笔记本的显卡,是`Intel hd4000`支持3屏显示的。然而现实有点残酷,并不能。 Google搜索了相关帖子,才发现,自己的笔记本内置是`LVDS`接口头,而不是`eDP`接口头,因此最多只能驱动两个屏幕。 为此,只能把内置屏关掉,用两个外置屏,毕竟笔记本的内置屏太小了。 另外说下,在linux非图形桌面下(我的是awesome窗口管理器作桌面),如何扩展屏幕。 xrandr ------ 利用`xrandr`可以实现扩展屏幕,例如: ``` $ xrandr # 查看连接的屏幕 $ xrandr --output HDMI-1 --right-of LVDS-1 --auto # LVDS-1是笔记本内置屏,HDMI-1是一个外置屏 $ xrandr --output LVDS-1...
CodeIgniter源码之CodeIgniter.php ================================ `CodeIgniter.php`文件是CI框架的初始化文件,在框架启动的时候主要干了: - 声明框架版本 - 引入框架配置的常量:`constants.php` - 引入框架公共函数库:`Common.php` - 如果php版本低于`5.4`,则关闭魔术轉义 - 自定义错误函数处理 - `index.php`设置的`subclass_prefix`覆盖`config.php`文件的配置 - 是否使用`composer`第三方自动加载库`autoload` - 加载`Benchmark`标记程序,计算框架性能 - 加载钩子,及其相关钩子函数:`Hooks`,`pre_system` - 加载配置,并设置框架配置 - 设置字符集相关 - 加载兼容性功能:`mbstring`,`hash` - 加载各种类/功能文件:`Utf8`,`URI`,`Router`,`Output`,`Security`,`Input`,`Lang` -...
CodeIgniter源码之index.php ========================== `index.php`基本是每个框架的入口文件,而`CodeIgniter`框架的`index.php`文件主要是设置和定义了一些常量,如下: 1. 定义开发环境常量: - ENVIRONMENT:开发环境 ``` define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'); ``` > `$_SERVER['CI_ENV']`是在Apache服务器配置的变量。 另外,对于`error_reporting`函数的用法不太理解: ``` error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);...
重新载入文件 ======= 有时候,需要用Vim在服务器修改一下文件。 但是,其他人也进行修改了,不想退出,重新加载文件,可以用下面的方法: `:e` 重新载入文件。 `:e!` 放弃当前修改,重新载入文件。 `:bufdo e` 重新载入打开的全部文件。 `:bufdo e!` 放弃修改,重新载入打开的全部文件。 PS: `:bufdo`命令表示把后面的命令应用到所有buffer中的文件。
修改Mysql数据文件存放目录 ========================= 场景: 随着数据存储越来越多,服务器上的磁盘已经满了,需要把Mysql数据文件存放在另外一个磁盘下。 1. 登陆数据库查看数据存放的目录 ``` $ mysql -uroot -p mysql> show variables like '%dir%'; +-----------------------------------------+----------------------------+ | Variable_name | Value | +-----------------------------------------+----------------------------+ | basedir | /usr/ | | binlog_direct_non_transactional_updates...