Android lib Timber

今天查询 Android 在 release 下不显示 Log 信息,偶然间接触到 Timber 这个库。 Android 原生提供了很多调试 Log 的方法,但是如果想要在 release 情况下禁用所有调试信息,除非在原生 Log 外再嵌套实现一层自己的方法,或者使用 ProGuard 。Android 本身没有提供一种简单的方式实现,幸而有大神提供了这样的一个库。 Android 原生 Logcat 分成 v/d/i/w/e/wtf . 官方推荐的最佳实践就是定义一个 TAG 变量: private static final String TA Read more ...

2016-06-24 Android , AndroidDev , 学习

使用 Python BeautifulSoup4 快速获取网页内容

BeautifulSoup4 能够帮助我们从 HTML 或 XML 文件中提取数据 安装 pip install beautifulsoup4 解析器 使用方法 优势 劣势 Python 标准库 BeautifulSoup(markup, “html.parser”) Python 的内置标准库 执行速度适中 文档容错能力强 Python 2.7.3 or 3.2.2) 前 的版本中文档容错能力差 Read more ...

2016-06-21 python , beautifulsoup4 , crawler , html , parser

每天学习一个命令:iftop 流量监控

在类 Unix 系统中可以使用 top/htop 查看系统资源、进程、内存占用等信息。查看网络状态可以使用 netstat、nmap 等工具。若要查看实时的网络流量,监控 TCP/IP 连接等,则可以使用 iftop。 iftop 是类似于 top 的实时流量监控工具。 官方网站:http://www.ex-parrot.com/~pdw/iftop/ iftop 可以用来监控网卡的实时流量(可以指定网段)、反向解析 IP、显示端口信息等。 安装 apt-get install iftop 或者使用源码编译安装 Debian 上安装所需依 Read more ...

2016-06-06 linux , command , iftop , network , monitor

Ubuntu 下安装 Gradle 及简单使用

Gradle 的核心是基于 Groovy 的 领域特定语言 (DSL),目的是为了代替 XML 繁多的构建工具。 自动安装 可以使用这个 PPA sudo add-apt-repository ppa:cwchien/gradle sudo apt-get update sudo apt install gradle 或者根据官网的教程 手动安装。 使用 https://gradle.org/guides/#getting-started Read more ...

2016-06-05 gradle , ubuntu , linux , usage , build-system , jvm , java

Kindle 使用小技巧及常见问题

整理 Evernote 笔记的时候偶然看到这篇文章,总结自己使用 Kindle 一年来的小小经验,以及一些 Tips。 注册 Kindle 邮箱 这个功能非常实用,不然能够节省连接数据线的时间,更重要的是这个活用这个邮箱能够自动化完成很多事情,可是遗憾的事,很多人并不知道这个福利。所以建议在拿到手之后的第一件事情就是查看这个邮箱,设置中 Send-to-KindleE-mail 中查看。 Kindle 可以享受的两个最容易被忽略的功能是: 在线文档存储,亚马逊为每位用户提供至少 5G 的云存储空间 在线文档格式转换,支持格式包括 Read more ...

2016-06-04 kindle , book , 阅读 , amazon , ebook

Spring 中 ThreadPoolTaskExecutor 配置

The Spring Framework provides abstractions for asynchronous execution and scheduling of tasks with the TaskExecutor and TaskScheduler interfaces, respectively. The Spring TaskExecutor abstraction Spring’s TaskExecutor interface is identical to the java.util.concurrent.Executor i Read more ...

2016-05-26 spring , thread , thread-pool , queue

Spring BeanPostProcessor 使用

