Loading

上一页 1 2 3 4 5 6 ··· 38 下一页
摘要: 前言 md5算法是我们经常会用到的一个hash函数, 虽然已经被证明是不安全的了, 但其应用依然十分广泛. 哈希函数具有如下特点: 将任意长度的字符串映射为固定长度 源数据微小的改动会导致结果差异巨大 不可逆 暴力破解困难 你有没有好奇过, 哈希函数是如何做到这些的呢? 本文就拿md5举例, 看一看 阅读全文
posted @ 2023-10-23 23:32 坠月川 阅读(230) 评论(0) 推荐(0)
摘要: 通过网站 https://regex101.com/ 可以测试正则表达式的匹配结果及匹配过程. 本文章抛开各个编程语言实现差异, 仅做正则本身的介绍, 会尽量将正则这玩意说明白, 使得你看完这边文章后对正则基本可以运用自如. 温馨提示, 这篇文章会比较长, 大致浏览即可. 正确的方式是收藏起来, 等 阅读全文
posted @ 2023-09-12 10:19 坠月川 阅读(62) 评论(0) 推荐(0)
摘要: # 前言 相信对于软件工程师来说, CPU并不陌生. 人工智能以及机器学习带火了GPU. 经常听到的就是, GPU计算比CPU快, 但具体是怎么快的却从未刨根问底. 之前在听到GPU的时候, 我有过这样的疑问: 1. GPU是什么? 2. 为什么比CPU快? 快在哪里? 如果各方面碾压那CPU不就淘 阅读全文
posted @ 2023-07-08 16:51 坠月川 阅读(64) 评论(0) 推荐(0)
摘要: # 前言 有这样一个工具, 可以对镜像进行扫描, 拿出其中包含的软件包、lib库(pip包等)、危险文件等, 并能够识别出哪些包是存在漏洞的. 比如`trivy`工具. 那么他们是如何做到这件事情的呢? 正好最近在研究这块, 索性就简单谈一谈(其实原理很简单). # 获取包含内容 对于镜像的存储, 阅读全文
posted @ 2023-06-11 18:33 坠月川 阅读(126) 评论(0) 推荐(0)
摘要: # 前言 在[之前的文章](https://hujingnb.com/archives/899)中有说过容器目录的隔离机制. 今天来分析一下镜像的文件系统. Docker 已经用了很久了, 也知道镜像存储的时候是分层存储的(从`docker pull`时分层下载就能看出), 但是具体是如何将多层进行 阅读全文
posted @ 2023-06-04 11:13 坠月川 阅读(442) 评论(0) 推荐(0)
摘要: # 前言 在k8s中, pod是编排的最小单位, 在同一个pod中, 容器之间能够共享`hostname` `network` 等内容. 共享`network`, 简单说就是同一个pod中的容器, 可以通过访问`localhost`互相访问, 且端口占用会冲突. 在之前的介绍中提到过, 容器的隔离是 阅读全文
posted @ 2023-05-23 15:12 坠月川 阅读(191) 评论(0) 推荐(0)
摘要: # 前言 就我目前的对容器的了解, 使用`namespace`技术实现隔离, 使用`cgroups`技术实现资源限制. 但是具体是如何实现却从未深究过. 闲来无事, 挑其中的`Mount Namespace`来康康, 容器是如何实现目录隔离的. # 目录隔离 在[耗子叔的这篇文章中](https:/ 阅读全文
posted @ 2023-05-20 18:08 坠月川 阅读(112) 评论(0) 推荐(0)
摘要: 前言 先提出问题, 再说明原因. 有如下一段代码: 当执行go test测试时, 会报如下错误: main.test /var/folders/55/47pl3jxx6rg7m0r6xvn4f7wr0000gn/T/go-build2769402238/b001/_testmain.go:13:8: 阅读全文
posted @ 2023-04-15 22:57 坠月川 阅读(128) 评论(0) 推荐(0)
摘要: 是什么 什么是零拷贝呢? 这个词想必听过不止一次了吧, 但一直没有认真的研究一下这到底是个什么玩意. 在很久之前, 一次IO 操作的流程大致是这样的: 假设, 这里的 IO 设备是磁盘, 那么磁盘的一次read操作流程如下: CPU向磁盘发起 IO 请求 磁盘将数据放入磁盘控制器缓冲区(上图步骤1) 阅读全文
posted @ 2023-04-08 17:52 坠月川 阅读(74) 评论(0) 推荐(0)
摘要: 前言 在Go中, map这个结构使用的频率还是比较高的. 其实在所有的语言中, map使用的频率都是很高的. 之前在使用中, 一直都知道map的内存在元素删除的时候不会回收, 但一直没有仔细的研究为什么. 今天就来好好揣摩揣摩. func main() { m := make(map[int][12 阅读全文
posted @ 2023-03-25 17:25 坠月川 阅读(508) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 38 下一页