[SF] Symfony 在 console 中结合 Workerman

摘要: 在web框架的console中,命令不再是直接指定入口文件,如以往 php test.php start,而是类似 php app/console do 的形式。 workerman 对命令的解析是 parseCommand 方法,里面主要是处理 $argv 全局变量。 那么我们只需要在自己的逻辑中 阅读全文
posted @ 2017-12-05 18:11 ercom 阅读(980) 评论(0) 推荐(0)

[TCP/IP] TCP连接的建立和终止

摘要: TCP 是支持全双工通信的传输层协议,为了开发出更好的网络通信应用,清楚了解其中的交互过程是非常必要的。 下面用比较直白的话来描述&理解一下这个过程: TCP 连接建立:三次握手 服务器依次调用 socket,bind,linsten 绑定到指定本机地址,accept 阻塞等待连接。 1. 客户端调 阅读全文
posted @ 2017-09-05 21:57 ercom 阅读(524) 评论(0) 推荐(0)

[PHP]全局使用 Composer 组件的思路

摘要: /** * 全局使用 composer 组件的步骤: * * 1. 建一个包含所有需要全局使用的composer包的项目。 * 如:globalVendor/ * composer init 初始化 * composer install 安装 * * 2. php.ini中指定 auto_prepe 阅读全文
posted @ 2017-08-20 18:12 ercom 阅读(346) 评论(0) 推荐(0)

[Nginx] 单机环境的多应用配置

摘要: # 服务层 # https://github.com/farwish/alconservice # alconservice.conf server { listen 8090; root /home/www/alconService/public; location / { index index 阅读全文
posted @ 2017-05-18 19:54 ercom 阅读(665) 评论(0) 推荐(0)

[PHP] 接口请求校验的原理

摘要: 具体的校验步骤可以自定义,下面是比较直观的一种形式: 1. 客户端:请求参数带上时间,进行首字母排序,连接私钥后,取得加密结果; 客户端请求时带上这个加密结果作为sign参数。 2. 服务端:对sign参数进行校验(过程同上),如果正确且在有效期内,则通过。 示例程序: <?php /** * Si 阅读全文
posted @ 2017-04-12 18:02 ercom 阅读(2020) 评论(0) 推荐(0)

[codility] Lession1 - Iterations - BinaryGap

摘要: Task1: A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary rep 阅读全文
posted @ 2017-04-03 23:46 ercom 阅读(760) 评论(0) 推荐(0)

[PHP] PHP1 与 CGI

摘要: 早期,一个web程序通过cgi方式提供数据处理,编写cgi程序可以用不同的语言。 这个过程是,我们生成一个服务端可执行程序,处理 web server 传过来的请求,(设置header头)然后返回数据。 PHP1是典型的cgi程序(https://github.com/farwish/php1),m 阅读全文
posted @ 2017-02-22 19:01 ercom 阅读(261) 评论(0) 推荐(0)

[PHP] Phalcon操作示范

摘要: 这篇内容将对下列操作进行示范: Insert、Select、Update、Calculation、Transaction、models advanced、dev-tools、cookies [ Insert ] (1) // 模型内操作,data是['字段'=>'值']的一维数组。 $bool = 阅读全文
posted @ 2017-01-30 00:46 ercom 阅读(3599) 评论(0) 推荐(0)

[Shell] 实战: swoole_timer_tick 与 crontab 实现定时任务和监控

摘要: 手动完成 "任务" 和 "监控" 主要有下面三步: 1. mission_cron.php(定时自动任务脚本): <?php /** * 自动任务 定时器 (5s 执行). * * swoole_timer_tick 解决秒级定时; * 如需调整,注意配置路径 和 mission_cron_moni 阅读全文
posted @ 2016-12-28 20:18 ercom 阅读(971) 评论(0) 推荐(0)

[PHP] Phalcon应用升级PHP7记录

摘要: 升级主要有 php7, phalcon, extension 这三个方面工作。 【php7】 我选择从 git 中源码包安装,下面是主要安装步骤: git clone -b php-7.0.14 https://github.com/php/php-src.git cd php-src/ ./bui 阅读全文
posted @ 2016-12-13 21:14 ercom 阅读(712) 评论(0) 推荐(0)

[GNU] 喝一杯咖啡, 写一写 Makefile

摘要: Makefile 是 Linux 下组织程序的一个工具,它的命令是 make。 (首字母M/m都可以) 【Makefile】 Makefile 编写的主旋律: target: [dependency] (TAB)[command] 【make】 了解支持的功能和选项: $ man make # 查看 阅读全文
posted @ 2016-12-09 04:26 ercom 阅读(825) 评论(0) 推荐(0)

[PHP] Xhprof 非侵入式使用指南

摘要: 一般使用 Xhprof ,按文档操作可以快速上手,文件头开启 Xhprof,应用结束处得到访问的url查看。 这种使用方式可以快速看到效果,同时也有一些不好的地方: 一是不利于重复利用写好的示例代码;二是你需要改不同的Web应用。 怎样做到不在现有应用中加入无关紧要的代码,又能达到目的? php提供 阅读全文
posted @ 2016-12-06 20:39 ercom 阅读(454) 评论(0) 推荐(0)

[PHP]OOP两类写法的性能对比

摘要: 在PHP的OOP中我们有常见两种方法调用,对象调用和静态调用。 下面是一个简单的测试来比较它们的细微差异。 /** * 对象初始化 -> 调用;objectCall.php * * 测试调用50W次. * * @farwish */ class Test { public $a; public fu 阅读全文
posted @ 2016-11-08 00:17 ercom 阅读(335) 评论(0) 推荐(0)

[OSI] 网络间通信流程

摘要: PC 连接交换机A,组成内网。DNS Serv 和 Web Serv 连接交换机B 组成外网。 示意图: 内网通信 PC1 到 PC2: PC1 发送的数据先到交换机A,交换机A没有ARP地址缓存表,进行广播。 到路由器时,数据被丢弃,到PC2时,PC2 响应返回其MAC地址信息,交换机A进行ARP 阅读全文
posted @ 2016-09-15 17:25 ercom 阅读(1200) 评论(0) 推荐(0)

[OSI] 网络7层模型的理解

摘要: 应用层:HTTP 应用层 表现层:编码 表现层 会话层:端口 会话层 传输层:TCP/UDP 协议 传输层 网络层:IP 标记 +-- 网络层 --+ 网络层 数据链路层:计算机Mac地址标记 | | 数据链路层 物理层:网线,水晶头,计算机插口 | + >物理层 + >+ 【底层为上层服务,并且是 阅读全文
posted @ 2016-09-11 01:20 ercom 阅读(1943) 评论(0) 推荐(1)

[Tools] Vim 插件管理

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

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

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

告别2015,迎来2016

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

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

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

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

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

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

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

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

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