- 博客(149)
- 资源 (14)
- 收藏
- 关注
原创 2024 程序员进阶书单
翻遍知乎讨论贴、hackernews 吹水区、amazon best seller、豆瓣书单、大佬博客,经过一番不懈努力,汇总了一份质量过硬的程序员进阶书单,先码住,慢慢看。
2024-06-22 13:19:06
951
原创 编码,Part 1:ASCII、汉字及 Unicode 标准
举个例子,假设我现在有 257 个字符需要编码到同一个编码标准中,由于 8 位最多只有 256 种组合(0-255),对于第 257 个字符,至少要再加 1 位,达到 9 位,才能给这个多出来的字符一个唯一编码(如 1 0000 0000),但我们是用数字来对字符进行编码的,在计算机中表示数字的基本单元是 8 位的字节(不存在 9 位的基本单元),也就是说,要想在计算机里进行处理,必须把第 257 个字符呈现为 2 个字节(如 0000 0001 0000 0000)。
2023-05-28 10:20:05
1806
原创 Web 技术标准组织
授人以鱼不如授人以渔.所谓“一流的企业制定标准,二流的企业申请专利,三流的企业兜售产品”,这种说法虽不中亦不远。追求专业精神的 IT 从业者不能只埋首于眼前的一亩三分地,被动承受变化,而要溯流而上,主动出击,从源头上理解自己手头使用的技术,增强自己对技术的理解和应变能力,再进一步未尝不能影响标准制定。作为工程实践性较强的行业,IT 被许多具有世界级影响力的标准化组织所规范,这些标准化组织制定了若干标准来引领、指导和约束行业实践。
2023-04-11 08:26:19
802
原创 A Little Problem | K8S 的组成
ps:周日是一周难得清醒的日子。。趁着脑子回来,多写点东西[个人博客](https://www.chenqing.work/?p=2767)首先从名字上来说,Kubernetes 一种10个字符,撇去头尾两个,中间有8个,所以简称 k8s(别惊讶,老外主导的项目,名称一般都如此任性😂)。k8s 首开先河之后,又有很多跟风小弟——k0s、k3s、k9s 。一直以来,我们都依赖操作系统来管理硬件资源,使用操作系统提供的抽象来访问硬件资源。在个人领域,单个操作系统就可以满足需要,而在企业领域,已经.
2022-05-29 20:29:32
407
原创 一次 TLS 协商失败问题分析
个人博客微软官宣 6.16 全面抛弃 IE,但对身处风险厌恶、技术保守型行业或者企业的 IT 工程师来说——夹在激进的 IT 行业和保守的业内环境之间,替换之路并不容易走,时常感到左右为难。距离推动生产环境部署 Openshift 已近一年,负责的第一个运行其上的应用最近也正式投入使用,在兼容 IE 的过程中也踩了几个坑,拣有意思的记录一下。遇到的其中一个问题是 IE11 访问 Openshift Router 暴露的 https 地址无法打开,提示启用相关安全协议,进 Internet 选项高级里确
2022-05-28 11:31:45
1545
原创 浏览器使用小记 – Content-Security-Policy
个人博客最近重度使用网关 Kong,对接了一堆难搞的存量系统,遇到很多问题,先扔一个:当 Kong 转发请求后,第三方的响应内容里拼接了完整的资源请求地址,但它看到的只是 Kong 剥掉 https 壳以后的 http 请求,所以拼接出来的地址是 http://…. ,到了浏览器端,根据该地址发起 http 请求时,就会被浏览器 block 掉,开 debug 可以看到提示 csp 或者 mixed。在有多个组成环节的情况下,一个问题通常就会有多种解法(甩锅应该更形象)。就目前这个问题,淡化 PaaS/
2022-04-05 17:20:30
2624
原创 A Little Problem | 什么是 Pod ?
个人博客先上结论:Pod 就是一个处在暂停状态的 infra 容器(+ 加入 infra 容器的 namespace 的应用容器)。介绍在 k8s 发布以前,只有镜像和容器的概念,伴随着 k8s 的横空出世,才有了 Pod 这个概念。Pod 是一个逻辑概念,实际在节点上运行的仍然是容器。而多个容器之间如何建立“超亲密关系”,进而成为一组容器,这一组容器又是如何和 Pod 建立对应关系?这些都要靠一个锚点容器—— infra 容器。实验无需运行 k8s 集群,我们
2022-02-20 13:03:47
830
原创 A Little Problem | 什么是镜像?
个人博客先上结论:Image = config.json(配置) + rootfs(文件系统).接下来让我们一起拆箱一个 Image 。先从 Dockerhub 上拉一个 alpine 下来,alpine 自夸小中王者,我们选中的这个镜像仅 2.59M。docker pull alpine:3.15.0# 捉出来看看docker save -o alpine.tar alpine:3.15.0存到本地后,解开看看里面都有啥,tree 一下可以发现里面有两层目录,共5个文件。
2022-02-18 20:17:54
350
原创 TCP的三次握手与四次挥手回顾
个人博客最近被问到 tcp 的三次握手,工作中已经很少涉及这个点,翻到了印象笔记里 2015 年做过的记录,那个时候还在学校搞网络研究,wireshark、tcpdump 抓过很多包,通过抓包,一切网络过程都一览无遗。先来看看三次握手,简单抓个包分析抓包过程tcp 和 udp 的一个重要区别就是有 ack 的应答机制。再来看看四次挥手,先抓个包针对抓包过程进行分析关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收
2022-02-13 10:02:38
1288
原创 碰瓷架构工作的一次实践
个人博客什么是软件架构?IT行业内并没有一个准确的、一致认可的定义,不同的组织有不同的定义。实践是最好的老师,讲讲最近完成的一个项目——这里不会提及任何技术方案细节。历时1年多,从一穷二白连容器云平台都没有,到逢山开路、遇水搭桥,不断解决各种技术、非技术问题,费尽九牛二虎之力,终于完成了这个项目。这次是真·全栈,除了开发工作因为精力顾不上只接手了一小部分核心及算法设计实现外,其他角色——产品经理、架构师、项目经理、QA,甚至平台采购,都兼了一遍,从这个坑爬出来,真不容易。一个项目做完了,尤其是自己第
2022-01-09 16:19:33
1009
原创 Elasticsearch 粗窥
个人博客传送门自从疫情开始,节假日基本就废了,来去也要各种报备、审批、核酸,还是在深圳蹲着算了,用中秋节刷了一本书 《Learning Elasticsearch 7.x》。在互联网界经常会听到 ELK、EFK 这类的称呼,指代目前最流行的开源日志系统架构,其中的 E 就是 Elasticsearch,它负责最核心的搜索功能。提到搜索,不得不联想到超级巨头谷歌,以及这两年日子越来越不好过的国内小巨头百度,搜索可都是他们当年的成名绝技。在如今这个信息满天飞的时代,对于个人来说,如何检索信息是一项必备
2021-09-21 16:52:31
320
原创 K8S RBAC 使用一则
个人博客传送门越深入地接触程序世界,越体会到其对现实世界运行规则的借鉴、揭示与模拟,建筑工程是软件构建直接借鉴的领域,而生物界则蕴含着演化得最完善的规则,生态圈、生物个体、细胞之间的组成和交互,和互联网、app、进程、线程、函数、属性如此相像,结构与信息,形式/结构决定功能,最常见的 null 问题在某种程度上表明人对物质底层的存在本质还没有一个确定的逻辑认知,一首诗和一段代码,都是一种表达方式,当技巧和内涵达到一定的精妙程度,都能令人赞叹 ~ 世界触目所及满是『道』的痕迹。扯远了,等项目忙完了有时间再
2021-09-12 19:39:36
195
原创 JQL 高级搜索入坑
很多知名软件都会发明个自己的 SQL like 的搜索语言,比如 ES 的 DSL、Splunk 的 SPL,Jira 也有 JQL – Jira Query Language。类似于在 Java 的黑话体系里 Object 占据了核心位置,在敏捷的黑话体系里如此得天独厚的则是 Issue。Issue 具体又可以分为这么几个家伙:Epic(史诗)、Story(用户故事)、Feature(特性)、Task(任务)、Subtask(子任务)、Bug(故障)、Improvement(提升)。关于史诗如何往下拆解
2021-09-12 10:43:36
6548
原创 helm chart 快速入门
概述helm chart 是一种描述如何部署应用到 kubernetes 中的文档格式。helm 项目提供了命令行工具 helm 来进行部署包的管理,并且支持接入 chart 仓库,如果你用过 linux 各大发行版的源,或者 docker 的镜像仓库,相信可以迅速 Get 到这种方案理念。目前官方的中央仓库为 artifacthub。下载一个 helm 3 执行程序到本地,然后我们可以通过执行helm repo add <repo-name> <repo-url>来添加开发环
2021-08-20 12:42:39
9163
原创 编程范式 – 炼气篇
个人博客传送门五一家里蹲,翻翻《Programming Paradigms for Dummies: What Every Programmer Should Know》,学习学习,读后笔记准备写三篇:炼气、筑基、飞升,下面是炼气篇 ^ ^。我们都知道编程语言是怎么一步步过来的,从最开始的穿孔机到汇编再到各种高级语言,现在常见于眼前的都是些高级语言,老牌强者如 C、Java、SQL、JavaScript、C++,新秀如 Python、Go、Kotlin、Rust、Julia。TIBOE 2021 5月
2021-05-09 18:01:05
272
1
原创 在 redis 里执行 lua 脚本的跳坑指南
最近基于 Kong 做一些东西,其中一个插件的算法设计需要去 redis 做多次读取判断,于是准备把这部分实现逻辑放到 redis 侧,省去多次访问 redis 的网络开销。redis 的一般用法是对其基础数据结构的读写,因为数据都放在内存,读写非常迅速,进一步还支持执行 lua 脚本,redis 提供了一个 lua 的执行环境(注意是 5.1),并提供了一些在 lua 脚本中调用 redis 命令的方法(redis.call、redis.pcall、redis.log、…),可以通过 script lo
2021-04-05 12:23:56
1240
2
sendip最新-修正IPv6下udp/tcp校验和错误
2014-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人