使用acme.sh配置letsencrypt证书

越来越多的人开始意识到 https 的重要性了,letsencrypt 证书免费而且兼容性好。在一般情况下都足够用。如果需要更高级别的证书可以考虑付费的。

首先,我这里的需求是前端有两台 web 服务器,前端有一台作为均衡负载。所以常规的使用域名作为验证的方法是不可行的,在看 acme.sh 时发现了它支持使用 DNS 作为验证。满足了我的要求。

阅读更多

kettle 数据导入乱码.md

在使用 kettle 处理数据,导入到 mysql 时出现了中文乱码的问题,有两种情况:

  1. mysql 编码问题,这个直接修改表编码即可
  2. kettle 导入的编码问题,需要在【数据库连接】-【选项】里面添加一条
1
2
characterEncoding:utf8

用单例和动态类在sqlalchemy中做动态表绑定

当我们的数据表需要分库的时候,如果使用了 sqlalchemy 来做 ORM,在做数据表和类关联的时候就很痛苦了,一个类只能和一个表关联。
当然还有一种方法就是修改 model.tablename.name 来解决,但是这个有个问题是只能绑定一次,实例化后修改就无效了。所以我们就需要使用 type 来动态的创建一个类,到这里问题又来了,如果在不同的时候创建了两个相同的类名的时候,程序就会抛出异常。所以类名必须是单例的。整个的实现如下:

阅读更多

mac .net core尝试

以下是对.net core 发布的尝试,内容完全来自微软官方的文档粘贴,主要是用来记录尝试的过程。

阅读更多

简单的坐标转省市区的算法

在很早以前,就通过地图 api 抓取的相关的省市区信息,其中有一个字段是 polylines ,里面是一组 gps 的坐标。为了离线来根据 gps 坐标获取省市区的信息,最开始想到的是使用 geohash 来计算出每个区域所包含的hash值,把所有的hash值存下来,这样查询变成了键值查询,如果 geohash精确到第8位,值偏差大概是19米,这个精度已经在我所能够承受的范围内了。

阅读更多

kettle随记

  1. 注意排序,作为流处理,排序很重要,想要体会排序,可以理解一下普通排重和 hash 排重的区别。普通排重,是需要排序后线性处理,排重的时候只需要比较相邻的就行了,不许要保存状态
    hash排重,对需要排重的字段做 hash,比较 hash 值,所以不需要排序。kettle 作为一个流处理工具,还是排序后做处理好一点,很多时候会避免掉很多的莫名其妙,其实是自己理解补充的问题。
阅读更多

memcacheq Berkeleydb 备份恢复

这是很久以前碰到的问题,一直躺在笔记里,没有整理出来。在 memecacheq 运行一段时间后会出现以下的问题,原因是 Berkeleydb 存储出问题了

1
2
[memcacheq] [Wed Jun  3 17:02:11 2015] "BDB1546 unable to join the environment"

阅读更多

Mac上制作Ubuntu USB启动盘

前几天,小伙伴终于把测试服务器玩坏了,openssl 尝试了很久始终都不能正常的工作,不管是编译还是apt-get。最后还是决定重新装一下系统。记录一下其中做 ubuntu 启动盘的命令,一下部分内容来自网络,

阅读更多