Spring AOP 笔记

Spring AOP 指的是 Aspect Oriented Programming(面向切面编程),AOP 是一种编程范式,AOP 提供了不同于 OOP 的另一种全新的软件架构思考方式,目的是为了通过分离切面问题来增加程序的模块化,同通俗的话讲就是不修改代码的情况下给程序增加额外的行为。Spring AOP 就是这样一个框架,可以提高我们切面编程的效率。 Spring AOP 的几个常用的使用场景: 事务,transaction management 日志,logging 安全,security Spring 中有两种方式来使用 Read more ...


wp-cli 使用

Install wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar sudo chmod +x wp-cli.phar sudo ln -s /var/www/www.einverne.info/html/wp-cli.phar /usr/local/bin/wp wp --info To run any command with WP CLI, you must be in the public directory of your Word Read more ...

2019-12-11 wordpress , cli , linux , command

专业医学信息网站整理

前两天鼻炎又犯了,去过很多次医院,也去过不同的医院,有说是慢性鼻炎,有说是过敏性鼻炎,这次检查说是鼻窦炎,总之就是鼻炎了。也尝试过各种药,各种滴鼻液,各种喷雾剂,各种洗鼻水,总是能缓解一段时间,然后到秋冬季节就又会差很多。也不知道是不是环境导致,毕竟大学毕业后还没有在不同城市生活过。所以上一次去了医院之后就在想,对于有些病,或者有些病理信息,是不是我可以在互联网上获得一些信息,然后自我调理,而这两天正好看到 Twitter 上有人提起,所以就整理一下。 医学知识 专业的医学或健康知识可信获取信息源: 默沙东诊疗手册 https://www.m Read more ...

2019-12-08 mediacal , collection

给博客添加 PWA

改造网站支持 Progressive Web Apps (PWA),改善移动端体验。 主要分成一下几步: 开启全站 HTTPS Service Worker Web App Manifest Service Worker 检测当前的浏览器是否支持 Service Worker https://jakearchibald.github.io/isserviceworkerready/ 调试 Service Worker,可以在 Chrome 开发者选项 Application 看到 Service Worker. 创建 Read more ...

2019-12-07 pwa , google , blog

文件整理之重复文件删除

整理文件的时候总想快速的删掉重复的文件,这里就总结下个人使用感觉良好的几个命令工具,包括 [[jdupes]], rdfind, fdupes, [[fclones]] 这些。 依据推荐指数从高到低。 jdupes 开源地址: https://github.com/jbruchon/jdupes jdupes 是 fdupes 的增强版,根据作者自己的描述,jdupes 比 fdupes 1.51 版本要快 7 倍左右。 使用方式: Usage: jdupes [options] DIRECTORY... 和 fdupes 类似, Read more ...

2019-12-06 linux , command , files , file-manager

Intellij IDEA 快捷键使用学习

这篇文章受到 IntelliJ 官方插件 IDE Features Trainer 的启发,学习一个编辑器应该归类,从不同的操作学习。从基本的编辑,到代码导航,再到辅助,到重构,重要的不是学习这些快捷键,而是学习可以怎么样做,并且用这样的思考方式用到不同的编辑器中。 Mac 上常见的四个快捷键对应关系,简单的可以将 Alt 对应 Mac 下的 Option,而在 Mac 下 Cmd 和 Ctrl 被人为的分隔开来,Cmd 大多数与GUI相关,Cmd+Q退出应用,Cmd+W关闭一个Tab,而Ctrl和终端相关,Ctrl+a则是跳转到行首,Ctrl+e跳转 Read more ...

2019-12-05 intellij , IDE , java , vim , editor

使用 timeshift 来备份和还原系统

Linux Mint 自带的备份和还原工具就是 timeshift, 今天看到有人贡献 timeshift 的命令行版本,突然意识到这个工具其实还有命令行版本。 安装 sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift Snapshot Type timeshift 提供两种模式的备份方式: RSYNC BTRFS RSYNC 在第一次使用时会拷贝所有文件,以后每次备份都是增量备份,使用硬链 Read more ...

2019-11-25 timeshift , linux , backup , restore , security

优化 Docker 镜像大小

优化 Docker 镜像文件的大小可以: 减少构建时间 节省存储空间和带宽 减少安全隐患 提高部署速度 层 Docker 镜像由很多层组成(最多 127 层),依赖很多底层基础,比如文件系统,写时复制,联合挂载等等,每创建一层都会相应地增加一些体积。 优化基础镜像 使用 Alpine 作为基础镜像。 gcr.io/google_containers/pause-amd64:3.1 镜像仅有 742KB。 scratch 镜像 scratch 是一个空镜像,只能用于构建其他镜像,比如你要运行一个包含所有依赖的二进制文件, Read more ...

2019-11-19 docker , docker-image

git-crypt 使用

在了解复式计帐开源软件 Beancount 的时候偶然的知道了 git-crypt, 因为 beancount 使用纯文本来记账,非常适合使用 git 来做管理,而个人帐务资产信息又是非常敏感的内容,所以就有了 git-crypt 的使用场景。而在日常的项目管理中,如果遇到代码需要公开,而某些敏感配置,比如数据库连接配置等等,使用相同的原理 git-crypt 也能够有使用场景。 installation git-crypt 使用 C++ 编写,安装的过程可以自行编译安装: git clone [email protected]:AGWA/git-cryp Read more ...

2019-11-17 git , git-crypt , beancount , gpg , opengpg , encryption

学习 Beancount 入门复式记账

很早就听闻了复式记账这个名词,但是一直在我的 TODO 上没来得及消化,记得当时主要是看了 wzyboy 和 byvoid 二位的文章,我关注的不同的人选择同样的方式来做一件事情,肯定是有意义的。所以当时我就将复式计帐和 Beancount 放到了我的 Trello 待办事项里面,这几天终于有时间来了解一下了。 首先什么是复式记账,相对复式来说的记账法是单式记账,我之前一直在寻觅的记账软件 其实都是单式记帐,通过消费流水来记账,这种方式比较简单,只能够记录消费状况,其实对于自己财务的整体状况并不是很清楚,通过这样的记账方法最多只能统计到日常的消费状况, 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 开发过程中的一大坑,所以本文记录一下。