PHP如何控制终端输出文字颜色

2017年6月10日 没有评论

经常碰到一些语言在终端下执行的时候为什么可以输出一些彩色的文字样式,今天刚好执行 composer 工具的帮助时候发现竟然PHP也可以实现这样的效果(composer是一个Phar包程序,本质上就是一个PHP程序包)

经过研究发现其实原理挺简单,看看下面这段执行的PHP代码效果

$php -r “echo \”用\\033[0;32mPHP\\033[0m\\033[41m输出一段\\033[0;31m彩\\033[0;33m色\\033[0;34m文\\033[0;35m字 \\033[0m \n\”;”

PHP在终端输出彩色文字

其实背后原理很简单,分析上面的代码可以看到一串由 \033[ 开始的字符,其实这一段字符是用于引导非常规字符序列,在这里的作用就是引导设置输出属性,后边的[32m就是将前景色设置为绿色,字母m表示设置的属性类别,数字代表属性值。同类的多种设置项可以组合在一起,中间用分号(;)隔开。 阅读全文…

分类: PHP 标签:

macOS下安装Python的OpenCV环境

2017年6月1日 没有评论

计算机图片识别

因为macOS系统(包括Mac OS X系统)自带python安装,但因为操作系统本身依赖且版本较低,这里采用Homebrew安装隔离的python环境,Homebrew的特性这里不作延展,后续专门写一篇介绍.

安装 OpenCV2

brew tap homebrew/science

brew install opencv

安装结束后 opencv会被安装到 /usr/local/Cellar/opencv/2.4.13.2/ 目录

python调用opencv是通过 /usr/local/Cellar/opencv/2.4.10/lib/python2.7/site-packages/ 目录下面的

cv.py

cv2.so

阅读全文…

分类: OS X, Python, 其他 标签: , ,

Python虚拟化环境工具:Virtualenv

2017年5月21日 没有评论

Virtualenv是什么?

Virtualenv是Python下面创建隔离环境的虚拟化工具,它可以将一个项目的运营运行环境封装在一个完全『隔离』的环境里,和其他项目互不影响。

Virtualenv解决什么问题?

不同项目可能依赖同一个包的不同版本,一般情况下我们会将/usr/lib/python2.7/site-packages 路径,项目执行过程中将会产生冲突,这个时候我们需要一个各项目间完全隔离的环境,这就是Virtualenv要解决的问题. 阅读全文…

分类: Python 标签:

《万维钢 · 精英日课》读书笔记:忘记是为了更好的记住

2017年5月17日 没有评论

记忆力

开篇作者介绍了Ballard效应,在一组背诗记忆测试实验中,两天后在期间没有任何复习的情况下测试结果竟然会比第一次背诗后马上测试的成绩要好。

作者引用加州大学洛杉矶分校一对教授Robert Bjork和Elizabeth Bjork提出的记忆力理论模型解释了为什么Ballard效应在面对无规律字母组合的记忆实验失效,而面对像一首诗这样词句彼此之间有联系的事物记忆实验却有效的背后原理。

Bjork 家的理论把记忆分为两个强度:

存储强度(storage strength)

提取强度(retrieval strength)

阅读全文…

分类: 工作之外 标签:

人生苦短,我用Workflow

2017年3月26日 1 条评论

请原谅我套用标题,没办法实在有点相见恨晚的感觉,所以抱着很急切的心情『安利』给大家

Workflow是用来连接各个APP之间的自动化工具,让原来需要在APP间跳来跳去的常见动作程序化,可以说以前只有极客或程序员才能用的功能,现在『小白』用户也可以通过简单的拖拽就可以实现,因为Workflow内置如获取相册照片、打开URL链接、发短信、打电话、获取GPS定位等150多种动作,而且还内嵌了如图片处理、Gif制作、视频转换等功能,另外如果你懂点编程知识变量和条件等更多高级功能一定能让你大显身手。总之,只要能巧妙组合,搭配合理你就可以繁琐的操作流程中解脱出来,如行云流水般一气呵成。

说个Workflow的简单使用场景吧,这样也许你更能明白 阅读全文…

分类: 工作之外 标签:

揭秘能让图片体积减小35%的Google编码器Guetzli

2017年3月18日 没有评论

Guetzli

这段时间头条被一条关于Google开源JPEG编码器『Guetzli』的信息刷屏,『质量不变,体积减小35%…』,看着都让人激动,如果属实这应该是图片压缩技术上的一次重大突破,带着好奇心我仔细查阅了相关文档并做了一次全面测试,得到的结论是:基本属实,但也不用『辣么鸡冻』,为什么我下面会告诉你 阅读全文…

分类: 其他 标签:

利用计算机视觉和图像处理技术构建答题卡识别系统

2017年1月1日 没有评论

早些年总公司从阅卷系统起家,经过这些年的发展阅卷系统技术逐渐成熟市场也都做烂了,近些年阅卷系统逐步的变成教育信息化公司争夺各地教育机构与学校地盘的工具,更有像科大讯飞这样财大气粗的公司直接送成套软硬件到校,由此可见教育信息化这个市场的白热化,越来越难做了。早几年教育信息化这个市场还算是个半封闭的市场,大大小小厂商盘踞一方,谁也搞不死谁,但近年随着市场越来越热闹,『钱途』被不断地发掘,不断的出现大鱼吃小鱼,像互联网行业一样赢家通吃越来越普遍。所以就像很多传统行业一样,越来越多的公司在谋求转行,追逐更大的市场。

闲话扯的有点远,写这个主题主要是因为项目需要做一个成绩分析系统,区别于传统阅卷系统的,主要使用场景是服务于线下培训机构学生报班前的整体科目能力测评和课程练习测验的成绩分析与学习情况跟踪,系统主要由一个答题卡识别模块+成绩分析模块,今天先聊聊答题卡识别模块是如何构建的吧。 阅读全文…

免费好用的SSL域名签名,Let’s Encrypt使用攻略

2016年12月20日 没有评论

Let’s Encrypt是由 ISRG(Internet Security Research Group,互联网安全研究小组)发起,由Mozilla、Cisco、Akamai、Electronic Frontier Foundation 和 Chrome 等众多公司和机构支持的免费、自动化、开放的证书签发服务。

Let’s Encrypt 与 IdenTrust 的 DST Root CA 做了交叉认证,兼容性还是非常不错的,目前能做到主流系统包括XP系统也能得到很好的支撑,同时安全性上面Let’s Encrypt支持ECC 证书(目测采用的是ECDHE 密钥交换、RSA 签名方式)

Let’s Encrypt目前完全免费,支持3个月证书有效期,到期可自动续签,关于有效期这个应该是一个就安全性考量的策略,好在自动化做的非常不错,再加上各种自动化的申请、过期续签方案,已经做到很方便了。

Let’s Encrypt 的证书签发过程使用的是 ACME (Automated Certificate Management Environment)协议,目前官方和第三方工具都是基于此协议,官方推荐工具列表在这里

这里推荐 acme.sh 实测系统兼容性非常好,对其他库的依赖和版本依赖相对较小,CentOS 5.8系统 python 2.4.3 完美实现,这里简单讲一下acme.sh的安装和使用吧,官方有中文教程 在这里 阅读全文…

创建PHP守护进程后台运行,监控状态退出自动重启

2016年10月6日 没有评论

经常用到PHP脚本写的小程序需要在服务器端保持后台运行,除了使用screen等工具外,这里介绍使用Linux shell编写一个小工具实现PHP脚本程序在后台保持运行,不受终端退出影响,且能自动监测脚本运行状态,对因其他因素导致程序退出的情况自动进行脚本重启,实现守护运行. 阅读全文…

分类: Linux, PHP 标签: ,

iOS应用上线刨坑日记

2016年9月10日 没有评论

经过漫长的等待,带着十二分复杂的心情,终于在前天下午收到苹果App Store官方客服的电话,告知我们的应用可以暂时先上线了(是的,是暂时上线,细节一会儿讲),当天晚上搜索关键词排第2位找到了我们的应用。

其实App Store 提交应用网上一堆的教程,这里没必要复述一遍,只因为这期间刨过的坑实在是有点匪夷所思(请原谅我用语有点过 🙂 ),按正常流程注册邓白氏编码、注册App Store开发者账号、提交申请上线再正常不过的了,但是就这3步确实让我领略到了为什么有专业代办注册上线的生意了,如果让我再选一次,我觉得确实有必要找代办,不然浪费的时间和机会确实有点得不偿失,好了下面说说我碰到的坑踩到的雷吧

1.应用内支付(IAP)

如果你的产品需要付费,如果你卖的是虚拟类产品,那就要注意了,很有可能需要强制使用苹果应用内支付,微信支付、支付宝、银联对不起统统不允许,只允许使用苹果应用内支付,而且还强制抽成30%。

关于虚拟类产品这个具体怎么定义有时间再研究研究,说实话这个真有点坑,我们是做在线教育类的产品,同行出现只使用苹果支付的,也出现可以使用微信支付的,仔细研究发现就在线教育产品而言,直播类产品基本上使用微信、支付宝没有问题,而录播类产品基本上都只能使用苹果应用内支付,没有发现同时有直播和录播类产品的APP使用微信、支付宝支付

其实如果仅仅只是接入苹果支付,咬咬牙放弃30%收入也就算了,但是仔细研究发现如果只能接入苹果支付制肘还不少

  • 苹果支付产品定价只能按苹果预设方案不能随意定价,比如¥6、¥8、¥20、¥58 …. ,而且每个产品还必须在苹果后台设定好
  • 抽成30%,说实话目前国内在线教育类公司盈利的真心凤毛麟角,就算是一般公司估计毛利能到30%都很少,就这点不能不说苹果公司有多黑了
  • 苹果支付普及率,本人亲自使用感受,如果绑定好了信用卡再走支付确实很方便,按一下指纹就可以,但是就绑定操作而言相对国内普及使用的微信、支付宝确实有点门坎,事实也确实国内使用苹果支付的不多,特别是某些特定市场用户像我们公司目前主要针对初、高中学生家长,这类人群恐怕苹果支付的普及率更低

就定价方案来说也有折中方案,比如提供预充值功能,让用户使用余额支付。我们临时增加了虚拟课币功能,这样用户往账户充值变换成课币,产品使用课币标价。 阅读全文…