Loading

摘要: 闲来无事, 会一个人散散步, 也没什么目的, 就是随便走走. 有时会想想工作上的事, 有时也会想想其他的. 比如, 人生的意义 说起来我现在的岁数应该还没到要想这种问题的时候, 但也不尽然, 各个年龄段会有这不同的经历, 不同的见解, 不同的意境, 也会给出不同的答案. 忘记是在哪里看到这样一个故事 阅读全文
posted @ 2024-05-09 20:54 烟草的香味 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前言 docker用了这么久了, 有没有想过, 在执行docker push 和 docker pull命令的时候, 数据是如何传递的呢? 换句话说, 如果要实现一个镜像仓库, 针对推拉的服务, 如何实现接口呢? 根据OCI 分发规范文档 的描述, 已经对整个推拉过程中要调用的接口有描述了. 但是, 阅读全文
posted @ 2024-03-24 16:18 烟草的香味 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 在这篇文章中碰巧看到了Go边界检查消除相关的讨论. 我也借此简单聊聊. 有这样一段代码, 非常简单, 就是一段求向量点积的程序: func sum(a, b []int) int { if len(a) != len(b) { panic("must be same len") } ret : 阅读全文
posted @ 2024-02-25 14:00 烟草的香味 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 常见的一个问题: 给定一个整形数组, 统计其中有多少唯一的元素. 常见的思路有哪些呢? 元素去重并统计, 利用哈希表进行去重计数. 数组排序后统计 以上空间复杂度均与元素数量关联, 如果允许损失精度, 是否可以使用较低的空间占用来统计呢? 利用布隆过滤器是一种的一种 但是, 我在这篇文章看到了 阅读全文
posted @ 2024-01-21 16:39 烟草的香味 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前段时间, redis作者不是整了个c语言版本的聊天服务器嘛, 地址, 代码量拢共不过百行. 于是, 心血来潮下, 我也整了个Go语言版本. 简单来说就是实现了一个聊天室的功能. 将所有注释空行都去掉, 刚好100行实现. 废话不多说, 先上代码: package main import ( "fm 阅读全文
posted @ 2023-12-16 22:11 烟草的香味 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 前言 md5算法是我们经常会用到的一个hash函数, 虽然已经被证明是不安全的了, 但其应用依然十分广泛. 哈希函数具有如下特点: 将任意长度的字符串映射为固定长度 源数据微小的改动会导致结果差异巨大 不可逆 暴力破解困难 你有没有好奇过, 哈希函数是如何做到这些的呢? 本文就拿md5举例, 看一看 阅读全文
posted @ 2023-10-23 23:32 烟草的香味 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 通过网站 https://regex101.com/ 可以测试正则表达式的匹配结果及匹配过程. 本文章抛开各个编程语言实现差异, 仅做正则本身的介绍, 会尽量将正则这玩意说明白, 使得你看完这边文章后对正则基本可以运用自如. 温馨提示, 这篇文章会比较长, 大致浏览即可. 正确的方式是收藏起来, 等 阅读全文
posted @ 2023-09-12 10:19 烟草的香味 阅读(17) 评论(0) 推荐(0) 编辑
摘要: # 前言 相信对于软件工程师来说, CPU并不陌生. 人工智能以及机器学习带火了GPU. 经常听到的就是, GPU计算比CPU快, 但具体是怎么快的却从未刨根问底. 之前在听到GPU的时候, 我有过这样的疑问: 1. GPU是什么? 2. 为什么比CPU快? 快在哪里? 如果各方面碾压那CPU不就淘 阅读全文
posted @ 2023-07-08 16:51 烟草的香味 阅读(36) 评论(0) 推荐(0) 编辑
摘要: # 前言 有这样一个工具, 可以对镜像进行扫描, 拿出其中包含的软件包、lib库(pip包等)、危险文件等, 并能够识别出哪些包是存在漏洞的. 比如`trivy`工具. 那么他们是如何做到这件事情的呢? 正好最近在研究这块, 索性就简单谈一谈(其实原理很简单). # 获取包含内容 对于镜像的存储, 阅读全文
posted @ 2023-06-11 18:33 烟草的香味 阅读(67) 评论(0) 推荐(0) 编辑
摘要: # 前言 在[之前的文章](https://hujingnb.com/archives/899)中有说过容器目录的隔离机制. 今天来分析一下镜像的文件系统. Docker 已经用了很久了, 也知道镜像存储的时候是分层存储的(从`docker pull`时分层下载就能看出), 但是具体是如何将多层进行 阅读全文
posted @ 2023-06-04 11:13 烟草的香味 阅读(323) 评论(0) 推荐(0) 编辑