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;潜水员

Go Build Time Variable

使用背景 一套程序代码,配置文件,需要同时在不同的云厂商运行。 通过修改 jenkins, 的部署 pipeline , 让开发人员准确的获取到当前程序的运行环境 还能保持代码统一. ldflags 修改的变量, 无大小写限制, 小写变量也可修改编译过程进行修改 变量引用需要 fullpath. 例如 main 文件中的变量 go build -ldflags="-X 'main/varName=xxx' 子包,需要当前 mod 包名称开头。 可以查看第二篇文章 go build variable https://programmingpercy.tech/blog/modify-variables-during-build/ 发现更加简单的解决方案 go build -tags targetCloud https://pkg.go.dev/go/build#hdr-Build_Constraints

<span title='2023-11-20 13:50:52 +0800 +0800'>November 20, 2023</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;潜水员

记最近换出租房的经验教训

记最近换出租房的经验教训 换房租不到两个月 这次是从厦门的岛外海沧湾公园, 搬到软件园二期内, 望海公寓. 我的考虑如下: 我可以把通勤的时间, 节省下来, 将时间放在提升自己技术能力上. 我可以在园内附近随便找一个健身房, 这样子也很方便 中午我可以回到宿舍, 自己烹煮健康的午餐 可以避免我在海沧的停车不方便, 已经开车的话, 需要双边缴交停车费. 导致我后悔住在那边的原因: 我并没有办法把时间投放在提升自己的技术能力上, 让自己一直待在同一个地方我自己 的内心会非常的难受. 时间不经意流失了, 原先我在地铁上还可以保持着, 客观的阅读量. 附近的健身房质量偏低, 都比较拥挤, 价格不合适. 让我不太想去练, 只能跑回原来的 健身房, 导致我需要一个小时的通勤健身成本, 开车到一个较远的健身房. 中午的午饭做腻了, 已经不太想在自己做了 居住的空间变小了, 不上不下, 回到卧室之后也不知道干什么 外部环境比较差, 当我不想在公司, 不想在宿舍的时候, 附近没有可以提供我消遣的地方 租金高昂 总结一下让我搬出来原因 通勤(包括往返健身房) 居住的环境 周边的环境 租金 我个人认为再次挑选租房的因素 居住环境 不喜欢繁华的地区, 还是比较偏远幽静的小区(个人比较喜欢偏远的地区) 房间的大小, 要在房间里面做什么(个人没有玩游戏的需求, 一般会想房里面舒服地, 办公 或者阅读, 如果房间太小, 你就会什么事情都不想干, 就想躺在床上玩手机.) 阳光, hhh, 大家好像都喜欢阳光好的房间 房子内部 空调的能耗等级, 这个觉得了你夏天的好过程度 盥洗盆的水龙头是否有热水, 这个决定了你能否快乐的洗漱 (我现在已经离不开热水了) 通勤 上班的通勤方式, 你能接受的通勤时间. 我对通勤时间有着极大的忍受程度. (我已经习惯 在地铁上阅读书籍, 我会把这段时间当作 reading time. 目前单程通勤1.5h) 你生活必须的目的地的通勤, 比如, 咖啡馆, 健身房, 图书馆, 或者商场之类的. 考虑进去. 租金 考虑自己收入和租房预算 如果车的话, 还需考虑停车位的费用 其他 地区政策, 厦门比较特殊岛内不能骑摩托车, 而我最近又疯狂迷恋上骑摩托车. 有没有方便的停车棚 (停你的自行车, 摩托车, 电动车) 对我自己未来居住环境的展望 停车棚, 可以让我小摩托不用风吹雨淋 有个车库, 可以自己动手摆弄摩托车 有一个停车位, 方便停放小车 方便去健身房 有一个大阳台 附近人少

<span title='2023-04-27 22:41:16 +0800 +0800'>April 27, 2023</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

工程能力阶梯分析

工程师能力阶梯 自我能力分析

<span title='2022-12-22 11:38:36 +0800 +0800'>December 22, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

The Chinese Mayor

豆瓣因为涉及敏感词不让写, 干脆就写到这里来 (我也没写啥不好的呀 QAQ). 真正的现实,都是充满着矛盾。对万事万物保持一颗敬畏的心. 一方面是平民老百姓承受着流离失所的痛苦,一方面他们又可以从老破房子住到新的高楼“不破不立”,改善环境。 既要看到痛苦,也要看到改善。看外该电影, 更加让我懂得,看待事情要怀着敬畏之心,事情都是有双面性的。 总得来说,还是觉得耿属于“好市长”,在中国经济飞速发展的过程中,为人民干实事,坚定自己的立场,倾听民声(市民赌在司令部门口申诉问题的场景给我印象极深)。

<span title='2022-08-30 14:06:10 +0800 +0800'>August 30, 2022</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;潜水员

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

读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;潜水员

我为什么要学微服务

为什么学 高学习产出转化比 助力下一份工作 公司现在正在初步尝试开始引入微服务,现在学习微服务具有较高的学习工作转化比。 后端架构转变的主流方向, 有利于再次找工作。 怎么学 想要学习好一个技术,就需要有想学习这门技术的动力。 首先要对它有较全面的理解: 我们为什么要学习这门技术 技术的使用场景,以及使用的优势和劣势 现在该技术在大环境中的使用情况 再开始学习技术本身。 针对于“微服务”这种概念性技术。就需要具体落实到某一个框架,进行一个实战项目。过程中掌握框架使用方法,对过程中所涉及到的相关技术有粗略的了解。 具体方法: 我想先通过快速通过《微服务设计模式》了解微服务的使用场景,以及如何设计。 使用 go-zero 框架完成一个练手项目开发。

<span title='2022-05-26 13:29:55 +0800 +0800'>May 26, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

Five Class Programer

以前有一段时间, 怀疑过自己"软件工程师"和以前工程意义上的"工程师"有什么区别, 自己只是将需求文档换成了代码, 这种活动并没有什么太大的突破. 然后我在吴军的见识书中看了一个五级工程师的概念, 算是解惑了我做为一个"码农"和工程师的区别. (图片来源于图书截图) 第五级工程师: 有能够独自解决问题的能力, 但是问题规模较小, 属于个人能力可以解决的范围. 第四级工程师: 有沟通和领导能力, 可以带领一个团队, 完成一个规模化的工程. 第三级工程师: 能设计和完成一款产品, 取得市场成功. 对行业的商业环境有较深理解, 且有产品思维. 第二级工程师: 能够在行业做出有创造性, 有突破性的产品. 世界因为能够因为他们有一点点不一样. 第一级工程师: 开创一个行业的鼻祖. 能够改变世界. 反思自己的工程能力, 目前的所有项目技术上的问题都可以独立解决, 也能够针对某一棘手问题独立设计出可行的解决方案. 但是没有带领过团队解决过规模化问题, 亦没有技术创新. 所以我自己应该就是 5.0, 五级工程师, 五流程序员.

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

My first Post

我的第一篇杂文 阅读了卡片写作笔记法, 和Show Your Work之后, 打算重新开始写自己的博客. 用文字记录下自己的想法和收获. 原先有断断续续写过几次博客, 但是每次都是半途而废的放弃. 希望这次可以坚持的久一点, 目标至少要有一年.

<span title='2022-05-15 16:14:09 +0800 +0800'>May 15, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员

提升文字留存率

如何提高自己的所编写的文字留存问题? 自己经常写了很多文字, 但是每当自己回顾的时候都不是很满意. 然后就会把已经写下的文字和内容删除掉.

<span title='2022-04-02 09:58:23 +0800 +0800'>April 2, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;潜水员