摘要:
前言 最近看到朋友家装了新的只能门锁, 可以使用指纹或密码解锁. 密码解锁没什么, 但其在手机端可以生成一个临时密码倒是引起了我的兴趣. 这个场景是这样的: 密码锁不能联网 生成密码时, APP与密码锁没有通讯(不在一起, 且密码锁不能联网) APP 和密码锁仅在首次配对的时候进行过通讯 临时密码有 阅读全文
摘要:
前言 在开发的过程中, 经常会有抓包的需求, 查看请求体和响应体. 使用 charles 等抓包工具会遇到一些麻烦, 如: localhost 请求无法捕获 有些工具配置代理比较麻烦, 如docker配置代理后需要重启 https协议需要代理端配置证书进行解密, 比较麻烦 于是, 我就在想, 能否直 阅读全文
摘要:
前提 最近在公司代码review过程中, 看到同事的代码中大量使用了goto, 我给出了"不用 goto"的建议. 但其给出的理由是使用goto更简单. 确实, 使用goto可以使得逻辑更简单直接, 但前提是不乱用goto, 而在公司的项目中又很难保证这一点. 问题 使用goto带来的最直观的问题就 阅读全文
摘要:
前言 docker 的仓库支持一个 tag 下多个架构镜像, 这是如何实现的呢? 抓包看看其数据交互流程 前提 错误处理 执行命令buildx报错: ERROR: Multi-platform build is not supported for the docker driver. Switch 阅读全文
摘要:
闲来无事, 会一个人散散步, 也没什么目的, 就是随便走走. 有时会想想工作上的事, 有时也会想想其他的. 比如, 人生的意义 说起来我现在的岁数应该还没到要想这种问题的时候, 但也不尽然, 各个年龄段会有这不同的经历, 不同的见解, 不同的意境, 也会给出不同的答案. 忘记是在哪里看到这样一个故事 阅读全文
摘要:
前言 docker用了这么久了, 有没有想过, 在执行docker push 和 docker pull命令的时候, 数据是如何传递的呢? 换句话说, 如果要实现一个镜像仓库, 针对推拉的服务, 如何实现接口呢? 根据OCI 分发规范文档 的描述, 已经对整个推拉过程中要调用的接口有描述了. 但是, 阅读全文
摘要:
前言 在这篇文章中碰巧看到了Go边界检查消除相关的讨论. 我也借此简单聊聊. 有这样一段代码, 非常简单, 就是一段求向量点积的程序: func sum(a, b []int) int { if len(a) != len(b) { panic("must be same len") } ret : 阅读全文
摘要:
前言 常见的一个问题: 给定一个整形数组, 统计其中有多少唯一的元素. 常见的思路有哪些呢? 元素去重并统计, 利用哈希表进行去重计数. 数组排序后统计 以上空间复杂度均与元素数量关联, 如果允许损失精度, 是否可以使用较低的空间占用来统计呢? 利用布隆过滤器是一种的一种 但是, 我在这篇文章看到了 阅读全文
摘要:
前段时间, redis作者不是整了个c语言版本的聊天服务器嘛, 地址, 代码量拢共不过百行. 于是, 心血来潮下, 我也整了个Go语言版本. 简单来说就是实现了一个聊天室的功能. 将所有注释空行都去掉, 刚好100行实现. 废话不多说, 先上代码: package main import ( "fm 阅读全文
摘要:
前言 md5算法是我们经常会用到的一个hash函数, 虽然已经被证明是不安全的了, 但其应用依然十分广泛. 哈希函数具有如下特点: 将任意长度的字符串映射为固定长度 源数据微小的改动会导致结果差异巨大 不可逆 暴力破解困难 你有没有好奇过, 哈希函数是如何做到这些的呢? 本文就拿md5举例, 看一看 阅读全文
