Levon's Blog

微信: L6241425

1. join类型

在关系代数中,连接运算是由一个笛卡尔积运算和一个选取运算构成的。首先用笛卡尔积完成对两个数据集合的乘运算,然后对生成的结果集合进行选取运算,确保只把分别来自两个数据集合并且具有重叠部分的行合并在一起。

连接的全部意义在于在水平方向上合并两个数据集合(通常是表),并产生一个新的结果集合,其方法是将一个数据源中的行于另一个数据源中和它匹配的行组合成一个新元组。

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。

阅读全文 »

1. Cherry-pick 是什么,何时该用

一句话:把别处的某几个 commit 复制到当前分支,每次产生新的 commit hash。

跟 merge / rebase 的本质区别在粒度:

  • merge / rebase 处理整条分支的所有提交
  • cherry-pick 处理你点名的几个提交

什么时候考虑它:

  • 线上 bug 修复在 develop 上做了,需要同步到 release / main(hotfix 回灌)
  • 跨仓库 / 跨分支只想要某个同事的某次提交
  • release 分支上挑选验证通过的功能上线

什么时候别用它(先想其他方案):

  • 想把整条 feature 分支搬过去,用 merge / rebase
  • 想撤销某个已 push 的提交,用 revert
  • 长生命分支日常同步,用 merge,cherry-pick 会埋陷阱(见第 3 节)

记一句:cherry-pick 是「挑几个」,不是「搬一片」。下面进入具体用法。

阅读全文 »

1. 撤销更改:Revert 与 Reset

1.1 使用 Revert 撤销

git revert 通过新增一个 Commit 的方式来抵消指定提交的修改。这是一种安全的操作,因为它不会改写已有的提交历史,非常适合在多人协作的分支上使用。

1
2
# 撤销指定的 commit-id
git revert <commit-id>
阅读全文 »

mac配置了多个外接显示器,有些窗口需要快速移动到某个显示器内。另外如何应对个别用户需要定制窗口尺寸及位置的需求?这个时候你需要Moom来辅助你。

阅读全文 »

1. certbot

  • 使用 Let’s Encrypt 提供的免费证书, 放到自己的服务器中, 并且在nginx配置好证书路径, 这样使用浏览器访问的时候就会见到熟悉的绿色小锁头了. 需要注意证书必须颁发给某个域名, 所以ip地址无效.

  • 安装工具certbot

1
2
3
4
5
6
git clone https://github.com/certbot/certbot
cd certbot
chmod +x certbot-auto

# certbot-auto 即为自动化脚本工具, 他会判断你的服务是nginx还是apache, 然后执行对应逻辑
./certbot-auto --help
阅读全文 »
0%