Spring 自定义 namespace and handlers

自定义 namespaces 可以让用户有一种更方便的方式来定义 Bean。 Spring 提供了一些开箱及用的方式,比如 <mvc:annotation-driven/> 可以参考这篇文章 来查看该配置的作用。 Spring 从 2.0 开始可以支持自定义扩展 XML Schema。 XML Schema-based configuration 在了解自定义 XML Schema 之前首先要熟悉一下 Spring 的 XML Schema 配置。最简单的配置 <?xml version="1.0" encoding="UTF- Read more ...

2019-07-05 spring , java , java-web , spring-mvc

shell script idiom

Bash 命令中一些常见的习惯。 > file redirects stdout to file 1> file redirects **stdout** to file 2> file redirects **stderr** to file &> file redirects stdout and stderr to file /dev/null is the null device it takes any input you want and throws it away. It can be used to Read more ...

2019-07-03 bash , shell , stdout , stderr , pipeline

MySQL 日期和时间函数

记住一些常用的时间操作函数能够提高 SQL 查询的效率。比如查询过去 30 天的记录,如果不清楚 DATE_SUB() 函数可能需要手动计算一下时间点再查询,但是如果知道 DATE_SUB() 函数就可以 SELECT something FROM tb_name WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= daet_col; 这个 SQL 同样会查找出来当前时间点未来的记录。 获取时间 获取当前时间 mysql> SELECT NOW(); +------------------- Read more ...

2019-06-30 mysql , database , sql , date , time

Linux 下执行文件中的每一行

今天想要通过 adb 将盒子中的所有 apk 备份出来,很早之前写过的文章 就提到过如何手动的备份 apk 文件,不过这样很麻烦,需要每一条都手敲,所以想到了使用刚了解到的 xargs 命令,所以想通过几个命令将文件路径全部都拷贝出来,包名也拷贝出来。然后使用 xargs 来批量执行每一行命令。 通过这个拿到所有包名 adb shell pm list packages | cut -d: -f2 | tee pkg.txt 拿到所有文件路径 adb shell pm list packages | cut -d: -f2 | xargs -I Read more ...

2019-06-28 linux , bash , xargs , commands

Intellij IDEA 中删除所有未使用的类

修改设置 Press Ctrl+Shift+A Enter “unused declar” Double-click on “Unused declaration” Settings will pop up 设置 Click on Java/Declaration redundancy/Unused declaration on the right bottom select “On the fly editor settings” untick check fields, …, check parameters. Read more ...

2019-06-28 intellij

Gitlab 中使用命令行提交 merge request

gitlab-cli 是一个用 Javascript 所写的工具,可以用来在命令行中提交 gitlab 的 merge request 等等,作者说收到 hub 工具的启发。 Installation npm install git-lab-cli -g Usage 查看帮助 lab -h 通过环境变量全局配置 GITLAB_URL=https://gitlab.yourcompany.com GITLAB_TOKEN=abcdefghijskl-1230 TOKEN 可以在 https://gitlab.yourcompany.co Read more ...


每天学习一个命令:xargs 连接输出和输入

xargs 用来把一个命令的结果传递给另外一个命令执行。这是一个日常中经常会遇到的场景。 xargs 会从标准输入读取内容,然后将内容送给其他命令构建其他可执行命令。这意味着可以从一个命令行的输出结果读取内容并作为另一个命令的输入。 xargs 默认读取时按照空白字符分割的输入,输入可以带双引号,单引号,或者反斜杠转义,xargs 也可以读取新行,然后将输入作为参数执行对应的命令一次或者多次,默认是 /bin/echo。空白行输入会被忽略。 Unix 文件系统的文件可以包含空白和新行,这个默认的行为可能造成一些问题,包含空白的文件名可能被 xarg Read more ...

2019-06-19 linux , xargs , cli , command-line , bash

一些 Tmux 使用小技巧

[[Tmux]] 是一个很强大的终端复用工具,下面是日常积累中记录的一些使用经验。 多 Pane 同步输入 Multiple Pane Synchronization Tmux 一个非常著名的功能就是可以多个 Pane 同步输入,使用方式: prefix 输入 :setw synchronise-panes on 然后在多个 Pane 中就开启了同步 同理配置 :set synchronise-panes off 就可以关闭 我在 ~/.tmux.conf 中配置了: bind C-x setw synchronize-pane Read more ...

2019-06-19 tmux , linux , commands , terminal

D-Bus 简单学习

D-Bus 是 Desktop Bus 缩写,是一个 inter-process communication(IPC) 和 remote procedure call (RPC) 机制,用来允许在同一台机器上进行进程间通信,它是 Linux 桌面环境中最重要的产物之一。它被越来越多地被用于应用程序间通信,也被用于应用程序和操作系统内核之间的通信。很多现代的服务进程都使用 D-Bus 取代套接字作为进程间通信机制,对外提供服务。 进程间通信 大部分 Linux 系统用它将系统事件(比如插入 USB 设备)通知给进程 D-Bus 作为 fre Read more ...

2019-06-18 linux , dbus , gpg , desktop

Termux app 使用记录

Termux 是一个 Android 上的应用,但是这个应用是一个终端模拟器,可以完美的在 Android 上模拟一个 Linux 终端环境。甚至不需要 root 权限,正常安装即可使用。Termux 还提供了一套自己的包管理。 Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automa Read more ...


最近文章

  • 我购买了一个 DJI Mic Mini 最近为了提升移动拍摄时的收音质量,我入手了 DJI Mic Mini。虽然大疆提供了带充电盒的套装,但我只购买了单机版本(发射器+接收器,2 TX 1 RX 版本),因为对于我日常的拍摄需求来说,本体的续航已经完全足够了。
  • Auto Claude:Vibe Kanban 的终极形态?让 AI 并行开发的“指挥中心”来了 在上一篇文章 《Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了》 中,我分享了一种利用 [[Vibe Kanban]] 和 AI Agent 实现并行开发的工作流理念。我们可以利用 Vibe Kanban 来统一管理多个并行任务。
  • Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了 在我之前的视频当中,我介绍过在 Claude Code 中使用子代理(Subagents)机制和 Git Worktree 来实现并行工作流。我们可以创建子代理来并行执行任务,但是 Subagents 的配置和使用都还需要我们在 Claude Code 中等待。那如果我们有完全独立的两个任务要执行呢,我们可以开两个 Claude Code 分别在两个 Claude Code 中提交任务,然后让 Claude Code 完成。此时我们依然会遇到一些问题,比如说两个 Claude Code 的代码可能产生冲突。并且如果我们有超过两个独立任务时,我们在管理 Claude Code 的成本就会指数级上升。
  • 终于还是入手了:Insta360 Go Ultra 初体验 每次想要拍摄,我得从口袋掏出手机,解锁,打开相机应用,切换到视频模式,然后举着它——这个过程在很多稍纵即逝的生活瞬间面前,显得太繁琐了。而且,当你举着手机拍摄时,你其实是在”观察”生活,而不是在”经历”生活。手机太”重”了,不是物理重量,而是心理负担。所以我想使用一个工具,可以帮我记录生活,但又不需要我刻意去”操作”它。于是,在观望了许久之后,我终于入手了这台 Insta360 Go Ultra。在 11.11 在天猫 2350 下单了 Insta360 Go Ultra,后来价格保护还退还了 260 块。
  • 奥卡姆剃刀:为何简单的往往就是最好的 最近我在整理我的 Obsidian 笔记库时,发现了一个有趣的现象。