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

最近文章

  • Claude Code /goal:让 AI 自主持续工作直到达成目标的新命令 用 [[Claude Code]] 写代码时,一直有一个令人微妙不适的摩擦:每当 Claude 完成一轮工作,控制权就回到了我这里,我需要再次发出指令,告诉它”继续”“再检查一遍”“还有这个文件没改”。对于那种需要跑很多轮才能完成的任务——比如把一个模块从旧 API 迁移到新 API 直到所有测试通过,或者逐文件重构某个目录直到符合统一规范——这个”人类中继”的环节就显得相当机械,本质上我只是在不停地按确认键。
  • 本地快速切换 Claude Code 和 Codex CLI 账号的几种方案 同时维护个人项目和工作项目的时候,最让我头疼的不是代码本身,而是工具的账号管理。[[Claude Code]] 和 [[Codex]] 这类 AI 编程工具,我在公司有一套账号,个人订阅又是另一套。每次在项目之间切换,都要 claude auth logout 再 claude auth login,不仅耗时,还经常忘了当前用的是哪个账号,写了半天才发现额度消耗到错误的账号上去了。
  • socat:比 netcat 更强大的网络瑞士军刀
  • codex-lb:用负载均衡的思路管理多个 ChatGPT 账号 用 [[Codex]] CLI 做开发的人大概都遇到过这个场景:手头有几个 ChatGPT 账号,分散在不同的订阅计划里,但工具只认一个账号,额度用完了只能手动切换,每次还要重新登录。更头疼的是,当多人共享一个环境,或者想用同一套配置同时跑 Codex CLI 和 OpenCode 时,账号管理很快就变成了一团乱麻。
  • cc-switch:在多个 AI 编码工具之间优雅切换 最近这一年,AI 编码工具的竞争进入了白热化阶段。[[Claude Code]]、[[Gemini CLI]]、[[OpenAI Codex]],每家都在拼命迭代,功能差距越来越小,价格战也越打越猛。于是我开始同时订阅好几个服务,针对不同的任务选用不同的工具——写复杂逻辑用 Claude,快速查文档用 Gemini,处理 Python 脚本用 Codex。