优化 Docker 镜像大小

优化 Docker 镜像文件的大小可以:

  • 减少构建时间
  • 节省存储空间和带宽
  • 减少安全隐患
  • 提高部署速度

Docker 镜像由很多层组成(最多 127 层),依赖很多底层基础,比如文件系统,写时复制,联合挂载等等,每创建一层都会相应地增加一些体积。

优化基础镜像

使用 Alpine 作为基础镜像。

gcr.io/google_containers/pause-amd64:3.1 镜像仅有 742KB。

scratch 镜像

scratch 是一个空镜像,只能用于构建其他镜像,比如你要运行一个包含所有依赖的二进制文件,如 Golang 程序,可以直接使用 scratch 作为基础镜像。Google pause 镜像 Dockerfile:

FROM scratch
ARG ARCH
ADD bin/pause-${ARCH} /pause
ENTRYPOINT ["/pause"]

Google pause 镜像使用了 scratch 作为基础镜像,这个镜像本身是不占空间的,使用它构建的镜像大小几乎和二进制文件本身一样大,所以镜像非常小。当然在我们的 Golang 程序中也会使用。对于一些 Golang/C 程序,可能会依赖一些动态库,你可以使用自动提取动态库工具,比如 ldd、linuxdeployqt 等提取所有动态库,然后将二进制文件和依赖动态库一起打包到镜像中。

busybox 镜像

scratch 是个空镜像,如果希望镜像里可以包含一些常用的 Linux 工具,busybox 镜像是个不错选择,镜像本身只有 1.16M,非常便于构建小镜像。

串联 Dockerfile 指令

减少 RUN 指令

应该把多个命令串联合并为一个 RUN(通过运算符 && 和 / 来实现),每一个 RUN 要精心设计,确保安装构建最后进行清理,这样才可以降低镜像体积,以及最大化的利用构建缓存。

下面是一个优化前 Dockerfile

FROM ubuntu

ENV VER     3.0.0
ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz
# ==> Install curl and helper tools...
RUN apt-get update
RUN apt-get install -y  curl make gcc
# ==> Download, compile, and install...
RUN curl -L $TARBALL | tar zxv
WORKDIR  redis-$VER
RUN make
RUN make install
# ==> Clean up
WORKDIR /
RUN apt-get remove -y --auto-remove curl make gcc
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*  /redis-$VER
CMD ["redis-server"]

构建镜像,名称叫 test/test:0.1。

我们对 Dockerfile 做优化,优化后 Dockerfile

