epub 格式解析

epub 是一个电子书标准,最近在研究电子书解析,所以有了此文。 一个标准的未加密的 epub 电子书大致由以下三部分组成: META-INF 文件夹,其中包含 container.xml 文件 OEBPS 文件夹,包含 images,xhtml 文件,css 样式和 content.opf 文件 mimetype 文件,内容为 application/epub+zip META-INF 文件夹 META-INF 用于存放电子书信息,默认情况包含一个 container.xml 文件: <?xml version="1.0" Read more ...

2018-09-19 epub , ebook , python-lib , parse

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

最近因为写 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

最近文章

  • 小凹语音输入法 又一款语音转文字应用 在之前的文章中写过太多的语音转文字输入法,在 B 站的视频中也介绍了不少。包括 [[Aqua Voice]],[[Spokenly]],[[Wispr Flow]],[[superwhisper]], [[Whispering]] ,国内也有不少团队做出了类似 [[闪电说]],[[Ququ 蛐蛐]] 这样体验非常棒的应用。除了豆包语音输入法,现在又一家大语言模型公司下场做语音输入法,小凹语音输入法。
  • iPhone/iOS 利用 Whistle 代理抓包 之前的一篇文章当中介绍过 Whistle 这样一款非常强大的网络代理和抓包工具,我们可以轻松的利用 Whistle 实现系统级别的抓包。在之前的一篇视频当中,我介绍过如何在桌面版,比如说 macOS 和 windows 当中利用 Whistle。本文再来介绍一下如何在 iOS/iPhone 上利用 Whistle 进行抓包。
  • 语音转文字技术方案以及应用整理 在过去一年的博客当中,我介绍了不少和语音转文字相关的应用,有一些主打的是语音转文字的延迟低,有一些则以语音笔记为卖点,还有一些是语音输入法,我还介绍过很多开源项目,主打的是将视频内容转成文字。
  • Claude Code Skills 功能介绍以及使用经验 我们在使用 Claude Code 的过程当中,是否经常会遇到重复给 AI 提供相同的提示词,不停的告诉 Claude 我自己的工作方式和代码标准,虽然在之前我们可以通过 slash command 或者 CLAUDE.md 文件来部分实现。但今天我要介绍的 Claude Skill 可以更好的帮你解决这个问题。
  • 利用 AI 来完成实盘交易 基础知识