thumbnail
Golang面试题
Go基础 切片 通过 make 方法去声明一个 int 32 类型的一个slice,指定它的长度为10,容量为20。那么对于这样生成的一个变量,它在内存当中占据多大的空间? 切片对象占用内存大小:int 类型的 cap、len 字段,一个底层数组的指针。8+8+8=24 字节 底层数组占用内存大小:int32 类型,长度为 20 的数组。4*20=…
thumbnail
K8s面试题
K8s 如何通过 kubeproxy 保证两个 Pod 之间的相互通信? kubeproxy 会监听 pod 的变化,在 node 上配置 iptables规则,将访问的 service ip,做 DNAT,转到 service 负载均衡的endpoint ip。但是 iptables 查找负载均衡的 endpoint 是 O(n)复杂度,当集群 …
thumbnail
程序员办公用品推荐
竖屏显示器 型号:LG 28MQ780 一般显示器长宽比是 16:9,这款显示器是 16:18,相当于两块普通显示器上下堆叠在一起。 这款显示器可以解决以下两个写代码时遇到的常见问题,让你写得愉快。 竖屏看代码方便,如果将普通显示器竖着放,就会很窄,导致无法在写代码时查看左边的项目文件列表。 在 debug 代码时,调试工具会占一定的高度,导致代码…
thumbnail
Chrome 插件推荐
OneTab 标签页打开太多的情况下,一键关闭并整理到列表。后续用到哪个标签页再重新打开。 关闭浏览器时,很多标签页并不想丢弃,希望下次打开浏览器还能找回这些标签页,此时也可以使用OneTab。 五彩 网页划线高亮批注工具,用来在网页上记笔记。对于个人博客网站,担心网页以后打不开,可使用剪藏功能爬取网页内容,永久保存下来。另外还支持备份笔记到其他软…
thumbnail
Goland、Idea 插件推荐
Copilot Github 开发的智能代码编写工具,可以代码提示,直接提问。它写的代码基本能用,特别是结合本地代码生成的提示,极大的提高开发效率。另外可以看看我之前的文章:Github Copilot 是如何提升我的工作效率? AceJump 使用快捷键快速移动鼠标到某个位置,这样减少手离开键盘去拿鼠标的次数,提高效率。 .ignore 快速创建…
thumbnail
Mac 软件推荐
uTools 效率神器,可以快速搜索、打开应用。拥有强大的插件市场,我常用的插件:浏览器书签搜索,JetBrains 系列软件的项目搜索与快速打开,图片 OCR 识别与翻译,时间戳转换,JSON 可视化,随机密码等。 Typora Markdown 编辑器,主题是HappySimple。结合 PicGo 上传图片到自己的图床。图床推荐使用七牛云免费…
thumbnail
在 K8S 节点上使用非 Nodeport 默认端口范围暴漏服务
需求背景 服务 A 部署在 K8S 中,集群外的服务 B 需要调用服务 A,同时调用服务 A 的端口是指定了的,必须是 5000,无法修改。 K8S 集群是客户的,我们只能部署服务,不能修改集群。 服务 A 需要得到真实的客户端 IP。 解决方案一 通过 Nodeport 的方式暴漏服务 A。 5000 端口不在 Nodeport 默认端口范围内(…
thumbnail
在 K8S 中利用 sidecar 控制 Pod 重启
需求一 A 容器负责授权管理,当用户更改了授权时,需要重启 B 容器生效。 解决方案 通过 sidecar 启动一个 http server,并提供两个接口,接口一用于 K8S 的存活探针;接口二用于接收重启信号,供容器 A 调用。当收到重启信号时,修改接口一返回值,使其返回 500 http code,从而让 K8S 重启 Pod 内容器。 方案…
thumbnail
Pod里的容器如何设置IP?
背景 最近遇到一个docker compose部署的产品(旧版本)想部署到k8s中,而该产品应用的多个容器都在docker compose中设置了ip地址,镜像里的应用配置也是配置的这些预设ip,容器之间通过预设IP进行通信。 但是该产品的云化已经在最新版本中完成,并做了大量修改。现在希望对那个旧版本以最小成本部署到k8s中就行,也就是不想动产品应…
thumbnail
Github Copilot 是如何提升我的工作效率?
最近字节的朋友要在公司分享Copilot,但是他们公司当前是禁止使用Copilot的,所以找到了我。正好总结下半年来的使用感受。 减少重复的、逻辑少的工作。 例如经常写依赖注入wire的New方法,没有包含太多逻辑,仅仅是依赖注入,初始化对象。针对这类代码,Copilot一般都能正确生成。 参照本地项目里已有逻辑(不限于当前项目,不限IDE),生成…