摘要:
不根据协议使用开源软件可能面临的风险 2003 年 Linksys 公司(同年 3 月被思科收购)推出 WRT-54G,这款路由器采用了基于 Linux 的固件,而 Linux 使用的是 GPL 开源协议,所以思科迫于压力,开放了 WRT-54G 的源码,这使得爱好者们知道了路由器固件的实现方式,进 阅读全文
摘要:
TL;DR Learn in Public 强调将学习到的知识 分享到公共空间,相较于纯输入式的学习有诸多好处。AI 工具极大降低了信息检索、整理、概括的门槛,使得输入信息更容易,但对我们真正掌握知识的帮助仍然有限,所以我们更需践行要像 Learn in Public 这样能提供 有效输出 的学习方 阅读全文
摘要:
最初对前端的观感:眼花缭乱,各种各样的工具链以及其对应的配置文件、VS Code 插件,各种技术百家争鸣,选择众多。后来才理解前端不同于后端,后端代码的运行环境相对可控,而前端代码运行在用户设备上,所以需要兼容不同的环境,而很大一部分的工具、配置都是解决兼容性的问题 TL;DR 工程化的目的:降低开 阅读全文
摘要:
在前端代码中很经常看到使用 setTimeout(fn, 0),如下面代码所示,乍一看很多余,但是移除了可能会出现一些奇奇怪怪的问题。要解释这个就需要理解 事件循环(Event Loop),下面会通过一些例子和动画来辅助理解事件循环 setTimeout(() => { // 调用一些方法 }, 0 阅读全文
摘要:
先跑起来,通过文档和实践熟悉业务流程 这一步可以通过看官方文档开始,要注意的是一些项目是 更新先于文档 的,比如新版本启动方式有变更,但是文档还没更新。跟着文档不一定能把项目跑起来,需要借助 GitHub Issue 或者是 Slack 这样的工具以获取即时的帮助 看测试,通过测试了解流程 如果是开 阅读全文
摘要:
最近在合并上游代码,遇到了一个问题:某个 commit 杂糅了几个不同的特性修改,这可能会导致 rebase 上游代码时需要再对该 commit 进行额外的代码冲突处理 解决方法:合并上游分支前,拆分杂糅的 commit,并将其中不同的特性修改合并(Squash)回相关的 commit。可以直接通过 阅读全文
摘要:
上一节:[SpringBoot 测试实践 - 2:单元测试与集成测试](https://www.cnblogs.com/aaronlinv/p/17645803.html) 编写测试的时候,我们必须保证外部依赖行为一致,也需要模拟一些边界条件,所以我们需要使用 Mock 来模拟对象的行为。Sprin 阅读全文
摘要:
上一节:[SpringBoot 测试实践 - 1:常用的工具](https://www.cnblogs.com/aaronlinv/p/17645009.html) 下一节:[SpringBoot 测试实践 - 3:@MockBean、@SpyBean 、提升测试运行速度、Testcontainer 阅读全文
摘要:
下一节:[SpringBoot 测试实践 - 2:单元测试与集成测试](https://www.cnblogs.com/aaronlinv/p/17645803.html) 我自己接触到的一些商业或是开源的基于 SpringBoot 项目,它们大部分是没有测试代码的,`test` 文件夹只有脚手架初 阅读全文
摘要:
Tmux 是一个 Linux (Mac OS也支持)下的终端复用器,相较于 Screen 更为强大,但快捷键和操作逻辑也更复杂,一段时间不用,就很容易忘记相关的命令和快捷键。本文旨在通过一个简单的场景,快速重拾 Tmux Tmux 通常用来保持会话(session),如果我们通过 ssh 连接服务器 阅读全文
摘要:
Year 2038 problem 在 CS50 第 01 讲:C语言 中,提到了一个很有趣的问题:Year 2038 problem,这个问题指的是:一些使用 32 位来存储时间戳的计算机,在 2038 年,可能会出现整数溢出的问题,导致计算机的时间倒退回 1901 年 时间戳 指得是:UTC 1 阅读全文