GargantuaX
Home
Blog
About
GargantuaX
Categories
Php (6)
杂谈 (4)
Mysql (2)
Java (1)
网络安全 (1)
Featured Tags
php (6)
高性能 (3)
mysql (2)
docker (1)
ioc (1)
ip (1)
java (1)
laravel (1)
linux (1)
nginx (1)
qz.io (1)
selenium (1)
sm4 (1)
vim (1)
国密 (1)
打印机 (1)
静态绑定 (1)
Blog
12 posts
««
«
1
2
»
»»
PHP和Java互通的国密SM4算法
Nov 29, 2018
6 minutes read
简述 最近有需求要使用SM4算法传递信息,PHP加密,Java解密,网上找了一下 PHP7可以使用gmssl的PHP拓展支持,http://gmssl.org/docs/php-api.html PHP5只能用https://github.com/fevin/gmsm 这边项目是PHP5版本的,上面这个拓展只实现了128bit的块加密,没有实现ecb,cbc等对称加密模式 自己实现了一下ecb,使用数组来处......
PHP
网络安全
Java
PHP
Java
SM4
国密
Mysql中in vs join
Nov 7, 2018
3 minutes read
简述 最近在一个群里看到join和in的争论,到底什么时候用in,什么时候用join,我做了实验来验证 预备知识 join type介绍 join type并非指join类型,而是查询类型 explain sql后的type字段正是join type Mysql中有以下join type,性能从高到底为: * system : 系统常量表 * const : 常量表 * eq_ref : 主键或者唯一索引 * ref : 非空索引 * ref_or_null : 可空索引 * range :索引列使用 BETWEEN, IN, >=, LIKE等范围查询 * index : 循序扫描索引列 * ALL : 顺......
Mysql
Mysql
高性能
web控制打印机的优秀工具-qz.io
Oct 27, 2017
One minute read
引言 以往通过web控制打印机,一般是通过js控制Applet运行java去控制打印机,但如今主流浏览器因为安全问题,已经不允许在网页中运行java了.非要运行java只能装低版本的浏览器,这容易产生安全问题,不是一个好办法. qz.io 能很好的解决这个问题. qz.io qz.io的思路很巧妙,通过一个客户端程序去驱动打印机,同时在客户端建立一个websocket服务器,暴露出api给web调用.支持所有浏览器,所有操......
杂谈
qz.io
打印机
使用Docker和Laradock进行PHP开发
Sep 22, 2017
4 minutes read
为什么要使用Docker Docker能极大地减少环境配置和环境差异带来的工作,能相当程度提高生产力.以往我们使用的Homestead等虚拟机只能实现开发环境的共享,并不能用到生产环境中,无法减少运维的工作. 什么是Docker? Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本! 使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效......
杂谈
docker
Linux服务器使用selenium的正确知识
Aug 30, 2017
One minute read
导语 最近使用PHP做了一些爬虫,其中部分需要用到selenium开浏览器 值得注意的是Linux服务器没有显示输出终端的,我们要运行GUI程序,需要用到虚拟显示终端,比如 Xvfb 另外服务器上建议用Firefox,备用Chrome,在实践当中,前者问题少一些 安装步骤 安装php-webdriver https://github.com/facebook/php-webdriver 安装Firefox apt-get install firefox 安装geckodriver https://github.com/mozilla/geckodriver/releases 安装xvfb apt-get install xvfb 运行步骤 设置xvfb export DISPLAY=:10 Xvfb :10 -screen 0 1366x768x24 -ac & 启用......
杂谈
Linux
Selenium
如何记忆VIM快捷键
Jun 7, 2017
2 minutes read
使用键盘代替鼠标操作 光标上下左右移动:j k h l h:在最左边,左移动 l:同理,在最右边,右移动 j:下移 k:上移 在hjkl前加数字,比如3j就是向下移动三行,3l即使向右三行. w(word) 向右移动到下个单词的开头处,3w向右移动到3个单词的位置 b(back) 向左按移动到下个单词的开头处,3e向左移动到3个单词的位置 e(end) 向右移动到单词结尾处. 0 移动到行首 $ 移动到行尾,和正则的$意思一样 使用键盘进行插入,修改,删除,复制,粘贴 i......
杂谈
Vim
读《高性能mysql》笔记
Mar 9, 2017
3 minutes read
性能监控工具 sysbench pt-query-digest Anemometer new rilic xhprof生产环境下的PHP性能跟踪工具 show profile show status 选择正确的数据类型 通常越小越好 越简单越好 采用not null 使用枚举类型 TIMESTAMP通常优于DATETIME 多表关联,关联主键数据类型应当一致 不要怕用NULL,避免不存在的值,如:DATETIME NOT NULL DEFAULT ‘0000-00-00 00:00:00’ 在冗余量允许的情况下,减少JOIN,考虑适当把同一个字段数据存到不同表里,使用触发器来维护,这可以减少全表扫描。 建立合适的索......
Mysql
Mysql
高性能
读《Modern PHP》笔记
Mar 8, 2017
2 minutes read
读这本书感觉真的是一个前辈给后辈的敦敦教诲,颇费苦心。 我在这里列一下这本书的精华,供大家参考。 使用接口 依赖接口,而非具体实现,可以解耦,参考Laravel的契约 性状(trait) 这个特性很有意思,名字名副其实。 假如现在有一个人,还有一辆车,车和人都要实现给自己定位的功能,显然车和人不适合从一个父类继承,那这个时候trait就排上用场了。这是一个横向复用机制,让若干不想关的类带上同样一个性状。 http://php.net/manual/zh/language.oop5.traits.php 生成......
PHP
PHP
读《高性能PHP应用开发》笔记
Mar 8, 2017
4 minutes read
《高性能PHP应用开发》这本书最值得学习的其实是一个思路: 要诊断问题,从目标的全生命周期出发,用合适的工具去测试和衡量,逐环节排查优化。 HTTP请求的生命周期 对于用户来说,一个HTTP请求的生命周期如上图,其中有一个环节慢,都会导致卡顿。 DNS/PING响应延迟检测工具:http://ping.chinaz.com/ WEB服务生命周期 服务器压力测试工具:ab 前端 这个环节往往是最容易被PHP程序员忽......
PHP
高性能
PHP
你真的了解IP吗,PHP如何严格获取真实用户IP?
Feb 22, 2017
3 minutes read
PHP里用来获取客户端IP的变量有这些: $_SERVER['HTTP_CLIENT_IP']这个头是有的,但是很少,不一定服务器都实现了。客户端可以伪造。 $_SERVER['HTTP_X_FORWARDED_FOR'] 是有标准定义,用来识别经过HTTP代理后的客户端IP地址,格式:clientip,proxy1,proxy2。详细解释见 http://zh.wikipedia.org/wiki/X-Forwarded-For。 客户端可以伪造。 $_SERVER['REMOTE_ADDR'] 是可靠的, 它是最......
PHP
PHP
IP
Nginx