Python 项目的结构

之前和朋友聊天,说到 Python 项目的结构问题,Python 确实是一门比较灵活的语言,你可以单独执行某个文件,把这些文件扔到一起看起来像个工程,但是外人来看其实就是一个个独立的小文件,小模块,对于小型项目来说可能并不会造成什么问题,但是对于大型项目,尤其是如果需要多人合作,有一个关于工程结构的基本认识是非常必要的。 Python 没有强制的结构规范,但是有一个大家的共识 README.rst LICENSE setup.py requirements.txt sample/__init__.py sample/core.py sample/he Read more ...

2016-08-13 python , project , structure , management

国行 Moto 360 2代一周使用感受

在拿到 moto 360 2代国行之前就已经做过调研, 国行并不支持国际版 Android Wear 程序同步,需要用国内阉割版 Android Wear 连接,并且不能使用 Play Store 中各种定制表盘及Android wear 应用。虽然可以通过使用 国际版 Android Wear 1.3 版本连接并同步 moto 360 来激活并使用各种表盘及应用,但是拿到手使用一个星期之后,我依然还是对国行 moto 360 2代表示失望。 在没有了 Google Now 的情况下,语音几乎是不可用状态,国行所带的出门问问,在国际版 Android Read more ...


SQLAlchemy 使用记录

什么是 SQLAlchemy ? The Python SQL Toolkit and Object Relational Mapper create engine 首先 要创建 Engine 实例 sqlalchemy.create_engine(*args, **kwargs) 创建 mysql 连接 # driver mysql-python DB_PATH = "mysql+mysqldb://root:password@host:port/dbname?charset=utf8mb4" xchat_engine = create_e Read more ...

2016-08-12 python , mysql , sqlalchemy , orm , sql

Android 人脸检测

最近项目使用,总结了目前 Android 中使用到的人脸检测技术,主要分成三部分来介绍: Android 原生支持人脸检测,从 API 1 开始就提供原生的人脸检测,但是该方法识别率相对较低 在后来的发展中 Google 将人脸识别技术放到了 Google Play Services 中,从 Google Play Service 7.8 之后提供的 Mobile Vision API 中我们可以使用新的人脸检测API。这个方法不仅能够识别有没有人脸,还能够识别人脸的区域,甚至在视频流中追踪相同的人脸,并且提供了一系列方法来获取眼睛、嘴巴、鼻 Read more ...

2016-08-06 Android , AndroidDev

转换图片格式,png, jpg, webp

