为你的php cli脚本输出加点颜色

Posted on 2018-05-25 17:01:23 | 0 comments | 216℃ | PHP

前言

cli脚本是很多程序员需要接触到的东西,通常们都使用echo来输出cli下面信息,但其实为了某些输出醒目,们通常可以给某些特定的输出字符串加上一点颜色,例如:

点亮cli

使用特定的颜色代码对字符串进行包裹即可,例如:

echo "\033[31m colorful \033[0m normal \n"
echo "\033[1;31m colorful \033[0m normal \n"

颜色与code

来自:http://blog.lenss.nl/2012/05/adding-colors-to-ph...

letsencrypt免费通配符证书申请

Posted on 2018-02-24 14:33:11 | 2 comments | 1100℃ | 杂文

什么是通配符证书?

通配符证书(wildcard certificate)是一个可以被多个子域使用的公钥证书,也就是说,无论是a.hisune.com,还是b.hisune.com,都可以用*.hisune.com这一张证书,而不需要针对多个域名申请多张证书。

letsencrypt是什么机构

开源免费的证书签发机构,官网:https://letsencrypt.org/

如何申请letsencrypt的免费通配符证书?

3.14更新

通配符证...

关于phalcon的模型(Model)的性能问题

Posted on 2017-08-10 16:16:49 | 1 comments | 1740℃ | PHP

前言

最近开始看phalcon的官方文档,并开始用在我的博客上。使用下来发现phalcon的模型model层非常非常难用,并且有一些性能方面的问题需要注意。

这篇文章带来phalcon的关联关系relation和分页paginator等几个性能问题及解决方案。

本文内容会在不断深入的使用过程中不定期添加。

关联关系relation

常见的错误姿势

不要在多个地方执行relation方法,而是赋值。

错误使用方法

<a href="/category/{{ post.getCategories().id }}/{{ post.getCategories().title }}">
    {{ post.getCategories().title }}
</a>

使用这种方法会导致产生3个...

关于phalcon+php7+mongodb的一些事

Posted on 2017-08-03 14:22:39 | 1 comments | 1275℃ | PHP

PHP7与mongodb

原扩展https://pecl.php.net/package/mongo仅支持php5.6及以下版本。

对于php7,官方出了一个新版本扩展:https://pecl.php.net/package/mongodb

但坑爹的是,新的mongodb扩展简直难用到屎。

所幸的是,mongo官方出了一个composer包,让一切看起来似乎没有那么糟:https://github.com/mongodb/mongo-php-library

看起来这个包的作用是为了简化[https://...

记一次mongo线上事故

Posted on 2017-07-28 10:47:33 | 0 comments | 1483℃ | Mongo

序言

有的坑始终是要踩的,有的路始终是要走的

本次分享的是在公司的一个真实线上事故,持续时长2小时,现分享出来供大家参考

线上mongodb架构

线上采用mongo副本集群的方式,总共3台机器,如下图:

  • 服务器为阿里云香港
  • mongodb版本为3.2
  • primary的priority设置为2
  • 其他secondary的priority设置为1

事故现象

PHP抛异常,连接mongo出错。首先猜测是网络原因导致php-fpm对mongo错误连接进行了缓存,在通知运维重启php-fpm后问题依旧。

登服...

一个自用的chrome扩展Hisune tab:支持云同步的新标签页扩展

Posted on 2017-07-21 14:55:36 | 0 comments | 883℃ | Javascript

关于Hisune tab

Hisune tab是一个自用的快速拨号扩展。

所谓快速拨号扩展,就是在空白页中显示一个一个的方块,你可以将你最常去的网站放在里面,想去就直接点……这个要比收藏夹或主页都会快很多。

而Chrome默认的起始页是按最近访问排的,变来变去不说还不是自己想要的,烦也烦shi嘞……

这是一个重复的轮子?

不过市面上已经有了Speed Dial等已经非常成熟的扩展可供免费使用了,那为什么还需要造一个轮子自己再写一个呢?

原因就是这些扩展要么不支持云同步,要么云同步需要收费。这样的话,在公司电脑新增了一个网站,在家还得新增一遍,非常麻烦。那如何免费用到这种带云同步功能的快速拨号扩展呢?答案就是自己...

win10的自带BASH ubuntu(WSL)下的一些使用情况汇总

Posted on 2017-07-20 10:26:53 | 0 comments | 2167℃ | 杂文

微软的良心产品,不用在windows主机上面装虚拟机了,开发者的福音,如果你是一个开发人员,可以立即用起来!以下是在几个月的使用过程中遇到的一些问题,希望能帮到有需要的用户,不要为了重复踩坑而花费太多时间

安装

  1. ltsb版本不支持,32位不支持;home及以上版本支持。
  2. 在设置 - 针对开发人员 - 勾选开发人员模式。
  3. 在控制面板 - 程序 - 启用或关闭windows功能 - 勾选“适用于Linux 的 Windows 子系统(Beta)”
  4. 重启电脑后,win+r打开cmd,输入bash等待安装完成,可能会很慢很慢,建议翻墙后安装

切换apt源


# 备份
sudo cp /etc/apt/sources.list /etc/apt/sourc...

Socket.IO 2.0版本发布

Posted on 2017-05-19 10:07:35 | 0 comments | 1887℃ | Javascript

简介

Socket.IO 2.0.0发布了!

最早接触的一个node模块就是Socket.IO,没错,并不是express。Socket.IO对于实时性的聊天应用开发非常方便,它基于Websocket协议开发,但可惜的是性能不足,内存占用也一直是个问题。但是令人非常期待的是,这次版本的发布主要带来了一些性能上的提升。

变化

  • 现在使用uws作为默认的websocket引擎。它将带来巨大的性能提升(特别是内存的消耗)(Engine.IO版本说明)
  • Engine.IO和Socket.IO的握手包被合并了,减少了一个连...

Gitlab与本机Apache或Nginx冲突的解决方案

Posted on 2017-05-17 14:09:52 | 0 comments | 1885℃ | 杂文

前言

由于gitlab内置了nginx,如果服务器上之前有安装nginx或apache,那么默认配置下必定会与gitlab的端口冲突。

解决冲突

们可以这样进行配置以解决冲突:

vim /etc/gitlab/gitlab.rb
​# 修改
external_url 'http://gitlab.hisune.com:8888' 
# 这个地址是gitlab中的clone地址和邮件发送的链接地址,也是理论上的gitlab入口地址
# 这样gitlab的web其实是监听的8888端口

修改完毕后重启加载配置和重启服务:


# 重新加载配置
sudo gitlab-ctl reconfigure
# 重启gitlab
sudo gitlab-ctl restart
```...

我有话说:关于jetbrains的免费开源序列号

Posted on 2017-04-10 17:56:23 | 4 comments | 3464℃ | PHP

前言

博主从最早入行PHP的时候用的dreamweaver,到后面的zendstudio,再到现在的PHPStorm。感觉用下来PHPStorm真是强大,所以后面有人要推荐某个语言的IDE,会毫不犹豫的说:jetbrains系列!

如何获取

的确,jetbrains系列的IDE非常叼,简直吊炸天。但是他是收费的,虽然网上有各种license,各种激活服务器,甚至自己也偷偷的搭了一个激活服务器,但是,作为一个有良心的程序猿,无时不刻想着怎么拥有一个正版的PHPStorm,甚至整个jetbrains系列的正版license。

但是jetbrains的license真的很贵。

但,其实你可能不知道,[我](https://hisu...

UP