•  TOP

    一首喜欢的诗

    春江花夜月春江潮水连海平,海上明月共潮生。 滟滟随波千万里,何处春江无月明! 江流宛转绕芳甸,月照花林皆似霰; 空里流霜不觉飞,汀上白沙看不见。 江天一色无纤尘,皎皎空中孤月轮。 江畔何人初见月?江月何年初照人? 人生代代无穷已,江月年年望相似。 不...
  • 使用 urfave/cli 解析命令行参数

    使用 urfave/cli 解析命令行参数

    urfave/cli 是一个命令行辅助包,可以设置命令执行的方法。让服务可以根据参数不同,启动不一样的入口,非常方便。

  • 记录 golang 信号处理

    记录 golang 信号处理

    系统信号处理的方式,纯内置的处理。

    逻辑是定义一个容量为 1 的 chan 接收系统信号(os.Signal),触发指定信号时往 chan 接收到值,以此判断做相应的处理。

  • 记录 golang context

    记录 golang context

    有四种

    • context.WithCancel
      • 可取消的context
    • context.WithDeadline
      • 在某时间结束的context
    • context.WithTimeout(context.Background(), 2 * time.Second)
      • 设置超时的context,也返回 ctxcancel,可以等待自动超时,也可以提前执行cancelctx.Done都可以接收到值
    • context.WithValue
  • 验证 X.509 证书有效性

    验证 X.509 证书的有效性

    X.509 是公钥证书的格式标准,非常常见。但是证书可以自签、被撤销,就需要验证 CA 证书是否有效,下面以 python 为例。

    检查 CA 的有效性,从 OCSP(在线证书状态协议)可以得到证书是否被签发方回收

  • python 与 openssl 对应的 AES-CBC

    python 实现与 openssl 对应的 AES-CBC

    可对应 openssl 的 AES-CBC 加密,参考来源

    奇怪的需求又增加了,项目大量使用的 shell 脚本,有需求加密某内容,让脚本解密后使用。一番尝试后,发现 python 中的 AES 还与操作系统中 openssl 工具加解密不对应。又一番面向 Stack Overflow 编程后,调试出了合适的 demo,以下是处理内容。

    需要注意的是这种方式不够安全!!!

    先安装加密库:

    1
    pip3 install pycryptodome
  • 记录 DRF 学习片段

    记录 DRF 学习片段

    刷官方 tutorial 的记录,官网地址 django-rest-framework

  • 记录 django 外键关联统计

    记录 django 外键关联统计

    记录几个统计问题实例

  • 记录 django 中的查询优化

    记录 django 中的查询优化

    恰当的使用 select_relatedprefetch_related 方法,可以减少数据库重复查询的次数

    两种方法均支持双下划线指定需要查询的关联对象的字段名

    • select_related
      • 适合一对一,一对多的外键字段
    • prefetch_related:
      • 适合多对多字段、外键反查(related_name)的情况
      • 在方法中使用 Prefetch 可以增加查询条件
      • 执行两次数据库查询
  • innodb cluster 和 mysqlsh

    innodb-cluster 和 mysqlsh

    官网下载并安装下面几个包(不带过程)

    1
    mysql-server mysql-shell mysql-router

    配置 innodb cluster

    mysql 官网提供了一个很好的工具,叫 mysql-shell 以前没体会到妙处,在配置 innodb cluster 时发现非常方便,推荐尝试。

    innodb 集群在 mysql-shell 中配置的大致命令,交互命令都是 js 的语法

/3