Skip to content

Instantly share code, notes, and snippets.

@luxixing
luxixing / vim-keys.txt
Created September 23, 2013 10:49
vim操作命令总结--此版本仍然需要改进,里面很多概念还是理解的不够透彻,看图参考领悟 认真研究此图片,大有用处 http://coolshell.cn//wp-content/uploads/2011/09/vim_cheat_sheet_for_programmers_print.png
几个概念的厘清:
广义单词和狭义单词:狭义单词可以理解为仅仅由数字字母组成的一组字符序列,空格和(),{}等标点符合,回车换行tab等特殊字符都可以分割狭义单词,vim中w按键指的就是狭义单词
广义单词则是两个相邻空格之间的字符序列,vim中按键W就是指广义单词
系统选择缓冲区:所谓系统选择缓冲区是指在*inux系统下,当鼠标选择一部分内容,这部分内容就会被存储在一个位置,该位置就是系统选择缓冲区,vim中 "*调用系统选择缓冲区
使用:reg察看vim中的所有缓冲区,缓冲区的名称是"*或者"+(剪切板缓冲区)或者""(最近操作缓冲区)或者"[0-9a-z]
剪切板缓冲区:等同于windows的剪切板,复制,删除,剪切的内容在这个缓冲区存放,vim "+调用该缓存区
如果使用:reg没有 "+和"*缓存区,需要安装vim图形界面,ubuntu下 apt-get install vim-gnome,其他系统请google vim图形界面安装
~ :normal模式下,切换选中单词大小写(toggle case),;
常用操作
~ 光标所在位置字符大小写转换
<?php
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
{
if ($_SERVER["HTTP_CLIENT_IP"])
{
$proxy = $_SERVER["HTTP_CLIENT_IP"];
} else {
$proxy = $_SERVER["REMOTE_ADDR"];
}
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
@luxixing
luxixing / 常用mysql操作指令.md
Last active December 26, 2015 02:28
常用mysql语句

mysqldump导入文件

mysqldump -u root -p test database < /tmp/test.sql

在mysql命令行下load数据

load data infile 'filename' into table tablename
@luxixing
luxixing / CurlRoll.php
Created October 23, 2013 10:54
php-curl-multi 使用php curl多进程请求url,抓取页面的类
<?php
/**
* Use php curl multi, rolling request url.
*
* @author liwanghui@dratio.com
*/
class CurlRoll
{
/**
@luxixing
luxixing / phpstorm
Created October 24, 2013 11:04
PHPStorm 使用技巧
快捷键:
ctrl+tab: switcher,在已打开文件之间或者工具窗口间切换
alt+alt: 连续两次快速按下alt键不放,显示tool windows(project,database ...)
ctrl+k: 快速调用 commit changes 对话框
alt+F3: 显示搜索窗格,对当前文件进行搜索,然后配合ctrl+alt+r,可以进行替换操作
ctrl+shift+f: find in path 在指定文件夹或者整个project内搜索,ctrl+shift+r进行替换操作
ctrl+shift+alt+t: 快速rename,里面有好几个选项,慢慢理解吧
shift+F6: rename,自动重命名该变量所有被调用的地方
ctrl+shift+n: 快速导航到指定文件,弹出一个dialog,输入文件名即可
@luxixing
luxixing / .gitignore
Created October 30, 2013 07:32
git ignore files
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
@luxixing
luxixing / nginx-location
Created November 1, 2013 09:16
nginx location 匹配规则
1 普通匹配,遵循最长匹配规则,假设一个请求匹配到了两个普通规则,则选择匹配长度大的那个
例如:
location /{
[matches]
}
location /test{
[matches]
}
2 精确匹配
location = /{
@luxixing
luxixing / PHP 5.5编译安装配置参数.sh
Created November 8, 2013 06:10
PHP 5.5.5编译安装配置参数
./configure \
--prefix=/home/liwh/program/php-5.5.5\
--enable-fpm\
--with-fpm-user=php-fpm\
--with-fpm-group=php-fpm\
--enable-opcache\
--enable-calendar\
--enable-exif\
--enable-ftp\
--enable-gd-native-ttf\
@luxixing
luxixing / PHP迁移A-新特性.md
Last active August 22, 2017 23:43
PHP从5.3向更高版本升级, 处理好不兼容和变更的部分, 掌握新的特性,此系列内容只针对语言层面,至于zend engine优化,修改,不会影响到PHP开发,且本人能力有限,将不会涉及

##PHP 5.4新特性##

掌握

  • traits
    trait的引入,可以扩展class的内容,使class在某种形式上实现了多重继承,更加灵活,trait不能被实例化 举个例子,假设有三个类,男人,女人,人,人是男人和女人的父类,双11购物不是人人都有的行为,放在人 这个父类里显然不合适,我们把双11购物单独定义为一个trait,这个双11购物的trait不能自己驱动,需要被 其他类引用,从而让引用trait的类具有购物行为
    示例代码:
@luxixing
luxixing / php.ini文件加载定位.md
Created November 12, 2013 09:18
这是一个很牛逼的经验 大昆仑的少年天才方汉方总威武

学会用strace:

strace -o php.log -s 65535 php -i

然后在 php.log 中找ini:

open("/usr/bin/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)

open("/etc/php.ini", O_RDONLY)