Introspection: Who am I? where am I? What am I going to do?

问题

GitLab Shell Runner 虽然使用方便,但在实际运行过程中可能会遇到一些环境方面的问题,比如:

  • 当前 Runner 是以哪个用户身份执行的任务?我应该在哪个用户目录下安装所需的软件包?
  • 为什么在 gitlab-runner 用户目录下安装的软件,在 CI 流程中却无法正常生效?
  • 为什么 CI 实际运行的 Node.js 版本与我在配置中指定的不一致?
阅读此文
post @ 2024-06-27

问题

自动云平台申请的免费证书有效期从一年变成三个月后,更换证书变得麻烦了起来。以前一年一换没觉得有什么不妥,如今三个月一换,证书稍多就觉应付不来。

阅读此文
post @ 2024-06-26

需求

统计 gitlab 中各仓库的测试覆盖率,以表格的形式发送到企业微信群

阅读此文
post @ 2023-10-20

概述

当谈论时间时,我们其实是在谈论两件事:时间本身和时间的表示。

正常情况下,时间的流动是单调的,日常需要表达的往往是具体某个时间点(瞬时时间)、以某个或某两个时间点为分界的时间段。

阅读此文

post @ 2023-02-06

日常讨论最多的树基本上都是查找树,构建、调整树的目的,都是为了快速地查找。在有限的资源下,谁能够在树的构建和查找上取得更加均衡的性能,谁就会成为最常用的技术。这里说的有限资源,主要是指存储:内存或磁盘。

如果数据集较少,只需要在内存中操作,主要考虑构建和查找树的时间复杂度,这类树的优胜者是红黑树;如果数据集很大,如GB级别,内存不足以存储整个数据集,势必以磁盘为主要存储手段,磁盘IO会是主要问题,减少IO操作是主要目的,这类树的优胜者是B+树。

严格地说,无论红黑树还是B+树,和平衡二叉树(AVL树)没有必然的联系,但考虑到树的平衡对查询的重要性,因此了解构建AVL树的详细步骤也是有必要的。

阅读此文
post @ 2023-02-06

作为Python平台上的约定类框架,Django Admin因为可以非常方便地管理数据表而经常被我们使用。尽管功能强大,但动辄好几个月的使用间隔会让重新上手时不知所措。这里针对常用case进行速记。

创建项目

安装django-admin命令行工具,创建项目

阅读此文
post @ 2023-01-09

一种订阅计算方法

本文描述一种针对较为复杂的订阅分级计算指定日期生效的订阅的计算方法。更多地是作为记录,因为半年后自己再看代码,花了两三个小时才完全捋清。

背景

阅读此文
post @ 2022-09-06

当谈论K8s安全时,我们在谈论什么?

其实,我们在谈论所有。借官方手册的描述——4个C:Cloud、Cluster、Container、Code,即在这四个层面上进行防护

阅读此文
post @ 2022-08-14

以下内容作为这段时间研究Kubernetes网络的总结,一口气写完,代表了当前对Kubernetes网络的认知,可能有误,权当摆龙门阵。

阅读此文
post @ 2022-08-10

通常在带有登录功能的业务中,我们会向用户(客户端)发放访问凭证,往后一段时间,用户持该凭证即可在应用内畅行。不同应用可能有不同的名字:access_token、token、xxxid,也可能有不同的形式:不透明字符串、JWT等。本文讨论访问凭证的安全性。

阅读此文
post @ 2022-08-07

这两天用go写一点点东西,发现自己的编码速度真慢,原因还是对常用API不熟悉,文件操作、压缩解压缩、进程启动、http服务操作,貌似一点都不知道。于是只能翻手册,一点点看,突然间想到一个事情——我该不会是个调包侠吧🤔。

阅读此文
post @ 2022-07-28

两个多月前,我重构了支付服务苹果IAP部分代码,完善了苹果支付逻辑;大半个月前,以加强可维护性为目的重构了用户服务的代码;上周三开始,以同样的理由,重构了支付服务剩余的代码。这三次重构工作,前前后后加起来得有一个月工作量,这里进行总结:到底重构了什么。

阅读此文
post @ 2022-07-18

为什么需要学习iptables ?
Linux防火墙、NAT、Kubernetes等很多地方都用到iptables,了解它很重要。

本文主要信息来源是netfilter官网推荐的iptables教程

本文目的:了解iptables原理;了解iptables配置方法,看懂iptables配置脚本

阅读此文

三方登录常需要客户端和服务端共同完成,对OAuth2,客户端获取授权码,服务端用授权码换取访问凭证;对OIDC,客户端获取ID Token,服务端验证其正确性用以登录之类的场景。但两端又常非同一个开发人员,服务端逻辑写好后需要客户端配合获取授权码或ID Token作为输入进行调试验证。这样效率太过低下,协调上会有困难。

最好是服务端能够自己获取输入参数,这里介绍常见的四种登录方式的简单调试方法:微信登录、Apple ID登录、Google登录、Facebook登录。

阅读此文
post @ 2022-06-12

我每篇博客的书写都是有动机的,它们或是对一段时间的工作总结、或是对某个事物的感悟。这次要写X.509的博客,是因接入IAP时,从网上搜索的各种问题发现一个惊人的事实:很多人不知道X.509证书的验证方式,当然也包括我。

阅读此文
⬆︎TOP