log4j 配置

Log4j 是一个可靠的、高效的、快速可扩展的日志框架,Log4j 使用 Java 开发,已经被移植到了很多主流语言,比如 C, C++, Perl, Python, Ruby 等等。 Log4j 可以通过外部文件配置来定义行为,Log4j 为日志输出提供了不同的目的地,比如可以将日志输出到控制台,文件,数据库等等 也可以控制每一条日志的输出格式; 通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。 这一切都可以通过一个配置文件来灵活地进行配置,而不需要修改应用代码。Log4j 是 Apache 的一个开放源代码项目。 Read more ...

2017-12-05 log , java , log4j

git 不同阶段撤回

因为平时使用 SmartGit 这样一个 Git client,所以也没有太大注意 Git 中不同阶段撤回的方式,虽然平时接触过 git reset 的 --soft 和 --hard 来撤销已提交的 commit,但没有形成一个系统的知识体系。大家都知道 Git 是一个分布式版本控制,所以 Git 会有一个本地库,和一个远端库,而平时提交代码的时候,一般也都是先从本地工作区提交代码 git add . git commit -s git push 这几个步骤,虽然平淡无奇,但是展开说,就体现了 Git 的重要的环节,一段代码的提交顺序: 工作区 Read more ...

2017-12-04 git , linux

MyBatis 使用介绍

MyBatis 是 Java 系的 ORM(Object Relational Mapping) 框架,提供了非常简洁的编程接口。用简单的话来说就是可以将数据库表映射到 Object 中 MyBatis 就是中间辅助处理的框架。 类似于 Python 中的 [[SQLAlchemy]]。 整体架构 分为三层 基础支持层 核心处理层 接口层 基础支持层包含了如下模块 反射,封装了原生反射接口 类型转换,别名机制,JDBC 类型和 Java 类型装换 日志,集成第三方优秀日志框架 资源加载,类加载器封装,确定类加载 Read more ...

2017-12-03 mybatis , mysql , orm , java , 教程

pandas 基本使用

pandas 基于 numpy 构建,可以提供强大的数据处理分析能力。 两种数据类型,series 和 dataframe 数据集 英国政府 https://data.gov.uk/data/search 美国政府 http://catalog.data.gov/dataset Kaggle https://www.kaggle.com/ Series series 是一种一维数据类型,每个元素都有各自的标签。可以当成带标签元素的 numpy 数组,标签可以是数字或者字符。Series 可以用元组、列表或者字典生成,如果没有为数 Read more ...

2017-12-02 pandas , python , numpy

Python 自然语言处理包 nltk 使用

nltk 是 Python 下一个自然语言处理相关的库,可以方便的实现分词,词性标注等等。 安装 pip install nltk 然后在终端执行 python, 进入交互式编辑环境 >> import nltk >> nltk.download() 下载相关模块 分词 nltk.sent_tokenize(text) #对文本按照句子进行分割 nltk.word_tokenize(sent) #对句子进行分词 词性标注 nltk.pos_tag() 词形还原 from nltk.stem import Read more ...

2017-12-01 nltk , python , nlp

frp 使用笔记

frp 是 fatedier 的开源项目,frp 是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持 TCP, UDP, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。 frp 用法和 ngrok 相似,但是 frp 比 ngrok 更加优秀。 配置过程很简单,但是也遇到一些问题,所以把过程记录下来。 frp 作用 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可 Read more ...

2017-11-30 frp , ssh , linux

Java 查漏补缺:synchronized

Java 中的 synchronized 块用来标记方法或者代码块是同步的。synchronized 可以用来避免竞态条件(Race Conditions)。 通常有四种不同的同步块: 实例方法 (Instance methods) 静态方法 (Static methods) 实例方法中的代码块 (Code blocks inside instance methods) 静态方法中的代码块 (Code blocks inside static methods) 同步实例方法 (Synchronized Instance meth Read more ...


使用 rebase 来合并多个 commits

Git 作为分布式版本控制系统,所有修改操作都是基于本地的,在团队协作过程中,假设你和你的同伴在本地中分别有各自的新提交,而你的同伴先于你 push 了代码到远程分支上,所以你必须先执行 git pull 来获取同伴的提交,然后才能 push 自己的提交到远程分支。而按照 Git 的默认策略,如果远程分支和本地分支之间的提交线图有分叉的话(即不是 fast-forwarded),Git 会执行一次 merge 操作,因此产生一次没意义的提交记录。 在 pull 操作的时候,使用 git pull --rebase 选项即可很好地解决上述问题,使用 -r Read more ...


每天学习一个命令:zgrep 不解压过滤压缩包中文本

Linux 下按照正则过滤文本的命令 grep 非常强大,grep 能够把正则匹配的行打印出来。而 zgrep 则能够对压缩包内容进行正则匹配。zgrep 全称是 search compressed files for a regular expression grep 的命令格式是 grep [option] pattern files 他的工作方式是,在一个或者多个文件中根据正则搜索匹配内容,将搜索的结果输出到标准输出,不更改源文件内容。 grep 常用的一些选项 -i 忽略字符大小写区别 -v 显示不包含正则的所有行 关于更 Read more ...

2017-11-20 linux , grep , regex , gz

每天学习一个命令:jhead 操作照片 EXIF

jhead 是一个可以查看,修改照片 EXIF 信息的命令行工具,没有 GUI。 jhead 可以查看: Time and date picture was taken Camera make and model Integral low-res Exif thumbnail Shutter speed Camera F-stop number Flash used (yes/no) Distance camera was focused at Focal length and calculate 35 mm equ Read more ...

2017-11-20 linux , photo , exif , DSLR , camera

最近文章

  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。
  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。
  • Antigravity Agent Skills 功能介绍与实战指南 2026 年 1 月 14 日,[[Google]] 为其 AI 驱动的开发工具 [[Antigravity]] 推出了 Agent Skills 功能。这个开放标准的技能系统让开发者可以将专业知识打包成可复用的技能包,极大地扩展了 AI 智能体的能力边界。
  • Gemini CLI Agent Skills 功能介绍与上手指南 [[Gemini CLI]] 最近推出了一个非常强大的新功能,名为 [[Agent Skills]]。这个功能极大地扩展了命令行 AI 助手的边界,允许用户根据自己的需求定制专业的技能包。