Isaac Kam's Blog

I am a slow walker, but I never walk backwards.

前言

vue版本:2.6.10

每次更新视图前都会根据视图模板生成vnode(虚拟的节点树),vnode类似dom树,但更简陋,每个vnode都与页面的上的元素html元素一一对应!为了更好的性能,因此要复用元素。那么就要知道怎么复用!就要对比newVnode(当前生成的vnode)和oldVnode(上次生成的vnode),对比完之后才知道那些是要删除,那些是需要重新创建,那些需要移动、移动到哪里!?
而diff算法则是对比的一种比较好的方式,更好的更快地对比,谁被谁复用!

阅读全文 »

前言

本文的首要目的是记录,而非完全性的指南,不免会有缺漏。目标是随时间的推移逐步完善此记录,最终达到指南的程度。将以 tmux 的官方文档为核心其他资料为辅介绍 tmux 的基本概念和术语,让 tmux 的潜在用户对它有基本的了解,以达到无痛入门,降低心智消耗的作用。涉及 tmux 的会话(session)、视窗(window)、窗格(pane)和其他的核心内容的基本使用,以达到开箱即用,为 tmux 拾一根薪火(赞美太阳🔥)。

阅读全文 »

前言

我当前使用的大部分软件都有被 Deb(Chromium、VS Code 等) Appimage (Motrix、Qv2ray等)覆盖到,其他一部分使用 WebApp (Neat Reader、Google Translate等)代替,实在无解则使用 win7 虚拟机(微信、迅雷等)。

最近听闻微信发布了 linux 版本,但实际并无较为正式的公告。仅在一些视频网站偶尔刷到 linux 版本微信的演示,才让人对此有了一定的可信度。

阅读全文 »

Windows系统对于日常使用与娱乐不可否认是优秀的,但对于程序开发的普适性却稍微逊其他系统一筹。WSL2的出现对此让人嗅到了一丝改变。本文旨在使用WSL2搭建NodeJs开发环境。在Windows环境下,使用VSCode、Windows Termial 和 Debian,以WSL2连结三者,搭建NodeJS开发环境,以获得丝滑的Linux开发体验。
阅读全文 »

前言

使用 Linux 很久,用过多个发行版本,每个版本都有内置的终端模拟器。有 Gnome Terminal、Konsole、GUAKE 等等。使用 MacOS 时遇到了让我觉得刚刚好的终端模拟器 - Iterm2,各种原因下,我不再使用 MacOS,后来就很少让我觉得趁手的终端模拟器。后来,一直使用 Windows 和 Linux。Windows 下用的是 Windows Terminal(这是应用名),配合 WSL2,够用也漂亮,知道在开发中遇到 WSL2 无法解决的情况,再次投身到 Linux 的海洋中。目前使用 Linux Mint 21,它是个漂亮且好用的发行版本。Linux 下的终端始终是我内心深处的刺呢,一直在尝试着其他终端:Konsole、Kitty、tmux、Tabby、Terminator、Tilda等等,花了不少的时间安装、配置,遇到不少的问题,都没有达到心目中期望的样子。直到遇到了 Tilix。

阅读全文 »

前言

近来,主要的研究课题是 JavaScript 代码的静态分析。在研究期间用到 Eslint 对此做实践,了解到它的一个插件,eslint-plugin-security。如其名,它的作用是安全相关方面的代码扫描。在看了它的配置规则后,觉得甚是有趣,不少规则都涉及到常见的前端安全的问题。故有了想法,为什么不以它为引子,来个管中窥豹。

阅读全文 »

前言

本文将介绍 Advanced Packaging Tool (APT) 包管理器,以及其在 Debian 系统及其衍生发行版(如 Ubuntu)中的配置方式和使用方法。我们将探讨如何配置 APT,包括软件源的设置和更新策略。我们还将深入了解 APT 的使用方式,包括通过命令行工具 apt 进行软件包的安装、升级和移除等操作。通过本文,读者将能够全面了解 APT 的功能和特性,并能够有效地使用 APT 管理软件包,提升系统的稳定性和安全性。

阅读全文 »

摘要

最近持续迭代的 npm 包,isubo。功能已经完成得七七八八,因此开始逐渐完善与之相关的基本设施,比如自动化的能力。该项目代码使用 Github 管理,在它启动之初已经略有了解 GitHub-Actions,模糊地知道Gtihub Actions 是 Github 提供的 CI/CD 工具。由于各种原因的将此增加自动化能力的工作置后到最近。

本文将围绕 Github Actions 展开,了解 Gtihub Actions、CI/CD概念以及常见的CI/CD工具或平台。接着回归实际问题,详细了解 Github Actions 的使用、配置文件的常用配置项。最后,再实践上面提到的 isubo 的自动化能力。通过实践让我们具备一定的,使用 Gtihub Actions 实现CI/CD的能力;具备解决新的Github Actions 相关新的需求点的能力,比如在工作流中增加代码静态分析能力。

阅读全文 »

前言

最近在开发使用 Github Issue 编写 blog 的项目。目前还在持续开发中,已经 300+ commits,npm 上已经发布的版本迭代有 9个。后面仍然会继续维护,有许多准备增加的能供,需要优化的点,以及已知的需要重构的逻辑,应该还会有相当的bug需要修复。

抱着负责任的态度,个人认为需要一个渠道使得 Isubo 的使用者获知这些一系列的变动。因此,需要编写 CHANGELOG 记录每个项目版本的变动。

但是,由于目前还是一个人在开发此项目,精力有限,需要更多地聚焦在功能新增、优化、重构和Bug修复。

CHANGELOG 自动化是最终的答案!

阅读全文 »

概览

本文将介绍浏览器扩展是什么,怎么安装。详细分述关于浏览器扩展程序的开发,它项目结构,各个文件文件负者的职能,作为开发者我们可以怎么运用它们实现我们的功能。在开发到一定程度之后,该如何去调式,发现问题,解决问题。之后,如何发布开发好的浏览器开发程序。

全线保姆级别手把手教导

阅读全文 »
0%