每天学习一个命令:使用 split 分割文件

split 命令可以用来分割文件,支持按文本分割,也支持二进制分割。常见的格式 split [OPTION]... [FILE [PREFIX]] 输出的结果为多个文件 PREFIXaa,PREFIXab … 默认的大小是 1000 行,默认的 PREFIX 是 x。 如果没有 FILE 文件,或者当 FILE 参数是 - 时,会从标准输入读取。 举例 按文件大小 -C 指定分割文件大小: split -C 10M large_file.mp4 small 将大文件 large_file.mp4 按照 10M 大小进行分割,并指定分割 Read more ...

2017-08-04 split , command , linux

Python logging 模块使用

日志是每一个编程语言必备的模块,借助日志不仅可以监控在线服务的状态,也可以在出问题之后迅速的定位问题。 基本使用 # -*- coding: utf-8 -*- import logging import sys # 获取 logger 实例,如果参数为空则返回 root logger # 最基本的入口,该方法参数可以为空,默认的 logger 名称是 root,如果在同一个程序中一直都使用同名的 logger,其实会拿到同一个实例,使用这个技巧就可以跨模块调用同样的 logger 来记录日志 logger = logging.getLogger Read more ...

2017-08-03 python , logging , logger

使用 setuptools 创建并发布 python 包

If you write something, and you want to share with the world. And let others use through pip install, you can upload your package to pypi. Create project layout Put your code in some fold like douban. Write your own setup.py to give basic info about this lib or package. And you Read more ...

2017-08-02 python , linux , packages , module

Redis 读书笔记

这篇文章主要介绍 Redis 的持久化机制,主从复制等等 持久化机制 通常情况下 Redis 会将数据存储于内存中,但 Redis 也支持持久化。Redis 支持两种持久化方式,RDB 方式 和 AOF 方式。RDB 通过快照方式,将内存数据写入磁盘。而 AOF 方式则是类似 MySQL 日志方式,记录每次更新的日志。前者性能高,但是可能引起一定的数据丢失,后者相反。 RDB 方式 RDB 通过快照 snapshotting 完成,也是 Redis 默认的持久化方式,当符合一定条件时 Redis 会自动将内存中的所有数据以快照方式保存一份副本到硬 Read more ...

2017-08-01 redis , database , database , key-value , db , reading

使用 openpyxl python lib 来读写 Excel

Openpyxl 是一个用来处理 Excel 格式文件的 Python 库,它能用来处理 Excel 2007 及以上版本的 excel 文件,也就是 .xlsx/.xlsm/.xltx/.xltm 格式的表格文件。 installation 使用 pip 安装 pip install openpyxl usage 使用方法包括读和写,参考如下例子: #!/usr/bin/env python # -*- coding: utf-8 -*- from openpyxl import Workbook, load_workbook cl Read more ...

2017-07-31 python , excel , openpyxl

免费发送邮件的服务收集整理

这一篇文章整理了一下目前互联网上免费,并且能够稳定发送邮件的服务,能够满足个人使用需求,能够通过 API 调用直接发送邮件的服务。 个人的一些要求有这些: 有一些免费的额度可以供测试及小规模的使用 域名不需要备案直接配置 DNS 即可使用 Gmail SMTP 对于小型的应用,最开始的时候可以使用 Gmail SMTP 来发送邮件,免费,并且送达率由 Google 来保证,基本没有啥问题。 但是 Gmail SMTP 发送有数量限制: 对于免费的 Gmail 账号,每 24 小时限制 500 封邮件 对于 G Suite Read more ...

2017-07-30 email , collection , email-service , linux , smtp

raspberry pi 折腾

关于树莓派的装机,配置,系统安装,网络配置等等网上有太多的叫教程,就不在一一介绍。这里主要想要整理一下在折腾过程中遇到的几个问题。一些细节很琐碎,记录下来备忘。我安装的是 Raspberry Pi 官方的系统,也就是 Debian 的衍生系统,所以绝大多数下面的内容在其他 Debian/Ubuntu/Linux Mint 系统上都可以操作。很多内容我在 Mint 下也都已经实现过。 树莓派的型号 树莓派到今天已经发布了很多代了,当时买的比较早,稍微和新一代比较一下 安装风扇 一图胜过千言 安装完成之后 更改 raspberryp Read more ...

2017-07-29 raspberryPi , linux

flask admin

Flask Admin 是 Flask 的一个管理插件,类似于 Django Admin 一样的存在,可以很方便的帮助开发者实现管理界面,并且能够提供一套和数据库对应的界面。 官网地址:https://flask-admin.readthedocs.io/en/latest/ 源代码: https://github.com/flask-admin/flask-admin Flask-Admin 提供一个现成的 SQLAlchemy 模型接口。它以类执行并接受 2 个参数:模型类和数据库会话。 初始化 Flask Admin from Read more ...

2017-07-28 flask , web , python , linux

Flask 上传文件

Flask 处理上传的文件非常简单,总结归纳可以分为三步: 使用 <form> 标签被标记有 enctype=multipart/form-data ,并且在里面包含一个 <input type=file> 标签 服务端通过请求对象上的 files 字典访问文件 使用文件的 save() 方法将文件永久地保存在文件系统上的某处 假设将上传的文件存放在 static/uploads 目录中。 werkzeug 库可以判断文件名是否安全,例如防止文件名是 /../test.png, 安装 pip install Read more ...

2017-07-27 flask , web , python , linux

Flask restful

使用 JSON 作为交换格式 处理 JSON 时,请求和响应头的 Content-Type 设置为 application/json 。 from flask import Flask, request, Response import json app = Flask(__name__) @app.route('/json', methods=['POST']) def my_json(): print request.headers print request.json rt = {'info':'hello '+request.json Read more ...

2017-07-27 linux , flask , json , restful , web , python

最近文章

  • 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]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。