macOS 下 Homebrew 使用

Homebrew 是一个 macOS 上的软件包管理工具,可以借助它在 macOS 和 Linux 上安装软件。它可以让你轻松地安装库、命令行工具、软件。 安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 然后就可以使用 brew 命令来安装软件。 brew install wget 其他常用的命令: brew search xxx 按名称搜索 brew list 查看已经安装 Read more ...

2021-01-25 homebrew , macos , brew , brewfile , bundle , brew-cask

WhatPulse 使用记录

一年多以前购买 MacBook Pro 的时候安装了一款叫做 WhatPulse 的应用。WhatPulse 是一个记录键盘以及外设使用的工具,可以观察到使用了多少次键盘,触摸板,鼠标等等数据。 官网地址:https://whatpulse.org/ 这一年多以来也并没有主力使用这一台 MacBook Pro, 但之前就是想记录一下键盘的按键次数,从而想要更换一下键盘布局的,看到很多人说更换成 Dvorak 之后会大大的减少手指的移动,但是这几年来虽然切换了中文输入法使用小鹤双拼,但键盘布局还是没有尝试更换过,切换的成本还是非常大。本来想使用科学的方 Read more ...

2021-01-10 macos , keyboard-record , linux , mac , tool , mouse , touchpal

NextDNS 使用体验

之前在折腾 [[AdGuard Home]] 的时候偶然间了解到了 NextDNS,简单了解一下 NextDNS 能做的事情相当于把 AdGuard Home 在本地的 DNS 处理给部分搬到了云端。虽然提升了一定的可用度,毕竟不是所有的设备都在 AdGuard Home 的网络中。然后看到 NextDNS 还支持 Web3,看设置界面就已经支持了 ENS,HNS 等等。 但之所以没有深入使用就是因为 DNS 还是一个非常基础的服务,但是 NextDNS 在国内并没有节点,所以导致连接经常出问题,要不就是连接不上,要不就是拖慢了解析速度。 NextD Read more ...

2021-01-06 nextdns , dns , adguard-home , privacy

我的笔记法(借助 Zettelkasten 和 Obsidian)

在上次总结了2020读书笔记 之后,Tai 问我如何通过 Zettelkasten 和 Obsidian 来实践我的笔记。这里就也正好总结一下我自己的方法,希望可以在分享过程,或者和大家的讨论中来获取更多有效率方法。 我是如何来记笔记的?或者更具体一些,如何来记读书笔记的。就像是 How to read a book 中所说那样,不同类型的书有不同的阅读方式。其实笔记也一样,针对的内容不同,记笔记的方式也不尽相同。 我是如何做读书笔记的 快速开始 每当我拿起一本新的书,我通常会去豆瓣图书看一下这本书的相关介绍,然后创建一个新的笔记,将作者等等信息, Read more ...


迟到的「给编程初学者的一封信」

这些天翻箱倒柜,翻出来一些大学时候的文档,其中一篇是当时上外教课时打印给我们的材料,虽然可以看得到当时也在上面做过笔记,但现在已经完全不记得有这样一份文档的存在了。但回过头再看文档的内容,每一句话都是非常珍贵的建议,是一份那个时期完全需要读一下的材料,但当时却并没有好好珍惜。这份文档的名字叫做「An open letter to those who want to start programming」,如果记得没错的话这份文档交到我手上的时候,应该就是我刚去学习如何编程的时候。如果当时就能够理解这一份文档内容的话,这些年来我肯定能少走不少的弯路。 在结 Read more ...


2020 读书记录

2020 年注定是会在历史上留下不平凡的一年,年初的疫情到年底问题依然还在,而且在不确定疫苗的情况,在加上英国的病毒变异情况,不清楚到什么时候才是结束。再回头看今年的大事小事,从年初的李文亮事件,到年末的蛋壳,以及阿里被禁止上A股,有些事情发生地太突然,来不及思考,但只有思考,不仅是在事前的还是事后的思考都有其价值。 李文亮事件 李文亮因言获罪,而密尔早在两百年前就曾经说过,即便是荒谬的言论也不得限制,对该言论的讨论过程能进一步证明相反观点的价值。而李文亮事件就是典型的「被压制的言论包含部分的真理」的情况,而正是因为言论的被压制,终究封城是阻止不了病毒 Read more ...

2020-12-27 reading , book

logback.xml 配置详解

之前两篇文章简单的介绍了 [[Logback]] 是什么,以及基本的使用,这一篇文章着重说一下 Logback 中最重要的 logback.xml 配置文件的编写。 ![[Pasted image 20201210145047.png]] 配置文件格式: <configuration> <appender> //输出到控制台的信息配置 //.... </appender> <appender> //输出到info文件的配置 //... Read more ...

2020-12-10 logback , spring , logger , log , logging , slf4j , java , java-log

Logback 使用

Logback 在之前的文章中说过,是一个开源日志组件。 [[Logback]] 推荐和 SLF4J 一起使用。 Maven 依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <logback.version>1.1.7</logback.version> <slf4j.version>1.7.21</slf4j.version> Read more ...

2020-12-10 logback , slf4j , spring , java , logger

Logback 基本使用介绍

[[Logback]] 是 log4j 的创始人开发设计的另一个开源日志组件,期望成为 log4j 项目的继任者,相较于 log4j,Logback 有一些优势。 更快的实现,更小的内存占用 充分的测试,Extensive battery of tests 可以直接使用 [[SLF4J]] 接口 健全的文档 可以通过 XML 或 Groovy 进行配置 Logback 可以在配置更改后自动加载 可以优雅的从 IO 失败中恢复 自动移除老的日志存档 自动压缩存档日志文件 在 Prudent mode 模式中,在不 Read more ...

2020-12-10 logback , spring , java , logger , slf4j

使用 mdBook 生成在线文档

很早以前就用过 [[GitBook]] 来将 Markdown 文件生成静态网页1,但是后来 GitBook 命令行工具不再持续的更新,开发团队转向了维护商业版本的 GitBook 之后就用的少了。 但随后就发现了使用 [[Rust]] 编写的 [[mdBook]],体验和 GitBook 一致,基本上可以完美的代替 GitBook。有趣的是官方的介绍也是对标 GitBook 的: Create book from markdown files. Like Gitbook but implemented in Rust. mdBooK 的官 Read more ...


最近文章

  • 利用 SpecStory 记录每一次和 AI 的对话 今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。
  • 让 AI 来编写 Git 提交变更信息 很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。
  • Uptime Kuma 清理 SQLite 数据库历史数据 大概两年前我自己部署了 Uptime Kuma 来监控我的各项服务在线情况,这两年内一直工作非常稳定,除了偶尔的网络波动带来的误报,基本上没有其他大问题。
  • Longhorn 备份到 S3 兼容存储 在之前的文章当中已经介绍过如何在 K3S 当中使用 Longhorn 作为分布式存储方案,那么本文再记录一下如何将 Longhorn 的备份存储到 S3 兼容的对象存储当中。
  • iOS 发布 Bundle ID 不可用问题 这两天在发布 iOS 应用到 App Store 的时候,在第一步创建 Bundle ID 的地方就卡住了,这是 iOS 开发过程中的一大坑,所以本文记录一下。