电子书常见格式及格式转换

最近因为写 kindle 推书的服务,所以不得不接触到了不同的电子书格式,mobi,epub, azw3,都比较常见,kindle 只支持 mobi 格式,所以亚马逊提供 了 KendleGen 这个工具来将 epub 转换为 mobi 格式。 也正是因为这个结果,所以现在基本上也只有 python 读写 epub 的库,mobi 的读写目前做的也不是很好。如果单纯的只是想要转格式 Calibre 已经做的很好了,UI 也有。这里只是谈论编程方式读写 epub 格式。 格式 最近几年因为 Kindle 的介入,图书电子化的趋势越来越明显,虽然各大厂都 Read more ...

2018-09-18 ebook , epub , mobi , pdf , convert , kindlegen , calibre , python , python-lib , azw , azw3

如何配一副眼镜

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

最近文章

  • Langfuse 使得 LLM 应用全链路可观测 不知道大家在运用 LLM 的过程中有没有遇到过这样的问题,我需要不断的调试 Prompt,让 Prompt 给出符合自己满意的结果,并且在应用中使用 Prompt 的时候我需要进行成本的控制,并且持续的迭代优化,而目前大语言模型后台虽然能提供一个简单的支出统计,但用户交互过程中的信息都是捕捉不到的,比如用户的每次请求输出栓输出是否符合预期,不同版本之间的 Prompt 对结果的影响评估,以及用户请求的延迟等等。带着这些需求,我搜寻了一些方案,然后就发现了 Langfuse。
  • VibeTunnel 将终端带到浏览器 开启移动化 Vibe Coding 这两天在调研如何在移动设备上也能随时随地给 Claude Code 布置任务,自己也尝试了不少的方案,从 Tailscale,到 Remote-Code.com 到 VS Code 插件(Claude Autopilot)添加任务到队列。但是每个方案或多或少有一些缺点,比如 Remote-Code 虽然使用比较便捷,但是不支持中文。Claude Autopilot 体验也非常不错,但是我自己尝试的过程中发现长时间运行 VS Code 崩溃了两次,再到 Tailscale + 手机终端的方案,依赖于一个非常好用的 iOS 终端,虽然选择很多,但还是没有找到一款顺手的。
  • Claude Autopilot:自动化 Claude Code 任务 这两天写了很多关于 Claude Code 的相关文章,我自己也高强度的使用了接近一个月的 Cloud Code,但甚至在一个礼拜的时间内,Vibe Coding 了一个网站, 但是我在使用过程当中发现了一些问题,因为我是购买的 20 美元最低等级的套餐,所以经常使用达到 5 小时的限制,达到一个时间点之后才能继续使用。但我就想,有没有一个工具可以让我在达到时间点的时候立即开启我的任务,并且我的任务可以通过智能的队列让 Cloud Code 挨个去处理。
  • Dia 浏览器初体验 很久以前写过一篇 Arc 浏览器初印象, 一晃已经过去了 3 年,Arc 提出来了很多浏览器的创新功能,比如非常抢眼的无地址栏设计,侧边栏 Spaces 独立空间,智能标签页管理,分栏分屏,快捷命令栏,内置应用的迷你预览窗口,内置的白板和笔记等等。在过去的很长一段时间当中, Arc 都是我的备用浏览器,之所以没有成为主力是因为我的很多工作流还依赖于 Chrome 以及 Chrome 下庞大的插件生态。但是 Arc 浏览器的创始人在前段时间宣布了停止更新 ARK,并且推出了一款新的浏览器,All in AI,这款新的浏览器叫做 Dia。
  • Claudia 可视化管理 Claude Code Claudia 是一款专为 Anthropic  的 Claude Code 设计的开源图形用户界面(GUI)桌面应用,可以创建自定义代理,交互式管理,以及在后台运行。它将命令行形式的 Claude Code 转换为直观的可视化操作界面,显著提升了  AI 辅助编程的用户体验。

赞助