基于 gitlab-ci 构建 golang 项目 CI 环境

自己在 github 上托管 go 开源项目,CI 使用 travis 的服务感觉很方便,几乎不需要额外的设置,但是涉及到公司的项目,通过 gitlab-ci 来跑 golang 项目的 CI,需要一点技巧。

思路大致是这样:

  1. 创建项目在 GOPATH 中的目录的 symbolic link ,指向 gitlab-runner 在该项目上执行 CI 时 …

阅读全文

如何在 sequelize raw query 中如何避免 SQL injection

如何在 sequelize raw query 中如何避免 SQL injection

tl;dr: 结论:在 Sequelize.query() 函数中使用 replacements 对SQL变量赋值。

由于 sequelize 能力有限,一些复杂的查询需求还难通过 sequelize 的 op 的组合来实现,比如 postgresql …

阅读全文

python 正则表达式和内置 re 模块小结

[toc]

python 正则表达式和内置 re 模块小结

什么是正则表达式

正则表达式(regular expression)是可以匹配文本片段的模式

表达式全集

正则表达式有多种不同的风格,下表列出了适用于 PythonPerl 等编程语言的部分元字符以及说明:

re

re 模块

在 Python 中,我们可以使用内置的 re 模块来使 …

阅读全文

golang test techniques

golang test techniques

func twoSum(nums []int, target int) []int {
    for i := 0; i < len(nums); i++ {
        for j := i + 1; j < len(nums); j++ {
            if …

阅读全文

kubernetes 集群监控方案研究

kubernetes 集群监控方案研究

kubernetes 时代的监控新的特点

监控 kubernetes 和传统监控上的一些差异

  • Tags 和 labels 变得非常重要;在 kubernetes 系统中,labels 是识别 pods 和 containers 的唯一方式
  • 与传统VM监控相比,有更多的组件需要监控: 宿主机器, 容器, 容器化的 …

阅读全文

prometheus 监控系统介绍与实践总结

prometheus 监控系统介绍与实践总结

关键词:prometheus时间序列数据push/pull模型容器监控

最近,由于在调研容器平台的原因,关注了一些互联网企业的技术博客,阅读了许多容器平台相关技术栈的文章,在他们的技术栈中反复提到了 prometheus这个监控系统,非常好奇它有什么神奇之处,众多架构师对它趋之若鹜,所以在前一周做了一些 …

阅读全文

selenium with chrome headless on CentOS 7

selenium with chrome headless on centos 7

chrome 在 17年4月开始支持 headless 模式(v59), phantomjs 有很大可能性不再维护,最近趁着有个爬虫的需求,来探索一下chrome headless模式在centos系统上的可行性。

关于chrome安装

yum install  \ …

阅读全文