BeanPostProcessor 接口允许在 Spring Bean Factory 返回 Bean instance 时修改 Bean 的创建过程。这是影响 Bean 生命周期的一部分。 接口有两个方法: public interface BeanPostProcessor { @Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { retur Read more ...


gunicorn 使用

之前的文章使用 gunicorn 来部署 webpy 中简单的提到了 gunicorn 的使用。这篇文章就在官方文档的基础上学习下 gunicorn 的其他更多的用法。 基本的安装和参数就跳过了,这边讲下文档中很有用却不是常用的一些选项,如果要看基础使用可以去看之前的文章 配置文件 我们知道 gunicorn 能够直接使用命令行来启动,常见的参数 gunicorn -w 2 -b 0.0.0.0:5000 app:app --log-level info --access-logfile logfile.log --log-file error.l Read more ...

2016-05-25 python , gunicorn , wsgi , http , unix , web , server

Pypi 国内镜像记录

官方 PyPI 源的 URL 为 https://pypi.org/simple pip 临时换用国内的镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 或者设为默认: pip install pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 或者修改配置文件: vi ~/.config/pip/pip.conf 设为: [glob Read more ...

2016-05-23 pip , python , mirror

gnome do 技巧

自 Mint 开始才接触到 Gnome-do 这样一个神器,一句话介绍他的功能就是启动器,完全键盘操作的启动器。当然在启动应用之外还有很多扩展的功能,自开始使用 Gnome-do 开始几乎已经很少使用菜单开应用了。正如这篇 文章所讲使用了 Gnome-do 之后就会让 Windows 和 OS X 下的用户嫉妒不已。 不过 OS X 下貌似也有 Alfred 这样的神器。 安装与启动 Mint 下直接从软件管理里面搜索安装吧,如果想使用命令行,下面的也可以: sudo apt-get install gnome-do 忘记了初始设置的启动快捷键 Read more ...

2016-05-20 Linux , gnome-do

最近文章

  • Surfingkeys:比 Vimium 更强大的浏览器键盘控制扩展 最早接触 [[Vimium]] 是在学习 Vim 编辑器之后,那种能用键盘完全控制浏览器的感觉确实让人着迷。不用频繁移手到鼠标,链接跳转、页面滚动、标签切换全用键盘搞定,效率提升的体验是实实在在的。用了几年 Vimium 之后,我开始接触到 [[Surfingkeys]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。
  • Denote 介绍 Emacs 下基于文件名的笔记系统 最近在 GitHub 上闲逛的时候,我发现了 [[李继刚]] 整理的一批 [[Claude Skills]],出于好奇就 clone 下来翻了翻仓库。打开目录一眼扫过去,几乎所有 Skill 输出的文档文件名都长得很特别,大致是这样的形式: 20260527162000==z--投资分析-ajinomoto-2802。这种带着长串数字时间戳、夹杂 == 和 – 分隔符的写法,一眼看上去既不像我熟悉的 [[Jekyll]] 那种 YYYY-MM-DD-title.md,也不像 [[Obsidian]] 里常见的中文标题直接做文件名,反而有种”工程化”过头的味道。
  • Ghostty 和 xterm-ghostty 是什么 最近我在 macOS 上重新整理终端工具链的时候,又一次认真看了 [[Ghostty]]。很多人第一次接触 Ghostty,会先被它的界面、速度或者作者背景吸引,但只要打开 Shell 跑一个 echo $TERM,很快就会看到一个更陌生的名字:xterm-ghostty。这个名字看起来像是传统 xterm 的变种,实际上它背后代表的是 Ghostty 对终端兼容性的一整套设计思路。很多人把它当成一个无关紧要的环境变量,但如果你经常使用 [[SSH]]、[[tmux]]、[[Vim]]、[[Neovim]]、[[less]] 或者各种 TUI 工具,理解 xterm-ghostty 会让你少踩很多坑。
  • 终端开发的新范式:从 Gemini CLI 到 Antigravity CLI 终端智能体的新旅程
  • Antigravity CLI:Google 推出的下一代终端 AI 编程智能体 最近在关注 Google I/O 2026 的动态时,看到了一个让我颇感兴趣的发布——[[Antigravity CLI]],Google 官方宣布用它来取代已经积累了超过 10 万 GitHub Stars 的 [[Gemini CLI]]。这个时机有点微妙:个人版 Gemini CLI 用户必须在 2026 年 6 月 18 日前完成迁移,否则将失去模型访问权限。作为一个长期在终端里工作、也在持续关注 AI 编程工具演进的开发者,我觉得有必要认真研究一下这个新工具到底带来了什么改变。