Echo's Blog

见贤思齐

What the hell Pod's containerPort is used for?

为了准备CKA(Certified Kubernetes Administrator)考试,最近在练习kubernetes的基础操作。 大概一年多前,曾经学过Docker和一些k8s的知识,也在实际项目里写了不少的k8s资源配置文件,感觉好像差不多都懂的。可最近学到Pod这一节时,对containerPort心中又起了疑问,是那种似懂非懂的感觉。问了下身边的同事,感觉解释的也不是十分满意。...

Deep into Spring Boot Actuator Health Endpoint

Spring Boot Actuator现在已经几乎成为了应用的标配模块,只要依赖了它,应用就会自动加持/actuator/health,然后就可以交给容器环境来探测了。这一切看起来似乎是很简单很自然的事情,可你真的对它了解吗?本文就试图对这个Health Endpoint做一些深入的剖析。 事情的起因也是日常工作中常见的问题套路。远程环境的某个服务之前一直好好的,最近却经常被k8s重启,...

Passed the Elastic Certified Engineer exam


How to understand span-not query in Elasticsearch

最近在学习Elasticsearch,在看到span not query的时候一头雾水,官方也没给出更详细的例子。如鲠在喉,难受。 经过一番搜索和实践,得出了一点儿经验。 先定义Mapping PUT /span_not_query_test { "mappings": { "properties": { "content": { "type":...

Show modal after deselecting specified items for ant design select component

正在做的项目里,有一个东西(记为label)会被A、B、C三个实体分别引用,A、B、C从前往后是包含与被包含的关系,且B和C引用的label是A所引用的label的子集。 现在要求,解除A和某个label的引用时,要遍历一下B和C看是否也同时引用了这个label,如果引用了就必须先解除它们之间的引用后才能再解除A和此label的引用。 前端用的是ant-design-components...

Some problems in learning Docker Swarm

去年学过一段Docker Swarm,但没机会用到实际的项目中,就先停在那了。今年打算重新拾起来,所以来温习一下。过程却比去年挫折些,遇到了一些去年没见过的问题,哈哈~ 去年是跟着v18.09的文档学习的,担心最新版本的会跟它有差别,而且考虑到staging、production上的Docker版本一般都不会怎么新,所以就继续18.09了。 以下是碰到的几个问题。 Swarm里的ser...

How to convert number to spell-out format in Java

有时候工作中需要将数字转换成单词拼写出的形式,如果有现成的肯定不去自己写啦~ ICU Project就可以帮你完成。 因为项目用的是Java,所以你可以从这里下载Jar包来用,当然更通用的方式是把它当作依赖引用进来啦~ Maven <dependency> <groupId>com.ibm.icu</groupId> <artifa...

How to get Docker container id in Java

其实就是拿一下Docker container的hostname String hostNameFromInetAddr = InetAddress.getLocalHost().getHostName() String hostNameFromEnv = System.getenv("HOSTNAME")

How to run C/C++ program on Mac os x using terminal

下载了Visual Studio Code和JetBrains的CLion,发现不会用,哈哈~ 还是手动在文本编辑器中码代码,然后命令行编译执行好了,原始但简单有效。 #include <stdio.h> int main(void) { int n1, n2, result; printf("please input the two numbers:\n")...

Cannot create a JSON value from a string with CHARACTER SET 'binary'

项目里有使用到MySQL的JSON Data Type,偶尔会有从这个库导出Insert语句然后再导入到另一个库的需求,不过这个JSON类型的字段导出后是有问题的 Cannot create a JSON value from a string with CHARACTER SET 'binary'. 解决方法是先在文本编辑器里做个正则替换,把(X'[^,\)]*')替换成CONVERT(...