梦想这东西和经典一样,永远不会因时间而褪色,反而愈显珍贵

一条还有点梦想的野生咸鱼写的博客

Gitalb Runner和Gitlab CI 集成设置

2018-06-21

为了代码规范,最近在公司私有Gitlab仓库中增加了CI集成,用于代码风格检测和单元测试,如果不符合某些硬性条件,那么你是没有办法创建MergeRequest的,这样就能对代码质量有一定的保障,也能让代码风格保持相对一致。

Phalcon框架数据库读写分离的实现方法

2018-05-16

Phalcon框架和Yaf类似,是一款用C实现的拓展级别的框架,不过其功能实现更加丰富,设计思路基于依赖注入、容器等方式,更符合现代框架思想。本文主要针对Phalcon框架数据库层的读写分离进行说明,权当记录。

使用zephir构建php拓展

2018-04-22

使用php拓展代替原生php代码来实现某些功能,这样效率必然会有明显的提升,尤其涉及到某些重复计算的特殊情景时。但传统的php拓展需要用c/c++实现,入门成本高,还容易造成内存泄露,对开发十分不友好。今天我们使用zephir工具来构建拓展,让你像写php代码一样来写拓展。

expect脚本执行异常,手动执行命令成功

2018-04-07

情景是有个expect脚本,通过crontab定时去某台机器上rsync拉取数据作为备份。开始的时候运行正常,后来随着需要备份的数据变大之后发现脚本执行异常,并没有按照预期得到数据。更诡异的是如果不用脚本,而是通过手动执行rsync命令的话,一切正常。

Git提交时自动检测PHP文件是否有语法错误

2018-03-21

老话题了,不过最近在公司普及Gitlab的时候又提到了,索性就记录下来。原理是使用php -l phpfile对PHP文件进行语法检测,如果不通过的话,则无法继续Commit操作。

Windows下Charles抓取Https时移动设备访问chls.pro/ssl无法安装证书,页面无响应

2018-02-08

情景是使用Charles抓取手机端Https请求,至于详细步骤,网上教程一大堆,请自行搜索。Mac下无此问题,本文适用的是Windows下移动设备无法安装证书的情景。

Kafka集群搭建过程和简单使用

2018-02-02

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系统。由于负载能力高,存储容量大,通常被我们用在大规模的日志收集和处理上,下面就来说说如何构建Kafka集群。当然,你也可以同时参考官网的教程 http://kafka.apache.org/

使用minikube在本机搭建kubernetes集群

2018-01-06

Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作。如果你曾经用过Docker部署容器,那么可以将Docker看成Kubernetes底层使用的组件,Kubernetes是Docker的上层封装,通过它可以很方便的进行Docker集群的管理。今天我们使用minikube在单机上进行Kubernetes集群的部署,目的是让我们对k8s有个初步的认识。

如何用免费的方式让网站支持HTTPS

2017-12-05

前两天,用4G访问自己的博客的时候,发现右下角出现了那个可恶的”流量球”,相信大家肯定有见过的,显而易见,这是运营商劫持了我的流量,并且给网站注入了一些内容,以此来推销他们的套餐. 作为一个有理想的咸鱼,怎么能让运营商如此肆意妄为?于是乎,开始了我的博客https改造之路.

nginx php文件显示空白

2017-10-14

今天在bash on windows鼓捣php环境的时候偶然遇到一个坑,就是nginx启动以后,访问index.html可以正常显示,但访问index.php的时候页面一片空白,啥都没有!根据以往在linux下的经验,我的配置完全正确,肯定可行,但在wsl下却跑不通,摸索过程记录如下。

Windows勒索病毒WannaCry防护方法 | Windows关闭445端口

2017-05-15

