[Tools] Vim 插件管理

摘要: 我们在使用插件的时候,都不希望插件安装的很杂乱,它不是一个看不见的黑盒,也为了下次方便在其它地方安装。 由于要方便插件管理,于是有了 Vundle,以下做些介绍: 1. 一个插件管理器, 自己本身也是插件, 这是必需工具: git clone https://github.com/VundleVim 阅读全文
posted @ 2016-08-30 20:02 ercom 阅读(390) 评论(0) 推荐(0) 编辑

[php-src] Php扩展的多文件编译

摘要: 内容均以php5.6.14为例. 假设有模块 foo,php_foo.h 和 foo.c 是固有文件,额外的C文件如果要加入编译,大致有五步。 1. 新增头文件 foo_bar.h #ifndef FOO_BAR_H #define FOO_BAR_H extern zend_class_entry 阅读全文
posted @ 2016-07-23 23:12 ercom 阅读(635) 评论(0) 推荐(0) 编辑

[php-src]Php扩展的内存泄漏处理思路

摘要: 内容均以php5.6.14为例. 一. 封装函数时产生 memory leaks. [weichen@localhost www]$ php 2.php [122,3333] [Tue Jul 10 15:34:42 2016] Script: '/home/www/2.php' /home/wei 阅读全文
posted @ 2016-07-23 16:30 ercom 阅读(2500) 评论(0) 推荐(0) 编辑

[php-src] 窥探Php内核中的数组与面向对象

摘要: 内容均以php5.6.14为例. 扩展中定义一个类有以下四步: #1. 声明一个存储类信息的指针. zend_class_entry *errs_ce; #2. 定义方法的参数信息,类的方法实现. ZEND_BEGIN_ARG_INFO_EX(errs_test_arginfo, 0, 0, 1) 阅读全文
posted @ 2016-07-17 18:07 ercom 阅读(848) 评论(0) 推荐(0) 编辑

pdoner version 0.1.0 release

摘要: Optional functional pack prepared for fast php framework. Source:https://github.com/farwish/pdoner Link:http://www.cnblogs.com/farwish/p/5677358.html 阅读全文
posted @ 2016-07-16 22:18 ercom 阅读(260) 评论(0) 推荐(0) 编辑

[FE] 有效开展一个前端项目-V1 (gulp/angular)

摘要: 今天的前端如果没有用到 npm,效率是比较低的;所以要从使用的工具来讲。 1. 一切都依赖于 nodejs: 下载一个 linux 的源码包就可以开始安装了。 $ wget https://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz $ ./configure 阅读全文
posted @ 2016-07-10 14:55 ercom 阅读(331) 评论(0) 推荐(0) 编辑

[FAQ] Centos7 解决 gdb 提示 Missing separate debuginfos

摘要: Centos7 上使用gdb: $ gdb php $ run /home/www/2.php 运行完 run,后面跟着很长的提示: …. Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-17.el7 阅读全文
posted @ 2016-07-05 02:22 ercom 阅读(5566) 评论(0) 推荐(0) 编辑

[php-src] 扩展中封装业务与 call_user_function 的使用建议