总结一下目前常用的图片格式转换命令,以及如何在这些常见的格式之间转换,包括 png, jpeg, webp 。 png 和 jpg 格式相互转换 安装 imagemagick 用到的工具在这个包中。 sudo apt install imagemagick 首先检查图片格式 identify temp.jpg 将一张图片转换格式 convert image.jpg image.png 批量转换图片 mogrify -format png /tmp/*.jpg 给图片添加边框 convert path/to/demo.jpg - Read more ...

2016-08-03 format , jpg , png , convert , linux , command

以十六进制查看文件的方法整理

使用 file 命令来检测 data 文件的类型 file data zsh 和 bash 原生 echo 支持将十六进制 HEX 转成 ASCII echo -e '\x68' 将二进制文件写入文件 printf "\x68\x65\x6c\x6c\x6f\x20\x77\x6f" | cat - oldfile > newfile 命令查看 Linux 下可以使用如下命令查看文件二进制 xxd filename.txt hexdump filename.txt 编辑 GUI 二进制编辑器 sudo apt-get Read more ...

2016-08-02 linux , command

Clonezilla 克隆系统

之前遇到的一个问题,安装 Linux Mint 的系统分区快要满了,但是我又不想重装系统,于是就提出来这样的一个问题 —- 如何在不重装系统的情况下,将系统盘从一块分区中复制到另一块磁盘的分区中,整体备份系统。当时整天得想着如何解决这样的一个问题比较好,于是有了这篇文章。当然也借由这篇文章讲述一个复杂问题的提出到解答的整个过程。其他类似问题的解决过程也是类似的。 一个问题的提出到解决 问题:整体备份 Linux 系统,免去重装系统,进行各种配置,以及安装各种应用的麻烦 问题相关:Windows 下有 Ghost 类似的工具可以协助完成 Window Read more ...

2016-08-01 clonezilla , linux , backup , clone , ssd , system

我使用的 Xposed module

什么都不多说,这个神器就如 Chrome 下的 Tampermonkey,有很多神奇的待发现。 官网地址:http://repo.xposed.info/ 更新及 change log: http://forum.xda-developers.com/showthread.php?t=3034811 安装之前 查看设备CPU架构 例如:Nexus 6 CPU芯片是 armv7,选择 arm 即可。 Play Store 上有一个 Hardware Info 的 APP,可以查看 CPU 架构。 然后需要确认手机的 SELinux 设置成 P Read more ...


我使用的 Xposed module

什么都不多说,这个神器就如 Chrome 下的 Tampermonkey, 有很多神奇的待发现。一句话概括 Xposed 就是 Android 上一款可以修改任意系统进程模式的框架,包括系统进程。下面介绍的 module 基本上都是 Xposed 框架下的插件,实现了各种神奇的功能,有些功能有被官方收录到应用官方功能中的,比如 Instagram 的图片放大功能,有些功能至今还在和官方捉迷藏的,比如微信抢红包插件,还有些功能增强了系统的扩展性,让整个手机能够高效的完成日常的工作,比如在信任 WIFI 下自动解锁屏幕等等功能。总之 Xposed 框架让整个 Read more ...


Telegram 使用技巧

2020 年 4 月更新 写完这篇文章已经过去 3 年半,Telegram 还是那个 Telegram,界面没有太大的变化,但是实际上内部已经有很多变化,关注 Telegram 的官方博客 可以看到 Telegram 以非常积极的更新频率再更新,从很早以前的增加群组人数,到最近增加的 Folder 来分类自己的聊天,Telegram 正变得越来越好用。 然而也正是因为 Telegram 的工具属性,当它被用来当作犯罪工具的时候也是极具效率的,最近被揭露的「N 号房事件」把 Telegram 带到了更多人的眼前。这个时候很多人就会疑惑,Telegram Read more ...

2016-07-14 telegram , im , group , channel , sticker

最近文章

  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。
  • Headroom:让 AI Agent 少花冤枉钱的上下文压缩工具 最近一段时间我在深度使用 [[Claude Code]] 做开发工作,用得越多,账单就越触目惊心。一次稍微复杂一点的任务,比如让它读取几个文件、搜索一下代码、跑一下测试,轻轻松松就能烧掉超过 100K 的 Token。更让人无奈的是,这 100K 里面有相当大一部分是重复冗余的内容——工具调用的输出、日志、搜索结果,它们被原封不动地塞进上下文,再一次次地发给模型,而模型其实只需要其中很小一部分关键信息。
  • 用 Harbor 搭建私有 Docker Registry:从安装到日常使用的完整实践 我维护过几个跑在自己服务器上的小项目,构建出来的 [[Docker]] 镜像最早都是直接推到 [[Docker Hub]] 上的。用了一段时间之后开始觉得别扭:一些只在内网跑的服务镜像,没必要也不应该传到公开的仓库;Docker Hub 对匿名拉取做了限流之后,CI 流水线偶尔会因为触发了速率限制而失败;再加上想给不同的项目、不同的同事分配不同的访问权限时,公共仓库这套体系根本满足不了。折腾到后来我意识到,是时候在自己的机器上搭一个真正能用的私有镜像仓库了。
  • 用 New API 打造个人 AI 网关:统一管理所有大语言模型接口 这段时间我同时用着好几个大语言模型服务:日常写作和代码靠 [[Claude]],轻量任务交给 [[Codex]],搜索增强用 [[Antigravity]],还有几个本地跑着 [[Ollama]] 的小模型供离线场景使用。每个平台各自的 API Key 散落在项目环境变量里,月底要去好几个后台分别对账,想横向对比两个模型的输出还得打开不同的网页或客户端来回切换,很费事。
  • Surfingkeys:比 Vimium 更强大的浏览器键盘控制扩展 最早接触 [[Vimium]] 是在学习 Vim 编辑器之后,那种能用键盘完全控制浏览器的感觉确实让人着迷。不用频繁移手到鼠标,链接跳转、页面滚动、标签切换全用键盘搞定,效率提升的体验是实实在在的。用了几年 Vimium 之后,我开始接触到 [[Surfingkeys]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。