每天学习一个命令: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

Vim 行选择复制和移动

在熟悉 Vim 基本的 yy (yank current line) 和 p (paste) 的操作前提下,如果现在 Vim 中批量的移动某一些行,或者批量的复制从第 50 行到100 行到第200行后面,以我们之前的知识,可以先跳转到第 50 行 (:50),然后进入 行选择模式 (V) ,往下选择 50 行 (50j),然后再对选中的 50 行进行复制操作 (y),然后再移动到 200 行 (:200) 粘贴 (p)。 计算一下,从选择到复制,上面的操作可以划分为 5 个步骤,需要敲击 :50V50jy:200p ,当然上面的例子只是一个极端的例子 Read more ...

2017-11-19 vim , linux , copy

精通正则表达式第三版读书笔记

这是 《精通正则表达式》第 3 版 的读书笔记。 技术图书的主要使命是传播专业知识,专业知识分为框架性知识和具体知识。框架性知识需要通过系统的阅读和学习掌握,而大量的具体知识,则主要通过日常生活的积累以及随用随查的学习来填充。 完整的正则表达式由两种字符构成,特殊字符,元字符,另外一种就是普通文本字符。 完整的正则表达式由小的构建模块单元 building block unit 构成,每个单元都很简单,不过他们能够以无穷多种方式组合,所以可以提供无限的可能。 字符组 匹配若干字符之一,使用中括号 [ea] 匹配 a 或者 e gr[ae]y Read more ...

2017-11-17 regex , java

每天学习一个命令: mtr 查看路由网络连通性

常用的 ping,tracert,nslookup 一般用来判断主机的网络连通性,其实 Linux 下有一个更好用的网络联通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。 traceroute 默认使用 UDP 数据包探测,而 mtr 默认使用ICMP报文探测,ICMP在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况。 安装 Debian/Ubu Read more ...

2017-11-14 linux , network , mtr , ping , tracert , command

Instagram 的两种ID

Instagram 的 ID 生成策略是经过精心设计过的。1 每一秒 Instagram 都会收到无数用户上传的照片,在内部使用 [[PostgreSQL]] 分片存储到不同的服务器上。 这就产生了一个问题,要设计一个唯一 ID 生成方法用来标记系统中发布的每一张图片。 系统唯一 ID 需要满足如下条件: ID 应该是时间有序的,一组照片 ID 列表不再需要外部信息就可以排序(UUID 就不合适,因为完全无序) ID 最好是 64bit ,可以节省存储空间,索引也可以更小,也方便存储到 Redis 这样的系统中 系统应该尽可能少引入外 Read more ...

2017-11-13 id , instagram , decode , reverse

每天学习一个命令:iperf 测量带宽

iperf 命令是一个网络性能测试工具。iperf 可以测试 TCP 和 UDP 带宽质量。iperf 可以测量最大 TCP 带宽,具有多种参数和 UDP 特性。iperf 可以报告带宽,延迟抖动和数据包丢失。利用 iperf 这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。 iperf 在内存中运行,不会涉及到文件系统。iperf 存在非常多的版本,Windows,Linux,Android,iOS 都有对应的版本。可以到官网下载 安装 Linux 下安装: sudo apt-get install iperf 其他系统到 Read more ...

2017-11-11 linux , iperf , network , bandwidth

md5 散列

MD5 全称为 Message-Digest Algorithm ,一般用来保证信息传输的完整一致,MD5 的结果是固定长度 128bit 。MD5 算法最开始是为密码学而设计,但是后来被发现有很大的缺陷,所以后来就用来校验文件的完整性(无意识而造成的不完整,比如下载)。MD5 在非密码学领域也有其他用途,比如在一个数据库中快速检查一个 key 是否存在。 密码学的 hash 方法一个最基本的要求是,计算机难以通过计算来找到两个不同的内容拥有同一个 hash 值,MD5 无法满足该基本条件。MD5 算法无法防止碰撞,无法用于安全性验证,对于安全性高的资 Read more ...

2017-11-10 md5 , linux , 密码,

LevelDB 使用