5月12日侵袭全世界的“蠕虫式”勒索软件 WanaCry (也称作WannaCry或WanaCry0r 2.0),已致中国部分行业企业内网、教育网大规模感染。这种病毒依靠美国国家安全局开发的核弹级侵入工具-深蓝 EternalBlue 在局域网内疯狂传播,即使没有连接外网也难以避免。也就是说,即使你没有点击病毒软件,只要和你一个局域网络的任何一个小白误点了病毒,那么整个网络内都会惨遭毒手。

命令行下 将PPT文件转换为图片

2017-05-04

之前做需求的时候有这么一个,输入是一个ppt文件,要求输出是每页ppt的图片格式,相当于把ppt分页转换为图片,然后图片再做后续的逻辑处理。如果在window下或者说有office的情况下,手动执行太简单,文件->导出为图片 即可实现,可视化操作,那么问题是我这个功能要作为服务运行,在非人工干预的情况下,所有操作都要由脚本实现,所以折腾了一下,这里记录下来。

基于Docker的Gitlab服务器搭建

2017-04-17

是不是每个爱折腾的人都有搭建一套自己的Gitlab服务器的冲动~ 作为一个爱折腾的人,我曾经也搭建过内网Gitlab,装Redis,装PostgreSQL,装Ruby,装Gitlab,尤其是配置Ruby环境跑Gitlab的时候,不知遇到了多少坑!不过今天,我再次搭建Gitlab服务,用的是大神已经配置好的Gitlab Docker镜像,一条命令即可启动!

Python write 函数写文件失败

2017-04-11

工作中涉及到了内容抓取的需求,用 Python 根据Url抓取对应的Html页面,并存储到本地文件,然后程序内继续将本地文件的路径作为参数,调用Node进行杂质过滤和内容提取。但怪的是在Python执行期间,已经完成了write操作,Node读取该文件的时候却得不到任何内容!这让我很尴尬

Redis GeoHash 地理位置结构

2017-02-02

Redis在3.2版本悄悄的加入了一个地理位置的功能,哈哈,3.2版本推出已经好久了,一直没有机会尝试一下,今天专门敲数据使用了一番,新增了一共6个方法,看了看相关数据结构和特点,了解了大概的轮廓,今天就来记录一下。

php create_function导致cpu占用激增

2016-12-30

工作生产环境是hhvm + php5.2 ,是的,php版本有点低,然后在不支持 Closure [其实就是匿名函数] 这种作为 callback 函数的情况下,用了create_function方法代替了callback,结果出坑了,线上机器 cpu400% 占用…

php使用exec导致结果叠加的坑

2016-09-26

今天用php在后台跑一些常规任务的时候使用到了exec函数,它用来执行Linux系统函数进行相关统计,如exec("ls -l"),但是却发生了很诡异的问题,真的是特别诡异的问题,首先看下面这段代码

ssh自动登录 | ssh免密码登录

2016-07-29

经常远程登录服务器然后进行操作的程序猿童鞋们对于 ssh 肯定不会陌生,ssh name@host之后直接输入密码即可登录到远端主机,不过稍稍麻烦的地方是每次都需要输入密码,如果密码固定还好说,可以用终端的Trigger或者用Linux的expect自动输入密码;但如果是需要token的那种,每次都要输入固定密码前缀,然后再找出token输入,这样的话难免让人着急。

wkhtmltopdf 转换HTML为PDF时不显示中文

2016-07-22

最近在使用开源工具 wkhtmltopdf 把 HTML 文件转换为 PDF,这货功能很强大,自带webkit浏览器内核,可以完全模拟浏览器特性,解析css样式、运行javascript进行dom渲染,从而完美的将HTML内容渲染为PDF,就像在浏览器上截屏一样,神奇的一笔

simple-html-dom内存泄露的坑

2016-06-22

后台抓取脚本,负责处理抓取到的 HTML 字符串,提取其中的某些 dom 元素进行处理。用到了simple-html-dom 这个开源库,主页在 http://simplehtmldom.sourceforge.net ,主要用它将HTML字符串格式化成 dom 对象,然后对 dom 对象进行属性替换和内容读取。