摘要: 内容均以php5.6.14为例. 从一个封装 uniqid 的例子来讲。 /* {{{ wrapper of uniqid */ PHP_FUNCTION(fox) { // #1. zval *prefix, *more = NULL; zval function, *params[2] = {0 阅读全文
posted @ 2016-07-02 19:18 ercom 阅读(1031) 评论(0) 推荐(0) 编辑

[PHP]Yaf + composer 引起大幅性能下降

摘要: composer.json 文件可以用命令 composer init 创建,命令是交互式的。 也可以直接编辑一个 json 文件,如下: repositories 中 url 使用中国全量镜像地址. 要引入依赖包,可以直接加进去,也可以用命令行,composer require "predis/p 阅读全文
posted @ 2016-06-30 20:48 ercom 阅读(2449) 评论(0) 推荐(0) 编辑

[php-src] 窥探Php内核中的变量

摘要: 内容均以php-5.6.14为例. 在看各种组合数据类型之前,有必要先熟悉下 Zend/zend_types.h 里面的自定义数据类型. #ifndef ZEND_TYPES_H // 防止多次 include 头文件导致预处理错误 #define ZEND_TYPES_H typedef unsi 阅读全文
posted @ 2016-04-25 23:32 ercom 阅读(1103) 评论(0) 推荐(1) 编辑

[php-src] 理解Php内核中的函数与INI

摘要: 内容均以php-5.6.14为例. 一. 函数结构 内核中定义一个php函数使用 PHP_FUNCTION 宏 包装,扩展也不例外,该宏在 ./main/php.h:343 有着一系列类似以 PHP 命名的 Zend 宏包装器,它们是: /* PHP-named Zend macro wrapper 阅读全文
posted @ 2016-04-16 00:09 ercom 阅读(1914) 评论(0) 推荐(0) 编辑

[php-src]一个Php扩展的结构

摘要: 内容均以php5.6.14为例. 要拥有一个PHP扩展的架子,使用源码中准备好的 /ext/ext_skel 工具,可以生成一个可运行的扩展骨架。 不加选项运行 ./ext_skel,可查看所有可用选项的帮助文字。 1) ./ext_skel --extname=myext(扩展名),自动生成扩展目 阅读全文
posted @ 2016-04-14 21:44 ercom 阅读(465) 评论(0) 推荐(0) 编辑

告别2015,迎来2016

摘要: 过去的一年,是忙碌的,也是默默的。 虽然见了一些东西,理解了一些东西,考虑问题全面了一些,技术应用有所成熟,达成了去年制定的两个小目标(shell,laravel);但 现实情况远远没有达到我的预期,或者说是没有质的提升,也许是公司技术栈重心的改变并且更多的时间忙在了复杂的业务支持、需求变动上。 一 阅读全文
posted @ 2016-04-05 01:05 ercom 阅读(314) 评论(0) 推荐(0) 编辑

[JS] 应用splice删除多元素时出现的坑

摘要: 先看一个片段: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.splice(2,2); # Banana,Orange 上面两行代码完全没有问题,能达到我们想要的效果。 假如变成了下面这种情况: var origin=["aa 阅读全文
posted @ 2016-02-21 05:08 ercom 阅读(10257) 评论(0) 推荐(0) 编辑

[Ng] Angular应用点概览

摘要: 1. 使用模块化写法。 var app = angular.module('myApp', []); app.controller('TextController', function($scope) { $scope.txt = {'title':'some txt'}; }); [] 表示此模块 阅读全文
posted @ 2015-11-25 23:06 ercom 阅读(528) 评论(0) 推荐(0) 编辑

[MongoDB] Mongodb攻略

摘要: 【基础】 1. 安装: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.0.7.tgz tar zxvf mongodb-linux-x86_64-rhel70-3.0.7.tgz mv mongodb-linu 阅读全文
posted @ 2015-11-13 15:24 ercom 阅读(1294) 评论(0) 推荐(0) 编辑

GNU M4 - GNU Project - 免费软件基金会(FSF)

摘要: GNU M4介绍: GNU M4 是一个传统Unix宏处理器的实现。它主要兼容 SVR4,尽管它有一些扩展(例如,处理超过9个位置参数的宏)。GNU M4 同样有内置的函数用来包含文件,运行shell命令,做算术运算,等等。 GNU M4 在某种意义上来说是一个宏处理器,它复制输入到扩展的宏后输出。 阅读全文
posted @ 2015-10-22 00:50 ercom 阅读(1204) 评论(0) 推荐(0) 编辑

[Linux]服务管理:RPM包, 源码包

摘要: | 1. 独立的服务 | RPM包(二进制包)默认安装的服务 | 2. 基于xinetd服务 linux服务分类: | | 源码包安装的服务 查询已安装的服务: RPM包安装的服务:chkconfig --list( 查看服务自启动状态,可以看到所有RPM包安装的服务 ) ( 7个运行级别,0代表关 阅读全文
posted @ 2015-10-13 23:18 ercom 阅读(1085) 评论(0) 推荐(0) 编辑

[Shell] 条件判断与流程控制:if, case, for, while, until

摘要: 【条件判断】 1. 按文件类型进行判断 -b 文件 判断该文件是否存在,并且为块设备文件(是块设备文件为真) -c 文件 判断该文件是否存在,并且为字符设备文件(是字符设备文件为真) -d 文件 判断该文件是否存在,并且为目录文件(是目录为真) -e 文件 判断该文件是否存在(存在为真) -f 文件 阅读全文
posted @ 2015-10-12 00:07 ercom 阅读(7327) 评论(2) 推荐(0) 编辑

[Shell] 字符截取命令:cut, printf, awk, sed

摘要: 【cut命令】 cut [选项] 文件 -f 列号 ( --field 提取第几列 ) -d 分隔符 ( --delimiter 按照指定分隔符分割列 ) vi user.txt ( 行间分隔符为制表符Tab,cut的默认分割符是制表符 ) 提取系统的用户名和uid: cut -d ":" -f 1 阅读全文
posted @ 2015-09-29 00:25 ercom 阅读(97152) 评论(0) 推荐(0) 编辑

[Shell] 正则表达式与通配符

摘要: 正则表达式与通配符: 1. 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。 2. 通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配。 基础正则表 阅读全文
posted @ 2015-09-13 23:43 ercom 阅读(15262) 评论(0) 推荐(0) 编辑

[Shell] Bash变量:环境变量的配置文件和登录信息

摘要: 只有把环境变量放入配置文件中,才能每次开机自动生效。source命令:让配置文件直接生效,而不用注销或重新登录。 source 配置文件 或者 . 配置文件(等同于 source 配置文件) 【系统中五类环境变量配置文件】 /etc/profile /etc/profile.d/*.sh ~/.ba 阅读全文
posted @ 2015-09-13 02:01 ercom 阅读(2129) 评论(1) 推荐(0) 编辑

[Shell] Bash变量:变量测试与内容替换

摘要: 变量测试是通过显示x的值,判断y的值;程序执行时用于判断,可以用 if 判断同样实现。 Refer:Bash变量用法有哪些 Link:http://www.cnblogs.com/farwish/p/4772113.html 阅读全文
posted @ 2015-08-31 03:49 ercom 阅读(1108) 评论(0) 推荐(0) 编辑

[Shell] Bash变量:数值运算及运算符

摘要: Shell中的变量的类型默认都是字符串,所以: #!/bin/bash aa=1 bb=2 cc=$aa+$bb echo $cc # 1+2 数值运算的方式: declare声明变量的类型: declare [+/-] [选项] 变量名 选项: - :给变量设定类型属性 + :取消变量的类型属性 阅读全文
posted @ 2015-08-31 03:22 ercom 阅读(3896) 评论(0) 推荐(0) 编辑

时间在匆匆忙忙中就过去了

摘要: 2014-08-18 21:41 | 2015-08-26 21:41 时间在匆匆忙忙中就过去了,没有持续的积累也就没有想像中的产出.. 历史分类:http://www.cnblogs.com/farwish/category/610485.html 阅读全文
posted @ 2015-08-28 00:23 ercom 阅读(302) 评论(0) 推荐(0) 编辑

[Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量

摘要: 变量是计算机内存的单元,其中存放的值可以改变。变量用于暂时保存信息。 一. 变量设置规则 1.数字,字母,下划线组成,不能以数字开头。 2.Bash中变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。 3.变量用等号连接值,等号左右不能有空格。 4.变量的值如果有空格,需要 阅读全文
posted @ 2015-08-26 21:41 ercom 阅读(11125) 评论(0) 推荐(0) 编辑

[Redis] Redis的五种数据类型与键值/服务器相关命令

摘要: String(字符串):最简单的数据类型。 set age 18 ( set age 18 ex 5 ) # 设置过期时间5秒 setex age 5 18 # 效果同上, 使用 ttl age 可以查看剩余有效时间 psetex age 5000 18 # 同上,只是以毫秒为单位设置key的过期时 阅读全文
posted @ 2015-08-17 00:05 ercom 阅读(932) 评论(0) 推荐(0) 编辑

[Redis] Redis高级特性的配置及使用

摘要: 【Redis安全性】 一 . 默认我们进入Redis客户端是不需要密码的,但是在使用任何命令前保证已授权,这在一个你不信任其它人的环境里可能有用。 1. 按照如下方式可设置密码: ① 修改配置文件(默认为/usr/local/etc/redis.conf),找到requirepass foobare 阅读全文
posted @ 2015-08-07 23:27 ercom 阅读(3630) 评论(0) 推荐(0) 编辑

[PHP] 误读支付宝接口可能引发的乌龙

摘要: 之所以发现这个坑,源起项目中的支付宝页面跳转同步通知页return_url中的$verify_result始终返回false。 $alipayNotify = new Alipaynotify($alipay_config); //支付宝通知处理类 $verify_result = $alipayN 阅读全文
posted @ 2015-08-07 23:24 ercom 阅读(865) 评论(0) 推荐(0) 编辑

写程序的时候, 我们想关注什么

摘要: 这是一个宽泛的命题,如果没有想过,似乎东西多了点。 当从应用的角度讲,当然功能实现起来越漂亮越好,而且能考虑到今后的一些扩展性更好,对繁琐的重复工作从构建角度做高层抽象封装就再好不过了。 从可用性角度讲,有一句话非常好:用简单的代码实现健壮的程序。 从性能上讲,个人觉的,对业务的充分理解可以解决掉其 阅读全文
posted @ 2015-07-25 00:06 ercom 阅读(331) 评论(0) 推荐(0) 编辑

[C语言]进阶|程序结构

摘要: 全局变量: // main.c // Created by weichen on 15/7/14. // Copyright (c) 2015年 weichen. All rights reserved. #include <stdio.h> int gAll; // int g2 = gAll; 阅读全文
posted @ 2015-07-15 22:35 ercom 阅读(1430) 评论(0) 推荐(1) 编辑

[C语言]进阶|链表

摘要: 可变数组: array.h #ifndef _ARRAY_H_ #define _ARRAY_H_ typedef struct { int *array; int size; } Array;// Array不定义成指针类型 *Array 的原因:定义成变量使用范围更广,如果定义一个指针类型,那么 阅读全文
posted @ 2015-07-13 01:20 ercom 阅读(597) 评论(0) 推荐(0) 编辑

[C语言]进阶|图形库

摘要: // main.c // Created by weichen on 15/7/7. // Copyright (c) 2015年 weichen. All rights reserved. #include <stdio.h> int main(int argc, const char * arg 阅读全文
posted @ 2015-07-07 21:29 ercom 阅读(5491) 评论(0) 推荐(0) 编辑

[C语言]进阶|结构类型: 枚举, 结构, 类型定义

摘要: 枚举: // main.c #include <stdio.h> const int red = 0; const int yellow = 1; const int green = 2; int main(int argc, const char * argv[]) { /* 常量符号化:用符号而 阅读全文
posted @ 2015-07-06 02:30 ercom 阅读(2120) 评论(1) 推荐(1) 编辑

[C语言]进阶|指针与字符串

摘要: 回顾:[C语言]指针与字符串 指针的使用: /** * main.c by weiChen in 2015-5-4 */ #include <stdio.h> //定义函数体,使在main方法中能调用 void swap(int *pa, int *pb); void minmax(int c[], 阅读全文
posted @ 2015-06-27 14:50 ercom 阅读(1867) 评论(5) 推荐(0) 编辑

[C语言]进阶|数据类型: 整数, 浮点, 逻辑, 类型转换和条件运算

摘要: 【C语言的类型】 1. 整型(都分为有符号signed和无符号unsigned两个版本): char, short, int, long, long long # 注:long long 为C99标准,是64位长整型,需要编译器对C标准的支持。 引:C标准规定整型值相互间大小规则,长整型至少应该和整 阅读全文
posted @ 2015-04-08 23:01 ercom 阅读(4068) 评论(3) 推荐(1) 编辑

[C语言]指针与字符串

摘要: // main.c // Created by weichen on 15/2/1. // Copyright (c) 2015年 weichen. All rights reserved. #include <stdio.h> int main(int argc, const char * arg 阅读全文
posted @ 2015-03-25 00:14 ercom 阅读(3477) 评论(0) 推荐(0) 编辑

[Sphinx]全文索引Sphinx的使用配置

摘要: 搜索分为两种: 1. 对结构化数据搜索:SQL语句对数据库中存储的内容进行查询。 2. 对非结构化数据搜索:文本,图片,全文搜索。 全文检索分为两类: 1. 顺序扫描:如SQL中的LIKE查询或regexp正则查询。 2. 索引扫描:将非结构化数据提取部分(如:词组)后进行重组,使其机构化,这些提取 阅读全文
posted @ 2015-03-16 01:35 ercom 阅读(2154) 评论(0) 推荐(0) 编辑

[PHP]PHPOffice/PHPExcel数据导入方法

摘要: /** * PHPExcel数据导入方法 * Document:https://github.com/PHPOffice/PHPExcel/blob/develop/Documentation/markdown/Overview/07-Accessing-Cells.md * @param stri 阅读全文
posted @ 2015-02-07 19:31 ercom 阅读(2666) 评论(5) 推荐(0) 编辑

基于云存储服务构建应用的基础架构(图)

摘要: ----------------------------------------------------------------------------------客户端请求业务层获取数据与授权,业务层存储数据凭证,用于对数据的直接管理;客户端对私有资源无直接访问权限,必须通过业务层。上传完成后指定... 阅读全文
posted @ 2015-01-31 23:12 ercom 阅读(389) 评论(0) 推荐(0) 编辑