💻 程序员宣言 📌

The Programmer’s Oath

In order to defend and preserve the honor of the profession of computer programmers (为了捍卫和维护计算机程序员的职业荣誉,我承诺,尽我所能和判断力:)

  1. I will not produce harmful code. (我不会产生有害的代码。)

  2. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate. (我制作的代码永远是我最好的作品。我不会故意允许在行为或结构上有缺陷的代码。)

  3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should. (每次发布时,我都会生成一个快速、可靠、可重复的证据,证明代码的每个元素都应该正常工作。)

  4. I will make frequent, small, releases so that I do not impede the progress of others. (我将经常发布小版本,这样我就不会妨碍其他人的进展。)

  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them. (我会抓住每一个机会,无畏地,不懈地改进我的代码。我永远不会损害它们。)

  6. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity. (我将尽我所能保持自己和他人的生产力。我不会做任何降低生产力的事情。)

  7. I will continuously ensure that others can cover for me, and that I can cover for them. (我将继续确保支持其他人的工作,并且他们也可以支持我的工作。)

  8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty. (我将对幅度和精度做出诚实的估计。我不会作出做不到的诺言。)

  9. I will never stop learning and improving my craft. (我将永远不会停止学习和改进我的手艺。)

Debug 部署至 K8S 中的 Golang 程序

现在研二了,论文开题的大概范围是需要围绕 Kubernetes & KubeEdge 做一些二次开发,这就涉及到编写应用以容器的形式部署至 Pod 中与 Kubernetes 进行交互。

那么问题来了,如果运行在容器中的应用出现问题了,同时s仅仅凭借打印的日志无法定位问题怎么办?如果这个容器是需要从集群内部访问 K8S 组件,那么我就无法将应用运行在外部使用 IDE 调试。

程序主要使用 Golang 开发,而 dlv 提供了远程调试的功能,最近研究了一下,如果使用 VSCode + dlv 调试运行在 Kubernetes 集群中的容器。

Read More

三十岁以前的往事(八):新冠 2020

结束研一第三学期的最后一门课程的在线期末考试,宣告着我的研一正式结束(如果考试能都及格的话)。如今离2021年的新年也只差一百多天了,也就是说今年已经过去了大半,我最近在想,如果在没有新冠疫情的情况下再过一次2020会怎么样呢?凡事没有如果,我也想象不出来。

本片文章仅仅想以个人的视角,回顾和记录已经过去大半的2020年以及因为新冠疫情对我个人的生活种种所造成的改变。其中大部分都是只言片语,因为详细的细节都记不太清楚了。

Read More