是什么造就了一个优秀的程序员?
是什么造就了一个优秀的程序员?😄 首先问问你自己吧,这会是个有趣的问题。它让你反思自己的软件开发技术。这个问题也适合问问你的同事们。它可以带来一些关于如何协同工作的有趣讨论。下面是我认为成为一个优秀程序员必备的五个重要技能。 1. 分解问题 编程是为了解决问题,但在你开始写代码前,需要明白如何解决问题。优秀程序员的一项技能是把大的问题逐层分解成一个个更小的部……
Git 提交是差异、快照还是历史记录?
Git 提交是差异、快照还是历史记录? 大家好!我一直在慢慢摸索如何解释 Git 中的各个核心理念(提交、分支、远程、暂存区),而提交这个概念却出奇地棘手。 要明白 Git 提交是如何实现的对我来说相当简单(这些都是确定的!我可以直接查看!),但是要弄清楚别人是怎么看待提交的却相当困难。所以,就像我最近一直在做的那样,我在 Mastodon 上问了一些问题……
七个改变我生活的 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 builder ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN 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 ~……