在依图 21 个月的得与失

0 前言 2 年前我写过类似的文章: 在帆软的成长总结(心路历程):专业篇 在帆软的成长总结(心路历程):职业篇 第一份工作在帆软,我当作读研;第二份工作在依图,我当作读博。所以这篇文章可以看作写给自己的“博士”答辩论文。 1 得 多次扪心自问,在依图待这么久,到底收获了什么? 1.1 核心收获 最重要的放在最前面。 办事能力。我的办事能力(执行力、问题解决能力)得到了极大的增强,而这曾经是我最大

试解《清静经》

『欲既不生,即是真静。真常应物,真常得性。常应常静,常清静矣。』 欲:主观臆想,也就是yy。欲念会扰乱心神。 静:心如止水,情绪波动极小,既不高兴,也不失落。 真常:平常。 性:事物的本性、原理。 应:应对。 清静:思路清晰,看事通透,心无杂念,平和安定。 试译: 停止不切实际的幻想,心就会平静下来。遇到事情时,保持平常心,客观分析,理性判断,沉着应对。这种平常心有助于洞悉事物发展规律,透过现象看

落子无悔

要有一套符合自己风格的操作体系。独立思考,谨慎决策,坚定执行。 只在体系内操作,看不懂的事情不参与。 学习、实践、反思,都是在发展和打磨这个操作体系。 王阳明说:『千圣皆过影,良知是吾师。』意思是说,一切行动,都要以自己的操作体系为准,不要盲目跟随任何人。 然后交给事实来验证。做对了要坚持,做错了要改正,并及时更新操作体系,避免下次犯同样的错。 很多人做决策时没想太多。凭直觉,或者随机选择。然后期

浅谈模块化设计

1 模块与模块化设计 1.1 什么是模块? 广义来说,模块就是“一个软件块”,下至函数、类,上至服务、应用,都可称之为模块。但这样的说法未免过于笼统,本文讨论的模块是狭义的,定义如下: 软件模块是可部署的、可管理的、原生可重用的、可组合的、无状态的软件单元,它为用户提供了简洁的接口。 可部署:模块是一个独立部署单元(因此区别于类和包)。 可管理:模块是一个可管理的单元。模块可以单独安装、卸载以及更

线程基础

1 初识线程 1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,共享内存资源。 1.2 线程与进程的区别 是否拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。 系统开销:创建、撤销及切换操作,线程

为什么重写 equals 时必须重写 hashCode

1 equals 的作用 equals() 方法,用于判断两个对象是否相等。 未重写 equals 方法时,使用 Object 类的 equals,等效于 ==,即判断两个对象是否为同一个对象(内存地址相同)。 当我们需要比较两个对象的内容是否相等时,要重写 equals 方法。例如 String 类中的 equals: 2 hashCode 的作用 hashCode() 的作用是获取哈希码,也称

为什么 String 是不可变的

1 为什么 String 是不可变的 查看源码,发现 String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value,所以 String 对象是不可变的。 2 这样设计的好处 可以视为常量,这样 Java Runtime 可以节省大量的 Java 堆空间,因为不同的 String 变量可以在 String Pool 中引用相同的 Strin

k8s 开放服务端口的两种方法

场景 在 k8s 上部署了后端服务,只有 k8s 集群内部可以访问,外面的机器无法访问。必须开放端口(把服务的端口映射到k8s机器上)。 方法一 port-forward 实例 kubectl port-forward --address 0.0.0.0 svc/tomcat 8079:8079 # 后台运行 kubectl port-forward --address 0.0.0.0 svc/t

Linux 解压来自 Windows 的 zip 包,文件名乱码

解决方案: sudo apt install unar unar your-zip 这个命令行工具可以自动识别编码。 官网:https://theunarchiver.com/command-line 站长数十年成长感悟,输入暗号查看公众号上还能加入书舟书友群、美团外卖红包群,免费领取站桩和原创 chatgpt 教程哦暗号:请关注本站微信公众号,回复“暗号”,即可获取。在微信里搜索“桩白墨”或者“

bash 对数字排序

假如有这么一列数字(或数字开头的字符串),想要排序后输出。 # nums.txt: 1 2 3 55 23 5 7 90 25 18 44 121 309 88 直接使用 sort 并不能满足需求: # cat nums.txt|sort 1 121 18 2 23 25 3 309 44 5 55 7 88 90 应该使用 sort -n。 # cat nums.txt|sort -n 1 2