如何配一副眼镜

在中国无论是购买什么东西,都需要对这一个行业进行深度的了解,不然就会被坑,眼镜同理。回想一下我当前戴的眼镜已经八年多,现在感觉是佩戴眼镜已经不舒服,所以就想要做个简单的了解。 从定下需求(寻找一副合适、舒服、能够长时间佩戴眼镜),到最后真正验光,下单购买也过去不下两个星期了。所以总结了这篇文章,如果能够帮助到其他人当然更好。 配眼镜相关的步骤无非就是验光,选镜架,选镜片,这主要的三个步骤,其中验光、镜片这两个步骤对我来说是最繁杂的部分,我上一次验光可能还是八、九年前,关于眼睛的度数散光也没怎么注意,但是验光的准确性对于配眼镜是非常重要的一步。另外就是 Read more ...

2018-09-15 眼镜 , 经验 , methodology

SQLAlchemy 中处理 relationship

本文主要关注在 SQLAlchemy 中实现基本的关系模型,一对多,多对一,多对多等等。 一对多关系 通常一对多的关系,使用外键,用最常见的用户,地址来举例,每个地址只有一个住户,但是一个住户可以拥有多个地产。所以在 Address 中有一个外键指向 user.id 的主键。而 User 表则是使用一个 relationship 来表示多个地址。 from sqlalchemy import Integer, ForeignKey, String, Column from sqlalchemy.ext.declarative import decla Read more ...

2018-09-11 sqlalchemy , sql , flask , python

邮件服务器相关概念学习

学习邮件服务器的一些笔记。 几个概念 电子邮件相关的基本概念: [[MUA]] [[MTA]] [[MDA]] MUA [[MUA]] 全称为 Mail User Agent 邮件用户代理。常见的 MUA 实例有: mutt, outlook, foxmail 等, 其主要任务是让用户能够收信,写信,发信。MUA 并非直接将 E-mail 发送到收件人手上,而是通过 MTA 代为传递。 MTA MTA 全称 Mail Transfer Agent,MTA 仅仅负责邮件的传输。常见的 MTA 有 Postfix, sendmail, Read more ...

2018-09-05 mail-server , mail , linux , smtp , mailgun , email

Appium 介绍

在接触爬虫的时候遇到了这个工具,看官网介绍应该可以归纳总结为: 开源的移动端自动化测试框架 跨平台,Linux,Mac,Windows 通吃 支持 Android,iOS,混合应用,Web 应用 设计初衷 设计哲学 不需要为了自动化而重新编译修改 App 不限定在某个语言或者框架, C/S 架构,Client 端实现语言不限制 不重造轮子,扩展 webdriver 协议 开源 Jason Huggins 在 2004 年发起了 Selenium 项目,Jason 和他所在的团队采用 Javascript 编写一 Read more ...

2018-09-03 appium , android , ios , web

Certificate pinning 介绍

在抓包 Instagram 的时候发现所有的请求都被加密,即使使用 MITM 也无法查看请求内容。Google 之后发现 Instagram,Facebook 等等应用都使用了 Certificate pinning(或者也被称为 ssl-pinning) 的技术来加强通信安全。 HTTP 在 TCP 和 IP 协议之上,HTTPS 则是在 TCP 和 HTTP 之间增加了一道 SSL or TLS 协议。 市面上的各种抓包软件的实现原理就是中间人攻击。TLS 建立时客户端生成的随机数 1 服务端生成的随机数 2 都是明文的,只有随机数据 3 使用非 Read more ...

2018-08-30 ssl , http , certificate , android , security

Centos 6/7 下安装 PHP7

下面记录下 Centos 6/ 7 下通过 yum 安装 php7 环境。 2015 年 12 月初 PHP7 正式版发布,迎来自 2004 年以来最大的版本更新。PHP7 最显著的变化就是性能的极大提升,已接近 Facebook 开发的 PHP 执行引擎 HHVM。在 WordPress 基准性能测试中,速度比 5.6 版本要快 2~3 倍,大大减少了内存占用。PHP7 在语言上也有一些变化,比如添加返回类型声明、增加了一些新的保留关键字等。在安全方面,去除了 PHP 安全模式,添加魔术引号等。不仅如此,新版还支持 64 位,而且包含最新版 Zend Read more ...

2018-08-29 centos , php7 , php , apache , yum

MDX/MDD 文件格式解析

MDict 将字典定义(关键字,解释)放在 MDX(全称 Mobile Dictionary eXchange) 文件中,字典相关的其他资源样式文件,比如图片,发音,样式放在 MDD 文件中,虽然存放的内容是不一样的,但是两种文件的结构是一致的。 mdx 文件包含了词典所有的文本,HTML,索引头部以及单词解释 mdd 文件包含了除文本以外的其他资源文件,比如图片,音频,CSS 样式,或者 JavaScript 脚本等 还有一些字典会将 CSS 单独拿出来 mdx 和 mdd 文件通常是同名出现,否则可能就会丢失样式之类。 源文件格 Read more ...

2018-08-27 python , goldendict , mdx , mdd , dict

使用 Meld 对比文件及文件夹区别

在之前总结 Nemo file browser 的时候接触到了 meld,作为一个 nemo-compare 插件可以用来轻松的比较两个文件夹,两个文件,甚至多个文件。在了解之后发现 meld 其实更加强大,结合 git 使用可以非常轻松地解决 git 的合并冲突问题。 虽然大部分情况我都是用 smartGit 来解决的,smartGit 的三路合并和 meld 能够达到的效果非常相似。 安装 sudo apt install meld 使用 打开 meld 从主界面就能看到应用的分工主要分为三块 文件内容的比较 文件夹内容的比较 Read more ...

2018-08-26 meld , linux , git , merge , conflict

Linux 下使用 ClamAV 扫描病毒

ClamAV 是开源的杀毒软件 安装 sudo apt-get install clamav 使用 更新“病毒库” sudo freshclam 然后可以使用 scan 来扫描 clamscan OPTIONS file/folders 如果可以直接从 root 开始扫描:sudo clamscan 举例 扫描全盘,并显示文件名 clamscan -r / 扫描文件,只显示被感染的文件,并且声音提醒 clamscan -r --bell -i / 扫描全盘文件,只显示感染的文件,后台执行 clamscan -r -i Read more ...

2018-08-25 linux , clamav , virus

使用 Nemo 文件管理器

自从用上 mint 之后,我才发现原来 File Manager 能这么好用,Cinnamon 自带的文件管理叫做 Nemo ,至今用过 Windows,Mac,Ubuntu 还要各种发行版,但是唯有 Cinnamon 自带的这个 Nemo 的文件管理器让我用起来最舒服。至于为什么,我一一道来。 功能 双栏 Nemo 外观很简单,和大多数操作系统的 File Browser 都差不多,左边栏基本上是顶层导航栏,然后主体部分是文件浏览的功能。但是我非常喜欢的双栏设计,当时使用 Windows 的时候还需要借助 Total Commander,而 Mac Read more ...


最近文章

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