hunkier

学习笔记,开源代码,技术分享

在软件开发快速发展的时代,新技术和已有技术的更新速度都非常快,有人戏称“新技术的出现速度远超过个人的学习速度”。在这个日新月异的互联网时代,软件开发者如何保持自己的竞争力呢?今天,我们就来探讨如何快速且深入地学习一门新技术。

我们都知道,在英语考试中有一个经典题型叫做“完形填空”。英语老师曾经建议,“在做完形填空之前,应先花一分钟快速阅读整篇文章,以便对全文内容有个大致了解,这样可以提高做题的准确率。”

同样的,我认为这种做题方法在学习软件技术时也同样适用。在开始学习某一新技术之前,我们应先快速了解它的整体情况,再深入学习其中的细节内容。

阅读全文 »

当你还在用 Java8 开发时,突然发现 Java21 已经发布了,Java22 已经在路上。Java 的版本变化也太快了吧。

在 Java9 之前,Java 的版本更新一直都是比较慢的。比如,Java9 和 Java8 之间的间隔时间长达3年半。如此长的发布间隔,显然不能满足当前的需求。

Java9 之后的版本更新

从 Java9 开始,Java 改变了之前的以功能特性为导向的发布周期,而是转为固定时间间隔的火车发布模式,也就是release train。火车定时发车,赶不上这次车的乘客,就只能等下一班火车。

Java的固定发布时间是每年的3月和9月。Java21 是2023年9月发布的,是一个近期发布的长期支持版本。

阅读全文 »

鉴于国情 Github 时好时坏,现在 Git 推送又只能通过ssh协议,因此本文讲述如何在不同系统中为 ssh 协议配置代理

最常见错误即 kex_exchange_identification: Connection closed by remote host

阅读全文 »

部署Spring Boot应用

SpringBoot 应用可直接打包成 Jar、War,运行时执行 java -jar *.jar/*.war 。但将其“解压”并以不同的方式运行也往往是一种优势,这在启动时(取决于jar的大小)实际上比从一个未“解压”的归档文件中运行要稍快一些。

阅读全文 »

随着前端技术的快速发展,页面的很多功能和组件都有开源的实现,只需要把对应的开源项目的依赖加入到 package.json 的 dependencies 节点,配置好坐标中的项目名称和版本,便可直接使用。

但依赖的开源项目中往往只用到了其中的少部分功能或代码,但在使用 webpack 打包时会把开源依赖包中所有的资源全打包,这时需要进行相应的优化。

阅读全文 »

我们会在“管钱”上栽跟头、走弯路,不是因为这事有多困难,而是因为我们没有像重视自己的工作一样重视它。

也许你会说,我当然要重视工作了,要不然挣不到钱,又何谈管钱呢?这种想法不是没有道理,但是你有没有想过:为了挣钱而行色匆匆的我们,愿意花100% 的精力在工作上,却从没有停下脚步,花哪怕是 5% 的时间认真思考下关于“钱”的问题。我们为了挣钱,可以用996 的节奏工作,但真的挣到钱了,却总是往那里一放,任其贬值,或者随便投到某些看似会赚钱的地方,被别人收割。这不是很荒谬吗?

英文中有个词叫“low hanging fruit”,字面意思是“挂得很低的、容易摘的果实”,含义是那些容易实现的目标。我相信,一个真正的聪明人,应该学会用更少的精力去摘到那些生活中的 low hanging fruit。和解决你工作中那些极端刁难人的问题相比,进行有效的财富管理就是“容易摘的果子”。而我要做的,就是教给你正确的财富管理方法,让你能不那么费力地跳一跳,就能摘到这些果子。

如果你现在把 100%的时间都放在工作、学习上,那么不妨挤出 5%的时间,学习正确的财富管理方法。随着时间的推移,我相信财富管理带给你家庭的收益将逐渐超过工资收入。用5% 的时间,换取至少 50% 的收益,聪明的你不可能错过这笔买卖吧。

阅读全文 »