Verne in GitHub

log4j 根据 package 打印日志到不同目的地

log4j 可以配置不同的包打印到不同的 appender 中,通过在配置中添加如下配置。 <!-- 这里的 additivity 配置了该 package 下的 appender 是否需要传递到 root , 默认为 true , 造成日志打印两遍 --> <logger name="com.jutils.appender.LogLevelATest" additivity="false"> <level value="INFO"/> <appender-ref ref="consoleAppende Read more ...


记账 App 选择

很久之前产生记账的需求,所以当时试用了市场上很大一批的记账软件和 App,我的需求无非有几样: 多平台同步,至少 Web,Android 平台有产品 记账方便,随时随地能够使用 界面简洁美观,能方便查看使用记录,和历史统计信息 方便导出 在使用了近半年之后,我终于稳定的在使用一款叫做“随手记”的记账软件了。而事实上我看到很多 Google+ 的好友在使用类 Excel 工具记账,我也曾经使用过一段时间的 Excel,却没有坚持下来。使用这样一类工具时,我总感觉不是很方便,虽然也可以使用 Dropbox 或者其他工具同步到手机上,再 Read more ...

2014-09-09 android , web , android-app , app , ios

电影版本中的缩写是什么意思

在网络下载资源时经常遇到一些整齐划一的命名,于是产生了这样的疑惑。 CAM(枪版) CAM通常是用数码摄像机从电影院盗录。有时会使用小三角架,但大多数时候不可能使用,所以摄像机会抖动。因此我们看到画面通常偏暗人物常常会失真,下方的 字幕时常会出现倾斜。 由于声音是从摄像机自带的话筒录制,所以经常会录到观众的笑声等声音。因为这些因素,图象和声音质量通常都很差。 TS(准枪版) TS是TELESYNC的缩写。TS与CAM版的标准是相同的。但它使用的是外置音源(一般是影院座椅上为听力不好的人设的耳机孔)这个音源不能保证是好的音源,因为受到很多背景噪音的干 Read more ...

2014-09-03 Movie , Knowledge

MyBatis Generator Plugins

MyBatis Generator(以下简称 MBG) 插件可以很方便的生成 Objects、Mapper 接口以及对应的 XML 文件。在使用 MBG 的时候也可以配置一些插件来自定义生成的文件的内容。 MBG 提供了一些自带的插件,比如缓存的,分页的等等,如果想要实现更多的功能可以参考这里 自己实现插件。 MBG 提供的插件都在 org.mybatis.generator.plugins 包下。插件源代码可以参考这里 org.mybatis.generator.plugins.CachePlugin 缓存插件,用来生成在 XML 中的 < Read more ...

2014-08-28 mybatis , mybatis-generator , java , orm , mysql

Mybatis Generator 配置详解

通常情况下会用 xml 来配置 MyBatis Generator 通常在 src/main/resources/generatorConfig.xml 文件中。 官方的配置文档可以在这里 找到。 Generator 的配置文件主要定义了: 如何连接数据库 需要自动生成什么 Objects,以及如何生成 哪一张 table 需要用来生成 Objects 下面是一个简单的示例: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurat Read more ...

2014-08-27 mybatis , orm , mysql , java

H2 Database Engine

H2 is a Java SQL database, with following features: fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based console application small footprint: around 1.5MB jar file size 连接方式 H2 数据库支持三种连接方式,三种模式都支持内存、持久化到文件,三种模式对同时开启的数据库数量和连接数没有限制。 Read more ...

2014-07-28 h2 , database , in-memory-database , jdbc

国内各大音乐网站使用感受

最近几天在电脑上听歌,不由自主的在键盘上敲出了 http://music.163.com , 而在不久之前还是用 xiami.com 听歌呢,所以禁不住思考起来. 最初 最早用电脑听歌还是应该用的酷狗,酷我,多米之类的电脑端软件,那个时候经常是将歌曲下载到自己电脑上,伴随着清脆的一声”Hello kugou”,才开始听歌之旅的. 那个时候听的歌曲还往往是知道名字,知道歌手,很有针对性的去听的.那个时候的播放列表还往往是本地的自己的列表,如果换一台电脑那些列表还不一定能够同步过去.虽然后来酷狗,酷我都做了同步播放列表的功能,但是那时候的体验和感受都留在 Read more ...


适用于编程 Coding 的字体

