Listary 命令分享 - 快捷 clone 仓库并使用 VSCode 打开
背景日常工作中,经常会需要临时 Clone 某个仓库并且用 VSCode 打开,在 Windows 上我一般都是: 用文件资源管理器定位到需要 Clone 到的位置然后右键呼出终端 git clone cd <cloned repo> code . 这个操作多少有些不便: 要等 Windows 11 呼出右键菜单还是挺慢的 输入各种指令需要从鼠标转换到键盘 code . 会启动 VSCode 但是不会关掉终端,并且焦点会转到 VSCode,这时候想要关掉终端就又要换回鼠标点一次,怪烦的 P.S. 我当然知道直接一直 terminal 就没这些问题了,或者 code .; exit 也可以解决上面的第 3 点,但是 listary 的指令真的用一次就会爱上,所以还是小小捣鼓了下 方案右键 Listary > 选项 > 命令 > 选择添加 (+ 按钮) > 填入如下配置: 关键字: clode 标题: Clone and open "{query}" 路径:...
长更 - Linux 常用指令
先挖坑,慢慢填
短文 - 面对首次绩效考核的一些随笔
快要到年底绩效考核的时间了,回想过去半年好像一直忙忙碌碌但好像又没有什么很亮眼的成果。期间还有一大部分精力都投在了一个设计难度远大于实现难度的需求。 回过头想想,其实在工作上开始做一件长期的事情之前,还是要去评估可行性、投入以及收效,到底这件事情有多大的优先级,是不是就值得现在立马开始投入人力去做这个。到底做些什么可以被业务感知到,从而去判断,到底哪些需求才是重要的,而不是一味的承接需求,最后反倒抓不到重点了。 当然,除此之外,更重要的一点是,在知道了公司存在强制的 Underperform...
用 adb + app_process 执行 Java 代码 —— 一种无需安装 apk 的脱机代码执行方案
方案速览本方案本质上是使用了安卓提供的 app_process 命令,在将 Java 代码正确地打包为需要的 .jar 或是 .dex 文件后,通过 app_process 启动对应的入口函数来实现 adb 执行 Java 代码的能力。 对于目标 .jar 或是 .dex 文件,有两种不同的编译方案: .dex 文件方式: 创建一个普通的 Java 工程,正常地添加依赖,这里需要正确配置确保依赖在构建的时候也会被打包进制品 jar 中,编写相关代码 构建 jar 包 在安卓 SDK 文件夹下 (一般为 <homedir>\AppData\Local\Android\Sdk),找到 cmdline-tools\latest\bin\d8.bat (这里可以将 <homedir>\AppData\Local\Android\Sdkcmdline-tools\latest\bin 添加到环境变量中方便后面调用 d8 命令),如果没有,可以在 Android Studio 更新 Commandline Tools 或是在...
短文 - 转正日
今天收到了转正邮件,正式标志着一个新的人生阶段的开始。 对自己的期望就是,不要忘记做技术的初心,在新的阶段能有所成长,有所收获。 Po 一张在鹅厂的第一个关爱里程碑~
短文 - 博客迁移小记
最开始想的迁移方案是使用 skip-render 标记 html,但始终觉得不够优雅,因为导航栏、个人信息、头图之类的内容时常都会变,如果 skip-render 那永远都会是当时那个版本的页面,甚至可能超链接都是失效的,除了能显示原本的博文之外其实体验应该是相当差的——横竖感觉就是很突兀嘛! 直到今天突然意识到,hexo 渲染 markdown 为 html 文本肯定会分为三个大部分: 正文前部的各种元素,例如头图、导航栏、侧边栏等 正文的元素 正文后部的各种元素,例如版权、脚注等 一拍大脑, markdown 天生兼容 html 啊!!! 理论上对于 html 元素 hexo 应该不会过多插手渲染,那我不是理论上可以直接找到之前渲染好的 html 文件中的正文部分直接复制到 markdown 里面然后 hexo generate 就完成了?! 立马就开始动手实践,发现真的可以! 不过随着 butterfly 版本的迁移,页内标签外挂 tag 的渲染结果从 div-ul-li-button 变成了 div-button 的层级,原本在 li 上的类名现在转移到了...
短文 - 关于短博文的碎碎念
感觉如果博客只写长文的话,好像很快就会疲乏,其实很多时候想说的内容就是一两句话,即便硬是写成了长文,又觉得好像啰嗦了。 看到 Hexo - Butterfly 有提供一个 “说说” 的页面可以用 .yml 格式来存一些说说文档,但是仔细一看发现好像不会自动分页,这样一来图片一多感觉加载就会变成彻底的灾难… 不知道为什么在静态编译的时候没有做成本地分页的格式呢… 就像文章那样,其实在编译阶段就可以分散到不同的 index.html 去了,好可惜,也许以后有空会想办法看看能不能改吧… 还有很多云存储的方案,但感觉把自己的内容放在云上,总感觉会比较担心数据安全和以后的迁移成本,纯本地的话哪怕一天发两条十年也不过才不到上万条数据,一个 .yml 就带走了,哎可惜没分页终究还是不打算去用。 想来想去,就把短博客也当作正常的文章一样的显示在主页吧,不过会在标题前面加上 “短文” 的标记和对应的 tag,也方便浏览的时候来做区分好了
在 NAS 上部署自己的 Gitea 服务,无需公网服务器
方案速览简单来说,方案包含了以下几个主要部分: 公网访问使用光猫桥接路由器拨号,通过路由器同时获取 IPv4 大内网和 IPv6 公网 /64 地址 DNS 解析通过 MacMini 上部署的 ddns-go 实现 v6 / v4 双栈访问采用了 Cloudflare 中针对 DNS 解析记录的 Proxied 能力 80 / 443 端口封禁通过在 MacMini 上开放 Cloudflare Proxy 支持的端口 并在 Cloudflare 控制台指定回源端口解决 Gitea 仓库直接在 Nas 上通过 Docker Compose 部署,通过 MacMini 上 Caddy 反向代理 http/https 流量 TLS 采用 caddy-dns 插件,通过 Cloudflare token 实现 dns 验证,并由 Caddy 自动部署证书 背景大四毕业上班之后,便不再和父母一起住了,自然而然地就想改善一下家里的网络环境,也正好实践一下刚考完研还热乎的计算机网络知识,而不至于像之前重启一下路由器马上就能听到 “怎么没网了”...
基于 IPv6 公网地址、NAS 和 MacMini 的私有部署博客方案
方案速览简单来说,方案分为了几个主要的部分: 根据 在 NAS 上部署自己的 Gitea 服务,无需公网服务器 方案打通外网到家用 NAS / MacMini 的链路 采用 Git 仓库 main 分支存放源码 + Gitea Actions 编译至 publish 分支实现源码及制品存储 使用 caddy-git 插件实现拉取 Git 仓库 publish 分支并作为 fileserver 由 Caddy 反向代理 全方案的拓扑图如下 其中红色线条为 HTTP 流量,蓝色线条为 DDNS-GO 流量,紫色线条为本地或 v6 直连的 ssh TCP 流量 环境准备在配博客之前,我是先配好了 Nas 上的 Gitea 服务,可以参考 在 NAS 上部署自己的 Gitea 服务,无需公网服务器 这一篇博客来准备基本的网络环境和 Gitea 服务。 (也就是说,我是先搭好了 Gitea,然后实在不知道能拿干点什么,才决定把博客迁移回来的。有点为了醋包饺子的感觉哈哈,不过现在博客全部内容都运行在自己本地感觉还是颇有成就感的) 仓库配置待后面补充~
重生
时隔两年,终于借着重新配置家里网络环境的契机,重新搭建了这个博客。 原先关于操作系统的文章正在慢慢搬迁,应该很快就能恢复了~ 再一次启用关于自己的博客,感觉心里良多感慨。还记得上一次搭博客时的自己,刚来到计算机学院,对着网上的保姆教程在腾讯云的小机器上搭了 git 仓库、配置了宝塔面板、DNS 解析。 那时的自己对 TLS、证书、Git、反代、CDN、Docker 这些东西都还是那么陌生,以至于教程之外的东西完全不敢去碰,哪怕是在宝塔面板上配一个 Let’s Encrypt 的证书都要折腾好久,也没有去研究 hexo deploy 到底 deploy 了什么到服务端,只觉得能跑便是好事,这也就导致了后来的删库跑路事件——本地的博客仓库被主动删除,等到发现服务器上是没有 Markdown 源文件的时候已经太迟,由于没有了源文件,写新的博客势必会导致旧的 html 被覆盖,又因为文章实在太长迟迟没有动手迁移,原先的数万字长文就这样被冻在了旧的博客里长达两年。 这两年间,感觉自己成长了很多,学会了许多新的东西,也踩了许多新的坑,跌跌撞撞地步入了我的 22...