clickhouse踩坑指南

Posted on 2021-01-08 12:01:37 | 0 comments | 7375℃ | 杂文

本踩坑指南视本人使用情况和本人心情不定期更新,很多是独家解决方案。如有更优解,欢迎在底下留言指出,共同探讨!

1. divide的分母为0判断无效

select divide(12.3456, 0);

返回是正常的,但是如果是正常数据库里面的内容

select divide(cost_sum, new_100_num)

在数据库字段中new_100_num的值为0时,会报错: DB::Exception: Division by zero: while executing 'FUNCTION divide 只能通过if子句来解决:


select
    if(cost_sum=0 or new_100_num = 0, cast(0 as Decimal(18,4)), cost_su...

exsi+openwrt安装及网卡和硬盘直通简明教程

Posted on 2020-08-10 20:48:01 | 0 comments | 6127℃ | 杂文

exsi安装最简教程,无需pe,直接写U盘使用iso引导方式安装,直通后性能提升明显,CPU占用会减少很多

安装exsi

  1. 官网https://customerconnect.vmware.com/en/web/vmware/evalcenter下载exsi,使用ultraISO 写入exsi硬盘镜像到U盘:写入方式填写USB-HDD+ v2
  2. 接入hdmi、键盘,插入u盘设置u盘启动,进入esxi安装界面
  3. exsi7.0突破120G强制硬盘限制:在5秒倒计时界面按下Shift+o,进入命令行,在原有命令(runweasel cdromBoot)后面敲入空格,并增加以下命令“autoPartitionOSDataSize=16384”(16384即16G,可以根据自己的硬盘情况调整,建议大于8G)
  4. 设置数字+大小写字母+符号的密码,安装完毕后重启...

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

Posted on 2018-05-25 17:01:23 | 0 comments | 7211℃ | 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 | 13777℃ | 杂文

什么是通配符证书?

通配符证书(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 | 15146℃ | 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 | 13343℃ | 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 | 1 comments | 14249℃ | 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 | 5848℃ | Javascript

关于Hisune tab

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

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

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

这是一个重复的轮子?

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

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

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

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

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

安装

0. ltsb版本不支持,32位不支持;home及以上版本支持。

1. 在设置 - 针对开发人员 - 勾选开发人员模式。

2. 在控制面板 - 程序 - 启用或关闭windows功能 - 勾选“适用于Linux 的 Windows 子系统(Beta)”

3. 重启电脑后,win+r打开cmd,输入bash等待安装完成,可能会很慢很慢,建议翻墙后安装

在新版本中,只需在microsoft store中进行安装即可

切换apt源...

Socket.IO 2.0版本发布

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

简介

Socket.IO 2.0.0发布了!

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

变化

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