之前的一篇文章就曾经提到字体的历史,这篇文章着重在推荐几款我个人认为非常适合编程这个环境的字体。 在选择一款字体之前,先要了解几个术语 monospace font 等宽字体,每一个字符宽度占用都是一样的 Sans-serif font 无衬线字体 Serif font 衬线字体 font weight 字重,字体的粗细程度,常见的字重有 Light, Regular, Medium, Bold 等等 在选择一款编程字体的时候我会考虑以下几个点: 能否区分,数字 0 以及大小写 o 与 O 能否区分,数字 1 以及大 Read more ...


优化 SQL 语句

CHAR vs VARCHAR 在设计数据库字段时经常需要保存字符,MySQL 中有两个容易混淆的字段 CHAR 和 VARCHAR。 VARCHAR 是可变长度,仅使用必要的空间,需要额外使用 1 个或者 2 个字节来记录字符串长度,最大长度小于等于 255 字节,只需要额外使用一个字节,否则需要 2 个字节 CHAR 是固定长度,MySQL 在存储 CAHR 时会删除所有末尾空格,适合存储很短的字符串,或者所有值都接近同一个长度 VARCHAR(10) 需要 11 个字节存储空间,VARCHAR(1000) 列需要 1002 字节存储 Read more ...

2014-06-04 mysql , sql , optimize , slow-query , database

毕设相关

##Word目录自动生成 如果想要目录自动生成,就必须事先对文章标题进行格式化,我使用的方式是在大纲视图中对章节标题进行一级二级三级格式化。另外的方法是通过格式中标题去给每一个标题添加样式。网上的教程太多了,我就做一个备忘吧,以后说不定在其他论文中也要生成目录。在格式化标题之后,导航窗口基本上就能显示一个简单的目录了,此时再自动生成目录一般不会出现太大的问题。 ##Word页眉页脚 有些页需要重新从1页开始编号,则要在该页之前插入分节符。如需生成第1页 共XX页这种格式的页码,最好不要手工输入总共的页码,因为可能需要修改论文内容,而如果手工修改可能最后 Read more ...

2014-05-31 skills

最近文章

  • Nowledge Mem 使用半年体验:让所有 AI Agent 共享同一份记忆 今年 2 月份我把 [[Nowledge Mem]] 装到 MacBook 上,想解决的是一个很常见的问题:我希望在 [[Perplexity]] 网页上查过的资料,直接在 Claude Code 中可以记住。但没想到大半年过去,它已经变成了我每天都在用的软件,而且是那种「不在后台跑着就会觉得别扭」的存在。我在 Claude Code、[[Codex]]、[[OpenClaw]] 里开的每一个会话,开头都会先从它这里拿一份简报;网页上和 AI 聊过的东西会自动同步进去;我做过的决定、踩过的坑、服务器的配置,都沉淀成一条条可以被任何 Agent 检索的记忆。说它是我所有 Agent 的记忆和大脑,一点都不夸张。
  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 注册,注册后会额外获得 100 Credits。
  • AI 浏览器自动化方案怎么选:从 Playwright、MCP 到 Agent 浏览器和 WebMCP 的全景梳理 最近我一直在研究「让 AI 用浏览器」这件事。起因是看到 Nowledge 写了一个 browse-now Skill,可以直接让 Claude 控制浏览器,紧接着又偶然发现了 [[Ego Lite]] 这款专门为 Agent 设计的浏览器。顺着这条线,我把 Aside、BrowserOS、Deta Surf 这几款 AI 浏览器挨个调研了一遍,越看越发现它们的侧重点和实现方式差别很大:有人在做测试框架,有人在做浏览器插件,有人从 Chromium 内核开始为 Agent 改造浏览器,还有人在推动新的 Web 标准。它们看起来都在「让 AI 操作网页」,解决的却根本不是同一个问题。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 用 PowerContext 给多个 Coding Agent 做任务交接 现在我写代码基本是 [[Codex]] 和 [[Claude Code]] 轮着用。有时候是 Codex 的额度先用完了,有时候是某一步我觉得 Claude Code 更合适,于是一个任务经常要在两个 Agent 之间换手。真正麻烦的不是换工具本身,而是换手的那一刻:新会话对前面发生的事一无所知。之前选了哪个库、哪个旧接口不能动、改了哪些文件、测试跑没跑过,这些信息全都留在上一段对话里。我只能手动复述一遍,或者把一大段聊天记录贴回去,前者容易漏掉关键约束,后者浪费 Token,还会让模型在几千行历史里抓不住重点。说到底,我缺的不是一个更大的上下文窗口,而是一份能在 Agent 之间传递、而且接手方可以核对的「当前状态」。在写这篇文章的时候还出现了另外一个思路就是利用 [[magpie]] 将模型路由给充足额度的账号,这个之后再写文章说。