七个改变我生活的 Git 小技巧
七个改变我生活的 Git 小技巧 这些有用的小技巧将改变你在当前最流行的版本控制系统下的工作方式。Git 是当前最流行最普遍的版本控制系统之一,它被应用于私有系统和公开网站上各种各样的开发工作。不论我变得对 Git 有多熟悉,似乎总有些功能等待着被发掘。下面分享下和 Git 相关的改变我工作方式的一些小技巧。1、Git 中的自动纠错我们每个人都……
使用 Python 解析配置文件
使用 Python 解析配置文件 第一步是选择配置文件的格式:INI、JSON、YAML 或 TOML。有时,程序需要足够的参数,将它们全部作为命令行参数或环境变量既不让人愉快也不可行。 在这些情况下,你将需要使用配置文件。有几种流行的配置文件格式。其中包括古老的(虽然有时定义不明确)INI 格式,虽然流行但有时难以手写的 JSON 格式,使用广……
设置 Wine 应用调用 Linux 原生浏览器
先找到 IE 所在目录,我的是~/.wine/drive_c/Program Files (x86)/Internet Explorer,里面的 iexplore.exe 就是那个辣眼睛的 IE。当然如果用 PlayOnLinux 安装的应用,去程序安装目录找默认 IE 文件。备份是个好习惯:$ cd ~/.wine/drive_c/Program\ ……
Gitlab CI 部署 Docker Python 项目
最近在公司搭建了一个新版的 gitlab,用到了新的 gitlab docker runner。配置后端项目自动部署时踩了很多坑。特别 runner 在 docker in docker 中,需要单独挂载一个目录来存放源码。最终还是用 Shell Executor 完成构建,Docker Executor 也一样。看到 https://gitlab.c……
Python 执行精确的浮点数运算
问题你需要对浮点数执行精确的计算操作,并且不希望有任何小误差的出现。解决方案浮点数的一个普遍问题是它们并不能精确的表示十进制数。并且,即使是最简单的数学运算也会产生小的误差,比如:.. code-block:: python>>> a = 4.2>>> b = 2.1>>> a + b……
Python 字符串中插入变量
问题你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。解决方案Python 并没有对在字符串中简单替换变量值提供直接的支持。但是通过使用字符串的 format() 方法来解决这个问题。比如:.. code-block:: python>>> s = '{name} has {n} messages.'>……
Python 字符串匹配和搜索
问题你想匹配或者搜索特定模式的文本解决方案如果你想匹配的是字面字符串,那么你通常只需要调用基本字符串方法就行,比如 str.find() , str.endswith() , str.startswith() 或者类似的方法:.. code-block:: python>>> text = 'yeah, but no, bu……
Python 用 Shell 通配符匹配字符串
2.3 用 Shell 通配符匹配字符串问题你想使用 Unix Shell 中常用的通配符(比如 *.py , Dat[0-9]*.csv 等)去匹配文本字符串解决方案fnmatch 模块提供了两个函数—— fnmatch() 和 fnmatchcase() ,可以用来实现这样的匹配。用法如下:.. code-block:: python&g……
docker 最小化编译 golang
采用多段编译FROM golang:1.11.4 as builderENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /usr/local/go/src……
nginx 反向代理 docker 中的 php+nginx 获取真实 ip host
测试服务器上有一个真实的 nginx,docker 运行 php + nginx 项目。反代理后出现无法获取客户端真实 ip 及 host 的情况,解决如下:宿主 nginx 配置:server { server_name xscenic.*.com; charset utf-8; # 后端 api location ~……
gunicorn gevent 模式 grpc time out
from __future__ import print_functionfrom grpc.experimental.gevent import init_geventfrom app.main.util.utils import dict_group_by, debug_loggingfrom app.main.util.utils import……
docker nginx 配置
user nginx;worker_processes 1;pid /var/run/nginx.pid;# error_log /var/log/dnmp/nginx.error.log warn;events { worker_connections 1024;}http { include ……