md5 128位但长度为32位

背景: 后端(Golang) 接口卡控前端给的md5 值的长度, 百度md5 结构为128位长度,心理默认8位为一个字符。卡控判断md5 长度为16位,但是前端时间传入 md5 长度位32字符 原因: golang 的 len 判断的是 字符数(bytes) md5 的结果是128位, 也即是16bytes 没错,但是通常md5会原先转成16进制,即4位一个字符,即转化成一个128/4=32 字符的字符串。传递到后端即为32位字符。

<span title='2024-03-05 20:27:39 +0800 +0800'>March 5, 2024</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

知止

思考什么 知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得 思考自己的人生的究极目标是什么: 取舍 假设,如果赚大钱不是我的人生目标,我现在为了工资,而牺牲掉,提前 20 年度过我想要的人生的机会,那就舍近求远了。 决定 知道自己应该要做什么,走什么路线可以帮助自己达到自己的“止” – 人生理想 幻想 超级幻想 我梦想中的生活并不会幻想着天天开着跑车,出入高贵的奢华场所。大富大贵非吾生所愿。 我想要的是更多的选择,可以走出办公室,房车旅行,随时随地可以办公,驱车到一个风景好的地方,冲上一杯咖啡,写上一两个小时代码,可以游走于山川大河 —- 一直在路上的车,载着生活和梦想 所以, 我的梦想就是: 不想被困在办公室 小幻想 如果不能房车旅行世界, 退而求其次, 我想要的是一种 cozy 的生活, 舒缓。 按点上下班,工作生活平衡,下班之后没有电话骚扰。 上班路上可以不堵车,居住环境要有家的感觉。 早上 6 点起床,面朝大海,做一顿早餐, 7 点到达健身房,驱车 15 分钟上班。可以沉浸在自己代码世界中,下午 5 点可以伴着夕阳,回到家中,与家人一起做一顿晚餐,休闲时光,入睡。 太有规律的生活,好像都很难有漂亮的故事展开。没有矛盾,没有剧情 现实 略 每个人都有自己生活, 自己烦恼, 自己的路线

<span title='2023-10-21 22:43:30 +0800 +0800'>October 21, 2023</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

The Seven Levels of Busy

生活的忙碌可以分成七个层次。 大家可以对照一下,自己属于哪个层次? 第 1 级:一点不忙。 时间很自由,怎么安排都可以,没有一定要去完成的事项,周末想睡多久就多久。 第 2 级:有一些小事。 你记得有一些事要做。这些事情是合理的事项,没有截止期,但是你知道这些事迟早要做。 第 3 级:有一些重要的事。 你有必须要做的事情,需要及时跟踪,不能拖延,你会时刻提醒自己这些事情。 第 4 级:日程排满了。 你的日程排满了,不得不经常问自己"什么事情更重要?",以便决定先做哪些事,后做哪些事。 你没有计划外的时间,不过你还能控制日程。 第 5 级:生活出现混乱。 你的事情在工作时间做不完,你开始加班了。 你经常因为事情来不及,而对别人说"对不起"。那些事情并没有被你放弃,只是你不得不赶时间,有些事情执行变得草率。 第 6 级:任务做不完。 你需要做的事情,超过了你安排日程的能力。即使放弃某些事情,你依然做不完剩下的事情。 你的工作时间大大延长,影响到正常生活。你感到非常疲劳。 第 7 级:日子过不下去。 各种任务塞满了你醒着的每一分钟。吃饭和其他生活必需的事情,都是抽时间来做。你忙起来的时候,甚至饭也没时间吃。 你不写日程安排了,因为根本没有时间做计划,每个小时情况都在发生变化。 你走路也心不在焉,常常觉得要崩溃,日子过不下去了。 来源: 阮一峰周报

<span title='2023-05-08 19:52:59 +0800 +0800'>May 8, 2023</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

活着的意义

我觉得人生活着没有意义,但是我又为什么还活着呢?今天, 刚好看到了史铁生的《我与地坛》里面给了我答案 可我为什么还想活呢? 因为你还想得到点儿什么, 你觉得你还是可以得到点儿什么的, 比如说爱情, 比如说价值感之类的, 人真正的名字叫欲望

<span title='2022-08-09 23:40:37 +0800 +0800'>August 9, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

Life Is Not Short

The most surprising thing is that you wouldn’t let anyone steal your property, but you consistently let people steal your time, which is infinitely more valuable. life if not short

<span title='2022-07-01 08:55:44 +0800 +0800'>July 1, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

我们为何选择 XXX 技术方案

一个完善的方案的需要考虑的三个方面 当前需求 理清楚初心,当前方案要解决的问题。聚焦到主要解决的问题。 结果上下文 好处:当前方案的好处,解决了什么 弊端: 什么是它不能解决的 问题:引入什么新的问题 与其他方案的关系 前导:当前方案是怎么演变出来。 后续:当前方案会引入什么新问题,有什么后续的解决方案 替换:可以解决同样需求的情况下,还没什么备选方案。为什么选择了当前方案 参考《微服务设计模式》的1.6.2"模式和模式语言", 相对减少了模式关系中的泛化和特化。

<span title='2022-06-08 20:15:26 +0800 +0800'>June 8, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

Linked List

链表的定义: wiki 百科给出定义: In computer science, a linked list is a linear collection of data elemetns whose order is not given by their physical placement in memory. Instead, each element points to the next. 翻译一下: 一个线性表 每个元素会指向下一个元素的位置 链表的优缺点 优点: 不需要提前分配内存 在查找到元素位置的提前下,插入和删除动作是一个常量,即 O(1) 没有容量上限,可以自由扩容 缺点: 查询某个元素,需要从头开始遍历,即 O(n) 实现代码 单向链表 最普通的链表 双向链表 循环链表

<span title='2022-06-06 19:18:31 +0800 +0800'>June 6, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

并发与并行的区别

举个例子,电脑的鼠标,键盘或者其他设备的驱动程序,他们是并发的,但不是并行的。他们也不需要并行去运行。 并发是很多程序(形容运行任务,不是广义上的程序)的独立运行,并发是一种程序设计结构 并行是一次性运行很多程序,并行是一种程序的运行现象,当成程序设计成并发的,他很容易就变成了并行, 但并行不一定是并发的目的。 Concurrency is not Parallelism by Rob Pike

<span title='2022-05-31 22:36:34 +0800 +0800'>May 31, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

如何做决定——遗憾最小化

读Randy’s的博客遗憾最小化框架有感 在面对人生岔路口的时候,很多时候就需要对不同决定做取舍,是否勇于打破自己的人生的桎梏。怎么样要做出让自己十年之后的自己不会后悔的决定 做决定之前,问问自己的内心,如果我不这么做,几年之后,年老之后会不会后悔,会不会遗憾 Jeff Bezos 曾经谈到了自己是如何做决定的,他称之为 Regret Minimization Framwork (遗憾最小化框架) —— 他会想象自己到了 80 岁的时候,是否会认为不做这件事情会让自己遗憾。尽量让人生的遗憾数量最小化。即使当时的选择后来看来是错误的,但也不会后悔尝试过。 Bezos的视频地址 Cycle.js 作者 staltz 回答是否会对自己做的库没有像 React / Vue 那样火起来而感到气馁 Ask yourself: in 10 years from now, will you be proud of having done this? … Do things that your future self will be proud, is my motto for the time being.

<span title='2022-05-30 19:17:51 +0800 +0800'>May 30, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员