FROM ubuntu
ENV VER     3.0.0
ENV TARBALL http://download.redis.io/releases/redis-$VER.tar.gz
RUN echo "==> Install curl and helper tools..."  && \
    apt-get update                      && \
    apt-get install -y  curl make gcc   && \
    echo "==> Download, compile, and install..."  && \
    curl -L $TARBALL | tar zxv  && \
    cd redis-$VER               && \
    make                        && \
    make install                && \
    echo "==> Clean up..."  && \
    apt-get remove -y --auto-remove curl make gcc  && \
    apt-get clean                                  && \
    rm -rf /var/lib/apt/lists/*  /redis-$VER
CMD ["redis-server"]

构建镜像,名称叫 test/test:0.2。

对比两个镜像大小:

docker images
REPOSITORY       TAG           IMAGE ID            CREATED             SIZE
test/test        0.2         58468c0222ed        2 minutes ago       98.1MB
test/test        0.1         e496cf7243f2        6 minutes ago       307MB

将多条 RUN 命令串联起来构建的镜像大小是每条命令分别 RUN 的三分之一。

为了应对镜像中存在太多镜像层,Docker 1.13 版本以后,提供了一个压扁镜像功能,即将 Dockerfile 中所有的操作压缩为一层。这个特性还处于实验阶段,Docker 默认没有开启,如果要开启,需要在启动 Docker 时添加 -experimental 选项,并在 Docker build 构建镜像时候添加 --squash 。不推荐使用这个办法,请在编写 Dockerfile 时遵循最佳实践编写,不要试图用这种办法去压缩镜像。


2019-11-19 docker , docker-image

git-crypt 使用

在了解复式计帐开源软件 Beancount 的时候偶然的知道了 git-crypt, 因为 beancount 使用纯文本来记账,非常适合使用 git 来做管理,而个人帐务资产信息又是非常敏感的内容,所以就有了 git-crypt 的使用场景。而在日常的项目管理中,如果遇到代码需要公开,而某些敏感配置,比如数据库连接配置等等,使用相同的原理 git-crypt 也能够有使用场景。

installation

git-crypt 使用 C++ 编写,安装的过程可以自行编译安装:

git clone git@github.com:AGWA/git-crypt.git
sudo apt install make g++ libssl-dev git openssl
sudo make ENABLE_MAN=yes install

详细参考官网,安装后会在 /usr/local/bin 目录中,可以使用 man git-crypt 来查看说明。

而对于 MacOS, 只需要安装 git-cryptgpg 即可:

brew install gpg
brew install git-crypt

usage

在 git 项目中加密敏感内容

配置加密工具 gpg

    # gpg --gen-key // 生成密钥(公钥和私钥),按照流程提示进行
    # gpg --list-keys // 列出当前所有的密钥,检查刚才的密钥是否生成成功

配置 git-crypt

    cd path/to/project
    git-crypt init          // 类似于 git init,安装 git-crypt 到项目中
    git-crypt add-gpg-user einverne    // 添加密钥用户,这里以我的用户 einverne 为例

添加配置文件 .gitattributes

    vi .gitattributes

格式为: * filter=git-crypt diff=git-crypt , 例如我要加密 config 文件夹的三个配置文件 , 则在 .gitattributes 文件内加入:

secretfile filter=git-crypt diff=git-crypt
*.key filter=git-crypt diff=git-crypt
secretdir/** filter=git-crypt diff=git-crypt

上传到 git

    # git rm -r --cached config/     // 清理 config 的 git 缓存
    # git add .
    # git commit -m 'git-crypt'
    # git push

导出密钥

# git-crypt export-key ~/Desktop/git-crypt-key

导出了密钥以后,就可以分发给有需要的团队内部人员。

当团队其他成员获取了代码以后,需要修改配置文件,需要先解密,解密动作只需要做一次,往后就不需要再进行解密了。

解密

# git-crypt unlock /path/to/git-crypt-key

总结

利用该方式进行配置文件管理可以保证安全性,只有团队内相关人员才能看到配置文件明文内容,解密只需要第一次进行,之后就没什么改变,直接改配置文件,git 提交会自动加密。


2019-11-17 git , git-crypt , beancount , gpg , opengpg , encryption

学习 Beancount 入门复式记账

很早就听闻了复式记账这个名词,但是一直在我的 TODO 上没来得及消化,记得当时主要是看了 wzyboybyvoid 二位的文章,我关注的不同的人选择同样的方式来做一件事情,肯定是有意义的。所以当时我就将复式计帐和 Beancount 放到了我的 Trello 待办事项里面,这几天终于有时间来了解一下了。

首先什么是复式记账,相对复式来说的记账法是单式记账,我之前一直在寻觅的记账软件 其实都是单式记帐,通过消费流水来记账,这种方式比较简单,只能够记录消费状况,其实对于自己财务的整体状况并不是很清楚,通过这样的记账方法最多只能统计到日常的消费状况,而无法回答诸如[[资产损益表]]、[[资产负债表]]等等个人帐务问题。并且对于信用卡消费还款这样的情况,单式记帐软件根本无法满足需求,而且如今个人的资金分散在支付宝,微信,银行卡,证券股票账户等等各种账户中,如果没有很好的管理,时间一长就非常难以追溯。就像 byvoid 在文章中所说的那样 —-“为什么要记账?实际上是要通过记录来增加对自我的认知。”

prerequisite

在继续看下去之前,有一些需要提前了解的概念:

  • assets(资产), what you own(cash, money in bank)
  • Liabilities(负债), what you owe(credit card account, money you owe your friends)
  • Equity (净资产)
  • Dividend (红利,股息),通过股票投资而获得的股息或红利

复式计帐

在了解复式计帐前有些名字概念需要提前了解,在提到复制记账额时候肯定会提到这一个恒等式:

debits and credits

也就是:

Assets (资产) = Liabilities (债务) + Equity(权益,或者叫净资产 net worth,或者抵押资产)

转换一下就更好理解,一个人的净资产等于资产减去负债。理解净资产后,在记账软件中我们可能会记入

  • 获得一笔收入,比如工资等等,这会增加净资产,这个被叫做 income
  • 买食物,买图书等等支出,这会减少净资产,则这个被称为 expense
  • 使用信用卡购物,则会增加相应的 Liabilities
  • 但是从银行取钱,或者存入定期则并不会增加净资产,也不会减少净资产

资产和债务字面意思都比较好理解,Equity 直接翻译叫做净资产,又有翻译叫做权益,也有一个更细节的公式:

Equity(权益,资产) = Owner's Equity(资产) - Dividends(应付红利) + Retained Earings(净收入)

也就是一个人的资产等于固有资产减去分红加上净收入。这里引入了一个 Dividends 的概念,这样的会计恒等式一般是针对公司主体而言的,所以应付红利则是表示公司对股东的分红。对个人债务而言很少会使用到 Dividends 这样的概念,所以简化一下,净收入又有:

Retained earings(净收益) = Revenue(收入) - Expense (支出)

这个公式就比较好理解了。

debits and credits equation

所以综上,得到了如上的公式,也就能总结出这几大账户,「其中有些公司记账相关的内容,比如 revenue,dividend,等这里就不提了」, 对于普通人大致可以总结出这几类:

  • 资产 Assets —— 现金 (Cash)、银行存款、有价证券、Investment, Loans credits 等;
  • 收入 Income —— 工资 (Paycheck)、奖金 (bonus)、Gift receives, Dividends, Interest 等;
  • 费用或者支出 Expenses —— 税金 (Taxes)、外出就餐、购物、旅行、Gift given、捐款 (Donations) 等;
  • 负债 Liabilities —— 抵押 (Mortgage)、信用卡应付款 (Credit Cards)、房贷 (house loans)、车贷 (car loans) 等;
  • 权益 Equity —— 一般用来记录已有资产;

而这几类的划分也正好和后面要用的 [[Beancount]] 中默认的几类账户是有关系的。

复式记账的优点

一般的流水帐是从资金角度出发,比如,某年某月某日某时某刻买了什么东西,而复式记账则能记录资产的流动:

  • 单式记账不考虑资金的来源,只记录消费支出
  • 复式记账会考虑资金的去向,和来源,比如资产从收入账户转移到银行账户,或者是从银行账户转移到股票账户
  • 复式记账可以将投资和消费区分开,甚至可以记录代金券,积分的账户
  • 复式记账适合比较复杂,比如有赊账,债权的情况
  • 复式记账可以提供除去开支记录之外的[[资产损益表]] (income statement),[[资产负债表]] (balance sheet),现金流量表,试算平衡表
  • 复式记账容易检查出记录中产生错误的地方

借贷记账法

复式记账又分为了借贷记账法,和正负记账法,这里先介绍一下借贷记账法。

借 (debits) 贷 (credits)

Debits 和 Credits 是经济交易中的双向流动:

  • Debits represent the flow of economic benefit to a destination
  • Credits represent the flow of economic benefit from a source

有借必有贷,借贷必相等

例子:

假如用现金购买了 100 元文具。

DEBIT(进) CREDIT(出)
文具 100 元

记账时需要分开记账

在文具账簿分类下

DEBIT CREDIT
2019-11-11 文具 100  

在现金账簿下:

DEBIT CREDIT
  2019-11-11 文具 100

又用信用卡 25000 购买了电脑:

工具分类下

DEBIT CREDIT
2019-11-11 电脑 信用卡 25000  

信用卡下:

DEBIT CREDIT
  2019-11-11 电脑 工具 25000

这是常见的 T 字记账法,左边表示 DR 表示增加,右侧是 CR 表示减少。

正负记账法

相较于借贷记账,正负记账则是用 +- 来分别代表流入和流出。非常相似。

假如用上面的例子,那就应该是:

2019-11-11 支出:文具  +100
2019-11-11 现金 	  -100

Why accounting?

更好的了解自己,认识自己的财务状况,这包括

  • 整理自己的账户 (Account),现金,股票账户,甚至虚拟货币账户
  • 整理自己过去所有别人欠的,和欠别人的,比如信用卡账单,贷款等
  • 了解自己能够支出的现金
  • 通过了解自己的财务状况来优化自己的消费,比如不应该在某些方面过度开销

Beancount

Beancount 是一款开源的复制记账软件,基于纯文本,按照特定语法书写的记账规则,可以非常轻松的生成各种资产报表。

A double-entry bookkeeping computer language that lets you define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.

源代码:http://furius.ca/beancount/

因为开源所以 Beancount 有无限的扩展性:

  • 支持货币转换
  • 支持编写脚本自动导入银行账单
  • 可以定制自己的 UI 界面
  • 有非常丰富的图表,甚至可以通过 SQL 生成报表

Beancount 用 Python 编写,可以从 Pypi 中拉取,同时可以安装 fava 一款比较友好的展示界面, Web UI:

pyenv local 3.6.1
python -m venv beancount
source beancount/bin/active
pip install beancount fava

安装完成后可以使用这些命令:

  • bean-bake
  • bean-check
  • bean-doctor
  • bean-example
  • bean-extract
  • bean-file
  • bean-format
  • bean-identify
  • bean-price
  • bean-query
  • bean-report
  • bean-sql
  • bean-web, Web server for Beancount ledgers. This uses the Bottle single-file micro web framework (with no plugins).

上手体验,使用 bean-example 输出样例:

bean-example > example.bean

然后使用 fava 展示:

fava example.bean

建议在安装体验完后,仔细阅读作者提供的文档.

beancount 具体语法和使用方式 byvoid 的这篇文章 已经非常清晰,也就不在这里提了。这里只简单记录一下我需要记住的一些语法单词。

账户操作语法,创立账户、备注账户、注销账户:

[yyyy-MM-dd] open Assets:Cash:CNY "CNY"
[yyyy-MM-dd] note Assets:Cash:CNY "现金"
[yyyy-MM-dd] close Assets:Cash:CNY

五种账户类型,Assets,Liabilities,Equity,Income,Expenses,分别对应资产、负债、权益、收入、支出。

账单语法:

[yyyy-MM-dd] [*|?] "payee" "content"
  [account1]          +[num] [currency-unit]
  [account2]          (-[num] [currency-unit])

支付宝账单

  • 支付宝账单,登录网页版查询
  • 银行账单
  • 其他账单可以使用这个工具 beancount-import

微信账单

微信账单可以通过如下方式导出,APP,通过“我”-“支付”-“钱包”-“账单”- 右上角“···”-“账单下载”。

导出的账单解压得到 csv,观察 csv 文件,前 16 行是账单信息,从第 17 行开始是真实有效的记录。包括了:

交易时间	交易类型	交易对方	商品	收 / 支	金额(元)	支付方式	当前状态	交易单号	商户单号	备注

处理交通银行信用卡

一种比较直观的方式就是从每个月发送的账单中,将网页的表格下载成 CSV 文件,然后使用自定的脚本批量的添加到 Beancount 中。

[[2021-02-02-beancount-introduction]]

我的管理方式

新建一个目录专门用来记录,该目录使用 git 来做版本管理,敏感内容使用 git-crypt 加密。

reference


2019-11-14 accounting , debits-and-credits , beancount , double-entry

Play Station 4 Pro Setup

记录一下 PS4 的设置。

港版 VS 国行

关于港版和国行的机器,除开价格上的差异,国行版本多了两年全国联保,不过国行版本需要特殊方式解锁。问题都不是很大。

PSN ID

关于 PSN 的注册,网上太多内容,建议注册港服,在注册的时候选择香港的服务器,并且将地址选在香港。

  • https://store.playstation.com/

在注册的时候有个操作,我们都知道 Gmail 的邮箱名,其实在邮箱名后面加 + 号,后面的内容是会被 Gmail 忽略的,比如有一个邮箱叫做 admin@gmail.com,那么可以使用 admin@gmail.com 注册一个美服账号,再用 admin+hk@gmail.com 来注册一个港服账号,但是实际注册邮件都会发送到一个地址中,但是在 Sony 的服务中就是完全两个不同的服务账号。非常方便管理,也不用注册多个 Gmail 账号来隔离,也非常方便记忆。

光盘 VS 数字版

PS4 购买游戏有两种选择,一种就是直接购买游戏光盘,一种是购买数字版,这两种的区别在于游戏光盘等通关之后还可以转手卖掉,数字版就没有办法了。不过个人推荐新推出的游戏买光盘版,时间比较老的游戏可以择时机购买数字版,因为黑 5 的游戏经常有 5 折的优惠。

网络

买来登录账号就费了一番功夫,国内的网络环境真的是!推荐在网络设置中手动设置网络地址,并且指定 DNS 服务器。这个服务器地址可以网上找找,然后使用 dig @8.8.8.8 store.playstation.com 来验证服务器是否有效。

Google DNS

  • 8.8.8.8
  • 8.8.4.4

看个人网络环境了,有可能连这个 DNS 都连不上。

韩国长安大学 DNS

  • 168.126.63.1
  • 168.126.63.2

实测比较稳定而且下载速度很快。

不知名

主 DNS 14.18.24.253 备 DNS 14.18.16.93 主 DNS 202.98.0.68 备 DNS 202.96.75.68

PlayStation Plus

PlayStation Plus 为 PS4 游戏提供线上联机服务、存档线上备份、自动下载、会员优先试玩、会员专享折扣以及每月几款免费游戏。

需要提醒一点,如果绑定了信用卡充值会员后系统会默认开通自带续费功能,要记得从系统中将其关闭,方法如下:若要停止 PlayStation®Plus 的自動更新,請在(設定)>[PlayStation Network/ 帳戶管理]>[帳戶資料]>[PlayStation 定期服務]> [ PlayStation Plus ],再選擇[關閉自動續訂機能]

推荐游戏

  • 地平线零之曙光
  • 巫师 3
  • 最后生还者
  • 神海 4
  • 战神 4
  • 仁王
  • 只狼
  • 刺客信条奥德赛
  • 死亡搁浅

支持的 USB

把 NTFS 格式的 U 盘插入后竟然不支持,只能格式化成 FAT32 来使用。

相关应用和网站

网站与论坛

  • https://www.ign.com/playstation
  • http://www.a9vg.com/

小程序

ps4 折扣助手 微信小程序


2019-11-13 sony , play-station , game

快充协议笔记

中文里面的快充,其实对应着很多个英文单次,Quick Charge, fast charge, dash charge, USB PD(USB Power Delivery), Dual charge, 这些许许多多的名词,在中文的语境中都被叫做快充其实是不太准确的。虽然都叫快充,但是其实各个设备厂商都有各自自己的实现,目前市场上比较常见的快充实现是 QC,PD。

快充区别和历史

追溯快充的历史,可以追到高通的芯片,一般被用来给移动设备芯片供电。通常意义上所讲的快充是指的,通过 USB 标准,提供 5V,2A 的充电技术。

不过不同厂家都有自己的专有技术,比如联科发的 Pump Express, OPPO 的 VOOC 以及华为的 SuperCharge.

QC

我们通常所讲的 QC 快充其实是高通的一套快充解决方案,一般搭载高通处理芯片的移动设备会用到该快充技术。

Quick Charge 也有其自身的发展,从 Quick Charge 2.0,到 3.0,到随着 Snapdragon 835 发布的 4.0,再到目前的 4+,维基百科有非常完整 QC 快充发展历史 1

qc history

PD

这里的 PD 快充指的是 USB 联盟制定的快充规范,不仅可以用于手机,还可以用于 PC,相机,显示器等等设备。PD 协议的出现也是一定程度上缓解市面上的各种不同快充协议。不过 PD 快充一定需要通过 USB Type-C 接口。使用 PD 快充,最高可达到 100W (20V * 2A). 充电装置和充电器会自动判断用多大的电流充电。高通在 QC4.0 后使用了 USB PD 规则,理论上 QC4.0 快充装置也能支持 USB PD 快充。

VOOC

这是 OPPO 的快充专有技术,授权给 OnePlus 叫做 Dash Charge,或者又叫做 Warp Charge. OPPO 算是市面上研究充电技术比较早的公司,14 年推出 VOOC 闪充,18 年商用 SuperVOOC 超级闪充,而后者是目前最快的手机充电技术。

SuperVOOC 充电规格,通过 10V/5A 高电压,大电流方式,充电功率可以达到 50W,充电 10 分钟可以得到 40% 电量。

而一加的 Warp 充电,使用 5V/6A 大电流。

SuperCharge

这是华为用来给麒麟芯片提供快充的技术。

快充实现原理

不同厂家的快充技术听名字可能会非常困惑,但追溯到原理无非就是:

  • 提高充电电压
  • 加大电流
  • 或者同时提高电压和电流

具体的实现原理,本人也不是硬件设计出身,所以具体内容也就不好展开了。

充电头和充电线

对于快充技术,一般情况下都是需要电源适配器和充电线搭配使用才能发挥最佳,使用普通充电线可能并不能达到快充效果。

这里有个小技巧,在电源适配上,除了一般的电压和电流标识,如果支持 QC 快充,一般在适配器 LOGO 中会显示一个 QC 的 LOGO(上面图中右上角的标识),一般也会标注快充的版本。

所以最理想的状态就是等 N 年过去,大家可以不再纠结什么快充协议,一个 PD 充电适配器,适配所有的设备,不管是手机,电脑,相机还是显示器。但显然要等待的时间还有些漫长。

reference


2019-11-08 quick-charge , android , usb , type-c , phone , ios , iphone

威联通折腾篇十六:加内存

最近发现威联通 TS-453Bmini 在安装服务比较多的情况下内存有些吃紧,默认的 4G 内存已经不够,日常使用开机就已经要到瓶颈,所以就不得不升级一下。网上简单的查了一下低电压版 DDR3L 1600 的内存即可,所以看到京东有十铨的有卖,所以就趁着打折买了两条 8G,119 一条也不是很贵。

具体型号:十铨低电压(1.35V) DDR3 1600 8G 笔记本内存 X2

qnap ram not enough

具体更换过程还是挺简单的,Ts-453b mini 的设计也非常简单,关机,断电,然后在机器底部有可拆卸的盖子,打开盖子就能看到非常清晰的内存条插槽,然后换入新入的内存条即可。

具体可以参考这里

reference


2019-11-02 qnap , memory

Boox Note 2 使用感受及小技巧

作为 Kindle 的用户,很早就开始注意电子墨水屏,然而 Amazon 久久不推出大屏的电子墨水阅读器,这就使得阅读 PDF 变得困难,所以最开始的时候注意到了 Sony 出的两款电子墨水屏,但是无奈价格一直非常坚挺,所以在综合一番搜索之后,首先是 YouTube 上推荐了 Boox 这个品牌,再然后就是一番搜索,发现原来国内厂商一致在做着自己的努力,Boox,iReader,LikeBook 等等,台湾的厂商读墨今年也发布了 mooInk 阅读器,电子墨水屏渐渐进入了大众的视线,经过这么多年的发展,技术也有了进步。所以综合考虑,我终于入手了这款 Boox Note 2, 原来考虑的是 Note Pro,但是看在新发布 Note 2, 系统较新,性能也更好一些,所以还是买了新发布的 Note 2.

购前调查

就如上面所说,最终锁定 Boox,经过了非常复杂的心路历程。而在 Boox 复杂的机型中,也是经过了一番比较才锁定 Note2。首先要明确自己的需求,可能对于某些人来说电子墨水并不是最佳的选择,同价格档位的选择已经可以买一台入门的 iPad Air,甚至一台不错的笔记本了。而对于我,我得主要目的是用来读 PDF,硬盘中积累了非常多的 PDF 文件,因为电脑上看起来比较费劲,而且常常容易被打断,所以我想要一台沉浸能看 PDF 的设备,另外一点就是电子笔记,iPad 的笔记手写笔记体验使得整个行业重视起手写笔记的体验,手写笔记,不仅包括阅读时的批注,也包括完全的手写笔记本。我之前有一个非常迫切的需求就是将手上的纸质笔记本电子化,纸质内容占用体积,又比较难索引,所以长久以来就只能依靠网络笔记本 WizNote 之类来整理。

所以总结来看,有两点:

  • 沉浸式的 PDF 阅读体验
  • 手写笔记

实际上这两点,要想达到倒也不是很难,关掉通知的 iPad 就能做到,但是结合我自身的情况,我并没有完整的苹果生态,我的主力笔记本是 Linux Mint,我的主力手机是 Android,我也并没有在 iOS 生态上花过钱,反而是在 Play Store 中买过很多应用,包括我想着可能在电子墨水屏上会很好用的 moon reader pro。所以最后还是选择了开放生态系统的 Boox . 并且还知道它可以支持 Google Play Store.

而选择 Boox 机型的过程也是经过了一番考虑,Boox 的机型数量非常庞大,覆盖了 7 寸到 13 寸所有常见尺寸。首先我肯定不会选择 7 存的机型了,因为我已经有 Kindle,在阅读 mobi, epub 格式的文件的时候并不会有任何的问题,再者 13 寸,我觉得有点大,虽然还是看到很多人非常喜欢 Max 的超大屏幕,但是我还是忍住了,一是价格,二是便携程度。

boox history

Size

参数 Note Pro Note 2 iPad Pro
处理器 1.6GHz 4 核处理器 Qualcomm Octa-core 2.0 GHz 8 core A53 processor A12X
内存 4G 4G 4G
存储 64G 64G 64G 起不同
重量 325g 378g 469g
厚度 6.8mm 7.1mm 5.9mm
系统 Android 6.0 Android 9.0 iOS
屏幕 10.3 10.3 iOS
分辨率 10.3 1872*1404(227PPI) 2388*1668(264PPI)
电池 4100 4300 毫安  
接口 Type-C Type-C Type-C

First impression

等商家即来已经是第三天,拿到手拆开包装,第一感觉就是大,相比较 Kindle,可显示面积大太多了,10.3 寸确实是阅读 PDF 的最佳尺寸了。开机进入界面非常简洁,我的 Boox Note2 开机后甚至什么书籍内容都没有,侧边几个选择清晰的表明了几大功能,快速浏览了一遍设置,更新一下固件,修改一下休眠时间,设置 PIN 和指纹,开启 Google Play Store,登录 Google 账号同步一切都非常满意。

然后就是连上 USB 快速的导入了几本测试书籍。

Boox Note Pro 开启 Google Play

倒没有我想象得麻烦,直接在设置中开启,认证之后就能够直接使用了,如果登录失败,重启一次就成功了。

Font

Oreader 路径,本地存储根目录,新建 fonts 文件夹。放入 TTF 文件。

Onyx Neo Reader : 路径 adobe/resources/fonts

Dictionary

系统自带字典文件,指定目录是:sdcard/dicts/xxx,每个字典都以文件夹形式保存。

最多支持同时查阅 5 本字典。

支持的字典格式:stardict/bgl/mdict 等格式。

WiFi 传书

同一局域网中,可以使用浏览器访问 Boox 中显示的地址。默认的存储路径为 /WifiTransfer

推送图书,推送网址:http://send2boox.com,支持 Onyx 账号绑定多个设备,支持单文件 200M 以内推送。

Tips

使用过程中感觉需要总结的一些使用小技巧,对于一些显而易见的技巧就不在多说,比如手写笔上中间加入的擦除按钮,稍微使用一下就知道使用方式。这里主要总结一些不看说明可能摸索不出来的小技巧。

Screenshot

截图是一个说常用也不是很常用,但是要用起来不得不用的一个功能。我们都知道 Android 的截图快捷键是电源键加音量下键,但是 Boox 并没有音量键,所以 Boox 学习了 Kindle 的做法,同时按下屏幕左上角和右下角,这时屏幕就会出现截屏选项,保存分享都随意了。截图文件会存放在存储空间的 Screenshots 目录下。

App Freezer

Boox 使用 Android 系统,优点是开放,可以一下子拥抱 Android 世界许许多多的优质应用,但是缺点也是有些应用会滥用权限,无形中消耗电量,所以 Boox 在应用界面加入了应用冻结,可以将不常用的应用冻结起来。和我平时用的 icebox 有些相似。

Go back to HOME

Android 上返回到桌面是比较常见的操作,而在 Boox 回到桌面有这样几种方式:

  • 用实体按键
  • 双击 navigation ball
  • 或者在任何应用内返回,退出

Custom Note Template

Note2 的笔记应用已经自带很多笔记模板,但是你也可以自定义笔记模板,只要将模板图片放到根目录下 /noteTemplate 即可。

一些可用的应用

阅读类

阅读任何格式,自带的阅读器就能够满足,当然如果追求 PDF 裁边,重排可以试试 KOReader

其他应用,比如[[微信读书]],多看,掌阅,网易蜗牛,kindle,不过个人倒不是很喜欢在 Boox 上用这些为手机而设计的应用。

漫画

平时不怎么看漫画,不过这几个似乎不错:

  • 快看漫画
  • 漫画人
  • 哔哩哔哩漫画
  • 其他

另外很多人用电子墨水屏来看新闻,我是觉得非常不妥的,任何带滑动列表的应用都是不推荐的。

Q&A

使用过程中发现了一些小问题,有些有临时性的解决方案,有些暂时还无解。

PDF 导出

Boox 支持在 PDF 文件阅读时直接批注,但是有一个问题就是,当想要批注和原文件一起导出时,就能够在菜单中一页一页导出,如果 Boox 能够将批注和文件一次性导出成一个新文件就好了。

手写笔侧边栏问题

在使用过程中已经知道电磁笔的侧边按钮是擦除功能,但是使用过程中非常不灵敏,时灵时不灵,并且需要非常用力按下去才能够起到作用。官方有说明是能直接使用的,但是做工也太糙了。之后尝试联系经销商,更换电磁笔无果,尝试打开很久不用的 QQ 联系 Boox 客服无果,拨打 800 客服电话,让我把设备寄送到深圳检查,邮费自理,无果。最终电磁笔的侧边按钮就只能作为装饰。这里不得不提 Boox 作为一家面向消费者的公司,在对待消费者方面态度太过恶劣。用过各种电子设备,能够自己解决的问题基本上用不着联系售后,而这是唯一一次让我花费了很多天时间来反馈的问题。而最终侧边按钮的问题依然没有得到解决,经销商推卸责任,售后不理不睬。本来还算看好的一家国内企业,在对待产品和消费者上太令人失望了。或许以后我还是相信 Kindle,iPad 好了。

boox note 2 pen eraser

reference


2019-10-31 boox , e-ink , reader , e-reader , kindle , boox-note2

Joplin 至今为止用过的最好的 Evernote 代替品

Joplin 是一个开源的笔记应用,曾经在调查 Evernote 代替品 的时候简单的看到过,但是当时也只是观望的态度,因为当时发现 Joplin 的插件有些不完美,有些网页 HTML 格式无法保证。

Joplin is a free, open source note taking and to-do application, which helps you write and organise your notes, and synchronise them between your devices.

但是时隔一些时间过来看,Joplin 发展已经超出我想象,不仅提供了各个平台的版本,还提供了命令行版本。虽然日常用 Vim,rg,fzf,git 来记录一些笔记,倒也还可以,但是毕竟有些管理上的问题,尤其是当笔记数量已经达到数百数千条的时候。

一些非常棒的特性:

  • 跨平台,横跨所有桌面端,移动端,甚至提供了命令行版本
  • 原生支持 markdown 格式
  • 所有的笔记都可以搜索,加标签,所有内容都保存在本地
  • Joplin 可以通过其他第三方同步工具 (Dropbox/NextCloud/OneDrive/WebDAV/etc) 进行备份以及同步
  • Web clipper, 之前就是因为无法逃脱好用的 WizNote 插件才没有转,现在用 Joplin 的扩展,非常好用了,很快,很精确
  • 纯文本文件保存支持方便导入导出

Installation

各个客户端的安装直接参考官方网站:

Client

桌面客户端没有什么可说的,从最早只支持 Markdown,到如今可以看网页原始 HTML,客户端也在进步。和大部分的笔记应用一样,左侧是笔记本,点开笔记本能查看笔记本中的内容,右侧主要部分就是笔记内容。

笔记本的层级关系支持树形结构,可以嵌套很多子目录,所以非常适合用来归类

更多内容可以查看我的笔记整理法则

在桌面版中,可以按下 Ctrl + G 然后输入笔记的标题来快速跳转到该笔记。或者在按下 Ctrl + G 后可以使用 # 跟着 Tag 名或者使用 @ 跟着笔记本标题来跳转。

External Editor

使用快捷键 Ctrl + E 或者直接点击工具栏的 External Editor 可以打开外部编辑器。个人推荐 Haroopad.

Chrome Extension

离不开 WizNote 和 Evernote 很重要的一点就是 Chrome 插件,在日常使用过程中,在 Chrome 下浏览咨询,工作的时间占用非常高,也经常需要收藏剪切一些资料。这个时候 WizNote 就成为了一个非常重要的资料保存箱。

在很早之前使用 Joplin 的时候,Chrome 插件不是完善,只能够将 HTML 剪切成 Markdown,并且很简陋,不能够满足我的日常使用。而这一次体验,发现 Chrome Extension 已经足够用,能够剪切选中内容,整个网页,截图保存,剪切网址等等,完全的覆盖了日常使用需求。不过有一点需要注意的是,Joplin 的 Chrome 插件是需要本地将 Joplin 开启一个服务的,并不是像 WizNote 先收藏到云端服务器,然后要使用时再从服务器中拉取的。

Terminal

命令行版本的安装也非常简单,界面布局和 GUI 版本相差不大。但是需要注意的是命令行版本和桌面版并不是共用的一套数据集,他们相互是独立的,在桌面版修改,并没有在命令行版本中。

Sync

关于同步是我最想说的,官方提供了 NextCloud,Dropbox,WebDav 等等同步方式,但是我个人推荐 Syncthing,在不同机器上都安装上,在服务器上也安装上,就完美的实现了 Dropbox,NextCloud 单点的问题,即使中心服务器挂了,也能够有多个备份能同步。

Conclusing

如今的 Joplin 已经能够满足日常使用了,所以我会渐渐的将 WizNote 笔记中的内容迁移到 Joplin 中。又将一个闭源产品迁移到开源工具,开心。


2019-10-28 evernote , notebook , joplin , note , note-taking

You quiz on the block 一则小感

总有那么一种节目,总会在不经意之间想起,《You quiz on the block》就是这样一个节目。因为刘在石,一路从无限挑战,Running Man 过来,在看过了太多室内综艺后开始对这个类型的节目有天然的抵制,街头随机采访路人,快速回答问题,最初的时候节目质量并不能维持一定的水准,但是节目在摸索的过程中渐渐进化。从原来的答题渐渐地向街头脱口秀进化,通过每一期不同的主题,将整个一集的进度链接起来。终于在上一期让我又有提起键盘写下这篇的动力。虽然每一次看《You Quiz》都会被生活在世界各个角落的普通人打动,从街头饭店的社长,到独自开理发店的老板,到为了考公务员边打工边学习的大学生,各色各样的普通人编织出不同的人生。而这一期,主题为 That’s Life,在上岩洞附近,在这个有着 25000 名电视台工作人员的地方,聚集着韩国主要的电视放送局,在电视艺能式微的今天,仍然坚守在自己热爱的岗位,淋雨拍摄的 MC,摄像,录音工作人员,熬夜编辑的 PD,后期制作,音效编辑,用一周的时间,给出 90 分钟的节目,周而复始。

或许很多人会被标题或者预告中的金泰浩 PD 和 罗英石 PD 吸引过来,但是真正让我感动的是,这两位令人最近的 PD,都是非常诚恳的普通人。金泰浩 PD 可能有些腹黑,罗英石 PD 可能有些害羞,但他们的成就对于向往 PD 这个职业,对电视台有着美好想象人来说无疑是一种鼓励。或许很多人会和我一样对 MBC 《我的小电视》助理 PD 印象深刻。在刘在石问到她想要成为一个什么样的 PD 时,这位只有着两年工作经历的 PD 说自己想要做那些不仅带来欢笑,也能带来社会意义的节目,像无限挑战一样,这一瞬间突然让我一下子出神了。让我想起了最近在看的 《Argon》,让我想起了《共犯者们》,让我想起了曾经的无限挑战,让我想起了为了新闻自由而奋斗过的各个 PD。可能对于现在的《小电视》来说只是简单的直播放送娱乐节目,但往往越被关注,需要担负的责任也越重,无挑无疑是一档为了搞笑而诞生的节目,但是其作为综艺史上的伟大作品,不仅曾经推动立法,甚至在环境保护等等各行各业给出了自己的态度。曾经追过《无挑》的人不会忘记 MBC 历史上的几次罢工,国内的新闻很少也不会特意的去报道,PD 们在背后的争取我们无从得知,但从他们的作品中我们或许能猜测到,自由的选题,自由的编辑,自由的放送,才让这个节目的名字印在历史上。也让后来的许许多多人向往着 PD 这个职业,即使知道艺能局艰辛,但依然不顾一切。或许这么说显得冠冕堂皇,那用罗英石朴素的答案来回答,当刘在石问成功的秘诀时,罗 PD 说,只是在原来擅长的基础上做一些创新,十年如一日的坚持,从最早的为各个节目打杂的助理,做到如今拥有无数档当红综艺的主 PD,他在背后的付出鲜有人知。也幸好有这样的节目,这样偶然的机会,让罗 PD 自己坐到了摄像机前。在聊天的过程中,这期的公共提问,是受到哪位公众人物的影响。金泰浩说的是刘在石,而罗 PD 说的是姜虎东,对他们赞美最多的就是如何能在这样不停变换的社会中坚持自己的职业,坚持自己的想法,从默默无闻做到如今的国名 MC。我不经想到我自己的生活,从学校步入社会,已经快 3 年,却依然还在徘徊,倒不是止步不前,但却像是在走 8 字,我无法想象往后 10 年,20 年,甚至 50 年。这一期的主题中还包含着 《You Quiz》PD 自己的私心,在如今被各种新兴媒体包围的电视上,如何还能收获足够的眼球,大部分的人早已经不看电视,被身边各种各样的内容包围,时间一旦不抓住就像水一样溜走了。如今也很少节目能真的做到如此用心,如此直白的说自己所面临的问题了。

最后要感谢 tvN 能够让这样一档节目播出,也感谢刘在石能够坚持,才能让我坐在电脑前看到,体验到世界那个角落的人的生活。也感谢制作这几十期内容的工作者们,这一集让我集中的看到了他们背后的付出。


2019-10-26 thinking

WordPress 主题收集

puock

puock 一款开源的,高颜值,自适应的 WordPress 主题,支持白天与黑夜模式、无刷新加载等

Mynote

Mynote 是一个给开发者的 WordPress 主题。特色就是简洁、简单。

YORp

Argon

Argon 是一个简洁大方的主题,还有 Hexo 版本。

Yn4N

Kratos

Kratos 是一个开源的响应式主题

动态加载版本:

Sakura

Sakura 樱花庄的白猫博客主题

Sakurairo

Sakurairo 一个多彩、轻松上手、体验完善,具有强大自定义功能的 WordPress 主题(基于 Sakura 主题,支持简繁英日多语言)

Type

Type 是一款入门的 WordPress 主题。

fjai

CorePress Pro

CorePress Pro 一款开源的 WordPress 主题。但是目前也提供两个不同的版本,Free 版和 Pro 版,Pro 版一次性付费 99 元。

WordPress Git

WordPressGit Git 主题,由云落基于 yusi 主题基础上二次开发的一款功能强大具有超强自定义能力的主题。 响应式,短代码,绿色,多彩,双栏,博客主题,小清新,代码高亮,强大,免费主题,CMS 主题,卡片式,图片主题

Independent Publish 2 是一款非常简洁的 WordPress 主题,由 Raam Dev 开发。

主题开发者

Anders Norén 是一位在 Sweden 斯德哥尔摩的设计师和开发者。他在博客上提供了很多免费的 WordPress 模板。

收费主题

ASTRA

ASTRA 是一个轻量,简介,快速的 WordPress 主题,高度可订制化。也可以通过此主题将网站快速转变成一个在线商城。

Blocksy

blocksy 是一款非常强大的主题。

B2 主题

B2 主题是一款非常不错的商业用主题。

Cosy

Cosy 是一款付费主题,售价 699 CNY。

DUX

DUX 是一款商业化比较成功的主题,售价 799 终身。

themebetter 主题对 SEO 非常友好,国内流量前几的主机测评网站,都是使用 DUX 主题。

jnews

jnews 是一款适合内容发布者的 WordPress 主题,非常容易就可以用它来打造一个视频分享网站,付费阅读站, 播客站点。

Begin 主题

Begin 主题 知更鸟定制主题,售价 299 RMB。

Yse2

RiPro-V2

RiPro-V2 是一个 RiPro 主题的全新升级重构,首页拖拽布局,高级筛选,自带会员生态系统,超全支付接口。

适合资源,源码站点。599 RMB 购买 VIP 后使用。

XIU

XIU 主题,支持百度收录推送,评论算术验证码,适用于图片展示、多元化图片新闻展示、个人博客、资源分享站,扁平化设计、简洁风、全面 SEO 优化、多重列表展示方式

zibll 子比主题

zibll 是一款 WordPress 商城主题。包含付费商城,VIP 会员,社区论坛,用户权限等等功能。

Grace

Grace 主题是一款自适应的 WordPress 博客主题。目前的版本有 Grace 8.0


2019-10-24 wordpress , themes , php , design , blog

电子书

本站提供服务

最近文章

  • AI Shell 让 AI 在命令行下提供 Shell 命令 AI Shell 是一款在命令行下的 AI 自动补全工具,当你想要实现一个功能,敲一大段命令又记不住的时候,使用自然语言让 AI 给你生成一个可执行的命令,然后确认之后执行。
  • 最棒的 Navidrome 音乐客户端 Sonixd(Feishin) Sonixd 是一款跨平台的音乐播放器,可以使用 [[Subsonic API]],兼容 Jellyfin,[[Navidrome]],Airsonic,Airsonic-Advanced,Gonic,Astiga 等等服务端。 Sonixd 是一款跨平台的音乐播放器,可以使用 [[Subsonic API]],兼容 Jellyfin,[[Navidrome]],Airsonic,Airsonic-Advanced,Gonic,Astiga 等等服务端。
  • 中心化加密货币交易所 Gate 注册以及认证 Gate.io 是一个中心化的加密货币交易所。Gate 中文通常被称为「芝麻开门」,Gate 创立于 2013 年,前身是比特儿,是一家致力于安全、稳定的数字货币交易所,支持超过 1600 种数字货币的交易,提供超过 2700 个交易对。
  • 不重启的情况下重新加载 rTorrent 配置文件 因为我在 Screen 下使用 rTorrent,最近经常调试修改 rtorrent.rc 配置文件,所以想要找一个方法可以在不重启 rTorrent 的情况重新加载配置文件,网上调查了一下之后发现原来挺简单的。
  • Go 语言编写的网络穿透工具 chisel chisel 是一个在 HTTP 协议上的 TCP/UDP 隧道,使用 Go 语言编写,10.9 K 星星。