nodejs wrapper: https://github.com/Level/levelup 源码: https://github.com/google/leveldb LevelDB 的原理 介绍 还有 这篇 LevelDB 的 C++ 接口 使用 LevelDB 在 iOS 下的 使用 Read more ...

2017-11-08 database , keyvalue , redis , google

分布式系统中唯一 ID 的生成方法

在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID? 在单机系统中 (例如一个 MySQL 实例), unique ID 的生成是非常简单的, 直接利用 MySQL 自带的自增 ID 功能就可以实现. 但在一个存在多个 Shards 的分布式系统 (例如多个 MySQL 实例组成一个集群, 在这个集群中插入数据), 这个问题会变得复杂, 所生成的全局的 unique ID 要满足以下需求: 唯一性,保证生成的 ID 全局唯一 今后数据在多个 Shards 之间迁移 Read more ...

2017-11-08 java , 发号器 , id , auto-increase , mysql

flower 简单使用

Flower 是一个基于 Web 的监控和管理工具,可以用在 Celery 集群的监控和管理。和 Celery 配合使用非常不错。 Flower 可以查看 Celery 队列中 task 的数量,可以用来监控 worker 的状态并进行简单的管理,比如调整 worker 的 pool size 和 autoscale 设置,可以用来查看当前处理的 tasks, 等等。 安装 使用 pip 安装 Flower pip install flower 或者安装开发版 pip install https://github.com/mher/flowe Read more ...

2017-11-07 flower , monitor , linux , celery , django

最近文章

  • 突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求 如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。
  • Claude Code PM 开源项目: 给你的 Claude Code 配置一位 PM 在我使用使用 Claude Code 过程中,借鉴 Kiro,我逐渐习惯让 Claude Code 编写一个产品设计书放在 docs 文件夹下, 然后我会仔细地审查这一份产品设计文档, 修改其中的不明确的点, 或者是说 AI 理解错误的内容, 然后再让 Claude Code 通过这一个产品设计书来实现完整的代码。然而今天我看到的一个开源项目 Claude Code PM ,则是将我上面实现的这一套文档驱动的开发流程转变成了更专业的,更符合团队业务需求的流程,并且引入了敏捷开发,项目管理中的重要概念,及时是一个人的项目,通过 Claude Code PM 的流程约束,我发现 Claude Code 的智能程度也提升了不少。
  • Whispering 开源离线的语音转文字应用 在之前的视频和文章当中,我给大家介绍过非常多语音转文字的应用, 有订阅制的 [[Aqua Voice]] ,[[Wispr Flow]] ,[[Voicenotes]],[[VoiceInk]] ,[[superwhisper]] ,也有免费的 [[Spokenly]] ,在本地完全离线运行的 [[Tok]] 。 今天要为大家介绍的Whispering,正是这一领域的颠覆性产品——一个真正的开源、本地优先的语音转文字应用。
  • Crystal: 多 Claude Code 实例管理器 之前的视频当中介绍过了 Claudia,它是一个 Claude Code 的桌面管理器,它将很多 Claude Code 的终端功能迁移到了桌面版当中,它也支持在应用内直接和 Claude Code 进行对话,但是它缺少了一个核心的功能,那就是当我在同一个项目中开启不同的 Session 时,有可能产生冲突,为了避免这个问题,官方的解决办法是使用 Git worktree,在开发不同的功能时,使用不同的 Worktree 来隔离每一个 Cloud Code 的环境。 今天要介绍的 Crystal 就是这样的一款可以支持多个 Cloud Code 的桌面客户端,并且每一个会话之间相互隔离。
  • 解决 Claude Code 上下文丢失问题: claunch 项目会话管理 今天在使用 Claude Code 的过程,发生了一件非常沮丧的事情,我远程控制的 Claude Code 电脑忘记插上充电器,平时都是依靠连接的显示器进行充电的,昨天晚上将显示器关闭,导致使用的时候一直都是用的电脑的电池,于是在中午的时候,我通过 [[VibeTunnel]] 连接不上我的 Claude Code 了。并且 Claude Code 中执行的内容也中断了,最关键的是有一些上下文,如果重新再来,极有可能造成很大的不一致。

赞助