普通视图

发现新文章,点击刷新页面。
昨天以前首页

用WinMerge进行文件夹比较时忽略git目录的方法

作者 大致
2024年9月30日 16:35

在选择比较目录目录的对话框上,点击左下方【Folder:filter/文件夹:过滤器】处的【Select…/选择】按钮,然后在【File Filters/文件过滤器】选项卡中选中【Ignore git】,确定,即可。
进入比较后,这一项也有办法解决。点击菜单【Tools/工具】->【Filters/过滤器】后,同样在【File Filters/文件过滤器】选项卡中选中【Ignore git】,确定,然后刷新重新比较,亦可。


  • (1):不像《侍魂》和《天外魔境》那样还需要把武器拾回来,而是每个人的武器都能飞去来。

微言雅语 @2024-05

作者 Jeff
2024年5月27日 22:27

✪ 链接

➀ 链接庄子的“有所待”指的是什么

原句是“夫知有所待而后当,其所待者,特未定也”,出处《逍遥游》,《庄子》首篇。

“有所待”,就是有所依赖、有所对待,是指人的某种愿望、要求的实现要受到一定主、客观条件的限制。所谓“无待”,即无所依赖,是指人的思想、行为不受某些条件的限制。

庄子认为,“有所待”是造成人生不能自由的根本原因,摆脱有待,达到无待,才能实现自由,即获得逍遥游,逍遥游也就是无待的自由境界。

节选原文:

虽然,有患。夫知有所待而后当,其所待者特未定也。庸讵知吾所谓天之非人乎?所谓人之非天乎?

译文:

虽然这样,还是存在忧患。人们的知识一定要有所依凭方才能认定是否恰当,而认识的对象却是不稳定的。怎么知道我所说的本于自然的东西不是出于人为呢,怎么知道我所说的人为的东西又不是出于自然呢?

-

➁ 链接在纯文本文件中生活|为纯文本博客辩护

文中谈及笔记文档的保存成本,对比富文本或笔记软件与纯文本的差异。在内容检索方面,纯文本的增量检索,也可以快速的定位。上万行的笔记,占用的磁盘空间非常低,执行效率很高。有逻辑的记录方法,在庞大的单文件中不一定会非常混乱。

纯文本文件目前个人遇到的问题就是移动端的编辑应用,及跨平台的同步上。iOS没有十分好的编辑应用。

-

➂ 链接深层习惯:WorkingMemory.txt(你从未听说过的最重要的生产力工具)

这个方案其实是纯文本的待办任务管理,对于纯文本而言,其记录的灵活度比常见 TODO 应用要灵活,随意按需分组和组合,只是欠缺提醒功能。但是这个方案目的在于记录和唤起任务记忆,在桌面保持打开,随时查阅随时记录。大部分没有使用任务管理应用的人,大同小异都是使用类似的方法来记录事情,或者在本子上。通过纯文本,如果使得每一天的新增或关闭的任务得到合理的显示,有合理的处理流程,是方案的重点。方案中使用 [ ] 作为一项任务的状态标识,和我另外一个方案十分接近。任务在一个文档中集中,一目了然,也有利于整体考虑和调整优先级。固定有效的记录方式,可以让脑袋清空,关注当前的工作。

-

➃ 链接Obsidian CEO 怎么使用 Obsidian (译文)

我会使用的文件夹:

附件:图片、音频、视频、PDF 等附件。

网页剪辑:用我的网络剪辑器捕获的由其他人编写的文章和网页。

每日记录:每日记录我的日常笔记,全部命名为 YYYY-MM-DD.md 。(火箭君注:我用 LogSeq 专门处理这类笔记)

各种引用:来自于 书籍、电影、地点、人物、播客等。

模板的模板:在我真正的「模板」文件夹嵌套在 Meta下,其中还包含我的个人风格指南和有关保管库的其他随机注释。

我不使用的文件夹:

Categories:类别文件夹 包含每个类别(例如书籍、电影、播客等)笔记的顶级概述。

Notes:笔记示例文件夹

我遵循的一些规则:

避免将内容拆分到多个保管库中。

避免使用文件夹进行组织。

避免非标准 Markdown。

始终利用类别和标签。

统一使用 YYYY-MM-DD 日期。

-

➄ 链接生活与工作的平衡

在孩子成长期间,不把工作带回家,非十分必要,不在晚上和周末工作,把时间留给陪伴家人和孩子。等孩子成年后,你回过头来,相信你不会后悔这个决定。


✪ 闪念

➀ 生活 | 了解并改进自己的弱点固然需要,但知道自己的优势,在合适的环境中并发挥到极致,或者投入产出比更高。就好像你十分积极的去精进自己的方方面面,但其成效不如专攻一个优势领域,其他方面合格即可。毕竟一个人的精力和时间都是有限的,需要有优先级和核心方向。

-
➁ 极简 | DONE LIST,设计一套完成清单,记录每天完成的事情。可以针对长期关注的事情加上 Project 标识。清单可以作为每日重要事项的记录,也可以对每天的完成事宜有个回顾,对自己的督办。
例子:

日期(标题)
连续序号-事项情况、遗留事项、个人感想 +项目名称(内容,多行)

-

➂ 效率 | 面对太多的电子邮件、太多的会议、太多的事情要做,我们应该选择做更少的事情,以不同的速度工作,专注于质量。


✪ 推荐

➀ 书籍《书店日记》 [英] 肖恩·白塞尔 / 顾真 / 广西师范大学出版社 / 2019-09

微言雅语 @2024-05-雅余

肖恩•白塞尔(Shaun Bythell)是苏格兰最大的二手书店、一家名叫“书店”的书店的店主,他也是威格敦图书节(Wigtown Book Festival)的组织者之一。《书店日记》是肖恩的第一部作品。

微言雅语 @2024-05-雅余
作者:肖恩·白塞尔

这是一本二手书店毒舌店主关于其开店经历的吐槽日记,吐槽顾客,吐槽店员,可能你会觉得有点水,但语言幽默犀利,绝不鸡汤,行文走心。肖恩让人相信,没有什么困境是英国人的幽默无法化解的。睡前拿起来随意读几段,还是挺舒心的,不费脑子,哈哈。作者是坐拥十万藏书的二手书商,每天守着书店等着故事上门。他还是电纸书坚决反对者,拿枪射击 Kindle 发泄不满。

我不是电纸书的反对者,毕竟电纸书真的提升了记笔记和整理的效率,但电纸书读起来的感觉还是差那么一点。如果你也是个书迷,不妨读读,这本书可以帮你打发一些碎片时间,舒缓一下精神。或者你也想开个书店,你可能会从中得到一些经验和了解现实的骨感。

纯文本生产力方案探讨

作者 Jeff
2024年5月15日 13:11

很多人会尝试利用手头有限的工具去解决日常生活、工作记录的需求,例如每日晨间日记、每日晚间小结、待办清单、完成清单、灵感速记、项目行动计划等等,或安装一些时髦的App,或直接使用记事本或者excel表格等常见软件。不少程序员利用其轻量开发工具(Sublime Text、Notepad、EditPlus等)同时完成了编码、日常记录和会议记录的诉求。借助 Markdown 语法,甚至可以作为你的超链接收藏夹管理。在纯文本生产力(Plaintext Productivity)的探索上,我分享下我的了解和方案。

探索这个方案的起因,是经历了当年印象笔记 5000+ 条笔记的迁移后,我已尽量远离云笔记,迁移成本太高了。所以现在无论笔记、日志、会议纪要和日记,都使用数据本地化的管理方式,并且文档格式永远不会过时的。

 

2008年 Daniel Lucraft 在其博客中分享了使用单个大文本文件(One Big Text File (OBTF))的利弊:

优点:1) 一切都在一个地方,2) 它很容易在计算机之间同步,3) 它可以在任何文本编辑器中使用,4) 格式永远不会过时。

缺点:1)必须严格地同步,2) 文件可能会变得非常大,3) 在一个大文件中较难找到东西,即使使用搜索,4) 想法可能会在所有其他项目中丢失。

他提出使用git进行版本管理,使用文件夹归类的方式把一个大文件进行拆分,单个文件中对于不同类型的记录内容进行堆栈式(模块化)等方法解决单个大文件的缺点。

但我不建议把纯文本文件拆分的太细,或分类到多个层级的文件夹中。尽量还是坚持一元笔记法的原则。

 

如何有效整理信息》中有关一元笔记法的三条原则:

1、一元化:所有信息都只记录在一个笔记本里/所有信息都只记录在一个文本文件里面;
2、时序化:所有信息按照时间顺序记录,把所有笔记按照日期编号,类似 YYMMDD 这样的 6 位编号/OBTF 里可以把日期标记为小标题;
3、索引化:让笔记能够通过某种规则被找到,提供寻找笔记的线索。

 

堆栈式(模块化)的区分方法其实很简单,每个部分使用明显的区分字符作为间隔。如:

______Inbox 收集箱
______ToDo List 待办清单
______Open Projects 进行中项目
______Done List 完成清单 + Daily 日记
______Close Projects 已完结项目

当任务或项目完成,则按时间倒序移动到对应的模块中。使用明显的区分字符式方便我们在搜索的时候可以快速的定位对应的位置。

 

Daniel Lucraft 在文中还分享了两个有趣的纯文本日历和日志的记录方式。

纯文本日历日记录方式:

以月为一组,每天一行文本记录当天的重要事情。保证每日的记录在一行内,控制字数

五月
2024-05-01 周三 | 启程去阿勒泰
2024-05-02 周四 |
2024-05-04 周六 | 约李娟一块吃饭庆祝
...
2024-05-31 周五 | 每日一记

六月
2024-06-01 周六 | 庆祝儿童节
...

另外对于纯文本笔记,使用日期时间,务必严格保持统一的格式,建议使用 YYYY-MM-DD HH:mm 作为固定格式,时间可选。

纯文本80字符日志:

每行开头是当日时间戳,控制每日日志字数在80字符内,中文可能40个汉字内,一年就365行,一年的点点滴滴就真的历历在目了。

 

可见在单个纯文本中的结构化处理,方式还是非常多样的。

 

Matthew Cornell 在2005年的博客中分享其纯文本的日志方式,和我目前稳定下来的记录方式差不多。每日以“---”作为间隔,正文后面带上时间戳。例子:

---
约李娟一块吃饭庆祝。
2024-05-03 12:30
---
启程去阿勒泰,第一站是喀纳斯。
DAY1:贾登峪——观鱼台——喀纳斯湖——夜宿禾木村
DAY2:禾木村——神仙湾——月亮湾——卧龙湾
2024-05-01 18:30
---

 

Jeff Huang 2022年曾分享其生产力工具就是一个永无止境的.txt文件,引起过一阵骚动。他对单个纯文本文件反复编辑更新长达14年,5万多行文字,记录他作为教授的所做的一切,每天的工作,和谁见面,遇到什么问题等等。通过搜索"meet with",会显示他有超过3000个预定的会议。他会在内容中插入 #关键词,以帮助其快速定位内容和查找上下文。每一天的日志以日期作为开始标记,使用类似"meet with"和#关键词的时候,需要保证格式统一,文本一致。在每一天结束的时候,他就会回顾一天记录的内容,并整理出第二天的待办事项,周而复始。

另外有个经典的案例就是 Soren Bjornstad 在其网站分享的 Random Thoughts,坚持从 2009年到2024年在单页网页上记录其所阅所思。以日期作为间隔,每天的多个事项以 @编号 作为锚点标记,关联的内容以 #编号 实现相互关联,目前已编号至13000+。耐心去看,当中有不少干货信息,是一笔宝贵的财富。

Matthew Cornell 曾对其单个大文本文件进行统计分析, 一个14000行的文本文件大约0.5MB,一个55000行的文本文件大约1.5MB。在2024年,这个大小的文本文件使用文本编辑器都可以秒开和保存,文件同步效率自然也没什么障碍。

 

把以上内容捋一捋,综合各大神的纯文本笔记特点,我的纯文本生产力模板文件结构是这样的:

______Motto座右铭 + Annual Plan 年度计划
/* 每次打开都警示自己和明确核心目标 */

座右铭:
年度计划:
-
-

______Inbox 收集箱
/* 你有什么想法,当天发生什么事情,什么都往这里填,可以加 #关键词 作为索引。当晚或次日早上清空,从而完成整理和回顾。 */

2024-05-01
- 灵感想法 #写作
- 今天发生的事
- 笔记
...

______ToDo List 待办清单
/* 参考 Todo.txt 待办记录规则,见以下规则于示例,+项目标记 作为索引,开始结束时间可省略 */

2024-05-01
- [x] (A) 收拾出游行李 +阿勒泰之旅 @home due:2024-05-01 2024-05-01 2024-05-01
- [完成标记] (优先级) 具体事项描述 +项目标记 @处理环境 due:期限YYYY-MM-DD 创建任务时间YYYY-MM-DD 实际结束时间YYYY-MM-DD
- [ ] (B)
...
- [ ]

______Open Projects 进行中项目
/* +项目标记 作为索引,在整个文档保持一致,标题可补充开始和截至时间 */

+项目名称 start:2024-05-01 due:2024-04-30
- 事项内容 #预定会议
- 事项计划
按需罗列计划细节
记录项目发生事项
...

______Done List 完成清单 + Daily 日记
/* 一天结束,整理、回顾,制定第二天计划,把当日收集箱和已完成任务转移到这里,可补充一段日记或每日复盘感想,每日以“---”作为间隔 */

2024-05-02
- [x] (A)
- [x] (B)
- [x]
...
当日所有速记
每日复盘
---
2024-05-01
- [x]
- [x]
...
当日所有速记
每日复盘
---

______Close Projects 已完结项目
/* 项目结束,把项目转移到这里,标记结束时间,可补充项目小结,项目间以“---”作为间隔 */

+项目名称 close:2024-05-01
- 事项
- 事项
...
项目小结:
---
+项目名称 start:2024-04-01 due:2024-04-30
- 事项
- 事项
...
项目小结:
---

以上每个“______栈”(模块)可根据自己需求调整,栈名称英文中文按喜好调整;“- 事项”按需无限增加;统一以“---”作为分隔;文件以年为周期保存为 .md 格式文件。/* */ 内为模板使用说明。

以上的纯文本生产力模板我自己也还在不断的实验和完善中。目前使用 VS Code 作为 .md 的编辑软件,工作上配合使用 WPS 进行文档处理,.md 文档文件夹使用 WPS云盘进行同步,同步文件夹放在 iCloud 盘中。这样就解决 Win + Mac 的同步处理问题,同时 iOS 可以安装应用打开 iCloud 盘中的 .md 文件进行移动编辑。部分收集箱的内容在一天结束的时候,我会转移到 Obsidian 的仓库中。这个纯文本文件作为 Obsidian 的仓库的其中一个文件也未尝不可,配合双链。

自从简化了我的笔记工具为 Obsidian + VS Code 之后,我已经很少有折腾新的笔记软件的念头。任务提醒应用我只有 iOS 原生的“提醒事项”应用。对于新生的软件工具,我只会大致的试用,了解技术的发展就适可而止了。利用倒腾软件工具的时间,把数据在各个软件间搬来搬去的时间,可以去多读几本书,多出去散步拍照。通过纯文本生产力的持续探索,我在 Obsidian 和 VS Code 所使用的插件也减少到寥寥无几。关于插件的极简,需另外开篇。

关于纯文本生产力,你还可以了解我上一篇内容介绍:值得拥有的纯文本生产力

 

扩展阅读:

- My Big-Arse Text File - a Poor Man's Wiki+Blog+PIM

- My productivity app is a never-ending .txt file

- A Plain Text Personal Organizer

这几个学术写作工具,或许可以帮你赢得审稿人青睐

作者 王隐
2019年12月17日 19:07

一篇优秀的英文 EI / SCI 论文,除了要有新颖的创新点和严密的实验方法外,或许还有一些细节需要我们关注。

你着手写一篇论文,看到各出版社不同的排版要求,该如何下手? Word?Markdown?抑或是更专业的 Latex?

无论你是理工还是文、商科,一篇论文如果只是文字,未免有些枯燥,不如做个能让人眼前一亮的配图来呈现你的实验数据与结果。

在这个仍以英文为学术主流书写语言的时代,如何保证你的论文语法通顺、词句无纰漏?要知道,拙劣的语法与词汇可是期刊拒稿的很大原因。

层层细节到最后,都会决定你的论文能否打动审稿编辑。所以,除了要关注实验本身,科研人或许还要顺手点亮些技能,这样才不会因小失大,白白付出苦熬实验室时的时间与精力。

幸运的是,随着学术写作工具的不断涌现,这些技能的学习门槛越来越低,各位科研勇士大可把更多精力放在研究的要点和实验结果上。

本文会在论文排版、制图、英文润色三部分介绍相应工具及技巧,下面就开始我们的学术写作速成之旅。

排版:脉络与格式

首先,我们来聊聊排版。

大部分学术期刊都要求作者提交一个已按期刊要求格式排好版的 PDF 文件,很多人第一个想到的就是用 Word 来排版。

虽然 Word 是一个比较成熟的排版工具,界面与功能还算完整清晰,但排版后的结果仍有很大的不确定性。

这种不确定性可能来源于不同的软件版本与操作系统,但最大的不确定性还是来自于作者的 Word 使用技巧。

一篇惊世之作万事俱备,急于与审稿人碰撞出科学火花,竟然被鸡飞蛋打的格式困住了,连编辑这关都过不去,想必每个人都不希望看到。那么,有没有一种办法可以快速按照期刊要求的格式进行排版呢?

可能很多人已经注意到了,一些期刊提供了基于 Latex 的模版包,供读者用以排版。Latex 是在 Tex 语言基础上的一种排版系统。和我们所熟知的 Markdown 一样,Tex 也是一种标记语言。与之不同的是,Tex 的语法稍显复杂,可以支持更多复杂格式。

使用基于 Latex 的排版工具,在模版包的帮助下,不但输入数字公式时更加简便,而且不用挨个调整参考文献的格式,以至于短时间就能生成一篇格式规整,排版精美的论文,作者的内容可以精准而迅速地表现在这个 PDF 文档中。

我们在这里以电气电子工程师学会(IEEE)旗下的期刊为例,假装一把学术大佬,下载 Transaction(IEEE 旗下比较有影响力的期刊系列) 的模版:

模版

可以看到,模版下载下来是一个压缩文件。

img
Transaction 系列期刊的 Latex 压缩包

模版下好后,我们就需要一个排版工具,这里最推荐的是云端工具 Overleaf,它可以即时保存,云端备份,历史记录可追溯,多平台等,跑在浏览器中的 Overleaf 最大的优点就是无需安装软件,解放硬盘。

并且,它还支持 Google 、推特、IEEE 等多账号登录。

img
Overleaf 登录页面

现在,我们注册完并登录 Overleaf ,就可以开始我们的排版了。

首先,我们先新建一个项目,将刚才下载的模版压缩包导入进来,Overleaf 可以帮你自动解压。

img
Overleaf 新建项目

这里可以看到,Overleaf 还支持 GitHub 导入,同时还自带了很多模版:journal、book、letter等。

导入之后,Overleaf 会自动进入项目,可以看到,模版压缩包中有多个 .tex 文件,代表包含了几种模版,我们选择期刊模版对应的 .tex文件(bare_jrnl.tex)。然后点击右边布局上方的 Compile 按钮(有时会是 Recompile),可以看到该模版渲染后的初始样式。

img
模版渲染效果

Overleaf 在页面布局也较为常规,最左列为文件结构,中间修改,最右预览。

可以看到,模版中,基本的结构已经划分好了,我们所要做的,就是要在 .tex 文件中把自己的内容填进去,模版中已经给了非常明确的提示。

img
模版结构

除了源文件之外,这个工具还提供了富文本预览(类似于代码高亮)的贴心功能,还有一些格式快捷键可供选择,如加粗、插入数字公式、有序/无序列表等。

img
富文本预览效果

当然,我们输入的文本需要遵循 Tex 语法规则,以下是一些常用格式及规则。

空格{} 或 \
字体大小\tiny{}, \scriptsize{}, \footnotesize{}, \small{}, \normalsize{}, \large{}, \Large{}, \LARGE{}, \huge{}, \Huge{}
斜体\emph{} 或 \sl{}
一些需要转义的字符%->\%,_ -> _,# -> #,& -> &,{ -> {,} -> }
行内公式​$…$
换行\

一篇论文除了文字,还包括图片、表格、无序列表、伪代码和参考文献等等,使用 Latex 都能快速并优雅生成。

上传图片的方式也较为常规:

img
上传图片

上传好我们的图表之后,我们在 documentclass\begin{document} 之间通过命令\usepackage{graphicx} 添加图片的包。

然后在正文处(此处以引言为例)添加一段插入图片的指令,包含图片宽度,文件名称、图片标签名称和注解信息,然后点击编译,图片就出现在右侧 PDF 的预览中。

如想在文中提到该图片,需使用 \ref{图片标签} 进行绑定,Latex 会自动生成该图片对应的编号。

img
插入图片的效果

对于独立行并编号的公式,则可以放置在\begin{equation}\end{equation} 之间,同样通过 \ref{label}引用。Overleaf 网站中也提供了一些 关于数学公式的教程,可以参考相关语法。

img
插入公式的效果

类似地,一个简易的三线表的格式如下所示:

img
插入表格的效果

以上,论文中的一些常见要素基本就已经介绍过了。

但还有一个令 Word 选手最为棘手的环节,就是参考文献

在基于 Latex 的排版系统中,参考文献主要放在以 bib 后缀的文件中,但是内容是怎样的呢?我们以 artificial intelligence 为关键词在 Google 学术中查询一篇文献为例,假设我们相中了这篇发表于 Nature Medicine 上的论文,点击引用后选择 BibTex:

img
引用一篇文章

然后,我们新建一个bib文件,再上面网页跳转后生成的内容粘贴进来。

img
新建 bib 文件

红框中的内容是该文献的引用标签,在文中需要引用的地方输入 \cite{标签} 就可以完成引用。由于标签代表了该参考文献,因此 bib 文件中的内容无需有序,且会按照期刊的规范自动编号。

img
插入参考文献效果

通过以上几步,一篇格式规整,排版精美的论文 PDF 就顺利生成了,不仅节省了时间精力,还可以轻松查询论文修改的所有记录。

img
论文修改记录查询

Windows 平台和 Mac OS 平台也有相应的 Latex 排版软件,比较有代表性的是 Windows 平台的 TeXstudio 和 Mac OS 平台的 MacTex,使用方法与在线平台 Overleaf 别无二致,不再赘述,下图为 TeXstudio 的使用界面:

img
TeXstudio 界面

好的排版工具自然也是顺手的写作工具,它们可以帮我们缕清脉络,同时也能帮我们更专注在要写的内容而不是格式上。

绘图:灵魂与亮点

如果说思路脉络是论文的骨骼,那么图表就是论文的灵魂。

数据可视化图表:Echart

img
论文中的图表

论文,就是将你所做实验进行阐述、记录、归纳的一次书面沉淀。所以,典型的理工科论文必然会有大量的实验数据,这个时候,可视化图表就派上了用场。

论文中的图表不仅要表意清晰,还要注重美观。学术写作常使用一些编程语言完成绘图功能,如 Python,Matlab 等,但这些工具对于非 Computer science 的科研人来说,会有一定的上手难度。而且这些编程工具绘图的用户体验也不能算好,不能满足「所改即所得」的实时性要求,更达不到对比的连贯性。

这里推荐百度出品的第三方可视化 javascript 库 Echarts

在 Echart 网页上,我们可以使用自带的官方模版快速生成图表,支持各种精细配置,简单易用。官方实例不仅给出了折线图、条形图、饼图、散点图等等基础图表,还提供了盒须图、热力图、平行坐标系图等较为新颖的图表模版,基本可以囊括论文对于结果数据展示的需要。

img
Echarts 提供的丰富图表

点击任意一个模版,左边是用户修改的区域,主要内容是 json 格式的图表的配置项,右边是根据用户修改实时显示的图表预览。右下角提供了三种默认的配色方案,由于不提供云端保存功能,因此在切换配色方案之前需要事先保存左边的内容。

图表生成之后,我们如何得到这个图片呢?我们对其左边配置项进行简单的修改,然后在 toolbox 配置项中添加可以保存图片的功能。点击右上角的下载按钮图片就会以 png 的格式保存:

img
使用 Echarts 生成图表

如果不喜欢官方提供的配色,还可以在配置项里进行详细的设置,配置项在文档中有详细说明。

img
Echarts 配置项文档

虽然,Echart 需要一定程度的前端基础,但不深。之所以推荐 Echart 也是因为它提供了比较完整的官方案例,就算没有多少前端知识,对着左边配置项改改参数折腾折腾也可以得到不错的图表效果。

当然,如果实在对编程特别抵触,tableau 也是一个不错的选择,上手难度不高,基本不用改参数,直接根据 Excel 表拖拽相应行列就行了,可以参考之前的 一篇文章

流程图/思维导图:ProcessOn

img
论文中的流程图

除了图表之外,论文中还会出现一些描绘结构和流程的示意图,此类图表可以更好地呈现实验方法的先后步骤。

在这里,推荐一个在线作图工具 ProcessOn ,支持流程图,思维导图,结构图,UML 图等等多种示意图,使用方法也非常简单,按照相应提示,尝试几次即可上手。

img
ProcessOn 的操作步骤

复杂示意图:sketch

img
论文中的结构示意图

在论文中,还经常会绘制一些不仅能体现步骤,还能表现数据特征,元素结构的示意图。

上图是描述两种神经网络结构及训练过程的示意图,从图中不仅可以看出方法执行的步骤,其中数据的组织方式以及网络的具体结构也一目了然。这样的图比流程图的结构更加复杂,元素的形态也多种多样,我们使用的是 Mac OS 平台下的设计绘图软件 Sketch。

Sketch 是一款矢量图绘制软件,具有和 PPT 相似的形状导入功能,并附有参考线,上手简单,以下是一个简单的例子:

img
Sketch 简易使用示意

可以看到,一些规则图形都能够通过简单的拖拽得到,修改填充和边框颜色以及长宽位置等属性也可以非常容易地进行修改。

图表作为文字与数据的抽象表达,可以更直观地向读者传达出你的观点,选择易上手的工具与合适的图表之后,还要注重美观、简洁,这样可以让你的论文更有亮点。

英语润色:保险

作为非英语母语的作者,英语近乎是最令人头痛的部分。令人惭愧的是,暂且不论流畅地道的表达,单是拼写语法,就能够牵扯我们很大一部分精力。有时圆睁双眼看上一整天,都不能发现其中若干的拼写语法错误,这时候我们就需要一个智能工具来帮我们查找并改正这些错误,在这里推荐一个英语润色工具 Grammarly,使用方式非常简单粗暴:

img
Grammarly 界面

并且它的插件可以集成在文本框内,在使用其他在线文本工具时,也可以方便地使用它的润色服务:

img
集成在文本输入框中的 Grammarly 插件

如果更正拼写及语法错误的简单功能不能满足你对于润色的需要,还可以使用人工润色,当然是需要加入会员并支付一定的费用:

img
人工润色入口

结语

一篇学术论文,操作周期上大概要 1 到 3 个月,这也决定了它和其他写作形式的不同之处:周期长、琐碎、强度高。

我们在写学术论文时,相比于前文提到的诸多细节,还应把更多精力聚焦在实验的思路,方法上,只不过是有些时候,众多琐碎总是会牵扯我们的时间与精力,而无法集中在将「实验完整还原在书面上」这一最基本的任务上。

也就是说,工具只能起到部分去除干扰的作用,论文能否在心水的期刊上发表,还要取决于实验本身以及你的呈现方式上。

至于科研捷径,应该是没有的。

如果说真有什么窍门,周末投论文好像不是好主意,周二周三倒是不错。

感谢 Dr. Li 对本文的大力支持,本文首发少数派,同步 WEB VIEW,未经许可,不得转载。

VuePress网站接入Google AdSense广告位

作者 千古壹号
2021年6月30日 19:00

前言

如果你的网站每月有一定的访问流量,可以考虑通过广告变现来获取一些收入。在自媒体的所有收入来源中,广告是最可观的收入方式。

博客网站想要接入广告位时,可以优先考虑接入Google AdSense,这是全球最成熟的广告系统。

本文会完整记录Google AdSense的账号注册、广告配置、收入提现等全流程的操作,希望能给有需要的读者一些帮助。

一、注册 Google AdSense 账号

1、注册账号

进入Google AdSense 官网 https://www.google.com/adsense/,点击右上角的”登录“按钮,登录Google 账号:

登录Google账号之后,然后在上图中,点击“开始使用”,出现如下界面:

继续:(国家选“中国”)

填写邮寄地址:

注意,这里的地址,一定要填写准确。因为以后你会收到 Google官方邮寄过来的 Pin码。

上图中,点击提交之后,会弹出如下界面:

2、将广告代码插入到vuepress网站中

安装上面的步骤注册完成后,我的 广告代码是:

1
<script data-ad-client="ca-pub-1601618516206303" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

回到 VuePress的项目代码里,配置 docs/.vuepress/config.js文件:

1
2
3
4
5
6
7
8
9
10
11
12
module.exports = {
head: [
[
"script",
{
"data-ad-client": "ca-pub-1601618516206303",
async: true,
src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"
}
]
]
};

然后把上面的代码部署到服务器。打开网站后,就可以看到广告代码生效了:

我这里配置的是二级域名web.qianguyihao.com。但是稍后Google 官方在审核我的网站的时候,审的是一级域名。所以,我还需要在qianguyihao.com里插入广告代码,这部分的操作过程是类似的,读者可以自行研究下。比如说,假如你的网站是 hexo框架搭建的,那可以研究下 hexo配置是怎么加入广告代码。

3、审核网站

将上面的广告代码插入到博客网站之后,我们再回到 Google Adsense官网的首页:

上图中,勾选“我已将代码粘贴到自己的网站”,然后点击“大功告成”按钮,之后会出现下面的弹窗:

上面的这张图表示:我们的广告账户,已经提交申请了。接下来,我们就可以安安静静地等待审核结果的邮件了。

审核时长一般需要一周左右。运气好的话,三天就能通过;运气不好的话,要等两周左右。

补充说明:只能用一级域名(如 qianguyihao.com)申请广告。申请通过后,广告代码可直接用于到该主域名下的任何子域名下, 而不需要对子域名再次审核。

4、审核通过

审核通过后,我们会收到邮件通知:

访问 Google AdSense 官网,会发现首页已经提示可以投放广告了:

20210626_1530

参考链接

二、 广告配置

配置ads.txt文件

在网站的申请通过之后,需要继续配置ads.txt文件。即:先下载ads.txt文件到本地,之后上传到网站域名的根目录下。

20210626_1531

上图中,点击”设置广告“按钮后,会自动跳到如下页面:

20210626_1558

上图中,点击”立即修正“,会出现如下界面:

20210626_1600

上图中,点击”下载“按钮,然后我们需要把下载下来的ads.txt文件,上传到服务器的指定目录下。

比如说,我的博客网站页面,是托管在阿里云服务器的/home/www/hexo的目录下,那我就把ads.txt文件上传到/home/www/hexo目录下就行了。

上传完成后,输入qianguyihao.com/ads.txt,如果成功加载到内容,说明配置成功。效果如下:

ads.txt 文件生效之后,在 AdSense官网的首页,就可以看到下图所示的界面:

20210627_2219

广告出现的位置

Google 广告分为两种:

  • 自动广告:Google 即会自动在所有最佳位置展示广告。这种广告应用之后,我们的网站会出现铺天盖地的广告,很影响阅读体验。所以本文不打算采用这种广告。
  • 在自定义位置插入广告:可以按照个人需要,在网站的指定位置插入广告。正好是本文想要采用的广告。

自动广告:

20210626_1710

在自定义位置插入广告:

20210626_1711

VuePress 添加 Google AdSense

本段讲述如何为 vuepress 站点配置”按广告单元”申请的 adsense 谷歌广告,从而可以在文章的任意位置插入广告。这里采用的技术方案是 vue-google-adsense 依赖库。具体步骤如下。

1、申请广告代码

进入Google AdSense官网:

20210627_2233

上图中,选择“按广告单元”展示,然后选择其中一个展示方式(这里我选的是左边第一个,红框处所示)。

20210627_2234

上图中,选择自己想要的展示尺寸之后,点击“创建”,出现如下界面:

20210627_2235

上图表示,成功申请到了广告代码:

1
2
3
4
5
6
7
8
9
10
11
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Web项目广告位 -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1601618516206303"
data-ad-slot="1053166290"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

记下上方广告代码中的 data-ad-client 和 data-ad-slot,稍后要用到。

2、安装 vue-google-adsense

(1)在项目的根目录下,执行如下命令,安装 vue-google-adsense:

1
npm i --save vue-script2 vue-google-adsense

(2)在docs/.vuepress目录下,新建文件enhanceApp.js,在这文件中添加如下内容,载入vue-google-adsense:

1
2
3
4
5
6
7
import Vue from 'vue'
import Ads from 'vue-google-adsense'

Vue.use(require('vue-script2'))
Vue.use(Ads.Adsense)
Vue.use(Ads.InArticleAdsense)
Vue.use(Ads.InFeedAdsense)

3、在文章内插入 AdSense 广告

编辑想要插入广告的 markdown 文档,在合适的位置插入如下代码即可:

1
2
3
4
<InArticleAdsense
data-ad-client="ca-pub-XXXXXXXXXXXXXXXX"
data-ad-slot="XXX">
</InArticleAdsense>

上面的代码中,第一行和第四行是固定的。第二行填的是你的ca-pu-id(发布商ID),第三行填的是你的slot_id(客户ID),这两行内容,在我们刚刚申请到的广告代码中可以获取。

配置完成后,稍等大概一个小时,就可以在我们的网站上看到广告投放了:

20210627_2331

上图中,用箭头处围起来的地方,就是我们投放的广告位,可以看到,广告已经成功生效了。我在对应的 markdown 文件中,是这样写的:

20210627_2346

大功告成。

4、自定义广告组件

为了方便文档的书写,以及方便广告的管理,建议将广告代码进一步封装为广告位组件。

我们可以定义多个广告位组件, 每个广告位组件唯一对应 adsense 广告的 1 个 slotId。这样就可以把 data-ad-client 和 data-ad-slot 的取值都封装到组件中。

当站点申请了很多的 slotId 时,通过”自定义广告位组件”的方法实现插入广告, 管理或修改广告数据会非常方便。

具体操作步骤如下。

(1)创建 vue 组件:

创建目录docs/.vuepress/components,在 components 目录下新建文件,比如ArticleTopAd.vue,在里面写入如下内容:

1
2
3
4
5
6
7
<template>
<InArticleAdsense data-ad-client="ca-pub-1601618516206303" data-ad-slot="1053166290"></InArticleAdsense>
</template>

<script>
export default {};
</script>

上面的代码中,需要将 data-ad-client 和 data-ad-slot 的参数值替换为你自己的实际取值。

(2)插入广告:

在md文档的对应广告位处, 注入广告位组件 ArticleTopAd 即可:

1
2
3
4
5
6
7
# js 模板引擎 mustache 用法

<ArticleTopAd></ArticleTopAd>

## 二级标题

### 三级标题

参考链接

设置收款方式

当收益达到100$之后就可以提现了。可以使用招商银行进行电汇收款。也就是说,办一张招行一卡通就可以直接收Google的外汇(美元), 然后一键换汇为人民币。我们来详细看看,具体要怎么操作。

验证身份 & 验证邮寄地址

大概过了一个月之后,我的 Google AdSense收入达到了10美元,所以首页出现了这么个提示,让我验证地址:

20211029_1621

上图中,点击「操作」,出现了如下界面:

20211029_1627

上图中,可以看出:

(1)当您的收入达到进行验证所需的最低限额时,Google官方会将个人识别码(PIN 码)邮寄到您的付款地址。

(2)自 PIN 码生成之日算起,您可以在 4 个月内将该码输入帐号。如果您在 4 个月后还未输入该码,我们会停止在您的页面上展示广告。

(3)如果幸运的话可能会收到pin码,当然也可能收不到。

详情可查看如下链接:

上面这个链接里的内容,我截图存了个档:

20211029_1637_2

付款最低限额

关于付款最低限额相关的信息,详情可以看这个链接:

也就是说,收入达到10美元之后,需要我们验证邮寄地址;收入达到100美元之后,就可以开始提现了。指日可待。

上面这个链接里的内容,我也截图存档:

20211029_1638_2

参考链接

参考链接

VuePress+阿里云搭建在线知识库

作者 千古壹号
2021年6月16日 19:00

前言

开发时间

  • 2021-06-16:折腾一下午,终于完成初步目标。输入域名,可以打开我的 vuepress项目了。
  • 2021-06-16:晚上,接入了 Google Adsense 广告位。
  • 2021-09-17:折腾一晚上,完成了CDN加速。

开发环境

  • Node版本:v12.18.4
  • 服务器:阿里云
  • CDN加速:七牛云
  • 图床:七牛云
  • 项目的效果展示:web.qianguyihao.com

实现效果

  • 自定义域名
  • 知识库支持:左侧目录的导航+右侧标题的导航。
  • 所有文件和静态资源托管在个人的私有服务器
  • 自动化部署
  • 首屏渲染完成时间控制在2秒以内。
  • 支持CDN缓存,支持PWA本地缓存。
  • 接入 Google AdSense广告。

前端:该选哪一个知识库平台

知识库(非技术平台)

  • notion

颜值高,功能强大。但国内网络不太好,且有一定的学习成本。如果你能高效上网,notion是不错的选择。
·

  • 语雀

阿里的蚂蚁金服团队出品,几乎没有学习成本。如果想搭建一个公开的知识库,但又不想折腾技术,语雀是首选。

知识库(技术平台)

在技术领域,现在流行的知识库平台主要是这四个:(颜值都不错)

  • GitBook

GitBook分为两种:一种是开源的 GitBook,另一种是 GitBook.com。开源的GitBook 自从2018年之后,官方就不再维护了。所以最佳选择是 GitBook.com。

优点:GitBook.com几乎没有操作成本,直接导入 md 文件,或者导入 GitHub项目,就能生成知识库,而且可以绑定自定义域名。在所有技术类知识库平台中,GitBook.com的的颜值是最为美观的(至少我认为如此),目录结构的样式深得我心。

缺点:无法自定义配置(只能按官方的模板来)、国内的访问速度很慢(因为页面只能托管在 GitBook.com,不能托管在私有服务器)、无法接入广告位。

操作成本很低,配置也简单,支持接入广告位。但对 SEO 不友好。总的来说,适合做轻量级的知识库。

  • hugo-book

属于 hugo博客的一种主题,样式美观。但 hugo-book 才刚推出没多久,生态不成熟,要踩的坑也不少。

  • VuePress

尤雨溪大大推出的平台。

优点:支持自定义的配置非常多,甚至支持插入自定义的 JS 代码。渲染性能好、SEO友好、支持接入广告位。

缺点:官方文档写的很烂。上手门槛较高,需要自己花很多时间折腾。

总结:

没有最好的知识库平台,只有最合适的。

最终,我选定了 VuePress 作为我的前端教程的知识库平台。因为 VuePress 具有非常好的加载性能和搜索引擎优化(SEO),也支持接入广告位,满足我的需求。

VuePress官网对几个主流的平台也做了对比:

一、本地安装 VuePress 环境

1、安装 git 环境

2、安装Node.js环境

3、安装 VuePress

安装 VuePress:

1
npm install -g vuepress

4、初始化项目

(1)新建文件夹blog

1
2
mkdir blog
cd blog

(2)初始化项目:

1
npm init -y

初始化完成后,blog文件夹内会自动生成一个package.json文件,默认的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name": "blog",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

在package.json中,新增如下内容,配置启动命令:

1
2
3
4
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}

上方内容的意思是:

  • 启动项目: npm run docs:dev,这条命令就等于vuepress dev docs

  • 打包项目: npm run build 这条命令就等于 vuepress build docs

(3)新增.gitignore文件,将默认的临时目录和缓存目录添加到这个文件中:

1
2
3
node_modules
.temp
.cache

5、创建第一篇文档

(1)新建docs文件夹,这里面可以存放我们写的.md类型的文章以及.vuepress相关的配置:

1
mkdir docs

(2)创建第一篇.md格式的文档:

1
2
3
4
cd docs

# 这行命令的意思是,新建文件 readme.md,并写入内容 ## Hello VuePress
echo '## Hello VuePress' > README.md

6、在本地预览项目

输入如下命令,在浏览器预览项目:

1
2
3
4
$ npm run docs:dev

success [20:34:58] Build 5dfce5 finished in 4843 ms!
VuePress dev server listening at http://localhost:8080/

在浏览器输入 http://localhost:8080 ,就能看到 VuePress 的默认主题下的主页了:

7、打包项目

运行npm run docs:build将项目打包,打包文件会在docs/.vuepress/dist目录下自动生成。稍后,我们把这个目录下的文件,部署到服务器端,然后配置 nginx代理,就可以在网上上正常访问了。

二、页面配置

基本配置

(1)在docs文件夹中创建.vuepress文件夹:

1
mkdir .vuepress

这个文件存放的是vuepress相关的配置

.vuepress 目录下,新建一个总的配置文件config.js, 这个文件的名字是固定的:

1
2
cd .vuepress
touch config.js

config.js中最基础的配置文件内容如下:

1
2
3
4
module.exports = {
title: '千古前端图文教程',
description: '从零开始学前端,超详细的前端入门到进阶学习笔记。',
}

设置封面页

我们可以在 之前新建的 readme.md文件中,设置封面页。 官方也给我们提供了封面页的模板,比较实用的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
---
home: true
heroImage: https://vuepress.vuejs.org/hero.png
heroText: VuePress
tagline: Vue 驱动的静态网站生成器
actionText: 快速上手 →
actionLink: /zh/guide/
features:
- title: 简洁至上
details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动
details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。
- title: 高性能
details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: MIT Licensed | Copyright © 2018-present Evan You
---

效果图如下:

支持PWA

vuepress还有一个我比较看重的优势, 就是支持PWA, 当用户没有网的情况下,一样能继续的访问我们的网站。

0.x 版本中我们只要配置serviceWorker: true 即可, 但是我们现在使用的是1.2.0版本, 这个版本中已经将这个功能抽离出来作为插件的方式使用, 下面就看一下具体如何使用的:

首先需要安装插件:

1
2
yarn add -D @vuepress/plugin-pwa
# 或者 npm install -D @vuepress/plugin-pwa

config.js中配置:

1
2
3
4
5
6
module.exports = {
plugins: ['@vuepress/pwa', {
serviceWorker: true,
updatePopup: true
}]
}

注意,为了让你的网站完全地兼容 PWA,你需要:

  • 在 .vuepress/public 提供 Manifest 和 icons
  • .vuepress/config.js 添加正确的 head links
1
2
3
4
5
6
7
8
// 配置
module.exports = {
head: [
['link', { rel: 'icon', href: `/favicon.ico` }],
//增加manifest.json
['link', { rel: 'manifest', href: '/manifest.json' }],
],
}

manifest.json 文件

1
2
3
4
5
6
7
{
"name": "qianguyihao_blog",
"short_name": "blog",
"version": "1.0.0",
"description": "qianguyihao的博客",
"manifest_version": 2
}

三、服务器端配置

配置nginx代理

首先,要确保你满足下面几个条件:

  • 你有一台服务器
  • 已经安装好nginx
  • 有一个已备案的域名

通过ssh工具远程连接服务器端,然后开始配置 nginx代理。

(1)为 vuepress 创建一个部署目录 /home/www/vuepress

1
mkdir -p /home/www/vuepress

(2)进入 /usr/local/nginx/conf 目录,并对 nginx.conf 配置文件进行相关配置:

1
2
3
cd /usr/local/nginx/conf
ls
vim nginx.conf

打开nginx.conf文件后,按 i 键由命令模式切换到编辑模式,修改三个地方:

  • 首先将最顶端的用户改为 root。
  • 其次,将 server_name 改为自己的域名。如果没有备案,可以先填写自己的公网 IP(在阿里云控制台的 ECS 实例中查看),访问时暂时用公网 IP 进行访问。
  • 最后,将location中的 root 项中的值改为 /home/www/vuepress;。如果 server 中的端口号不是 80,则改为 80

修改结束之后,先按 Esc 由编辑模式切换到命令模式,再输入 :wq 命令保存并退出编辑器。

我们需要在 nginx.conf 中 添加下面的配置:

1
2
3
4
5
6
7
8
9
server {
listen 80;
server_name web.qianguyihao.com;
location / {
root /home/www/vuepress;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}

(3)上传静态资源文件:

将静态资源文件放置到服务器上,路径为配置的 /home/www/vuepress, 可以借助xftp工具上传也可以通过git克隆, 选择适合自己的方式就可以。

稍后,我们将介绍如何进行自动化部署(即自动化上传文件),这种方式最科学,最高效。

(4)修改nginx后,重启nginx:

1
2
3
cd /usr/local/nginx/sbin
ls
./nginx -s reload

参考链接:

新建远程git仓库,为自动化部署做准备

为了使我们能够在本地向服务器实现自动部署,需要在服务器端新建一个 Git 用户。然后使用公钥连接成功之后,就可以方便地随时进行自动部署了。

具体操作,可以看我写的另外一篇blog:hexo+阿里云搭建博客网站

现在,我们开始在服务器端配置 Git 仓库。

(1)在服务器端使用 Git 用户 创建 git 仓库:

1
2
3
su git
cd ~
sudo git init --bare vuepress.git

(2)接着上一步,准备配置hooks(钩子)。hooks的作用是:当代码在本地执行 git push后,服务端会自动执行一些操作。

命令如下:

1
2
3
4
5
6
7
8
9
cd /home/git/vuepress.git/hooks
# 通过copy 新建post-update 文件
sudo cp post-update.sample post-update

# 修改文件权限
sudo chmod +x ~/vuepress.git/hooks/post-update

# 编辑 post-update 文件
sudo vim post-update

更改 post-update 文件为如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
#exec git update-server-info
echo "Im update"
# 代码仓库目录
GIT_REPO=/home/git/vuepress.git
# 临时目录
TMP_GIT_CLONE=/home/tmp/vuepress
# nginx的root目录(存放编译打包后的资源文件)
PUBLIC_WWW=/home/www/vuepress

rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
mv -t ${PUBLIC_WWW} ${TMP_GIT_CLONE}/*

上方配置中,GIT_REPO就是我们服务器端git仓库的地址,TMP_GIT_CLONE就是临时存放上传的资源的路径,PUBLIC_WWW是项目最后存放的地方,对于这个博客来说,这个PUBLIC_WWW就是之前Nginx配置的root。

这个脚本的含义就是,当我们在本地进行提交的时候,服务器接受后,会将其复制到临时存放目录,然后转移到项目路径下,从而使得我们:只需要在本地把生成的项目push到远程服务器,服务器就可以自动帮我们部署到对应的文件夹啦。

(3)创建临时目录:(这里其实是以root身份创建的)

1
2
sudo mkdir /home/tmp
sudo mkdir /home/tmp/vuepress

让git用户拥有这个目录的操作权限:

1
2
3
sudo chown git:git -R /home/tmp

sudo chown git:git -R /home/www/vuepress

(4)重启 ECS 实例。

文件的权限问题,遇到的坑

后来在本地上传文件到服务器的时候,每次都提示权限不足。原因是:我们用到的诸如/home/git/vuepress.git之类的文件,都是以root身份创建的,其所有者为root用户,所以git用户没有权限进行读写操作,因此我们可以使用如下命令,让git用户拥有这个目录/文件的权限:

1
sudo chown git:git -R xxx //xxx为对应的文件或目录

发布到服务器端

回到本地的vuepress项目,在根目录下,执行如下命令将项目的静态文件发布到服务器端:

1
2
3
4
5
6
7
8
9
10
11
12
# 编译生成静态文件
npm run build

# 进入生成的文件夹
cd docs/.vuepress/dist

git init
git add -A
git commit -m 'deploy'

# 以git用户的身份,发布到阿里云服务器。这里的xxx是服务器ip
git push -f git@xxx.xxx.xxx.xxx:/home/git/vuepress.git master

补充:当你执行上方的最后一行 git push命令时,如果提示下面这个错误,那可以确定,就是权限的问题:

1
2
3
4
5
6
7
8
# case1
remote: fatal: 不能为 '/home/tmp/vuepress' 创建先导目录: 权限不够
remote: cp: 无法获取'/home/tmp/vuepress' 的文件状态(stat): 没有那个文件或目录
To xxx.xxx.xxx.xxx:/home/git/vuepress.git

# case2
remote: rm: 无法删除'/home/www/vuepress': 权限不够
remote: cp: 无法创建目录 '/home/www/vuepress/vuepress': 权限不够

如果每次发布时,都要执行上面的命令,那就太麻烦了。所以,我们可以把这些命令,放到 deploy.sh下,实现自动化部署。具体做法如下。

自动化发布到服务器

在本地项目的根目录,创建deploy.sh文件来运行自动部署命令,文件里的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
npm run build

# 进入生成的文件夹
cd docs/.vuepress/dist

git init
git add -A
git commit -m 'deploy'

# 如果发布到 https://<USERNAME>.github.io USERNAME=你的用户名
# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master

# 如果发布到 https://<USERNAME>.github.io/<REPO> REPO=github上的项目
# git push -f git@github.com:qianguyihao/web.git master

# 以git用户的身份,发布到阿里云服务器
git push -f git@47.112.XXX.XXX:/home/git/vuepress.git master

cd -

上面的内容配置完成后,以后,我们只要输入输入npm run deploy,并输入服务器的密码,即可一键将本地的vuepress文件部署到服务器端。

到此,我们就完成了服务端的配置。

参考链接

把上面的三个链接,结合起来看,最终实现了我的自动化部署的目标。

二级域名的 DNS 解析

在此之前,需要先将域名进行备案。域名备案成功之后,我们就有能力使用域名登陆自己的博客了。

我的项目是二级域名 web.qianguyihao.com,所以dns解析的配置是这样的:

上面的红框部分,就是我这次要加的dns配置。其他的配置,是我以前在搭建 qianguyihao.com 博客的时候做的配置。

访问页面

上面的内容配置完成后,我们就可以通过http://web.qianguyihao.com访问前端应用了:

注意,修改完nginx,然后重启nginx之后,如果网站打不开,可能是浏览器缓存的问题,建议重新开一个无痕模式的浏览器窗口;也可能是 https 的问题,因为暂时还没有开启 https,所以只能通过 http 来访问,访问https是打不开的。我就是在这个地方,卡了很久。

给二级域名安装 https证书

在阿里云的搜索框里搜“ssl证书”,然后进入管理控制台,申请免费证书:

上图中,点击“证书申请”之后,弹出如下内容:

上图中,填写自己的二级域名,然后点击下一步:

上图中,点击验证,然后提交审核。

审核通过后,就可以下载证书,并配置 nginx了,这部分的操作流程,可以参照我之前写的博客:hexo+阿里云搭建博客网站

二级域名开启 https 的nginx配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name web.qianguyihao.com;

ssl_certificate /usr/local/nginx/cert/5808232_web.qianguyihao.com.pem;
ssl_certificate_key /usr/local/nginx/cert/5808232_web.qianguyihao.com.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root /home/www/vuepress;
index index.html index.htm;
}
}

证书安装完成后,重启 nginx,然后就可以通过 https://web.qianguyihao.com 来访问了:

三、自定义主题:vuepress-theme-reco

我用的是 vuepress-theme-reco 主题。

主题安装和使用

安装:

1
npm install vuepress-theme-reco --save-dev

引用:

1
2
3
4
5
// .vuepress/config.js

module.exports = {
theme: 'reco'
}

自动生成 sidebar

在vuepress配置sidebar时,每篇文章都要配置对应的位置。正常情况下咱们会这样配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// .vuepress/config.js
module.exports = {
themeConfig: {
sidebar: [
{
title: 'vue', // 必要的
collapsable: false, // 是否展开分组 可选的, 默认值是 true,
sidebarDepth: 2, // 可选的, 默认值是 1
children: [
'document/vue/','document/vue/vue1.md','document/vue/vue2.md'
]
},
{
title: 'js',
children: [ /* ... */ ]
}
]
}
}

但是显而易见,当我们日后文章数量增加,又或者我们需要更改名称,这时候就又得找到位置更改名称。相当的麻烦。

我们可以写一段代码,对 sidebar 进行自动配置。做法如下。

首先,我们先整合下目录,根据不同文章分类进行分组,如下:

1
2
3
4
5
6
7
8
9
10
.
├─document/
│ ├─ vue/
│ │ ├─ README.md
│ │ ├─ vue1.md
│ │ └─ vue2.md
│ └─ js/
│ ├─ README.md
│ ├─ js1.md
│ └─ js2.md

接着我们在.vuepress创建两个文件 一个是sidebarConf.js,用来生成对应的侧边栏列表 另一个是getDocPath.js文件,用来获取所有的文章名。

1
2
3
4
5
6
.
├─ docs
│ └─.vuepress
│ ├─config.js
│ ├─sidebarConf.js
│ └─getDocPath.js

(1)获取文件名:

getDocPath.js 获取一个目录下的所有文件名。注意需要排除.DS_Store文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
* 获取目录下的所有文件的相对路径
* 解决路由名称枚举问题
*/
const fs = require('fs')
const path = require('path')
function getDocPath(title,collapsable,relateivePath) {
const absolutePath = path.join(__dirname, '../' + relateivePath)
const files = fs.readdirSync(absolutePath)
const components = []
// 排除检查的文件
var excludes = ['.DS_Store']
let arr = files.sort(function(a, b) {
// 截取'.'之前的数字进行排序 例如 1.vue 2.vue 3.vue
return a.split('.')[0] - b.split('.')[0];
});
arr.forEach(function (item) {
if (excludes.indexOf(item) < 0) {
let stat = fs.lstatSync(absolutePath + '/' + item)
if (item == 'README.md') {
components.unshift(relateivePath + '/')
} else if (!stat.isDirectory()) {
components.push(relateivePath + '/' + item)
} else {
console.log(relateivePath + '/' + item)
getDocPath(relateivePath + '/' + item)
}
}
})
let frame = {
title:title,
collapsable:collapsable,
children:components
}
return frame
}
module.exports = getDocPath

(2)配置侧边栏:

sidebarConf.js 调用getDocPath()方法,组成侧边栏的数据列表,对应文章开头的原始配置格式。

1
2
3
4
5
const getDocPath = require('./getDocPath')
module.exports = [
getDocPath('vue',true,'document/vue'),
getDocPath('js',true,'document/js')
];

(3)挂载进config:

1
2
3
themeConfig: {
sidebar: require('./sidebarConf'),
}

至此完整的功能已全部写完, 如果此配置还满足不了你的需求,想配置成多个侧边栏,在每个不同的分类生成对应的自己想要的侧边栏。

生成的效果如下:

本段的参考链接:

我也尝试了按照下面两个链接里的方法,自动生成sidebar,但是并没有生效:

设置侧边栏的标题

不需要在文件中写一级标题,我们可以在Front Matter中设置tittle。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# XXXX.md
---
title: Kaldi声纹识别代码详解|egs/aishell
categories:
- 声纹识别
tags:
- Kaldi
publish: true
---

::: tip
尝试添加摘要
:::

<!-- more -->

## 正文的一级标题
(正文)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

参考链接:

参考链接

bug修复

1、标题无法选中的问题:

临时的解决办法:打开node_modules/vuepress-theme-reco/styles/theme.styl文件,然后将h2的样式加上z-index -1,将h3的样式加上z-index -2

参考案例

vovo-docs

网上的很多案例,讲的都是搭建博客,却没有讲搭建知识库、文档、wiki。我想要的效果是:左边显示多个文档的结构和目录导航,右侧显示单篇文章的目录导航。下面这几个案例,就很不错。

我搜遍了整个 google 和github才找到的。我发现,如果要找源码的话,搜 github 比搜google高效多了。

全网就这一个案例,提供了完整的demo和源码。我fork了一下。

很美观,很规范。

冴羽的TS教程

上面这篇文章,作者@冴羽也是用的vuepress-theme-reco主题,操作步骤写的比较详细。缺点是,没有讲如何自动生成侧边栏(左侧)目录。

项目效果如下:https://ts.yayujs.com/

Apifox的官方文档

做的很漂亮,也是用的vuepress-theme-reco主题,可惜没有开源。

好看的主题推荐

网站性能优化:开启gzip压缩

要知道,网站的打开速度取决于浏览器打开下载的网页文件大小。如果传输的页面内容文件减少,那你网站的打开速度一定会加快。特别是手机端的用户,打开网站速度受限于移动端网络,所以压缩网站页面内容显得至关重要。

在 nginx配置中开启 gzip压缩之后,可以将网页文件至少压缩50%,极大的提高网页的打开速度和网站性能。具体做法如下。

进入服务器的 /usr/local/nginx/conf 目录,并对 nginx.conf 文件进行相关配置。找到#gzip on;这行配置(这行配置是在http层的),并在其下方加入如下内容:

1
2
3
4
5
6
7
8
9
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

然后重启nginx。

压缩前:

压缩后:

除此之外,我们可以使用站长工具,打开「网页GZIP压缩检测」,查看检测结果:

上图中可以看到, gzip的缩率高达78%,压缩效果显著。

参考链接:

网站性能优化:CDN加速

CDN 加速就是把原服务器上数据复制到其他的诸多服务器上,用户访问时,哪台服务器近就访问那台服务器上的数据。CDN 加速优点是成本低,速度快。适合访问量比较大的网站。而且,如果你的博客所在的主机是限制流量、限制带宽的,那么,一个很好的办法就是把图片、js文件等静态文件部署到其他服务器(即cdn所在的服务器),这样就可以极大地减少主机流量消耗,并提升网站的访问性能。

科普概念的参考链接:

下面来讲一下我的 web.qianguyihao.com 网站是怎么进行CDN加速的。我是把 网站的 js 静态文件部署到了七牛云上。cdn文件的域名采用的是 web.smyhvae.com

七牛云 cdn 优化步骤

在这之前,请先确保你的七牛云账号里,已经新建好了一个自己的「对象存储空间」。

(1)打开七牛云,新建域名:

新建完成后,等待几分钟,就审核通过了:

(2)配置DNS域名解析:

(3)给七牛云上的 web.smyhvae.com 申请 https证书。配置方法详见我的另外一篇文章:

(4)把 vuepress项目编译后的文件(即docs/.vuepress/dist/assets目录下的所有文件) ,挨个上传到七牛云。

文件列表如下:

上传截图如下:

如上图所示,上传的时候,注意路径的前缀。比如, assets/css目录下的文件,前缀需要设置为assets/css/

优化成果

(1)开启 gzip压缩之后:页面首次渲染完成时间,从55秒变成了10秒。

(2)开启CDN加速之后,页面首次渲染完成时间,从10秒变成了2秒以内。

(3)再加上 VuePress 框架本身支持 pwa本地缓存,二次访问速度贼快。

修改静态资源的访问路径

做了cdn加速之后,所有的静态资源文件,url链接会从 https://web.qianguyihao.com/assets/js/app.53a9121a.js 这样的格式变为https://web.smyhvae.com/assets/js/app.53a9121a.js这样的格式。这里,我们把前者称之为链接1,把后者称之为链接2。

当我们输入 网址 web.qianguyihao.com时,要怎么确保网站加载的是 链接2的资源而非链接1的资源呢?这就要我们继续修改 vuepress 项目的配置。继续往下看。

一开始,我想的是修改 vuepress项目配置文件的base 参数:

如上图所示,当我尝试把 base参数的值改为https://web.smyhvae.com/之后,网站首页的效果符合预期,但点击其他tab之后,效果竟然是这样的:

如上图所示,页面的url里,竟然多了个 https。把这个页面刷新之后,就提示“打不开了”:

那要怎么办呢?可以这样做:

(1)首先,base参数不用改,继续保持 \即可:

(2)其次,打开 vuepress项目编译后的目录web-vuepress/docs/.vuepress/dist,然后手动里面的所有的引用链接,改动内容如下:

改动前:

1
2
3
4
5
href="/assets/

src="/assets/

"url": "assets/

改动后:

1
2
3
4
5
href="https://web.smyhvae.com/assets/

src="https://web.smyhvae.com/assets/

"url": "https://web.smyhvae.com/assets/

差不多有5000个地方要改。改完之后的效果如下:

(3)将改完之后的内容进行发布:

  • web-vuepress/docs/.vuepress/dist/assets目录发布到七牛云的cdn加速空间。
  • web-vuepress/docs/.vuepress/dist目录发布到阿里云服务器。

发布完成后,就达到了我们的预期效果:

参考链接

使用的是vuepress框架。

vuepress接入广告、统计,写得很清楚。

如果只搭建一个页面,可以参考这个。

重度使用这款墨水屏手机之后,谈谈我对电子纸的理解和预测

作者 千古壹号
2021年2月11日 01:28

这篇文章不是万字长文,而是三万字长文。建议先收藏转发,再细细品读;如果有条件,可以在电子纸设备上阅读。

前言

阅读是最便宜的旅行。最近几年,我的业余时间里投入最多的就是看书,大部分是阅读的电子书。对我来说,阅读不只是为了满足好奇心和求知欲,有时候纯粹只是一种习惯和消遣,就像很多人喜欢玩游戏一样。

看电子书的时候,有人喜欢在电脑上边看边整理笔记;有人喜欢在 iPad上写写画画;而更多的人是选择在手机上看电子书,手机是肢体的延伸。

电子屏幕看久了之后,很容易视觉疲劳,眼睛会疼,头会晕,甚至影响到身体健康。于是,在看电子书的时候,如何做到“既保护眼睛,又保证阅读体验”,成了所有人的难题。

几个月前,我得知有一款主打阅读功能的电子墨水屏手机「海信A5 Pro 」上市,评价还不错。于是,我在11月1号,趁着双十一的优惠价,毫无犹豫地下了单。

将这款手机重度使用了三个多月之后,我特地来谈一谈使用感受。

也有人说:看纸质书最享受、最舒服。其实,不看书才最舒服,看书是反人性的。纸质书和电子书的阅读方式,各有千秋,本文就不做重点讨论了。

只讲手机测评远远不够,故事才刚刚开始。电子纸未来将会成为革命性的产品。

墨水屏的介绍

墨水屏的技术原理

液晶显示屏:目前常见的手机屏幕、电脑屏幕采用的是液晶显示方式。通过电压改变有机化合物分子的排列结构,使背光源(发光二极管)发光,并通过RGB(三原色)滤光片,组合产生不同色彩,这样人们就可以在屏幕上看到不同颜色的信息。类似于三棱镜实验:一束白色的光透过三棱镜之后,就可以看到不同颜色的光。

也就是说,液晶显示屏的背光是恒定光源,液晶旨在控制透光程度,经过不同颜色滤光片后,让三原色产生独立的明暗变化,进而组合出各种色彩。

墨水屏:墨水屏的显示材料是电子墨水,这些电子墨水呈胶囊结构,不同颜色的墨水附着在正、负电荷上,通电后,通过正负电压使带着不同颜色墨水的电荷相互吸引或排斥,改变电荷的排列,显示出文字和图片。

如上图所示,关于电子墨水屏的原理,说的通俗一点就是:

电子墨水是由一颗颗微小的胶囊组成,胶囊的大小约等同于人类头发的直径。每颗胶囊里装有黑白混合的多个液体粒子,白色粒子带负电荷,黑色粒子带正电荷。根据同性相斥、异性相吸的原理,只要在胶囊的两侧按需加上正负电荷,就能使黑白粒子按照一定的规则游动,从而显示白或者黑,组成各种文字和图案。

由于电子墨水是一种液态材料,所以被形象地称为电子墨“水”。

最重要的是:墨水屏是将周围的光(比如灯光或自然光)照到屏幕上,再反射到人眼,对人眼的伤害很小;而且,屏幕看上去可以接近纸张的效果。

每个胶囊中有很多个粒子,如果再混合加入青色(C)、洋红(M)、黄色(Y)等颜色的粒子,就可以实现全色域的显示效果,也就是彩色墨水屏

参考链接:元太科技 | 电子墨水技术

电子纸、电子墨水屏的区别

我们知道,墨水的英文翻译是 ink;于是,电子墨水的英文翻译是 Electronic Ink,简称是 E Ink、EInk、E-Ink,小写是 eink(这四种简称都可以,官方写法是第一种)。电子墨水屏也称之为 E-ink 屏。

为了方便普通读者辨识大小写,本文采用 E-ink 作为简称(不属于以上四种简称的任何一种)。你看,现在连电子墨水的简称都没统一起来,可见这项技术是多么不成熟。

这里不得不提到的另外一个词是“电子纸”。很多人误以为“电子纸”等于“电子墨水屏”,其实他们完全是两个不同的概念。

从技术角度看:

  • 电子纸技术:是具有类似纸张印刷显示效果的新型显示技术,是一类技术的的统称。对应的屏幕叫电子纸。
  • 电子墨水技术:是属于电子纸技术的一种,也是目前唯一投入商用的电子纸技术。对应的屏幕叫电子墨水屏。电子墨水技术和电子墨水屏是台湾的元太科技公司独有的技术和产品。

从产品角度看:

  • 电子纸:采用电子纸技术的显示屏(显示器)则称之为“电子纸”或者“电子纸屏幕”,英文全称是Electronic Paper,简称E-Paper。特点是靠反射发光、像纸一样阅读舒适、超薄轻便、超低耗电、甚至可弯曲。

  • 电子墨水屏:采用电子墨水技术的显示屏(显示器)则称之为“电子墨水屏”。

总结一句:

电子纸技术是某一类技术的统称,电子纸是某一类显示屏的统称。电子墨水(E-ink)技术是电子纸技术的一种。电子墨水屏(eink屏)是电子纸的一种。

电子墨水技术(E-ink技术)和电子墨水屏(E-ink屏)是台湾元太科技公司独有的技术和产品,具备独有的专利和商标,这家公司几乎垄断了现在的电子纸市场。其他公司几乎绕不开E-ink技术的专利。

电子纸技术主要有以下几种技术方案:

  • 电泳显示技术(EPD)
  • 胆固醇液晶显示技术(Ch-LCD)
  • 双稳态向列项液晶技术(Bi-TNLCD)
  • 电润湿显示技术(EWD)
  • 电流体显示技术(EFD)
  • 干涉调制技术(iMod)

其中,电泳显示技术最具代表性,已量产多年,是类纸式显示器较早发展的显示技术,基本原理是利用外加电场控制液体内部的带电粒子的运动,当粒子运动到某一位置时,呈现不同颜色的显示效果。

电子墨水(E-ink)技术底层采用的就是电泳显示技术

在电子书阅读器领域,亚马逊可谓是一骑绝尘;而在电子书阅读器的上游——电子纸屏幕领域,E-ink是处于垄断地位。现在的绝大部分电子纸屏幕,都是台湾的元太科技公司出品和生产的E-ink屏幕。

当然,E-ink技术如今也有一些潜在的竞争对手,比如 CLEARink 就是被很多人认为可以威胁到E-Ink的技术;其他的竞品还有Rdot、Plastic Logic等。

看到这里,肯定有人会问:“元太科技公司这么厉害的吗?想不到,台湾也有这么牛逼的企业。”

非也!

其实,E-ink技术是E-ink公司发明的,该公司成立于1997年,隶属麻省理工学院的媒体实验室。后来,E-ink公司在2009年被台湾厂商元太科技公司收购了,后者曾经是E-ink面板的生产商。

电泳显示技术并不是E-ink公司的首创,我们不妨来回顾一下电子纸的发展历史,就能一目了然。

电子纸的发展历史

1975年,美国施乐公司的PARC研究员Nick Sheridon率先提出电子纸和电子墨的概念。就是那个发明了鼠标、计算机图形界面、复印机、激光打印机、传真机、以太网和一些重要计算机语言的施乐公司。

在20世纪70年代,日本松下公司首先发表了电泳显示技术

与此同时,在20世纪70年代,施乐公司当时也在研究电泳显示技术。然而最初研究出的普通电泳由于存在显示寿命短、不稳定、彩色化困难、造价高等诸多缺点,松下公司和施乐公司的实验曾一度中断,搁置了20年,让电子纸技术的研究一直只停留在实验室里的理论阶段。

20世纪90年代,麻省理工学院的媒体实验室重启对于电子纸的研究,并在1996年4月,利用电泳显示技术开发了一种新的电子纸技术:电子墨水显示技术,成功制造出电子纸的原型。到这里,电子纸的研究,终于看到了工程实践的成果,从此打下后来的电子墨水技术的基础。

1997年4月,在麻省理工学院(MIT)媒体实验室,研究取代纸张的电子显示技术的雅各布森和鲁斯•威尔科克斯(Russ Wilcox)等人共同创立E-ink公司,并全力研究电子纸的商业化。1999年5月,E-ink公司推出名为Immedia的用于户外广告的电子纸。雅各布森们期望自己研发出的电子墨水(electronic ink)能进入大众视野,改变人们获取和阅读信息的方式,这个技术和思科的互联网解决方案一起,在1998年被《财富》杂志评为“有潜力改变世界的独家技术”。

2000年11月,E-ink公司和朗讯科技公司正式宣布已开发成功第一张可卷曲的电子纸和电子墨。

2002年3月召开的东京的国际书展上,出现了第一张彩色电子纸。

2004年,索尼发布第一台电子墨水屏阅读器:Sony Librie EBR 1000。

2007年,亚马逊发布第一代Kindle 阅读器,引爆电子书市场。因为 Kindle的热卖,“电子墨水屏”这个词,终于被大众熟知。到2009年,元太科技已是全球最大的电子纸生产商。但更上游的技术掌握在世界上唯一同时具备技术和量产能力的E-ink公司手中。

E-ink公司在1997年就发明了E-ink技术,等到它最终被市场认可,等了整整十年。在这十年里,E-ink公司一直都处于亏损状态。

2008年遇到金融危机之后,E-ink公司承受不住巨大的亏损,于是在2009年,E-ink公司被自己曾经授权的制造商台湾元太科技公司收购,数值达2.15亿美元。

2007年的第一代kindle,售价 399 美元:

电子纸发展史中的趣事

根据上面的历史,我们还可以发掘一些有意思的故事:

1、2007年的11月,亚马逊的创始人杰夫·贝佐斯(Jeff Bezos)和苹果公司的斯蒂夫·乔布斯(Steve Jobs)有过一次短暂的会面。贝佐斯请乔布斯试用亚马逊的新产品——一块白色的板子,上面密密麻麻地布满了按键。亚马逊打算卖这种东西,Kindle。乔布斯试着使用了一会儿,然后把它放在面前的桌子上,很明显他对这种产品不看好。“太难看,还没有触摸功能,”乔布斯说,“全键盘让机器的体积增大了20%,能替换电池的设计也太蠢。而且,现在还有谁看书?去年40%的美国人只看了不到一本书。”

乔布斯说的不无道理,而且这种情况正愈演愈烈。在互联网的冲击下,传统的出版业越来越步履维艰。

尽管如此,当年的贝佐斯还是不愿意放弃 Kindle。他对乔布斯说:“你瞄准的是5%的个人电脑用户,而我瞄准的是5%愿意阅读的用户。

2、E-ink 技术是E-ink公司的注册商标和专利,后来E-ink公司因亏损严重,被台湾的元太科技公司收购。E-ink 技术的底层技术原理电泳显示技术

电泳显示并不是E-ink的首创技术。早在20世纪70年代,施乐公司著名的帕洛阿尔托研究中心(PARC,Palo Alto Research Center)的研究员尼古拉斯·K·谢尔敦(Nicholas K.Sheridon)就提出了这一设想。他设计了一种叫做“Gyricon”的显示设备:将大量小球塞进两层薄板中间,薄板之间的间隙充满比重与小球一样的油。每个小球的两个半球都分别涂上不同的颜色,而且根据颜色的不同,一半带正电,另一半带负电。这样,当给薄板某个区域加电时,相应区域的小球将会旋转,排列出图像或者文字,就像是马赛克拼出图形一样。

施乐公司的这项发明申请了专利,但是被施乐公司的高层取消了。这项短视的决策让电子纸的诞生晚了25年,直到20世纪90年代后期才真正面世。麻省理工学院(MIT)的媒体实验室开发出新型电子墨水显示技术,这项技术的显示原理和Gyricon一脉相承,但是又克服了Gyricon的一些缺陷:它使用微型的、充满油的透明胶囊取代Gyricon的小球,同样把小球夹在两层薄板之间。小球里装了一些更细小的带电微粒,其中一些是黑色,另一些是白色。两种微粒所带的电荷不同,当给背部的薄板加电时,面板上就可以看到相应的图形。这项技术当然也被申请了专利,这就是E-ink。

E-ink可以显示多级灰度,可以制造成任何尺寸的面板,这些都是Gyricon所不能做到的。而Gyricon的优点,例如断电后依然可以保持图案不会消失、省电、可视范围广、对比度高等,都被E Ink完美地继承了下来。在E Ink公司的不懈推广下,使用E Ink技术的显示装置,终于出现在市场上。

但是,要想让E-ink降价是很困难的。作为拥有这项专利的唯一企业,E Ink公司2009年已经被台湾的元太科技收购,后者曾经是E Ink面板的生产商。现在全球大多数生产电子书阅读器的厂商都在依赖元太科技:它的客户名单上除了亚马逊之外,还包括飞利浦、索尼、翰林、汉王、福昕等我们耳熟能详的电子书阅读器企业。

3、世界上第一款电子墨水屏阅读器不是亚马逊公司的kindle,而是索尼公司的Sony Librie EBR 1000。

电子纸的优点

电子纸的优点很多,大致列举如下:

  • 护眼;
  • 阅读舒适:接近纸张印刷的显示效果;
  • 省电节能、超低耗电;
  • 超薄轻便;
  • 由于电子墨水里的胶囊颗粒是液态,所以未来更容易做成可折叠、可弯曲的电子屏幕。

电子纸最大的优点就是护眼,第二个优点是阅读舒适,接近纸张。

有人问:“护眼有什么了不起的吗?光靠护眼,就能让电子纸成为伟大的发明?”

我很明确地告诉你,能做到护眼,还真就是很了不起。

首先,手机和电脑的液晶显示屏,其面板后的光源是“穿”过屏幕直射到人的眼睛,且强度较大。看久了之后,很容易对眼睛造成刺激和伤害。而电子纸则是将周围的光(比如灯光或自然光)照到屏幕上,再反射进人的眼睛中,对人眼的刺激较小

墨水屏设备(比如 Kindle)大多自带了「背光灯」功能。周围光线强的时候,你可以关掉背光灯;周围光线很暗的时候,你可以打开「背光灯」,调到合适的亮度就能看见。

第二,手机和电脑的液晶显示屏,都会发出蓝光,其中波长为400nm-450nm的短波蓝光会对人眼产生伤害。这种短波蓝光穿透性比较强,可以穿透人眼的正常组织到达视网膜,造成对视网膜色素上皮细胞和感光细胞的损伤。但在看阅读墨水屏设备时,进入人眼的短波蓝光成分很少,相对来说对眼睛伤害很小。

为了保护眼睛,手机厂商们想尽了各种办法,现在几乎所有的智能手机都自带了“护眼模式”和“深色模式(夜间模式)”:

手机上的护眼模式,建议每个人都开启。至于电脑上,我建议安装第三方的护眼软件「f.lux」,这款软件可以降低屏幕色温,减弱蓝光,软件网址是:https://justgetflux.com

当你坐在电脑面前几个小时的时候,很容易头晕眼花。装上「f.lux」软件之后,连续用几个小时的电脑,眼睛也不会太花,亲测有效。程序员写代码的界面,基本都是设置的黑色主题,也是在保护眼睛,他们在996加班的节奏下,不是脑子受不了,而是眼睛受不了。

说到“深色模式”,其实比较影响视觉体验,而且对比度不够明显,阮一峰之前就说过:

暗模式(dark mode)现在很流行,但是它会导致不易阅读的问题。文字亮度的提高,使得老年人和眼睛散光的人,觉得文字周围有光晕。

所以,暗模式不适合文字阅读。纸张是白的,墨水是黑的,因为这样的搭配最容易阅读。

这一点我赞同。我认为:选择深色模式的时候,用户是把护眼放在更高的优先级,而非阅读体验,此时牺牲一部分阅读体验无可厚非。

第三,手机和电脑的大多数液晶显示屏,会反光,即「镜面反射」。很多人会拿电脑屏幕或者手机屏幕照镜子,就是这个道理。如果你在一个头顶上环绕着各种灯光的屋子里用电脑,电脑屏幕里会反射出刺眼的灯光,这是很不友好的。而电子纸的反射是属于「漫反射」,不会反射出刺眼的灯光。

为什么大多数的液晶显示屏都有「镜面反射」,因为这种方式展示的画面内容更清晰、更真实、更高保真、还原度更高。此外,手机屏幕在太阳底下看不太清,这也是它的一个缺点。

综合上面这三点,能做出护眼的显示屏,就是一项伟大的发明。靠自身发光的显示屏,很难做到护眼。目前为止能做到真正护眼的显示技术,只有电子墨水技术,而电子墨水屏的显示效果恰好很接近纸张印刷的效果,正好迎合了阅读者的喜好。

当然,这里我得强调一点:不管是用液晶屏还是电子纸,都要尊重眼睛本身的生理特点,不能长时间近距离用眼;否则容易导致近视。预防近视最有效的方法是户外光照,其次的方法是尽量避免长时间近距离用眼。如果你经常去户外走动,这两个预防的方法都能达到。

这一段中,我们重点说明的是:同样是在近距离用眼的情况下,墨水屏比液晶显示屏对眼睛的刺激和伤害要小很多很多,甚至对身体的伤害也要小很多。对于很多996的打工人来说、对于无数个戴着高度近视眼镜的人来说,对于那些想去户外却不得不在教室里继续奋战的学生们来说,对于大部分自制力不强、明知道出去走走有好处却仍旧做个宅男腐女的人来说,墨水屏可以起到很好的缓解作用,墨水屏真的是一项神奇的发明。

上面这句话中,我提到墨水屏对身体的伤害会变小。你可能会感到惊讶,且听我娓娓道来。

不知道你有没有这样的感受,就是:眼睛盯着手机屏幕持续两个小时之后,不仅眼睛难受,头也会有点晕。如果你掷地有声地告诉我说你不晕,恭喜你,说明你还年轻,底子好,等到了一定的年纪,你也晕。但有一点是可以肯定的:如果一天不用手机、不用电脑,你肯定会神清气爽一整天。

用电脑的时候并不晕,晕的是起身的时候。为啥呢?因为电脑是生产力工具,主要用它来工作或者处理耗时的任务,人在用电脑的时候通常比较专注,不容易被其他的因素影响。起身的时候,就是放松的时刻。就类似于:牙疼的人,工作的时候不疼,吃饭前会疼。

这个时候,杠精可能会说:“只要是在办公室坐久了,对身体都不好,手、心脏、血压、体重等方面都会有影响。不管看什么屏幕,都会伤眼睛,多出去走走吧,看看外面的风景。”这话当然没错,但是年轻人要讲武德,我这篇文章是在做对照组试验,你的意思是让我直接离开实验室?我说的对照组实验指的是:同样是坐着做事,面对电子设备的屏幕做事,对人眼甚至身体的伤害会大很多。同样是在看屏幕的情况下,电子纸比一般屏幕对眼睛的伤害更小。

基于此讨论,我们才能确保在一个频道上。

如果你在图书馆坐一天看一天书呢?估计不会感到不适吧?甚至觉得是在放松。我以前考研的时候,每天在自习室里学习10个小时以上,每周只放半天假,备战了半年,从未感受到眼睛或者身体的不适。

说完电子纸的优点,那电子纸的缺点有没有呢?由于目前的电子纸技术只有电子墨水技术这一种得到了应用,我们接下来就通过各种电子墨水屏设备,来看看它的缺点有哪些。

市面上有哪些墨水屏设备

Kindle

2007年,亚马逊发布第一代Kindle ,电纸书大受追捧。我相信,每一位第一眼见到 Kindle 的人,都曾经感叹:Kindle 简直称得上尤物。因为它让我们在看电子书的时候,几乎能达到纸质书的阅读效果,而且不伤眼。此外,kindle的存储空间很大,既可以看亚马逊官网的正版电子书,也可以将第三方的电子书拷贝到kindle进行阅读。充一次电,能用两周以上。

如果你热爱阅读或者想培养阅读的兴趣,真的应该买一款kindle感受一下什么叫真正的电子书阅读器。买来之后,即便你将它束之高阁,也值得作为收藏品,作为日常谈资。

现在市场上售卖的kindle有三款:Kindle青春版、Kindle paperwhite、Kindle Oasis。如下:

我不推荐你买青春版,因为分辨率太低。如果看中性价比,我推荐买 paperwhite 款,8G内存足够用;如果你比较土豪,买 Oasis 也是不错的选择。曾经有一款kindle voyage。手感很好,但现在已经不售卖了。

Kindle paperwhite的技术参数如下:

这里我需要提醒一下,kindle的6英寸,指的是墨水屏的屏幕尺寸,不包括四周的外壳尺寸,加上外壳差不多得有8英寸。iPhone 12的屏幕也是6英寸,可以对比参照一下。

kindle 买来之后,确实可以做到很安静地看书了,因为它只能用来看书,也可以导入离线电子书,其他的啥也做不了。虽然它也有内置的浏览器,连接wifi后就能上网,但这个功能基本等于残废。另外,kindle 无法安装第三方软件。

我们可以在 amazon官网购买正版电子书,购买之后,电子书会自动下载到 kindle阅读器上(前提是 kindle要连上wifi);你还可以通过发送邮件的方式将 mobi格式的电子书发到kindle阅读器上(具体过程很简单,可自行网上查找),也可以把 azw3格式的电子书通过 usb 传输的方式拷贝到 kindle阅读器。

我们知道,普通的电脑显示器分辨率是72ppi;当你把一本实体书的封面摆在眼前的时候,它的分辨率是300ppi左右。超过300ppi的图像,人眼已经看不出颗粒感了;分辨率再往上提升,人眼也不会感受到明显的区别。

而 kindle paperwhite的技术参数里显示它的分辨率是300ppi,这是什么概念呢?kindle的300ppi连电脑显示器分辨率的72ppi都比不上,颗粒感很强。所以千万不要把两种屏幕的分辨率放在一起比较,完全没有可比性。

我们再来看看刷新率。目前,市场主流手机和电脑屏幕的刷新率基本都是60Hz,即每秒显示60帧画面。也就是说,当我们在使用手机的时候,本质上是手机在连续播放一张张静态图片,每秒播放60张,让肉眼误认为眼前的画面在动。

温馨提醒一下,不要把「刷新率」和「帧率」弄混了。「刷新率」是屏幕的参数,「帧率」是图像、视频等内容的参数。

那 Kindle 的刷新率是多少呢?搜遍全网你都找不到这个参数值。真实的答案是:kindle根本就没有刷新率的概念。kindle 只有在翻页的时候才会刷新,其他时候是静止的;而且每次翻页的时候屏幕就会全黑地闪一下(或者全白地闪一下)。

除此之外,kindle屏幕在刷新的时候,有时还会有「重影」,即部分电子墨水胶囊未刷新留下的图像残留。

看到这里,你很失望吧?

既然看动态的内容这么卡,那看看静态的图片,效果应该不会太差吧?首先,目前为止所有的 kindle 都是黑白屏,这一点,你要有心理预期。其次,屏幕的色彩是16级灰度。你在手机或者电脑屏幕上看的图片,都是256级灰度。二者完全不在一个数量级。用 kindle 看看漫画还行,要是看别的图片,毫无欲望。

如果你只是看文字, 那也足够了。时间长了之后,都能接受,人的适应能力还是很强的。

总而言之,到现在为止,墨水屏的显示技术,很不尽人意。很多人买了kindle之后,因为受不了它的卡顿,觉得翻页太慢,最后还是回到了手机上看电子书,或者干脆不看书,总而言之就是将kindle束之高阁,或者盖泡面。

综合来说,Kindle已经是采用了最好的墨水屏,连 Kindle 屏幕的体验都这么差,其他的墨水屏设备体验,也基本好不到哪里去。

虽然 Kindle 阅读器的市场最大,亚马逊官网的电子书最全,但总不能让它一家独大,必然会出现很多竞争者。我们来看看,市面上主流的墨水屏设备,都有哪些。

文石阅读器

“文石”这个品牌的英文是“BOOX”,这家总部在广州的公司于2008年成立,专门做电子书阅读器。

2013年,文石发布第一款Android系统的BOOX产品;2017年,文石发布全球首款双模式电子墨水屏阅读器 Max2。

由于文石只做阅读器本身,不做书城,所以文石的优势在于:它是开放的Android系统,可以安装第三方App软件。文石阅读器内置的书城是「京东书城」。

文石阅读器的颜值是值得称赞的,厚度也很薄,最薄的可以达到 5.8mm。

注意,上面这张图显示,文石阅读器有四种刷新模式:普通刷新、快速刷新、极速刷新、X刷新。级别越到后面,虽然翻页速度越快,但内容的显示效果会越差(残影严重)。所以,大家在使用文石阅读器看书的时候,建议选择“普通刷新”或者“快速刷新”模式。

下面这张照片,是来自好友@直树桑(公众号“拾书小记”的主创​):

掌阅的 iReader 阅读器

掌阅科技在2008年就开始做数字阅读,iReader软件是它的主打产品。2020年11月,字节跳动以11亿元入股掌阅,成为掌阅的第三大股东。2015年8月,掌阅的 iReader 电子书阅读器首发上市。

iReader 阅读器是封闭系统,不支持安装第三方软件。

准确来说,iReader阅读器基于 Android 系统定制的,是适配墨水屏的深度定制的封闭系统,不支持安装第三方App;没有内置浏览器,不支持浏览网页;不支持插卡、不支持U盘、不支持扩展内存。可以通过 wifi 或者USB的方式传输电子书。

iReader 阅读器内置了这些软件:掌阅书城、印象笔记、有道云笔记、百度网盘;但不支持安装其他的App。

目前为止,所有的 iReader 阅读器都是如此。

kindle 好歹有个内置浏览器勉强能用,iReader连浏览器都没有。

小米多看阅读器

多看科技公司成立于2010年2月,2012年被小米公司全资收购,成为小米旗下成员企业;多年来,多看一直在做电子书阅读软件和电子书市场,口碑挺好。

2019年11月,小米终于发布了第一款阅读器,即「小米多看阅读器」;2020年12月,推出「小米多看阅读器Pro」。

小米多看阅读器支持开放的安卓系统(可安装第三方App软件),内置了「多看阅读」、「当当阅读」和「微信读书墨水屏版」这三大书库;同时内置了多看网盘、百度网盘软件。

我个人的第一印象是:这款阅读器的颜值不够,而且外观没有辨识度。

墨案(moaan)阅读器

墨案是小米生态链旗下的公司,专注做数字阅读。墨案有很多种阅读器,比较特别的是下面这款inkPalm 5:

从外观上看,墨案的inkPalm 5阅读器很像手机,注意,它不是手机,只是阅读器。它比手机轻很多,只有115g。

这款阅读器的定位非常准,不需要手机的功能,又能在一些场合伪装成手机。毕竟 Kindle 的尺寸太大,在很多场合拿着不方便。

得到阅读器

2019年11月,得到阅读器发布,是由「得到App」所在的公司出品的。得到在国内的知识付费领域做得风生水起,我在之前的一篇文章《得到App的公司要上市了,我的关注点竟然是这个》中讲过。

得到阅读器既有自己的书城(与得到App里的内容资源相同,目前主要是专栏、听书、电子书),也支持开放的操作系统,可以安装第三方的App软件。

得到阅读器的墨水屏,是由「文石」公司提供的技术方案。

好友@饶全成同学使用了得到阅读器描述:“得到阅读器的屏幕,摸起来有点像磨砂的感觉;相比之下,我更喜欢 kindle的光滑屏幕,手感更好”。当然,怎么选,看你个人喜好。

微信读书阅读器

微信读书阅读器于2021年2月1号上市,限量500台:

微信读书阅读器的机身的材质和大小都与 文石的BOOX Poke 3 保持一致,正面采用的纯平玻璃面板,屏幕尺寸为 6 英寸,1072 X 1448 的分辨率,达到 300 ppi,不支持安装其他App,重量约为 150g,售价1499元,性价比不高。要知道,文石的Poke3售价也才1180元。你愿意交智商税吗?

”微信读书阅读器“和”得到阅读器“属于同类型的产品,既做书城,也做阅读器。在电子书阅读领域,除了 kindle 之外,微信读书 App 应该是国内的使用人群最多的软件了。

reMarkable(墨水屏平板)

reMarkable 墨水屏平板主打的是手写功能,是国外的产品。我们来看看几张宣传照:

看了上面的照片之后,是不是觉得 reMarkable 很唯美?我一点都不看好它。

用户拿到 reMarkable 之后,首先关心的是云服务和文件传输功能,要怎么把外部的epub、pdf等电子书传进去?

reMarkable 有自己的云服务,官网也提供了PC端软件和移动端App。理论上,只要在任何一个终端上传文件,就会自动在 reMarkable 阅读器上出现这个文件。然而, reMarkable 在国内的云服务很不稳定,形同虚设。导入电子书最稳妥的方式是连接 USB,通过网址 10.11.99.1 在浏览器里进行文件导入,简直太麻烦了。reMarkable 默认不支持中文语言,对中文文档的文件名,支持效果也不太友好;也没有背光功能。

reMarkable 配备了手写笔。在上面写写画画岂不是很开心?非也。在 reMarkable 绘画的流畅度肯定是大打折扣的;还有,谁会在一张只有黑白颜料的粗糙平板上画画呢?基本没有。绘画首先看中的是色彩和流畅,相信我,按目前的墨水屏技术水准,就算你买了 reMarkable ,也忍受不了多久。最后还是发现纸和笔来得快,以及,iPad 你值得拥有。

售价2500人民币的reMarkable第二代,注定是个小而美的产品:

索尼电子纸

索尼早在2004推出了世界上的第一款电子墨水屏阅读器。14年后,索尼在2018年6月推出了全新的大屏电子纸。上方截图中的这款,是索尼在2020年8月推出的,型号为「索尼电子纸DPT-RP1 黑色款」,厚度仅5.9mm,屏幕尺寸13.3英寸,和A4纸尺寸相当,可谓名副其实的电子纸。

索尼的这款电子纸,属于封闭的Android系统(不可安装第三方App软件,需要破解后才能支持),最大的特点就是屏幕够大,看文档资料很舒适。试想一下,假如你有500页的pdf文档,电脑上看眼睛受不了,手机上看屏幕太小,在索尼电子纸上看就正好合适;相比其他墨水屏设备,它唯一的缺点就是贵。

索尼电子纸与Kindle Paperwhite:

各种阅读器小结

市面上的还有很多其他品牌的墨水屏阅读器,比如:汉王、博阅、科大讯飞等。我就不专门介绍了。

按照我的购买建议以及市场推广能力来看,我把市面上主流的墨水屏设备,综合打分如下:

  • 四星:Kindle阅读器(拥有强大的电子书资源)、文石阅读器(不做书城,专注做好阅读器)
  • 三星:掌阅的iReader阅读器、小米多看阅读器,以及其他厂商的阅读器。
  • 两星:微信读书阅读器、得到阅读器。既做电子书阅读平台(书城)、也做阅读器。
  • 一星:索尼电子纸(侧重于大屏看文档资料)、reMarkable墨水屏平板(侧重于手写)。

如果你是某个电子书阅读平台(比如kindle、微信读书、得到等阅读平台的其中之一)的重度用户,可以买对应的阅读器;如果你只是想要一个开放系统的阅读器,方便安装各大书城的电子书软件,那么,文石阅读器是个不错的选择。

多看、掌阅等平台有很多小说、武侠、漫画等领域的电子书,是其他平台所没有的,看个人需要。

索尼电子纸很适合大屏看资料,这个出发点很好,但价格昂贵,很难推广;reMarkable墨水屏平板的亮点是手写,但墨水屏本身的手写体验目前比较糟糕。

如果你觉得阅读器的屏幕太大,不方便携带,想买个小屏的墨水屏设备,且希望在没有wifi的情况下也能连网,那么,电子墨水屏手机就是首选,我给它打四星半。我们继续往下看。

第一款电子墨水屏手机

一家名叫 Yota Devices 的俄罗斯公司于2007年成立,这家公司在2013年12月发布了世界上的第一款电子墨水屏手机 YotaPhone,而且是双面屏(液晶屏+墨水屏);在2014年发布了第二代产品 YotaPhone2,在当年的北京APEC 会议期间,俄罗斯总统普京以国礼的形式将 YotaPhone2 赠予了主席大大;在2017年10月,发布了第三代产品。YotaPhone3。

最终,这家公司因产能太低于于2019年4月宣告破产。

海信墨水屏手机

国内做墨水屏手机的厂商也有一些,但整体都比较小众。我大致介绍一下:

2014年,文石发布国内第一款电子墨水屏手机 BOOX E43,一直没有兴起波澜。▼

现在国内做墨水屏手机最知名的品牌是海信

  • 海信在2017年推出第一款双面屏手机海信 A2 pro;
  • 2018年11月,发布双面屏手机——海信A6;
  • 2019年10月23日,发布墨水屏手机——海信A5,以及双面屏手机——海信A6L。
  • 2020年6月1日,发布墨水屏手机——海信A5 Pro,以及墨水屏手机的彩色版 ——海信A5 Pro CC
  • 2020年12月11日,发布5G墨水屏手机——海信A7,以及彩色版的A7 CC。

备注:这里的双面屏手机是液晶屏+墨水屏,墨水屏手机则只有墨水屏。另外,A6的发布时间竟然比A5要早,不知道海信怎么起名字的。

截至当前时间(2021年1月),海信现有的几款墨水屏产品里(如上图所示),如果你打算买,我推荐你买海信A5 Pro海信A7,或者彩色款的海信A7 CC。这三款都可以。最好根据自己的预算和对屏幕尺寸的需求,按需购买。当然,手机的颜值和重量,也是选购时需要考虑的因素之一。

A5 Pro的价格是1599元,屏幕尺寸是5.84英寸,黑白屏。不建议购买彩色款的A5 Pro CC,因为不如黑白屏的流畅和清晰。

A7的价格是1999元,屏幕尺寸是6.7英寸,黑白屏,有5G网络。虽然5G网络在墨水屏设备上是噱头,但是A7的墨水屏体验和流畅度比A5 Pro好一些。

另外,彩色款的A7 CC,流畅度和清晰度如何我还没试过,据说还不错。欢迎用过的读者留言反馈。

将来,海信会推出更多款型的墨水屏手机,其他手机厂商也会加入竞争,可以持续关注。

关于我购买的这款A5 Pro墨水屏手机的详细测评,我会放在下一段。

为什么不买双面屏手机?把手机翻来翻去的动作,你不觉得奇怪么?不明真相的群众还以为你是在用手指摩擦手机。

为什么不买 A5 Pro CC?因为彩色的墨水屏技术还不太行,清晰度和色彩饱和度很差,再等等看。▼

上面这张图可以看出,彩墨屏在看文字的时候,清晰度要差很多。就算你彩墨屏看图片或照片,这种感觉就像是在看失真的漫画,估计看完之后,还是会忍不住回到手机上看看这张照片到底长什么样子。

另外再提示一点:海信A5 Pro墨水屏手机的屏幕分辨率是 720*1440;而彩色版的海信A5 pro CC的分辨率是没有具体数据的,估计是官方不愿意透露?

5G版的海信A7如何?屏幕的使用体验流畅度要好比 A5 Pro好一些,但如果是因为它的5G而付费并不值得,你只是看个文字和图片而已,需要这么快的网速么?5G功能在墨水屏上完全就是噱头,华而不实。

此外,掌阅和腾讯阅文集团的口袋阅,也推出了墨水屏手机,但都过于小众,忽略不计。补充说明:口袋阅只支持安装自家应用商城里的App,不支持安装其他未收入的第三方App。

墨水屏显示器

北京的大上科技公司成立于2014年3月,并在2014 年 12 月发布了全球首款电子墨水显示器——Paperlike,尺寸是13.3英寸,无人问津。▼

2020年12月25日,大上科技发布 25.3英寸大屏的电子墨水显示器,吸引了一部分人(包括我)的注意。由于无法量产,只能先预约再购买。▼

第一看到这款墨水屏显示器的宣传图,感觉是个稀有物种,真的是“万众期待”吗?一点也不。值得买吗?肯定不值得。一万多块钱,干啥不好?

电脑作为生产力工具,如果配上如今的墨水屏显示器,基本没有什么应用场景。

另外,上面的宣传图里说“大上科技是E-ink墨水屏显示器的发明者”,这句话很容易让人们误以为“大上科技是E-ink墨水屏的发明者”,其实它主要是做工业设计。实际上,E-ink技术和E-ink墨水屏是台湾元太科技公司独有的技术和产品。台湾元太科技公司提供了E-ink墨水屏之后,其他的硬件厂商可以根据需要,定制不同的硬件设备(阅读器、手机、平板、显示器、甚至未来的电脑等一切需要屏幕的设备)。

与其期待墨水屏显示器的到来,倒不如先期待E-ink技术能够有新的突破。至少要等彩色版的墨水屏技术相对比较成熟之后,墨水屏显示器才会有应用市场。

当然,大上科技作为全球首家发布墨水屏显示器的公司,这种勇于尝试的探索行为,精神可嘉,值得点赞。

电子墨水屏价签

1993年,第一个电子价签在欧洲诞生,但由于生产成本高昂无法被大量商用。

电子价签(电子货架标签)代替纸质标签后,可以远程实时更新商品的价格、折扣、属性等信息,并将数据同步给后台。

仓储自动化管理的重点是操作自动化、数据准确率、流程效率化,电子价签在数据这部分就可以起到很重要的作用。

如果给电子价签配上溯源码,可以将商品进行溯源,配合打通供应链。

很多电子价签,是LCD液晶屏为主,但液晶显示屏虽然外观华丽,显示色彩丰富,屏幕反光却极为严重,容易造成消费者视觉不适。所以点阵式的电子墨水屏价签广受青睐。

比如部分盒马鲜生的门店里就有电子墨水屏价签,并带了溯源码:(这张照片由好友@Felix提供)

由于墨水屏本身就很贵,再额外加上蓝牙传输、耐低温、防水等特性,使得墨水屏的电子价签成本很高:(大概70元左右一个)

海信墨水屏手机的使用测评

初体验

2020年6月1日,海信发布电子墨水屏手机——海信A5 Pro,当时的原价是1799元。我在11月1号,趁着双十一的优惠价1499元,毫无犹豫地下了单。现在去JD上看,需要1599元。▼

美图欣赏1:

美图欣赏2:

美图欣赏3:

这款手机拿到手之后,外观是这样的:

海信A5的整体颜值还是不错的,外壳是塑料材质,白色款手机的前置面板是黑色,后置面板是白色,重量是164g,屏幕尺寸是5.84英寸。这种外观和材质,让我想到了我曾经使用过的小米手机2S、小米手机4C。

上面的图里所显示的画面,就是手机息屏时的状态。屏幕在不切换画面的时候,是处于静止状态,基本不耗电。

即友@麦克猹拍的实物图也不错,如下:

屏幕的显示效果如何?

当我们拿到一款墨水屏设备时,除了看外观、屏幕尺寸、重量、系统是否开放之外,如果想要看它的屏幕显示效果,应该重点看这几个指标:

  • 1、黑白对比:底色(背景色)够不够白,文字够不够黑。
  • 2、文字、图片等内容的显示效果是否清晰,是否有颗粒感、锯齿感。
  • 3、切换画面(翻页、滑动页面、打字等)的时候,是否流畅(有没有出现卡顿、高延迟、闪屏、残影等)。

带着这三个指标,我们看看海信A5 Pro(以下简称A5)的显示效果到底如何:(对标Kindle)

  • 缺点:底色偏灰、偏暗。Kindle的底色很白。
  • 缺点:无论是底色还是内容,都带有比较明显的颗粒感,比kindle差很多。
  • 缺点:文字不够黑,且有颗粒感,比kindle差很多。
  • 缺点:图片完全没法儿看,一片漆黑。看视频就更别想了。
  • 优点:翻页的时候,没有出现明显的卡顿、延迟,虽然会有略微的残影,但不会闪屏。相比之下, kindle在翻页的时候,会很明显地闪屏,这一点,A5比 Kindle 强很多。
  • 优点:打字方便。因为打字可以单手操作,且可以安装第三方输入法。

A5给我整体的感觉是:墨水屏的质量很一般,比Kindle差很多。如果说拿着 Kindle是在看正版书,那么,拿着A5,像是在看盗版书,纸张比较劣质,文字有明显颗粒感。毕竟A5手机才一千多块钱,包括了墨水屏,以及手机该有的其他零件(摄像头、双卡双待等)。其他的电子书阅读器,大多也是1000~2000元不等。A5的这个价位已经很低了,还能要求什么呢?

一图胜过千言万语,来看看A5的显示效果。

文字的显示效果:(近距离看)

文字的显示效果:(从左到右依次是:纸质书、海信A5 Pro、小米手机、Kindle)

查看图片的显示效果:

▲上图中可以看到,A5墨水屏显示的图片,一片漆黑,基本残废;Kindle显示的图片,勉强能看。

温馨提示一下,根据我的实际使用体验,建议使用海信A5手机的同学将显示模式设置为均衡模式,体验最佳:

灰阶测试

我们知道,目前,墨水屏的色彩基本都是16级灰度。你在手机或者电脑屏幕上看的图片,可以呈现256级灰度。

上面这张图,就是256级灰度,从黑到白的渐变。我们来看看它在各种设备上的显示效果:

上图中,从左到右依次是:海信A5 pro、Kindle、小米手机。可见,同样是16级灰度,海信比kindle的显示效果要差很多。海信的实测效果,只有8级灰度左右。

我每天的阅读时长

按照往常的生活习惯,我平均每天使用手机的时长是4个小时或者5个小时,这还是在我996加班的情况下。▼

使用了墨水屏手机之后,我每天使用墨水屏的阅读时长为3个小时左右,使用普通智能手机的时长为1.5个小时。▼

使用墨水屏手机后,极大地减少了智能手机的使用时间。相当于是把我在 iPhone上的3小时阅读时间,转移到了墨水屏手机上,同时达到了我想要的护眼效果。

有人问:“在持续加班的情况下,每天三小时的阅读时间,怎么做到的呢?”我自己的阅读节奏是:

  • 早上七点到八点,阅读一小时。
  • 如果下班早(晚上九点前下班的话),晚上睡前阅读半个多小时;如果加班太晚,就不阅读。
  • 吃饭排队&地铁上阅读半个小时。
  • 周末休息的时候,会看上几个小时,有时候可能会阅读一整天。

并不是每天都如此,但大部分时候是如此。不玩游戏、不刷抖音的日子,就是这么朴实无华。

我的好友@Rene告诉我,她每天使用手机的时长经常达到十个小时左右(而且是在需要上班、偶尔加班的情况下):

耗电量如何?

说到耗电量,我们先拿其他设备做个对比。

我手上的iPhone SE 第二代,电池容量是1821mAh,屏幕尺寸是4.7英寸,充一次电可以连续使用大概4个小时。如果每天使用1.5个小时,刚好可以用两天(此处可以理解为:使用时间是3个小时,待机两天的耗电量相当于使用1个小时,加起来刚好4个小时)。

Kindle Paperwhite 4 的电池容量是1500mAh,主屏幕尺寸6英寸,充一次电之后,大概可以使用20个小时。假设每天阅读三小时,充一次电可以使用一周。Kindle的功能单一,基本只有自带的书城服务,使用的过程中不是很耗电。

海信A5 Pro的电池容量4000mAh,屏幕尺寸5.84英寸,它耗电量如何?我测试了很多次,答案是:在关闭背光灯的情况下,充一次电可以使用9个小时,假设每天阅读三小时,可以使用三天(待机的耗电量可以忽略不计)。在打开背光灯的情况下,续航时间会缩短一两个小时。

另外,这个手机有个很高级的功能叫“超级省电模式”,你可以选 6 个你想用的 App,除此之外其他的App一概不能用。

广告上说,A5 Pro的使用时长可以达到32个小时:

这就是卖家秀和买家秀的区别。广告打的震天响,用的时候一坨翔。

肯定有人会站出来说:“测试续航时间,肯定要区分关不关WiFi、开不开背光灯、看不看视频呀?“真实的场景里,谁会刻意这么做?都是顺气自然的。我所描述的续航时间,是日常情况下的平均续航时间,是本着对普通人负责任的原则。

可以作为备用机,不能作为主力机

A5支持双卡双待,且可以安装第三方App软件。墨水屏手机作为备用机还是挺方便的。我简单列举几个备用机的使用场景

  • 1、开通一个手机号的小号,专门用于和陌生人联系,比如:收发快递、注册网络账号等。小号建议错开运营商,假如你的大号是中国移动,那么,小号建议开通中国电信或者中国联通。当你抵达一个信号不好的无人之境,发现中国移动没信号,然后掏出备用机,说不定电信/联通就有信号。按照我自己的经历,很多地方的信号强弱依次是:移动 > 电信 > 联通,但这个排序不绝对,跟地区有关,跟手机硬件也有关。
  • 2、注册微信小号、QQ小号,安装在备用机上。这年头,大多数(成年)人的社交账号,都有小号。至于用途是什么,你懂得:电脑A给电脑B传文件、联系网友、做副业、搞微商、发广告、自己跟自己聊天等等。
  • 3、看到有个公众号,写了篇万字长文,于是转发到微信小号,在墨水屏上阅读。
  • 4、周末出去放松,不打算带手机,这个时候就可以把备用机带上,应急的时候可以打电话、移动支付、发微信、扫码乘车等。
  • 5、出门的时候,很多人选择带充电宝,而我选择带两个手机。
  • 6、参加一个饭局,跟桌上的很多人都不熟,大家都各自低头玩手机,缓解尴尬。而我则拿起墨水屏手机看书,毫无违和感。我要是拿个 Kindle 在饭桌上,岂不成了异类?

A5墨水屏手机可以作为备用机,但不能作为主力机,比如说:

  • 1、看图片的时候,基本是黑的。看视频就更别想了,卡得不行。虽然有摄像头、有拍照功能,但形同虚设,屏幕里的画面一片漆黑。
  • 2、回复领导消息的时候,蜗牛般的打字速度,你会急死。
  • 3、因为A5手机是黑白屏,所以在疫情期间,你无法出示绿码,这是个很大的问题,别轻视。

有人好奇A5墨水屏手机的微信聊天体验如何,我截几张图你们对比下:

我所理解的“测评”

我在此前从未写过测评,但我认为:有一种好的测评,是读者需要的、关心的、想要了解的内容,而不是作者罗列一大堆参数、美图、科普,显得自己很专业,是资深玩家。

使用体验就是一种很好的测评。比如说,你重度使用了一款产品之后,你的同学问你这个好不好用?值不值得买?你会怎么回答他?肯定是他需要的、关心的东西。这就是使用体验。

比较经典的反面案例就是:各种测评大佬给手机跑分。但是,跑分高不能说明啥,用了一年还是卡。咦?竟然有点押韵…

最近,我打算买一款数码产品,看了无数的测评之后发现,还是咨询客服来的快。

我推荐购买哪些墨水屏阅读设备

市面上的电子墨水屏设备五花八门,如果让我推荐阅读相关的阅读器,我会推荐下面这几款:

  • 1、入门的阅读器:Kindle。属于封闭系统,但可以导入离线电子书。Kindle最大的作用不是盖泡面,而是墨水屏的启蒙。很多人购买的第一台墨水屏设备就是Kindle。
  • 2、小屏的阅读设备:海信的墨水屏手机,堪称国货之光。支持开放的Android系统,可自由安装第三方App。将来也许会有其他手机厂商做墨水屏手机,大家可以持续关注。
  • 3、大屏的阅读设备:文石的阅读器。支持开放的Android系统,可自由安装第三方App。具体选哪个型号,需要看你的预算和对屏幕大小的需求。比如说,如果你经常看A4大小的PDF文档,文石的BOOX Max系列就是不错的选择(价格感人,5800元)。将来也许会有其他品牌的墨水屏平板,可以持续关注。

以上推荐只是我的个人喜好,无任何利益相关。如果你想要的阅读器侧重于彩色版、手写等特别的功能,可以自行了解。

我在使用哪些电子书阅读平台和软件

我平时阅读时是以电子书为主。如果这本书没有电子版,我就会去买纸质版。

我在阅读电子书时,使用了这些软件:

  • 电子书阅读平台(会员制):得到App、微信读书、Kindle Unlimited。
  • 电子书阅读平台(买断制):Kindle。
  • 看书评、打分:豆瓣、Goodreads。
  • 阅读 ePub 格式电子书:iBooks(Mac和iOS平台)、微信读书(全平台)、calibre(Windows和Mac平台)、Neat Reader(全平台)、多看阅读(Android和iOS平台)、iReader 掌阅(Android和iOS平台)
  • 阅读mobi、azw3格式的电子书:Kindle阅读器
  • 阅读PDF格式的电子书:MarginNote、福昕阅读器、Adobe Acrobat Reader DC、浏览器。
  • 电子书格式转换:calibre
  • 手动制作电子书:calibre + GitBook
  • 书单管理:晒书房
  • 纸质书拍照整理成电子档书摘(OCR):阅读记录App、白描iText
  • 读书笔记整理:notion、flomo

上面的软件中,冒号前面的是功能,冒号后面的是软件名称。凡是普通Android手机能安装的软件,墨水屏手机都能安装。

在此我只是简单列举出我所使用的软件清单,后续的文章中,我会专门介绍我如何利用这些软件构建阅读体系。

为什么kindle的宿命是盖泡面?

为什么kindle的宿命是盖泡面?主要有两个原因。

第一个原因:买Kindle的人多,用 Kindle 的人少。这主要体现在三个方面。

首先,Kindle作为消费品,买了不一定要用。《读库》的主编老六在一次访谈中说道:

书的打开率其实很低。有的人觉得自己买了这么多书,打开率这么低,太不值当,就不买了,这是可以的。有的人继续买书装点门面,同样可以。有的书买来如饥如渴地读完,也挺好。有时候读到一半就不想再读了,并不需要觉得欠谁的。书就是消费品,生活中大部分消费品的价格和效应不是对等的,并非花了多少钱就一定能得到相应的价值。

书是一种消费品,并非花了多少钱就一定能得到相应的价值。买了书不一定会看书,想看和在看是两回事,就像买了 Kindle,不一定会拿起它。很多人在讨论墨水屏的时候,都会说一句:“我也有一个 Kindle”,享受了内心片刻的满足感,紧接着后半句是“我很少用”。

其次,Kindle是以看正版电子书为主(虽然也可以在电脑上通过邮件或者USB传输的方式拷贝离线的电子书到Kindle上,但还是有点太麻烦)。有一点你可能还不知道:在电子书阅读市场,看书的人只是占了很少的比例。更多的人看的是网络小说、都市言情、宫斗权谋、武侠、玄幻、漫画、小黄文等没有版权的内容;这类内容老少皆宜、男女通吃,这类内容的市场和渠道远比你想象中的大和丰富,那就更没有 Kindle 什么事了。

再次,涉及到“专注”的问题。有人说:“阅读器可以让我们在看书的时候更专注”。如果仔细想想会发现:“阅读器让我们更专注”其实是个伪命题。

对于专注的人来说,在任何设备上看书都能看得下去,否则,手机上的微信读书App也不会这么火(目前是月活500W)。对于不专注的人来说,他会左手拿着 Kindle,右手拿着手机。

看纸质书同样有干扰。你读到某个段落时,可能会若有所思地抬头看看窗外的人们嬉笑打闹,可能直接摊在沙发上做葛优躺。

第二个原因(也是最重要的原因):便携和在线,才是未来。阿里云的创始人王坚在他的《在线》一书举了一个很好的例子:

今天,市场上已经几乎没有胶相机了。就算有爱好者在收藏传统胶卷相机,那也是将其当成艺术品,不是通常意义上的消费。数码相机通过数字化,将传统行业做了一次彻底的革命。

1975年,柯达发明了世界上的第一台数码相机;1975年12月,柯达公司的电子工程师史蒂文·赛尚(Steven Sansson)成为世界上第一个拿着数码相机,拍下第一张照片的人。

柯达曾在它的数码相机上配置Wi-Fi功能,算是进一步的改进。但是这种做法没有用,添加Wi-Fi的作用,仅仅是让照片更容易下载到电脑而已,这个东西一定不会有生命力。

而真正带来革命意义的,是手机上的数码摄像头,它随时连接着互联网。一个在线的相机,彻底改变了拍照的形态。现在在外面吃饭时,无论是刚上小学的孩子,还是四五十岁的中年人,都习惯于一上饭桌立马拿手机拍照,然后传到社交网站上。在线相机激发了普通人的创造欲望和分享欲望,所以才有Instagram这类照片分享软件,并在全球掀起浪潮。

2012年1月,拥有131年历史的柯达申请破产。从第一张数码照片到破产申请,只有不到40年的时间。今天,史蒂文的梦想实现了,但柯达却不见了,这也体现了柯达和Instagram的差别。

音乐也经历了这样一个历程。从磁带到CD(激光唱片),从CD到MP3(一种音频压缩技术),我们获取音乐的方式越来越便利。这也遵循了从原子到比特,最后到在线的过程。世界上的很多技术,都是出现没多久,甚至还没和你真正匹配到最佳状态,就已经消失了。比如随身听,这个风靡一时的磁带播放器,还没进化完,就被淘汰了。

在线的前提是便携。阅读器的尺寸大小,接近纸质书的大小,确实可以满足一部分人的需要,但做不到真正的便携。广告里都说阅读器可以很方便地装在口袋里,那得是穿着大衣才行,牛仔裤里是放不下的。

如果做不到真正的便携,意味着使用频次较低。上学、去图书馆、上班或者出差的路上也许会背包,但是排队吃饭、公园散步、临时开会的时候,就很少背包。我还观察到一个现象:很多女生会喜欢随身带着小包,小到只能装下一个手机。你会随身带着手机,但不会随身带着一块砖头。

关于便携的应用场景,一个最经典的案例是就是iPad。我们日常使用最多的是手机,其次是电脑;iPad 只是偶尔用用。iPad 的应用场景填补了手机和电脑的空窗期,当你想要在大屏上做“以阅读、观看、写写画画为主”的事情时,iPad就很适用。

有人说:“阅读器之所以受欢迎,有一个很重要的原因是,阅读器的屏幕比较大,像一本书的大小”。可是,微信读书阅读器的屏幕才6英寸,只是比大多数智能手机的屏幕大一点点,也没见用户吐槽。

一款设备的屏幕尺寸大小,既不是优点,也不是缺点,只是“特点”。小屏或者大屏,都有各自的应用场景,对比下 iPhone、iPad、Mac的使用场景便明了。单从使用频率来看,手机一定是完胜任何大屏设备的。

以上,我并没有否认平板设备的市场价值,我只是从便携和使用频率的角度做探讨。

便携只是一小步,在线才是一大步。

柯达做到了将照片从原子到数字化,却没有做到从数字化到在线化。同样, Kindle 做到了将书籍从原子到数字化,却没有做到从数字化到在线化

阅读并非独自享用,阅读是一种社交活动。在书中看到一段好的段落之后,立马复制、截图、制作成分享图,发到微信群、晒晒朋友圈、分享到社区网站、去豆瓣上看看评分和书评、去笔记软件上整理阅读笔记、去搜索引擎里查相关资料、成为写作素材,以及快速打字并搜索电子书全文,甚至直接把离线的电子书发给朋友。所有的这些操作,Kindle 都做不到,而手机和电脑都能做。

当然,你可能会说:“我端着 Kindle 当纸质书看,总行吧?” 你这不是浪费了电子书的天然优势么?

还有人会说:“术业有专攻,我觉得看电子书就应该用专门的阅读器看”。这样做当然有好处,可以专心只做阅读这一件事;另外一方面也就意味着:如果你想放下手中的阅读器,然后拿起手机做别的事,你会觉得这种切换操作特别麻烦。

更有人说:“我拿起手机就想玩,在手机上看书我没法儿专注”。手机是现代人肢体的延伸,你应该学会如何与手机相处,而不是避开它。当你左手端着Kindle,右手拿着手机聊天的时候,这种感觉如此奇妙。

1984年1月,苹果公司发布了第一款成功的面向大众市场的个人电脑,它拥有图形用户界面、内置屏幕和鼠标,到现在刚好37年过去了。我们早已学会如何跟电脑相处。2007年6月,乔布斯发布了第一款 iPhone 智能手机,它彻底颠覆了移动市场,到现在还不到14年,它还需要一段时间去适应环境。2010年之后出生的小朋友,他们从小就接触了手机,也许,等他们长大后会发现:“沉迷手机”这几个字,只是在儿时常听长辈念叨,他们自己从未有过这样的困惑。

一台能连 Wifi 的设备,算在线么?还不够。一定要同时拥有4G/5G上网和Wi-Fi上网这两个功能。两者的区别在哪里?难道是Wi-Fi上网速度更快、资费更便宜?真正的重点在于是3G/4G而不是Wi-Fi直接推动了移动互联网的普及。

二者最大的区别在于,4G/5G上网只需要一张SIM卡(电话卡),你所有的认证在这一张卡上就能全部实现,这就是好的用户体验。你通过4G/5G上网时,不需要一个显性的装置,也不需要一个连接到网络上的显性动作;而当你通过Wi-Fi上网时,你肯定需要做出输入密码这样的显性动作。在互联网行业,流行这么一个说法:每多一个步骤,就要多损失一半的用户。也就是说,哪怕城市的每个角落都布满了Wi-Fi热点,只要你还是需要输入一堆密码才能通过Wi-Fi上网,那么就会失去一大批用户,无法真正普及联网。

以前,诺基亚手机和塞班系统还流行的时候,人们会买MP3设备听歌、买MP4设备看视频、买收音机听广播、买随身听和磁带听专辑,后来 iPhone等智能手机出现之后,这些设备都消失了。

你完全可以设想一下,原来不在线的东西,只要在线了,会带来什么样的创新,而这种创新会给所在的行业带来什么样的革命。

在人类的发展过程中,许多东西都在进化,能够留下来的东西很少,这体现了适者生存的原则。有的东西比如眼镜、项链、手表、手机,一直没被淘汰,它们还有足够的时间去进化,去适应环境。

当你在拿 kindle 盖泡面的时候,我想到了《动物精神》这本书里的一段话:

资本主义的物产丰富至少有一个缺陷——它并不是自动地生产人们真正需要的东西,而是生产人们认为有需要且愿意为此付钱的东西。如果人们愿意为药品付钱,资本主义就生产药品;而如果人们还愿意为“包治百病”的假药付钱,资本主义就会生产假药。

用户到底想要一款怎样的屏幕?

电子纸最大的优点就是护眼,第二大优点是能达到纸质印刷的效果。

这一段,我想说的是:第二个优点在第一个优点面前,显得微不足道;其他的优点,更是无足轻重。

当初提出电子纸设计理念的人,希望的是“改变人们阅读信息的方式”,而不是想要让这块屏幕看起来多像纸张,大部分信息不是在纸上,也不需要在纸上。护眼才能真正改变人们阅读信息的方式。

虽然现在已经无法考证,但我更倾向于相信:采用墨水屏技术,让墨水屏看起来像纸张,只是技术实现上的一种意外的结果,让刚好热爱阅读的人收获了一份意外的惊喜。至于其他的优点:因为墨水屏是靠反射光让人眼可见,所以自然很省电;因为电子墨水是一种液态材料,所以更轻薄,未来更容易做成可折叠、可弯曲的屏幕。这些优点都是选择电子纸技术的结果,而非原因

没错,护眼就是电子纸最大的发明,我有很多理由来说明这一点。

现在我们用的kindle是反光模式,且有纸质印刷的效果。我们不妨设想一下,假如kindle和手机一样是发光模式,而不是反光模式,那么,即便kindle屏幕看起来再像纸质书,也不会有人买单,因为太刺眼了,还不如直接在手机上看电子书呢。况且,手机屏幕也可以再发明出一种“仿纸张印刷效果”的显示模式,这不是什么难事,此时完全就没kindle什么事了。

我们再设想一下,假如kindle保持反光模式不变,但是屏幕看起来没有纸张印刷模式,这样的kindle会有人买单吗?当然会,因为手机和电脑屏幕做不到反光模式。

有人可能会说:“我在用kindle的时候,不管是白天还是黑夜,一直都是打开背光灯的。”你要知道,电子纸的背光灯,是经过柔性处理的,他的光线要比手机屏幕要暗得多。

电子纸技术直到现在为止一直都很落后,从墨水屏在1997年首次推出,到后来的十年,一直都无人问津。

为什么第一块电子纸的大规模应用场景是kindle电子书市场呢?不是因为墨水屏看起来像纸张,得到了人们的喜爱;而是因为文字显示对色彩的要求是不高的,只要底部是白的,文字是黑的就行。这种潜在的市场机会, 需要一定的外部条件去激发,于是半路冲出来一个亚马逊。亚马逊在2007年推出第一款kindle的时候,之所以能火爆,靠的是亚马逊商城有海量的电子书资源。内容资源+墨水屏,双剑合璧,创造了电子纸得天独厚的应用场景。相比之下,世界上的第一款墨水屏电子书阅读器,不是2007年的kindle,而是2004年索尼公司推出的,但是索尼没有电子书资源,所以这款阅读器接下来的命运注定走向末路。

电子书市场只是电子纸的一个很小的应用领域,电子纸的仿印刷效果,只适用于原本将纸张作为载体的内容;更多的内容载体,并不是纸张。我们的视觉可以再开阔一些,将来,人们希望通过电子纸看手机屏幕、看电脑屏幕、看广告牌,看几乎所有被制造出来的、呈现在眼前的东西。到那时,电子纸领域会涌现出更多的新材料和新技术。由于“电子纸”这个词已经被广泛传播,即便将来它的显示效果看起来不像纸张,人们也会亲切地将其称之为“电子纸”

假设不考虑技术因素,单从使用的角度讲,既然周围的太阳光和灯光可以给屏幕提供光照,已经足够。屏幕本身为何还需要发光呢?这本身就是在浪费能源。

归根结底,用户到底想要一块怎样的屏幕?用户想要的是一块反射式屏幕。说得再通俗一点:用户想要的是一块不发光也能看见内容的屏幕

电子纸的发展现状和预测

到现在为止,我们已经知道,电子纸的技术很落后;电子墨水屏(E-ink)技术是目前唯一投入商用的电子纸技术。

墨水屏的刷新很慢,色彩显示很差劲,有锯齿感,翻页有闪屏、残影。看文字足够,看图片勉强,看视频残废。这就是电子纸目前的使用体验。

电子纸未来的发展会这样?市场上会出现怎样的竞争格局?这一段,我来做个大胆的预测。

这篇文章的发布时间是2021年2月初。做预测时,我大致会以未来三年(2023年)、未来五年(2025年)、未来十年(2030年)作为时间节点。

需要声明的是:

1、以下预测,没有任何科学依据、技术支撑、统计数据,纯粹只是我的个人畅想。如果你觉得不切实际,就当是在看科幻片吧。

2、我的预测有一种悖论:如果我不公开预测,市场可能真的会命中我的预测,但是大家不知道我的预测;如果我公开预测,市场可能会因为看到我的预测而提前采取行动,导致我的预测不准。

未来两年:阅读器之争

从供应链的角度来看,目前的阅读器市场分为三层:

第一层:由台湾的元太科技公司提供 E-ink 屏幕。

第二层:比如文石这样的公司,专注做阅读器。主要做两件事:一是根据 E-ink 屏幕做工业设计,做阅读器硬件(硬件层面);二是做操作系统(软件层面)。阅读器的操作系统是基于 Android 系统定制的,既要做系统裁剪,又要适配E-ink 屏的使用体验,有一定的工作量。由于文石没有自己的书城服务,所以文石阅读器必须要做开放的Android系统,必须要支持安装第三方App。

第三层:比如微信读书、得到、多看、掌阅这样的公司,主要提供数字阅读服务,顺带做阅读器。比如微信读书的阅读器由第二层的厂商提供硬件的贴牌代工。通俗来说就是:微信读书团队想要做一款量身定制的阅读器,于是找文石公司代工。文石公司按照需求改改屏幕尺寸、定制一款开屏软件、加上微信读书的logo,就成了微信读书阅读器。

另外,Kindle阅读器其实是把第二层、第三层的事情都做了(只不过,Kindle是属于封闭的系统)。

第一层显然已经被元太科技公司垄断了,因为 E-ink 是元太独有的技术。这没什么好说的。

第二层提供的阅读器,是比较适合普通用户的。因为,用户可以根据自己的需要,安装不同的阅读类App。

第三层提供的阅读器,主要是给特定的用户群体。比如说,你是微信读书的重度用户,购买它的阅读器是无可厚非的。你可以把“微信读书阅读器”理解为“硬件形式的微信读书App”,它主要是给微信读书的深度用户定制的,不太适合其他的用户人群。第三层,比拼的不是谁的阅读器做得好,而是谁的电子书资源更丰富。

假如说,你是各种阅读App都在用的人,那么,第三层的阅读器显然不适合你。使用微信读书App,然后买个微信读书阅读器?使用得到App,然后买个得到阅读器?这太扯了。建议直接买第二层的阅读器。

当然,你可能会有这样的疑问:“微信读书阅读器虽然不支持安装第三方APP,但是得到阅读器支持呀。我买个得到阅读器,是不是相当于买了文石阅读器?”答案显然是否定的。

我们在评价一个阅读器是否值得买的时候,有一个很重要的指标就是:“这款阅读器是否支持安装第三方App”。支持安装第三方App不一定是优点。

大家想一想,为什么微信读书、iReader这样的阅读器,他们要禁用“安装第三方APP”这个功能?是为了做一个封闭系统然后形成闭环吗?这是一部分原因,但不是主要原因。

最主要的原因是:安装在阅读器上的APP应该是宁缺勿滥的。阅读器不是不想给用户提供这一功能,而是对目前墨水屏上APP的显示效果不满意。绝大部分App在墨水屏上是没有做适配的。

微信图书团队主要做电子书阅读服务,在阅读器操作系统层面的优化上,无能为力。如果用户安装了各种奇奇怪怪的App之后,引发吐槽,微信图书背不起这个锅,也不想惹这样的麻烦。

假如说所有的阅读App都做了墨水屏的适配的情况下,微信读书阅读器如果还是封闭的系统, 那它就不是形成闭环,而是闭门造车。

得到阅读器支持安装第三方App,这就作何解释呢?相信我,在得到阅读器上使用非得到系的App,它的使用体验肯定要比文石阅读器差一些。得到阅读器的目标用户群体,一定是得到App的重度用户。得到公司重点维护的是这群得到用户,而不是阅读器上的操作系统和其他App。

到这里,你应该能明白,为何我在前面说,“微信读书阅读器”本质上是“微信读书的硬件App”

未来两年,会有各种阅读器产品层出不穷(现在就已经是了),频繁出现在大众视野,甚至会出现在地铁站广告牌。但是,应该只有两种阅读器会得到普遍认可:一种是 Kindle 阅读器,因为 kindle 电子书实在太丰富,而且 kindle 阅读器支持导入离线电子书,也不算完全封闭。另外一种是文石这样的阅读器,专注做好阅读器本身的使用体验。至于微信读书阅读器、得到阅读器,它们的品牌宣传价值大于使用价值。

想要做好一款阅读器,需要做好三件事:

  • 1、墨水屏的屏幕要做好(硬件层面)。
  • 2、操作系统要做好(系统软件层面)。
  • 3、应用层的App要做墨水屏的适配(应用软件层面)。

第1件事,只有元太公司能做。第2件事,未来会有更多的厂商加入竞争。第3件事,是当前最应该重视也是最容易优化的,然而目前只有微信读书App和网易蜗牛读书App做了。微信读书有专门的“墨水屏版App”,可以安装在任何支持开放系统的墨水屏设备上,这是一个良好的开始。其他公司只是在自家阅读器上做了墨水屏版App。

微信读书有庞大的用户群体,而且团队背靠大厂,有足够的人力。其他的阅读类App,短期内很难有动力做这样的事。当然,抱有期待,总是好的。

抛开墨水屏本身的体验不谈,我们发现,目前为止,并没有一款足够让人满意的阅读器:

  • Kindle阅读器:拥有海量书库,但系统封闭。
  • 文石阅读器:支持开放的系统,但不提供电子书服务,品牌的影响力有限。第三方App是否愿意在文石阅读器上做适配,是个问题。
  • 微信读书阅读器:提供电子书服务,但系统封闭。
  • ……

我的预测是:未来两年,阅读器市场的竞争会很激烈(因为有多家厂商参与竞争),但是墨水屏阅读器不会流行太长时间,因为墨水屏手机将会结束这场战争。

2023年:墨水屏手机之争

目前来看(2021年初),99%的人买的墨水屏设备都是阅读器,而不是其他的设备,更不是墨水屏手机。

为什么最近几年流行的是墨水屏阅读器,而不是墨水屏手机?因为前面讲过,墨水屏的体验只够看文字。更何况,如果要配备一块质量很好的墨水屏,再配备手机零件,这个价格相当于两部安卓手机的价格,一般人承受不起。

久而久之,用户希望阅读器有很多功能:方便导入离线电子书,支持安装第三方App,支持彩色版、手写功能、朗读功能、指纹识别。如果是在车上看书,用户希望阅读器能安装 sim 卡,方便连接数据网络,随时上网,再往后,希望支持双卡双待、软件双开。

阅读器做着做着,其实就是在朝着手机的方向做(屏幕小点的是手机,屏幕大点的是平板)。但是大家做的标准不一样,智能化的程度不一样,所以出现了五花八门的阅读器,呈现出碎片化严重的阅读器市场。从这一点也能看出,阅读器只是一个中间产物。

这两年,确实有些手机厂商在积极探索墨水屏手机的市场。目前市面上的墨水屏手机有三个品牌:海信、掌阅的F1手机、腾讯阅文集团的口袋阅。

这三个品牌中,最知名的是海信(前文有介绍)。掌阅的F1是跟海信合作的;口袋阅更惨,京东上早已下架。

现在大家用的安卓手机基本都是大厂品牌:华为、小米、oppo、vivo等。一提到海信手机,很多人表示不屑。

为什么手机厂商里的大厂不做墨水屏手机呢?因为大厂擅长的是收割市场,而不是教育市场

在海信、掌阅等小众品牌的推动下,再过两年(2023年左右),等到墨水屏手机慢慢进入大众视野后,大厂就开始进场了。海信的墨水屏手机并没有自己的核心技术,很难以量取胜,海信墨水屏手机未来的发展前景,可能不太乐观。

我做个大胆的预测:不久的将来,最先做墨水屏手机的大厂应该是小米。Kindle甚至都有可能推出墨水屏手机。

墨水屏手机一旦普及,它的产品定位不是让拍照多好看、看视频&打游戏多流畅,而是在护眼的前提下,方便文字&图片的阅读和传播。

达到什么程度才算“普及”?至少要保证阅读电子书的人群里,大多数人都知道它。Kindle早已达到了“普及”的程度。我现在放在办公桌上的海信墨水屏手机,每个路过的同事都会好奇地问我这是什么手机。电梯里的陌生人也同样会问我这个问题,好像我和他们很熟一样。可见墨水屏手机目前仍然是个稀有物种

墨水屏手机一旦普及,软件和硬件市场会产生很多新的变化,比如:

  • 无论是什么类型的App软件,都会专门开发出墨水屏版的App。如果你希望让墨水屏版的App变得种类丰富,只能依靠手机市场(硬件、操作系统、生态)去推动,靠参差不齐的阅读器市场是指望不上的。
  • 没有阅读器什么事儿了。到时,阅读器只会成为一些小众人群的收藏品。
  • 墨水屏的智能平板(属于大屏设备)也会越来越多。

当然,即便将来墨水屏手机流行起来,我仍然觉得,买个专门的墨水屏阅读器,更适合孩子阅读。我更担心的是,到时候就算你想买个好点的阅读器,有钱也不一定能买得到。

墨水屏的电脑显示器会普及吗?很难,因为达不到生产力工具的标准。这一点,我放到下一小段做分析。

2025年:新的电子纸技术诞生

我们知道,电子墨水技术(E-ink技术)是目前唯一投入商用的电子纸技术。墨水屏设备的使用体验,瓶颈在于屏幕,屏幕决定了上限。现在的电子墨水屏(E-ink)技术和体验仍然不是很好,无论是外观还是操作上,和手机比起来像是个老古董。

电子墨水技术从20世纪90年代推出到现在,为何进展如此缓慢呢?我猜测有两个原因:

首先,电子墨水技术已经到上限了,很难再有明显的提升。

其次,E-ink公司在2009年被台湾厂商元太科技公司收购,到现在已经12年了,是元太的进展太慢了。从过往现象来看,很多科技创新,尤其是从零到一的创新,大多是国外公司的成果,国内公司更擅长利用人口优势做规模经济。

以上两个原因纯粹只是我的猜测,没有任何根据。如果这两个原因属实,那么,与其指望 E-ink 技术,倒不如另辟蹊径,重新发明全新的电子纸技术。

由于“电子纸”这个词已经被广泛传播,即便将来新技术的显示效果看起来不像纸张,人们也会亲切地将其称之为“电子纸”。

这种全新的电子纸技术是什么我还不知道,应该会在2025年左右诞生。到时,会引发无数人对未来的无限遐想,也就是我接下来想要说的。

2027年:各种电子纸智能设备(包括大屏显示器)开始普及

想要让电子纸的自能设备多样化,首先要有成熟的电子纸技术。除了色彩显示稍微逊色一点点之外,在其他方面的使用体验,必须要对标现在的LED屏幕。护眼、阅读舒适、高分辨率、高刷新率、清晰流畅、省电节能、超薄、轻便等等,一样都不能少;可折叠、可弯曲也会成为电子纸独特的优势。

2027年左右,市场上首先普及的是电子纸手机,其次是电子纸平板。只有电子纸技术成熟之后才能量产,量产之后价格才能降下来。价格降下来之后,电子纸的大屏显示器才能得到普及。

上面这张图是我现在的工位。MacBook Pro、双屏显示器、机械键盘、两部手机(iPhone做主力机,Android手机做测试),安静写代码时的AirPods Pro降噪耳机,这些都是前端码农必备。

Mac电脑可以说是设计师和前端工程师的必备,因为Mac屏幕对网页的显示效果,还原度更高。等到墨水屏显示器普及后,我可以将其作为Mac的扩展显示器。在墨水屏显示器上写代码&写作&看文档,用Mac屏幕开发网页&看图片&看视频,简直完美。

时间线往后拉,随之进入千家万户的是:配备墨水屏的智能家居设备。智能家居设备的屏幕显示,要求不高,能看到内容、可点击就行,不需要多明亮,色彩不需要多饱满。你可以想象这样一种场景:半夜起床在墙上屏幕上调节空调温度,你当然希望屏幕的光线尽可能柔和。

智能家居还谈不上智能。第一块智能屏幕在电脑上,这是互联网的时代;第二块智能屏幕在手机上,这是移动互联网的时代;第三块智能屏幕,将来会出现在车里,这是智能驾驶和万物互联的时代。当前的你肯定有这种感受:坐在车上玩手机或者看其他电子屏幕,会有点眩晕,因为车相对人不是绝对静止的。让电子纸屏幕出现在车里,是我们需要的。

柔性屏、折叠屏在现在的LED屏幕上都有尝试,但华而不实。这些特性很有希望在电子纸上大放异彩。

墨水屏

2030年:电子纸在各个行业大规模应用

除了智能设备之外,电子纸会应用在其他各个行业。

印刷、平面设计、广告牌、地铁站海报、价格标签、商品包装等各种产品,都能看到电子纸的身影。

就拿电子纸广告牌来举例,这种广告牌可以理解成一种大型U盘,通过数据线或者wifi,将其接上电脑。电脑将图片或者视频拷贝给广告牌,就能立即在在大屏上显示。或者将广告牌接入互联网,直接远程控制广告牌展示的内容。

商品包装为何需要电子纸呢?现在的商品包装,都是密密麻麻的小字,看着费劲。贴上薄薄的、可弯曲的电子纸之后,商品包装可以支持页面滑动,在有限的屏幕上承载更多的内容。

电子纸的大规模应用,最让人收益的自然是教育领域和办公领域。

学习资料的打印频率会变低,取而代之的是在A4大小的电子纸里存放资料。当然,你肯定还会偶尔走进打印店。因为纸张便宜,还可以摊开,而屏幕却只有一块。

高考等大型考试也将采用电子纸答题。

到了2040年,所有能展示信息的地方,都会出现电子纸。

电子纸让人有哪些变化?

《为真实的世界设计》一书中这样解释“设计”一词:

设计,就其根本意义而言,是一种“人与理想世界的现实关系”的构建。设计本身不能创造什么,它所创造的或者说它所提供的,只是人与外部世界交互相互的一种可能性,一种改变生活方式的提案和隐含在其中的某种创造性态度。

光预测电子纸的未来是不够的,我们还应该思考电子纸带给我们的价值和影响,并设想⾃⼰在未来所要扮演的⻆⾊。

电子纸对人有哪些影响呢?至少有以下几个方面。

注意力回归

现在很多人都说:“能耐心阅读文字的人越来越少,他们都去看不需要怎么动脑的视频了。”

TK教主的上面这段话,咋一看很有道理,现在主流的观点也都说是这么说的,但我却不认同。

一个读了十几年书、面对了十几年书本的人,跑到手机和电脑上看文字,怎么就突然没耐心呢?我怎么也不信。

那到底是什么原因导致了大家的误解呢?连续在墨水屏手机上看了几个月的文字后,我找到了一个有说服力的答案。

我们在看文字的时候,是逐行看的,因为手机和电脑的屏幕光线,对眼睛产生了直接的干扰,进而影响了人的专注力。人在长时间盯着某一处看的时候,眨眼的频率和眼球运动的频率会降低,在屏幕光线照射的情况下,眼睛会很累。

但是在看视频的时候,不会长时间盯着某一处看,看的是整体,中间有那么几个瞬间不看也没关系。这就是为什么我们可以轻松做到边吃饭边看剧(视频里的声音也可以填补视频的连贯性),但是边吃饭边看书就挺费劲。

眼睛盯着屏幕看的时候,看局部比看整体要累,还有一个典型的例子可以说明这一点。你可以做一个简单的实验,就是:眼睛一直盯着电脑屏幕的某个位置不动(可以眨眼,但别换位置),看看是什么感受?还没三分钟,你眼睛估计就受不了。

我会经常用PS、CorelDRAW等设计软件,我也会经常用 VS Code等软件写代码,一个明显的感受是,用设计软件的时候,眼睛更难受,时不时还得闭目养神一会儿。设计师们在修图的时候,想必深有体会。

为什么现在的网络文章都是隔几句就换一行?就连很长的微信消息,也是建议大家多换行。是大家没耐心看文字吗?非也,只是因为密集的文字在发光的屏幕上看着难受。纸质书上是不存在这个问题的。

如果在不该换行的地方换了行,会影响段落大意,这不是一个好现象。电子纸的普及,可以避免这个问题。准确来说,电子纸不是让人们的注意力回归了,而是让人们的注意力回到了原有的状态

文字消费市场回归

单从获取信息的效率来看,看文字比看视频快三倍,比听音频快五倍。整体预览、跳读、速读、扫读、全文检索、SEO、复制部分内容、整理、归档、传播,这些都是文字的天然优势,甚至在手背上、墙上、沙滩上都可以写字。

现在有很多视频访谈节目,都出了书,满足不同人群的需要,这是个好现象。相反,如果把文章转成字幕念一遍,再配上不痛不痒的画面凑成视频,这就是在制造内容垃圾。

2020年,在小宇宙App的助力下,播客节目大火。播客作为一个小而美的信息源,里面的内容是真的优质,而且可以连接到很多有趣的人和事物,文字和视频很难有这种魅力。有个问题是,播客内容的生产端在增加,消费端并没有增加,因为听音频的方式虽轻松,但获取信息的场景较少,效率较低。所以,有那么一群人正在研究“怎么把音频内容自动转成文字”。

字节跳动公司最近推出的「飞书妙记」软件,就是一款语音自动转文字的效率神器,而且还能划重点,智能分析,更神奇的是,拖动音频的进度条之后,会自动跳转到对应的文字位置。这个创新,可以很好地帮助我们做音频剪辑,以及会议后的复盘。

电子纸让人们看文字的时候会更舒适。文字的消费市场,是经久不衰的,未来会迎来新的变化。

不再沉迷

手机是肢体的延伸。在过去的一年里,我们每天都在坚持做的事就是给手机充电。出门不带手机,仿佛失联。

家长经常不让孩子玩手机、玩电子游戏,有一个很大的原因是,沉迷手机会影响视力和身心健康。

智能手机对人的影响,可以看看下面这张图:

可是,当我在拿着电子纸设备看书时,其实也是一种沉迷,“沉迷学习,日渐消瘦”。换句话说,当我拿着平板时,无论是在看书还是在玩游戏,这在小朋友看来并没有什么区别。

就像好友@Elizen所说:他们是纯粹的屏幕一代,那就应该学会如何与之共处。

电子纸普及后,我们需要重新审视“沉迷”这个词。

助力无障碍阅读

现在有很多软件在做“无障碍”、“适老化”等方面的体验优化,给信息障碍的人群带来福音。

还有一群人,并不是真的遇到了信息障碍,他们可以正常看屏幕和操作软件,只是无法长时间盯着屏幕看,所以不得不通过“听音频”或者“让别人转述”的方式来代替阅读。

电子纸就是一个很好的无障碍解决方案。

虚拟和现实达到很好的平衡

“电子”是虚拟的,“纸”是可触摸的实体。“电子纸”是虚拟还是现实呢?它让虚拟和现实达到了很好的平衡。

虚拟和现实有时并没有严格的界限。近视眼镜就是一种很成熟的增强现实的产品,你所看到的真实世界会和眼镜投射出的影像叠加在一起。

李如一在《明日世界生存指南》中写道:

在二零二零年的今天,手机里的世界并不比真实世界虚拟多少。且不说那些最终和线下活动对接的手机服务,就算是完全发生在线上的,如果它是妳终日关注和思考的事,为什么会是虚拟的呢?

不可知之地

以上的种种预测和分析,都是基于现有的认知,是在电子纸尚未普及的情况下。等真正到了电子纸普及的时代,人们阅读信息的方式以及生活方式会出现翻天覆地的变化,将“彼时”的预测,和“此时”的预测做对比,必然是颠覆性的差异。

我将“彼时”的时空,称为“不可知之地”。其真实情况不为世人所知,但却为世人所仰望。

为什么会有这篇文章?

这篇文章之所以能够诞生,是因为我对很多方面有关注和经历:

  • 热爱阅读
  • 折腾各种电子书阅读的方式和工具
  • 利用996加班之余,写写文章,分享个人收获。
  • 我的本职工作是写代码,需要经常对着电脑和手机。
  • 关注各种阅读软件的产品体验和优化,热衷于找bug。
  • 对设计方面有一些了解,有基本的审美。
  • 我会把好看的公众号文章整合起来,自己制作电子书,然后在电子纸设备上集中阅读。
  • 我喜欢和互联网上小而美的内容创作者,学习交流。当大家在看电子纸的测评文章时,而我在看是谁写的。
  • 我写的文章虽然小众,但谈及的话题不小众。因为我更关注某件事物对普通人来说是否实用。
  • 我用了五年的Kindle,用了三个月的墨水屏手机。如果不是用了墨水屏手机,我不会有这么多思考。
  • 我有400度近视,格外关注护眼。

当所有的这些因素交织在一起,就是你所看到的这些。这些看法无论优劣,都是我在写的那一刻内心真正相信的。目的不在于求认同,而是提供不一样的见解和思考。

你也可以有你自己的看法。我们的每一次表达,都是在优化这个世界。

十年后,当你在一款舒适的电子纸屏幕设备上,再回过头来重温此文时,应该会感受到另一种惬意。

最后一段

科幻大师阿瑟·克拉克爵士说:“任何足够先进的技术,初看都与魔法无异。”的确如此。我们今天想象不到的技术和产品,正在某处的实验室里缓缓成型,酝酿着下一次闪亮登场。

电子纸超脱了传统“纸”的内涵,也同样跳出了概念中的纸张使用范畴。在未来,电子纸技术完全可能成就新一代的电脑、手机,取代广告牌、路标、海报、价格标签,替换风挡玻璃和落地窗,出现在任何需要显示的地方,甚至是衣服或者眼镜上。它带来的革命不仅仅在传统出版和印刷行业,它可以无处不在。

七牛云+PicGo+Typora配置图床

作者 千古壹号
2020年9月22日 22:51

七牛云图床-配置SSL证书

1、购买证书

进入“管理控制台”,左侧菜单栏选择“SSL证书服务”:

如上图所示的选项,点击“购买证书”,即可免费购买:

2、补全信息

如上图所示,购买成功后,选择“补全信息”,然后填写域名信息、公司信息、联系方式:

如果不知道公司信息和联系方式,就随意填。

3、DNS解析

七牛云的免费SSL证书申请下来之后,我们按照上面的横线处的参数,去域名注册网站(我是在阿里云买的域名)做DNS配置:

然后回到七牛云的刚刚的界面,点击“检测验证结果”,SSL证书就申请成功了:

(4)使用免费证书。

回到七牛云的控制台,选择“CDN-域名管理”:

上图中,开启https配置,然后点击“确认”。之后,输入七牛云账户的密码,即可提交成功,等待审核:

稍等片刻之后,我们的七牛云图床,就自动开启了https:

大功告成。从此以后,在七牛云上的图片url,无论是以http开头,还是以https开头,就都能打开了。

七牛云-设置图床防盗链

为了防止恶意刷流量,我们还需要为自定义域名或者存储桶配置防盗链。防盗链可以在 CDN 控制台配置,也可以在存储桶控制台配置。CDN 的防盗链先执行,存储桶后执行。

开启防盗链的步骤

image-20210630212303864

上图中,选择“cdn–>域名管理–>配置”,之后出现如下界面:

image-20210630212432888

image-20210630212622849

上图中,「允许空 Referer」的意思是:是否允许从浏览器输入图片网址直接访问,或者本地程序访问。如果勾选拒绝,则本地程序无法读取图片,在浏览器中输入图片网址会返回 403。

参考链接:

数据对比

未开启防盗链之前,我的图床,每月请求量是60W次,每天请求量是2W次。

image-20210630211901129

光是一个图床,每月就要花我近30元大洋,非常心痛:

image-20210630212026820

开启防盗链之后,数据待更新:

参考链接

hexo 博客的常见配置

作者 千古壹号
2020年9月21日 11:53

hexo常见命令

新建文章草稿

Hexo 提供了 draft 机制,草稿里将建立在 source/_drafts 目录下。当执行 hexo generate 时,并不会将其编译到 public 目录下,所以 hexo deploy 发布之后,草稿不会显示在页面中。

新建草稿:(草稿不会显示在页面中)

1
hexo new draft <title>

本地预览草稿:

1
$ hexo S --draft

Hexo server 提供了 --draft 参数,搭配 hexo-browsersync 这个插件,就可以一边编辑 markdown 文章,一边使用浏览器预览。

新建一篇文章

新建的文章,会自动存放在 source/_posts目录下。

新建文章:

1
hexo new  "my-article"

本地预览:

1
hexo serve

新建文件夹blog,然后初始化项目:

1
2
3
cd blog
hexo init
npm install

Hexo 自动部署和发布

我们可以在本地新建一个 xxx.md 文件放在 blog\source\_posts 目录中。然后在本地的blog目录下,执行如下命令,就可以将文章发布到服务器端了:

方式1:

1
2
3
hexo clean
hexo generate
hexo deploy

方式2:

1
2
3
hexo cl
hexo g
hexo d

方式3:

1
hexo cl && hexo g && hexo d

hexo 文章格式

文章格式是选填的,不是必须的;但最好加上尽可能多的文章格式,让文章的信息更完整。

hexo 文章的简略格式

1
2
3
4
5
6
7
8
9
---
title: 我是文章标题
date: 2020-09-19 11:30:30
author: qianguyihao
categories: 我是分类
tags:
- 标签1
- 标签2
---

hexo 文章的较完整格式

1
2
3
4
5
6
7
8
9
10
---
title: 我是文章标题
date: 2020-09-19 11:30:30
author: qianguyihao
urlname:
categories: 我是分类
tags:
- 标签1
- 标签2
---

hexo 文章模板的自定义

每次使用 hexo new "my-article"新建一篇文章时,默认只有title、date、tags这几个属性。

我们可以修改scaffolds/post.md文件,自定义文章格式的模板,我修改后的内容如下:

1
2
3
4
5
6
7
8
9
---
title: {{ title }}
date: {{ date }}
update: {{ date }}
author:
urlname:
categories:
tags:
---

hexo 文章的全部属性

参考链接:https://www.dazhuanlan.com/2019/11/30/5de154d0810af/

自定义文章的url地址

(1)修改 hexo/_config.yml 文件:

1
2
#permalink: :year/:month/:day/:title/
permalink: :urlname/

(2)然后,我们就可以单独在具体某篇文章里的头部,通过 urlname字段 自定义这篇文章的url了:

1
2
3
4
5
---
title: 我是文章标题
date: 2020-09-21 11:53:36
urlname: xxx-url
---

参考链接:

给hexo博客生成RSS订阅

(1)在 hexo 项目根目录下执行如下命令:

1
npm install hexo-generator-feed --save

(2)在 hexo 根目录下的 _config.yml 文件中添加如下配置:

1
2
3
4
5
#订阅RSS
feed:
type: atom
path: atom.xml
limit: false

(3)在 theme 目录下的 _config.yml 文件中添加如下配置:

1
rss: /atom.xml

添加上面这行之后,就可以确保在网站的菜单栏展示出“RSS”这几个字(也就是说,露出了RSS订阅的入口)。

当然,你也可以把RSS订阅的入口放在“社交图标”的位置。不同的主题,配置方式不同。比如,就拿hexo-theme-melody主题来说,它的配置方式很简单,在melody主题的 _config.yml 文件中配置如下内容:

1
2
social:
rss fa: https://qianguyihao.com/atom.xml

(4)重新编译,生成博客的静态文件:

1
hexo clean && hexo g

此时,在 public 文件夹中会自动生成一个 atom.xml 文件。

这个atom.xml 就是的 RSS 订阅文件了,以后只需要访问 qianguyihao.com/atom.xml 就可以实现 RSS 订阅了。

参考链接:

hexo-theme-melody 主题配置

官方文档:https://molunerfinn.com/hexo-theme-melody-doc/zh-Hans/

图片无法自适应的问题

解决办法:https://github.com/Molunerfinn/hexo-theme-melody/issues/285

接入 Google Adsense

配置 melody.yml文件:

1
2
3
4
5
google_adsense:
enable: true
js: //pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
client: ca-pub-1601618516206303
enable_page_level_ads: true

常见问题积累

nginx 重启失败

修改nginx后,重启nginx:

1
2
3
4
5
6
7
8
9
# 修改nginx
cd /usr/local/nginx/conf
ls
vim nginx.conf

# 重启nginx
cd /usr/local/nginx/sbin
ls
./nginx -s reload

结果提示下面这个错误:

1
2
[root@iZw9 sbin]# ./nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

进入到logs目录发现确实没有nginx.pid文件。

解决办法:

使用指定nginx.conf文件的方式重启nginx:

1
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

此时去logs目录下查看发现nginx.pid文件已经生成了,而且也完成了自动重启的事情。

hexo+阿里云搭建博客网站

作者 千古壹号
2020年9月19日 19:00

2020-09-19折腾时间:

  • 15:15~18:00
  • 20:45~22:15
  • 23:50~00:20

经过5个小时的折腾(含笔记整理),输入公网ip之后,终于可以打开自己的博客网站了。

一、本地安装Hexo环境

1、安装 git 环境

2、安装Node.js环境

3、安装 Hexo,并初始化项目

安装 hexo:

1
npm install -g hexo-cli

新建文件夹blog,然后初始化项目:

1
2
3
cd blog
hexo init
npm install

初始化完成后,blog文件夹内包括如下内容:

在blog文件夹内安装插件:

1
2
npm install hexo-deployer-git --save
npm install hexo-server

在blog文件夹内,配置git提交的账号邮箱:

1
2
git config user.email "youremail@mail.com"
git config user.name "yourname"

4、新建一篇文章

新建文章:

1
hexo new  "my-article"

新建的文章,会自动存放在 source/_posts目录下。

然后,我们可以开始在 source/_posts/my-article.md 文件里,写 markdown 格式的文章了。

5、在本地预览项目

输入如下命令,在浏览器预览项目:

1
2
3
4
5
6
7
$ hexo server
或者
$ hexo s

INFO Validating config
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

在浏览器输入 http://localhost:4000 ,就能看到 Hexo 的默认主题下的主页了:

至此我们就完成了在本地的配置工作。

二、域名注册、服务器购买

1、域名注册

2、购买阿里云服务器 ECS

进入阿里云主页 https://www.aliyun.com/,点击“云服务器ECS ”进行购买:

购买服务器ECS时,可以选择如下配置:

  • 地域:选择离经常访问你网站的用户近一些的地域
  • 内存:1G
  • 云盘:40G
  • 网络:专有网络
  • 公网IP:包含
  • 带宽:1Mbps

按照上面的配置,2020-09-19这天的价格如下:

  • 一年:700
  • 三年:1600

我选择了三年的。

3、域名备案

域名备案时,需要先准备一个ECS服务器,我们可以直接用上面购买的服务器。

备案时间较长,请耐心等待。

三、阿里云ECS配置

重置实例密码

由于 ECS 服务器对 root 用户没有设置初始密码,因此我们需要对 root 密码进行重置:

温馨提示:记得妥善保管自己的 root 用户密码哦。并且在搭建的过程中如遇到不可挽回的局面可以考虑重置 ECS 实例,相当于重装系统。操作如下:

设置安全组

阿里云的服务器默认不开放端口号,这样使得我们在网站部署完成之后仍然无法访问。

有一个基本原因是没有开启端口号,因此我们需要新建安全组并添加 80 端口,再将安全组添加到 ECS 实例中。具体操作如下。

在控制台的 ECS 实例中点击「网络与安全–>安全组–>创建安全组–>快速添加」。在访问规则的入方向添加如下几个端口(尤其是80端口):

然后回到 ECS 服务器实例,将刚刚配置的安全组加入到实例中:

备注:安全组的出方向不用配置,默认对外都是放行的。

四、服务器端配置

此步骤是博客搭建过程中最容易出错的地方,提出以下几点建议:

  • 为了避免出错,推荐直接复制粘贴命令行代码。
  • 分清是在本地计算机上操作,还是连接服务器在服务器上操作。
  • 分清在服务器上使用 Git 用户还是使用 root 用户进行操作。

本地通过 ssh 连接服务器

我用的是Mac电脑,推荐使用 Royal TSX 软件进行ssh连接。

参考链接:在Mac上使用Royal TSX,替代 xshell 和 item2、SecureCRT,可以 SSH 也能 FTP

(如果你用的是 Windows电脑,推荐使用Xshell软件进行ssh连接。)

安装 nginx

参考链接:centos8平台编译安装nginx1.18.0

我们使用 nginx 作为 web 服务器和反向代理工具。

(1)安装 nginx 依赖环境(安装期间有提示一律选 yes):

1
2
3
4
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

(2)下载 nginx 安装包:

1
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

将安装包解压到 /usr/local 目录下:

1
tar -zxvf nginx-1.18.0.tar.gz -C /usr/local

(3)进入 /usr/local 目录,确认 nginx 解压到该目录下:

1
cd /usr/local

进入 nginx-1.18.0 目录,会发现该目录下有一个 configure 文件,执行该配置文件:

1
2
3
cd nginx-1.18.0/
ls
./configure --prefix=/usr/local/soft/nginx --with-http_stub_status_module --with-http_ssl_module

解释:

  • –prefix 指定安装路径

  • –with-http_stub_status_module 允许查看nginx状态的模块

  • –with-http_ssl_module 支持https的模块

编译并安装 nginx:

1
2
make
make install

(4)查找nginx安装目录:

1
2
$ whereis nginx
/usr/local/nginx

进入安装目录:

1
2
3
4
$ cd /usr/local/nginx
$ ls
# 有下面这几个文件
# conf html logs sbin

由于 nginx 默认通过 80 端口访问,而 Linux 默认情况下不会开发该端口号,因此需要开放 linux 的 80 端口供外部访问:

1
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

(9)进入 nginx安装目录的sbin 目录,启动 nginx:

1
2
3
cd /usr/local/nginx
cd sbin
./nginx

没有任何消息,代表启动成功。此时输入公网 IP 即可进入 nginx 的欢迎页面了:

备注:注意要保证 nginx 服务处于 运行状态 才可以访问博客网站。nginx 相关命令如下:(在 cd /usr/local/nginx/sbin 目录下执行)

1
2
3
4
5
6
7
8
9
10
cd /usr/local/nginx/sbin

# 停止 nginx 服务
./nginx -s stop

# 启动 nginx 服务
./nginx

# 重启 nginx 服务
./nginx -s reload

配置 nginx 路由

(1)为 hexo 创建一个部署目录 /home/www/hexo

1
mkdir -p /home/www/hexo

(2)进入 /usr/local/nginx/conf 目录,并对 nginx.conf 配置文件进行相关配置:

1
2
3
cd /usr/local/nginx/conf
ls
vim nginx.conf

打开nginx.conf文件后,按 i 键由命令模式切换到编辑模式,修改三个地方:

  • 首先将最顶端的用户改为 root。
  • 其次,将 server_name 改为自己的域名。如果没有备案,可以先填写自己的公网 IP(在阿里云控制台的 ECS 实例中查看),访问时暂时用公网 IP 进行访问。
  • 最后,将location中的 root 项中的值改为 /home/www/hexo;。如果 server 中的端口号不是 80,则改为 80

修改结束之后,先按 Esc 由编辑模式切换到命令模式,再输入 :wq 命令保存并退出编辑器。

nginx.conf 修改前:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#user  nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}

修改后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
user  root;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

server {
listen 80;
server_name www.qianguyihao.com;
return 301 https://www.qianguyihao.com$request_uri;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /home/www/hexo;
index index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# 开启 HTTPS
#
server {
listen 443 ssl;
server_name www.qianguyihao.com qianguyihao.com;

ssl_certificate /usr/local/nginx/cert/4523958_www.qianguyihao.com.pem;
ssl_certificate_key /usr/local/nginx/cert/4523958_www.qianguyihao.com.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root /home/www/hexo;
index index.html index.htm;
}
}

}

需要修改的位置如下:

修改nginx后,重启nginx:

1
2
3
cd /usr/local/nginx/sbin
ls
./nginx -s reload

安装 node.js

安装 node.js的命令如下:

1
2
3
cd ~
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

过查看版本号验证是否安装成功:

1
2
node -v
npm -v

效果如下:

在服务器端创建 Git 用户

为了使我们能够在本地向服务器实现自动部署,需要在服务器端另外新建一个 Git 用户。然后使用公钥连接成功之后,就可以方便地随时进行自动部署了。

执行如下命令,在阿里云安装git环境:(有提示时,选择 yes 即可)

1
yum install git

安装结束之后,通过查看版本号验证是否安装成功:

1
2
$ git --version
git version 2.18.4

创建 Git 用户:

1
adduser git

修改 Git 用户权限为 740:

1
chmod 740 /etc/sudoers

在配置文件中增加 Git 用户。首先打开文件:

1
vim /etc/sudoers

进入文件后,后按 i 键由命令模式切换到编辑模式。如下图所示,在 root 下添加一行 Git 信息:

修改结束后,先按 Esc 由编辑模式切换到命令模式,再输入:wq 命令保存并退出编辑器。

将 Git 用户的权限改回去:

1
chmod 400 /etc/sudoers

设置 Git 用户密码:

1
2
3
4
5
$ sudo passwd git
更改用户 git 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

以上我们就完成了 Git 用户的创建,接下来我们向 Git 用户添加公钥,就像配置 Github 那样。

给服务器端的 Git 用户配置 ssh 公钥

这样做的目的就是,以后由本地向服务器提交资源,就不需要再进行身份验证了。

流程大致如下:

  • 先在本地的C:\Users\用户名.ssh目录生成公钥id_rsa.pub和私钥id_rsa
  • 然后使用 FTP 上传工具,将公钥文件id_rsa.pub上传到服务器端的 .ssh 文件夹;
  • 最后将公钥文件id_rsa.pub内容拷贝到 authorized_keys 文件中。

温馨提示:使用 ctrl + c 复制命令,然后在终端点击右键就可以直接粘贴上去了,避免手动输入的麻烦。

如果你之前配置过公钥到 Github、Gitlab 等仓库,那你直接使用之前的公钥即可。

另外,我们要注意在本地操作还是在服务器端操作;在服务器端的时候,是使用 root 用户还是使用 git 用户操作。

(1)在服务器端切换到 git 用户,在根目录下创建 .ssh文件夹:

1
2
3
su git
cd ~
mkdir .ssh

此时,命令行信息中的 # 变成了 $,且 root 变成了 git,表示我们切换成功。

(2)在本地生成生成公钥、私钥:(注意是在本地)

1
2
3
4
5
$ cd ~
$ cd .ssh
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/smyhvae/.ssh/id_rsa):

上面的命令中,如果有询问,直接回车即可。结束之后,会在 C:\Users\用户名\.ssh 里生成两个文件:公钥文件 id_rsa.pub、私钥文件id_rsa

注意,.ssh 为隐藏文件夹,你可能需要显示隐藏文件夹之后才可以看到。

(3)在本地终端输入以下命令,为私钥设置权限:

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

(4)使用ftp工具,将本地的 id_rsa.pub 文件上传到服务器端的/home/git/.ssh目录下:

在使用ftp工具登录远程服务器时,登录项如下:

  • ip:公网ip。
  • 端口:22
  • 协议:sftp
  • 用户名:git
  • 密码:xx

注意,此时服务器端 .ssh 文件夹里还没有 authorized_keys 文件,只有 id_rsa.pub 这一个文件。

(5)回到 服务器端,以 Git 用户身份在 .ssh 文件夹内新建 authorized_keys 文件,并将公钥内容拷贝到该文件中:

1
2
3
cd ~/.ssh
cp id_rsa.pub authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys

修改文件权限:

1
2
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

(6) 确保设置了正确的SELinux上下文:

1
restorecon -Rv ~/.ssh

现在我们来验证一下,在本地输入如下命令,是否能正常连接到远程服务器:(不用输入密码,就能直接连上)

1
ssh -v git@xxx.xxx.xxx.xxx(你的公网 IP)

如果显示欢迎界面,表示本地连接远程服务器的git用户时,连接成功:

但是我们一般不使用 Git 用户进行服务端操作,而是使用 root 用户。Git 用户只是作为自动部署特意新建的。

比如说,在本地输入如下命令,可以连接远程服务器的root用户:(需要输入密码)

1
ssh -v root@xxx.xxx.xxx.xxx(你的公网 IP)

在服务端配置 Git 仓库

(1)在服务器端使用 Git 用户 创建 git 仓库,并新建 post-receive 钩子文件:

1
2
3
4
5
6
7
8
9
su git
cd ~
sudo git init --bare hexo.git

# 新建文件
touch ~/hexo.git/hooks/post-receive

# 修改文件权限
chmod +x ~/hexo.git/hooks/post-receive

备注:注意ls、touch、cat、vi/vim的区别。

输入如下命令编辑文件:

1
vim ~/hexo.git/hooks/post-receive

进入文件后,后按 i 键由命令模式切换到编辑模式。输入以下命令:

1
git --work-tree=/home/www/hexo --git-dir=/home/git/hexo.git checkout -f

修改完成后,先按 Esc 由编辑模式切换到命令模式,再输入 :wq 命令保存并退出编辑器。

(2)在服务器端使用root用户,修改文件权限:

1
2
3
su root
cd ~
sudo chmod -R 777 /home/www/hexo

(3)重启 ECS 实例。

到此,我们就完成了服务端的配置。

五、hexo本地部署和发布

本地 Hexo 配置连接和域名

主要是修改 _config.yml 文件。进入本地计算机 blog 文件夹的根目录,找到 _config.yml 文件并打开。

(1)把 deploy 参数改成如下方式:(注意,xxx 的地方是填写你自己的公网 IP )

1
2
3
4
deploy:
type: git
repo: git@xxx.xxx.114.110:/home/git/hexo.git
branch: master

(2)URL 配置项需要改为自己的域名:(如果没有备案,则可以先填写公网 IP)

1
url: http://www.qianguyihao.com

Hexo 自动部署和发布

我们可以在本地新建一个 xxx.md 文件放在 blog\source\_posts 目录中。然后在本地的blog目录下,执行如下命令,就可以将文章发布到服务器端了:

方式1:

1
2
3
hexo clean
hexo generate
hexo deploy

方式2:

1
2
3
hexo cl
hexo g
hexo d

方式3:

1
hexo cl && hexo g && hexo d

此时,在浏览器中输入自己的公网 IP,你就可以打开你的博客网站了。惊不惊喜?意不意外?

备注:在浏览器中输入自己的公网 IP之后,如果网站打不开,请记得检查之前的步骤是否正确,尤其是检查一下 nginx 服务是否已经启动。

域名DNS解析

当我们的域名备案成功之后,我们就有能力使用域名登陆自己的博客了。在此之前,需要在阿里云 控制台-域名 中设置域名解析。

点击“解析”:

在DNS解析设置里同时添加两条指向公网ip的主机记录:一条@记录,一条www记录。如下:

此时,在浏览器输入www.qianguyihao.com或者qianguyihao.com,就可以打开我的博客网站了。它们都是基于http协议的,等同于http://www.qianguyihao.com

将网站域名支持https

在上面的步骤中,网站域名只支持了 http,还没有支持https。所以,当我输入https://www.qianguyihao.com时,网站是不打开的。

那要怎么让网站域名支持 https呢?我们可以为域名添加免费证书,添加证书后,网站将变成安全的 https。

整体流程如下:(图1)

整体流程如下:(图2)

具体配置步骤如下。

购买免费证书

在阿里云主页搜索 SSL证书,然后点击“立即购买”:

按照下图所示的选项进行选择,可以看到证书是免费的:

按照步骤的流程点击之后,域名解析里会自动多出下面这一条解析:

下载证书

解析完成后,马上会收到两条短信:

短信1:

1
【阿里云】尊敬的smy****@163.com:您为域名www.qianguyihao.com购买的SSL证书已签发成功,现可前往 SSL证书控制台 下载并安装至Web服务器或一键部署到阿里云云产品,详情可参考https://c.tb.cn/I3.ZW3uZ,如需人工帮助请拨打95187-2。

短信2:

1
【阿里云】尊敬的smy****@163.com:您的云盾证书服务实例:cas-cn-xx 开通成功。请登录云盾证书服务控制台查看及管理。

备注:阿里云控制台网址:https://console.aliyun.com

由于我们的 web 服务器是 ngxin,因此下载时选择 nginx:

在服务器端安装证书

(1)按照上面的步骤下载完成后,会得到一个xxx.zip压缩包,将压缩包解压后,会看到两个文件:452xxx_www.qianguyihao.com.pem452xxx_www.qianguyihao.com.key

(2)连接服务器,以 root 用户进入 nginx 配置页面:

1
cd /usr/local/nginx/

创建 cert 文件夹用来存放证书:

1
2
mkdir cert
ls

然后使用ftp工具将刚才的两个证书文件上传到 cert 文件夹。

修改 nginx 配置文件:

1
2
cd /usr/local/nginx/conf
vim nginx.conf

i 进入编辑模式,拉到最下方,开放 443 端口,并填写ssl证书的文件名:

修改结束后,先按 Esc 退出编辑模式,然后输入 :wq 保存并退出。

修改前:

# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }

修改后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name www.qianguyihao.com;

ssl_certificate /usr/local/nginx/cert/452xxx_www.qianguyihao.com.pem;
ssl_certificate_key /usr/local/nginx/cert/452_www.qianguyihao.com.key;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
root /home/www/hexo;
index index.html index.htm;
}
}

(3)修改nginx后,重启nginx:

1
2
3
cd /usr/local/nginx/sbin
ls
./nginx -s reload

http 访问时,自动重定向到 https

继续修改 nginx 文件,修改原有端口 80 的监听,加一行配置:

1
2
3
4
server {
listen 80;
return 301 https://www.qianguyihao.com$request_uri;
}

修改之后,当用户使用 http 协议访问网站时,会自动进行 301 跳转,以 https 协议访问网站。

修改nginx后,重启nginx:

1
2
3
cd /usr/local/nginx/sbin
ls
./nginx -s reload

购买和配置付费证书

免费证书只有一年期限。一年到期后,不能再免费了:

image-20210927165112443

所以,接下来,只能购买和配置付费证书了。

(1)我按照下图的配置,选了一个最便宜的证书:

image-20210927165152188

image-20210927165221923

image-20210927165318768

(2)进入证书管理页,配置证书:

image-20210927170021805

上图中,点击“证书申请”,然后输入域名,然后点击“确定”,会进入下方的页面:

image-20210927170128710

上图中,点击“证书申请”,进入下方的页面:

image-20210927170216847

上图中,点击“下一步”,进入下方页面:

image-20210927170506086

上图中,按照步骤操作。先去域名控制台配置dns,然后回到当前页面点击“验证”,最后点击“提交审核”。

dns解析的配置信息如下:

image-20210927170716824

点击“提交审核”之后,会弹窗:

image-20210927170758859

Hexo 主题自定义

我用的是hexo-theme-melody 主题,官方文档上有详细的配置指南。

遇到的问题

Console expects a writable stream instance

问题描述:执行hexo init时报错Console expects a writable stream instance

解决办法:是Node.js版本的问题,v8.xx的版本太低了,建议升级到V10.x.x以上(我升级到了V12.18.4版本)。

参考链接:hexo与github结合

ssh连接中断的问题

Mac 连接服务器保持ssh会话:https://mp.weixin.qq.com/s/ylMPjyVnmptcEq12Gi-Nzg

想要通过 xxx.com 和 www.xxx.com 都能正常访问,怎么做

问:想要通过 xxx.com 和 www.xxx.com 都能正常访问博客网站,应该怎么做?

解决办法如下:

需要在dns域名解析中,同时添加两条指向公网ip的主机记录:一条@记录,一条www记录。如下:

添加完这两条记录后,通过 xxx.comwww.xxx.com,都可以访问你的服务器。

在支持https的情况下,如果你只添加了www记录,那么,只能通过以下网址访问:

1
2
3
www.qianguyihao.com
https://www.qianguyihao.com
http://www.qianguyihao.com

如果继续添加了@记录,还可以通过一下网址访问:

1
2
3
https://qianguyihao.com
http://qianguyihao.com
qianguyihao.com

补充:为了达到上面这个目标,nginx配置中,server_name只需要设置www.qianguyihao.com即可,不需要设置www.qianguyihao.com qianguyihao.com。不要多此一举。

参考链接:

参考链接

提到了如何将md文件进行管理。

自己动手制作电子书的最佳方式(支持PDF、ePub、mobi等格式)

作者 千古壹号
2020年9月14日 18:00

前言

对于经常阅读的人来说,制作本地电子书,算是刚需了。网上的很多教程都不太好用,所以我特地整理出一个详细的教程。亲测有效,一劳永逸。

当你意外发现某个宝藏公众号时,想要集中阅读上面的每一篇文章,恨不得一口气看完,你会怎么做呢?你可能会把它添加到“微信读书”App 的书架上:

但上面这种曲线救国的方式并非最佳,仍然不尽人意,存在不少问题。

我知道,现在有很多的第三方服务,可以将任意公众号的文章制作成电子书,我试过很多次,但都是付费的。一听说要钱,你又不干了:

再列举一种场景:当你在 GitHub 上发现一个很全面很丰富的项目文档时,仿佛发现了新大陆。可 GitHub 网站的服务器在国外,国内的访问速度实在感人,你想要把它下载到本地查看,会怎么做呢?你估计会选择git clone或者直接选择“Download ZIP”,然后用 Typora 或者 VS Code 软件打开这个项目文档,在本地查看:

总之,你能想到的方式,我都想到了,而且都尝试过。

现在的需求就是,如果你经常阅读网上的资料,肯定会有这样一个需求:怎么把这些几百页、甚至几千页的内容整理成 PDF、ePub、mobi等格式的电子书呢

要么花钱请别人做,要么自己做。

今天这篇文章,就是来告诉你”自己动手制作 PDF、ePub、mobi 等格式电子书“的最佳方式。如果你是码农出身,下面讲的这些步骤,根本难不倒你。如果你不是码农出身,也没关系,只要你有一台电脑,跟着我讲的教程研究下去,肯定能搞定。

问题的关键不在于难不难、会不会,而是在于你是不是爱折腾

制作电子书的具体步骤

整体流程

先说一下整体步骤:

(1)安装 gitbook 工具。

(2)安装 calibre 软件,配置 ebook-convert工具。

(3)将md格式的多个文件素材导出为电子书(支持 PDF、ePub、mobi 等格式)。

(4)高级进阶:配置电子书的目录、封面、页眉页脚等。

整理流程如下:

接下来我们看看详细的完整步骤。

编译环境

node.js和calibre版本:

  • node:v12.18.4
  • calibre:5.11.0

gitbook -V:

  • CLI version: 2.3.2
  • GitBook version: 3.2.3

步骤 1:通过 npm 安装 gitbook-cli

安装命令如下:

1
npm install -g gitbook-cli

安装成功之后,再执行gitbook -V命令确认是否安装成功,此时会自动安装 GitBook:

1
2
3
gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3

备注:如果你不知道 npm 是什么,可以自行查阅如何安装 Node.js 和 npm 环境

如果你在执行gitbook -V命令的时候提示错误TypeError: cb.apply is not a function,有两个解决办法:

  • 方法1:原因是 Node.js版本不对。Node.js 建议安装 10.X版本(比如 10.21.0 版本)。参考链接:https://www.bilibili.com/read/cv6932054/

  • 方法2:打开文件node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js,将下面这三行代码注释掉:

1
2
3
fs.stat = statFix(fs.stat)
fs.fstat = statFix(fs.fstat)
fs.lstat = statFix(fs.lstat)

参考链接:https://flaviocopes.com/cb-apply-not-a-function/

步骤 2:安装 ebook-convert(针对 Windows 用户)

ebook-convert 是能够自由转化格式的一个命令行工具,已经包含在 calibre 软件里面了。

(1)安装 calibre 软件。calibre 的官网如下:(我们可以去官网下载安装)

https://calibre-ebook.com/

(2)在终端输入ebook-convert --version命令,验证 ebook-convert 是否能正常使用:

1
2
3
ebook-convert --version
ebook-convert.exe (calibre 5.11.0)
Created by: Kovid Goyal <kovid@kovidgoyal.net>

如果输入上面的命令后提示错误,说明你还需要将 calibre 的安装目录添加到系统的环境变量中。

步骤 2:安装 ebook-convert(针对 Mac 用户)

ebook-convert 是能够自由转化格式的一个命令行工具,已经包含在 calibre 软件里面了。

(1)安装 calibre 软件。calibre 的官网如下:(我们可以去官网下载安装)

https://calibre-ebook.com/

(2)配置 ebook-convert。针对 Mac 系统,需要执行如下命令,把 ebook-convert 软链接到 bin 目录:

1
sudo ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin

执行上面的命令后,如果出现Operation not permitted异常,说明系统权限限制,此时需要配置环境变量

(3)环境变量配置:

1
2
3
4
5
vim ~/.bash_profile

# 将下面这两行配置,添加到 .bash_profile 文件中
export EBOOK_PATH=/Applications/calibre.app/Contents/MacOS
export PATH=$PATH:$EBOOK_PATH

备注:可以自行研究下,在命令行环境,如何通过 vim 编辑文件。

然后刷新一下刚刚的配置:

1
source ~/.bash_profile

(4)在终端输入ebook-convert --version命令,验证ebook-convert是否能正常使用:

1
2
3
4
ebook-convert --version
ebook-convert (calibre 5.4.2)
Created by: Kovid Goyal <kovid@kovidgoyal.net>
meiyamin@meiyamins-MacBook-Pro  ~ 

步骤 3:配置电子书的目录

本地新建一个空的文件夹,作为我们的电子书项目。文件夹的名字随便起,但建议用英文命名。

(1)项目初始化。

在当前项目下,执行如下命令,进行初始化:

1
gitbook init

此时,项目下会自动生成如下两个文件:(非常重要,必不可少

  • README.md:书籍的简介放在这个文件里。

  • SUMMARY.md:书籍的目录结构在这里配置。

这两个文件创建后,内容为空白,可使用 Markdown 语言自定义内容。

(2)配置电子书的目录。

我们先把本地的 markdown 文件(也就是我们的电子书素材)放到项目中,然后在SUMMARY.md文件中配置电子书的目录。

比如说, 我的项目中有下面这些文件:

那么,我在SUMMARY.md文件中就要这样配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 目录

* [README](./README.md)
* [00-前端工具](00-前端工具/0-README.md)
* [01-VS Code的使用](00-前端工具/01-VS Code的使用.md)
* [02-Git的使用](00-前端工具/02-Git的使用.md)
* [01-HTML](01-HTML/0-README.md)
* [01-认识Web和Web标准](01-HTML/01-认识Web和Web标准.md)
* [02-浏览器的介绍](01-HTML/02-浏览器的介绍.md)
* [03-初识HTML](01-HTML/03-初识HTML.md)
* [02-CSS基础](02-CSS基础/0-README.md)
* [01-CSS属性:字体属性和文本属性](02-CSS基础/01-CSS属性:字体属性和文本属性.md)
* [02-CSS属性:背景属性](02-CSS基础/02-CSS属性:背景属性.md)
* [03-CSS样式表和选择器](02-CSS基础/03-CSS样式表和选择器.md)
* [03-JavaScript基础](03-JavaScript基础/0-README.md)
* [00-编程语言](03-JavaScript基础/00-编程语言.md)
* [01-JS简介](03-JavaScript基础/01-JS简介.md)
* [02-变量](03-JavaScript基础/02-变量.md)
* [03-变量的数据类型:基本数据类型和引用数据类型](03-JavaScript基础/03-变量的数据类型:基本数据类型和引用数据类型.md)

制作成的目录,将会是下面这种效果:

步骤 4:导出电子书

(1)本地预览电子书:

1
gitbook serve

执行上方命令后,工具会对项目里的 Markdown 格式的文件进行转换,默认转换为 html 格式,最后提示 Serving book on http://localhost:4000

我们打开浏览器输入http://localhost:4000,预览一下电子书的效果:

(2)制作并导出电子书。接下来就是见证奇迹的时刻

生成 PDF 格式的电子书:(PDF 是最常见的文档格式)

1
gitbook pdf ./ ./mybook.pdf

生成 epub 格式的电子书:(epub 是最常见、最通用的电子书格式)

1
gitbook epub ./ ./mybook.epub

生成 mobi 格式的电子书:(mobi 格式可以在 kindle 中打开)

1
gitbook mobi ./ ./mybook.mobi

上面这三种格式的电子书生成之后,项目里会看到这三个新增的文件:

我们把电子书打开,验收一下成果。

打开 pdf 电子书看看效果:

打开 epub 电子书看看效果:

怎么样,自制电子书就这样做好了,是不是很有成就感?

制作电子书的高级配置

电子书做好之后,我猜你肯定想进一步做个性化配置,比如:怎么加封面?怎么修改页眉页脚?还有其他的一些配置。

我们来看看亲手制作的电子书,有哪些常见的高级配置。

制作书籍封面

为了让书籍显示得更加优雅,我们可以指定一个自定义的封面。操作如下:

在项目的根目录下准备好 cover.jpg (大封面)和 cover_small.jpg (小封面)这两种封面图片。注意,图片的文件名和后缀名必须严格按照这句话来。

GitBook 的官方文档建议: cover.jpg (大封面)的尺寸为 1800x2360 像素,cover_small.jpg(小封面)的尺寸为 200x262 像素。图片的制作,建议遵循如下规范:

  • 没有边框
  • 清晰可见的书本标题
  • 任何重要的文字在小封面中应该清晰可见

book.json :电子书的各种配置

我们可以在项目的根目录下新建一个文件book.json(注意,文件名是book,后缀名是json),这个book.json就是电子书的配置文件,可以在里面填一些常见的配置。

关于 book.json 的配置项有很多,我们可以在网上搜索“GitBook book.json”找到。这里大致列举一些。

1、常规配置如下:

配置 book.json 的示例如下:

1
2
3
4
5
6
7
8
{
"title": "前端入门和进阶图文教程",
"description": "前端入门到进阶图文教程,超详细的Web前端学习笔记。从零开始学前端,做一名精致优雅的前端工程师。公众号「千古壹号」作者。",
"author": "千古壹号",
"language": "zh-hans",
"gitbook": "3.2.3",
"root": "."
}

备注:上面的root根目录为当前目录,使用默认的就好,此项可以删掉,这里仅做演示。

2、pdf 的配置如下:(使用 book.json 中的一组选项来定制 PDF 输出)

配置项描述
pdf.pageNumbers将页码添加到每个页面的底部(默认为 true)
pdf.fontSize基本字体大小(默认是 12)
pdf.fontFamily基本字体样式(默认是 Arial)
pdf.paperSize页面尺寸,选项有: a0、a1、 a2、 a3、a4、a5、a6、b0、b1、b2、b3、b4、b5、b6、legal、letter (默认值是 a4)
pdf.margin.top上边距(默认值是 56)
pdf.margin.bottom下边距(默认值是 56)
pdf.margin.left左边距(默认值是 62)
pdf.margin.right右边距(默认值是 62)

定制 PDF 文档输出格式的示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"pdf": {
"pageNumbers": false,
"fontSize": 12,
"paperSize": "a4",
"margin": {
"top": 36,
"bottom": 36,
"left": 62,
"right": 62
}
}
}

备注:如果你不需要对输出的 pdf 做任何特定的配置,则不需要添加上面的内容,让 pdf 的输出格式保持默认就好。

3、plugins 插件:

插件及其配置在 book.json 中指定,让电子书的配置能力更加强大。

通过插件,我们可以做很多事情,比如:修改页眉页脚、自动生成并显示图片的标题等。

另外,针对在线版的GitBook电子书,也有很多插件,这里列举几个:

关于插件的具体配置,感兴趣的同学可以自行研究下。

自动生成目录(重要)

如果你的电子书素材里有很多 markdown 文件,那么,如何将多个 markdown 文件的文件名,在SUMMARY.md里快速生成对应的目录?

难道要一个一个地手动 copy 吗?这不可能。

说白了,这个需求就是:如何自动生成电子书的目录?改变世界的程序员用「脚本」就能搞定,一键执行。

网上有很多好用的脚本,我给你推荐一个亲测好用的脚本:

GitBook 自动生成目录的脚本:https://github.com/fushenghua/gitbook-plugin-summary

操作方法很简单,把上面这个链接中的项目下载下来,进入到这个项目的目录,执行 python gitbook-plugin-summary.py dirPath 即可自动生成电子书的目录,亲测有效。备注:这里的dirPath指的是你的电子书目录的绝对路径。

对了,在执行上面这个脚本之前,记得先安装 Python 环境。

电子书用什么软件打开

用什么软件打开 PDF

Windows 平台:可以用「福昕阅读器」或者「Acrobat Reader DC」。「福昕阅读器」既有 Windows 平台,也有 Mac 平台。

Mac 平台:可以用自带的「预览」打开。

其实,不管你用的是 Windows 电脑还是 Mac 电脑,你都可以用 Chrome 浏览器打开 PDF。

iPhone 或 iPad平台:可以用自带的「iBooks」打开,或者用「WPS Office」打开。也可以用第三方软件「GoodReader」,不过需要 40 人民币。

Android 手机:可以用「WPS Office」等第三方办公软件打开。

用什么软件阅读 ePub 电子书

Windows 平台:可以用「calibre」软件阅读 epub 电子书。

Mac & iPhone & iPad 平台:用自带的「iBooks」阅读即可。iBooks 可以非常方便地对电子书进行标注和搜索,无疑是体验最好的 ePub 电子书阅读软件。

Android 手机:可以用「多看阅读」App 来阅读 epub 格式电子书。

用什么方式阅读 mobi 电子书

kindle 电子书有两种常见的电子书格式:「mobi」格式和「azw3」格式。

  • 针对 mobi 格式的电子书,你既可以通过邮件的形式将其发送到 kindle 阅读器(可以自行网上查一下相关教程),也可以将其拷贝到 kindle 阅读器(是连接 usb 进行拷贝)。

  • 针对 azw3 格式的电子书,就只能通过拷贝的形式(是连接 usb 拷贝)传输到 kindle 阅读器。

小结

我在 2017 年 1 月写过一篇电子书科普的文章,快三年过去了,如今回过头来看,那篇文章一点也不过时,不妨看看:《电子书有哪些常见格式?以及该怎样阅读它

最后一段

如果你一时半会儿找不到可用的素材来制作电子书,可以拿我的项目练练手。项目地址:

https://github.com/qianguyihao/web

我用上面的项目制作成了一个电子书。在“千古壹号”的公众号后台回复“pdf”,给你看看我制作的电子书效果。

不瞒你说,这篇文章,我在一年多以前就写好了初稿并放在了 GitHub 上,当时专门折腾过一次。

最近几天,我突然又有了制作电子书的需求。一年多过去了,我还以为有啥新的方法可以试试,然而我在网上找了一圈,好用的方法还是没变。所以,我今天整理一下发出来,希望让更多人看到。

其他的各种自制电子书的方法我都试过了,都不太好使,唯独 GitBook + calibre 是最佳选择,信我没错!

参考链接

当今世间最强编辑器:第一次使用 VS Code 时你应该知道的一切配置

作者 千古壹号
2020年6月19日 18:00

前言

VS Code 软件实在是太酷、太好用了,越来越多的新生代互联网青年正在使用它。

前端男神尤雨溪大大这样评价 VS Code:

有一点你可能会感到惊讶:VS Code 这款软件本身,是用 JavaScript 语言编写的(具体请自行查阅基于 JS 的客户端开发框架 Electron)。Jeff Atwood 在 2007 年提出了著名的 Atwood 定律:

任何能够用 JavaScript 实现的应用系统,最终都必将用 JavaScript 实现

Jeff Atwood 这个人是谁不重要(他是 Stack Overflow 网站的联合创始人),重要的是这条定律。

前端目前是处在春秋战国时代,各路英雄豪杰成为后浪,各种框架工具层出不穷,VS Code 软件无疑是大前端时代最骄傲的工具。

如果你是做前端开发(JavaScript 编程语言为主),则完全可以将 VS Code 作为「主力开发工具」。这款软件是为前端同学量身定制的。

如果你是做其他语言方向的开发,并且不需要太复杂的集成开发环境,那么,你可以把 VS Code 作为「代码编辑器」来使用,纵享丝滑。

甚至是一些写文档、写作的同学,也经常把 VS Code 作为 markdown 写作工具,毫无违和感。

退而求其次,即便你不属于以上任何范畴,你还可以把 VS Code 当作最简单的文本编辑器来使用,完胜 Windows 系统自带的记事本。

写下这篇文章,是顺势而为。

一、VS Code 的介绍

VS Code 的全称是 Visual Studio Code,是一款开源的、免费的、跨平台的、高性能的、轻量级的代码编辑器。它在性能、语言支持、开源社区方面,都做得很不错。

IDE 与 编辑器的对比

IDE 和编辑器是有区别的:

  • IDE(Integrated Development Environment,集成开发环境):对代码有较好的智能提示和相互跳转,同时侧重于工程项目,对项目的开发、调试工作有较好的图像化界面的支持,因此比较笨重。比如 Eclipse 的定位就是 IDE。

  • 编辑器:要相对轻量许多,侧重于文本的编辑。比如 Sublime Text 的定位就是编辑器。再比如 Windows 系统自带的「记事本」就是最简单的编辑器。

需要注意的是,VS Code 的定位是编辑器,而非 IDE ,但 VS Code 又比一般的编辑器的功能要丰富许多。可以这样理解:VS Code 的体量是介于编辑器和 IDE 之间。

VS Code 的特点

  • VS Code 的使命,是让开发者在编辑器里拥有 IDE 那样的开发体验,比如代码的智能提示、语法检查、图形化的调试工具、插件扩展、版本管理等。

  • 跨平台支持 MacOS、Windows 和 Linux 等多个平台。

  • VS Code 的源代码以 MIT 协议开源。

  • 支持第三方插件,功能强大,生态系统完善。

  • VS Code 自带了 TypeScript 和 Node.js 的支持。也就是说,你在书写 JS 和 TS 时,是自带智能提示的。当然,其他的语言,你可以安装相应的扩展包插件,也会有智能提示。

前端利器之争: VS Code 与 WebStorm

前端小白最喜欢问的一个问题是:哪个编辑器/IDE 好用?是 VS Code 还是 WebStorm (WebStorm 其实是 IntelliJ IDEA 的定制版)?我来做个对比:

  • 哪个更酷:显然 VS Code 更酷。

  • 内存占用情况:根据我的观察,VS Code 是很占内存的(尤其是当你打开多个窗口的时候),但如果你的内存条够用,使用起来是不会有任何卡顿的感觉的。相比之下,IntelliJ IDEA 不仅非常占内存,而且还非常卡顿。如果你想换个既轻量级、又不占内存的编辑器,最好还是使用「Sublime Text」编辑器。

  • 使用比例:当然是 VS Code 更胜一筹。先不说别的,我就拿数据说话,我目前所在的前端团队有 100 人左右,绝大部分前端同学都在用 VS Code,妥妥的。

所以,如果你以后还问这个问题,那就真有些掉底了。

VS Code 的安装

VS Code 的安装很简单,直接去官网下载安装包,然后双击安装即可。

上图中,直接点击 download,一键下载安装即可。

二、崭露锋芒:VS Code 快捷键

VS Code 用得熟不熟,首先就看你是否会用快捷键。以下列出的内容,都是常用快捷键,而加粗部分的快捷键,使用频率则非常高。

任何工具,掌握 20%的技能,足矣应对 80% 的工作。既然如此,你可能会问:那就只保留 20% 的特性,不久可以满足 80%的用户了吗?

但我想说的是:**那从来都不是同样的 20%**,每个人都会用到不同的功能。

掌握下面这些高频核心快捷键,你和你的工具,足矣露出锋芒。

1、工作区快捷键

Mac 快捷键Win 快捷键作用备注
Cmd + Shift + PCtrl + Shift + P,F1显示命令面板
Cmd + BCtrl + B显示/隐藏侧边栏很实用
Cmd + \Ctrl + \创建多个编辑器窗口【重要】抄代码利器
Cmd + 1、2Ctrl + 1、2聚焦到第 1、第 2 个编辑器同上重要
cmd +/-ctrl +/-将工作区放大/缩小(包括代码字体、左侧导航栏)在投影仪场景经常用到
Cmd + JCtrl + J显示/隐藏控制台
Cmd + Shift + NCtrl + Shift + N重新开一个软件的窗口很常用
Cmd + Shift + WCtrl + Shift + W关闭软件的当前窗口
Cmd + NCtrl + N新建文件
Cmd + WCtrl + W关闭当前文件

2、跳转操作

Mac 快捷键Win 快捷键作用备注
Cmd + `没有在同一个软件的多个工作区之间切换使用很频繁
Cmd + Option + 左右方向键Ctrl + Pagedown/Pageup在已经打开的多个文件之间进行切换非常实用
Ctrl + TabCtrl + Tab在已经打开的多个文件之间进行跳转不如上面的快捷键快
Cmd + Shift + OCtrl + shift + O在当前文件的各种方法之间进行跳转
Ctrl + GCtrl + G跳转到指定行
Cmd+Shift+\Ctrl+Shift+\跳转到匹配的括号

3、移动光标

Mac 快捷键Win 快捷键作用备注
方向键方向键单个字符之间移动光标大家都知道
option + 左右方向键Ctrl + 左右方向键单词之间移动光标很常用
Cmd + 左右方向键Fn + 左右方向键整行之间移动光标很常用
Cmd + ←Fn + ←(或 Win + ←)将光标定位到当前行的最左侧很常用
Cmd + →Fn + →(或 Win + →)将光标定位到当前行的最右侧很常用
Cmd + ↑Ctrl + Home将光标定位到文章的第一行
Cmd + ↓Ctrl + End将光标定位到文章的最后一行
Cmd + Shift + \代码块之间移动光标

4、编辑操作

Mac 快捷键Win 快捷键作用备注
Cmd + EnterCtrl + Enter在当前行的下方新增一行,然后跳至该行即使光标不在行尾,也能快速向下插入一行
Cmd+Shift+EnterCtrl+Shift+Enter在当前行的上方新增一行,然后跳至该行即使光标不在行尾,也能快速向上插入一行
Option + ↑Alt + ↑将代码向上移动很常用
Option + ↓Alt + ↓将代码向下移动很常用
Option + Shift + ↑Alt + Shift + ↑将代码向上复制
Option + Shift + ↓Alt + Shift + ↓将代码向下复制写重复代码的利器

5、多光标编辑

Mac 快捷键Win 快捷键作用备注
Cmd + Option + 上下键Ctrl + Alt + 上下键在连续的多列上,同时出现光标
Option + 鼠标点击任意位置Alt + 鼠标点击任意位置在任意位置,同时出现光标
Option + Shift + 鼠标拖动Alt + Shift + 鼠标拖动在选中区域的每一行末尾,出现光标
Cmd + Shift + LCtrl + Shift + L在选中文本的所有相同内容处,出现光标

其他的多光标编辑操作:(很重要)

  • 选中某个文本,然后反复按住快捷键「 Cmd + D 」键(windows 用户是按住「Ctrl + D」键), 即可将全文中相同的词逐一加入选择。

  • 选中一堆文本后,按住「Option + Shift + i」键(windows 用户是按住「Alt + Shift + I」键),既可在每一行的末尾都创建一个光标。

6、删除操作

Mac 快捷键Win 快捷键作用备注
Cmd + shift + KCtrl + Shift + K删除整行「Cmd + X」的作用是剪切,但也可以删除整行
option + BackspaceCtrl + Backspace删除光标之前的一个单词英文有效,很常用
option + deleteCtrl + delete删除光标之后的一个单词
Cmd + Backspace删除光标之前的整行内容很常用
Cmd + delete删除光标之后的整行内容

备注:上面所讲到的移动光标、编辑操作、删除操作的快捷键,在其他编辑器里,大部分都适用。

7、编程语言相关

Mac 快捷键Win 快捷键作用备注
Cmd + /Ctrl + /添加单行注释很常用
Option + Shift + FAlt + shift + F代码格式化很常用
F2F2以重构的方式进行重命名改代码备
Ctrl + J将多行代码合并为一行Win 用户可在命令面板搜索”合并行“
Cmd +
Cmd + UCtrl + U将光标的移动回退到上一个位置撤销光标的移动和选择

8、搜索相关

Mac 快捷键Win 快捷键作用备注
Cmd + Shift + FCtrl + Shift +F全局搜索代码很常用
Cmd + PCtrl + P在当前的项目工程里,全局搜索文件名
Cmd + FCtrl + F在当前文件中搜索代码,光标在搜索框里
Cmd + GF3在当前文件中搜索代码,光标仍停留在编辑器里很巧妙

9、自定义快捷键

按住快捷键「Cmd + Shift + P」,弹出命令面板,在命令面板中输入“快捷键”,可以进入快捷键的设置。

当然,你也可以选择菜单栏「偏好设置 –> 键盘快捷方式」,进入快捷键的设置:

10、快捷键列表

你可以点击 VS Code 左下角的齿轮按钮,效果如下:

上图中,在展开的菜单中选择「键盘快捷方式」,就可以查看和修改所有的快捷键列表了:

快捷键参考链接

三、命令面板的使用

Mac 用户按住快捷键 Cmd+Shift+P (Windows 用户按住快捷键Ctrl+Shift+P),可以打开命令面板。效果如下:

如果们需要修改一些设置项,可以通过「命令面板」来操作,效率会更高。这里列举一些。

1、设置字体大小

在命令面板输入“字体”,可以进行字体的设置,效果如下:

当然,你也可以在菜单栏,选择「首选项-设置-常用设置」,在这个设置项里修改字体大小。

2、快捷键设置

在命令面板输入“快捷键”,就可以进入快捷键的设置。

3、大小写转换

选中文本后,在命令面板中输入transfrom,就可以修改文本的大小写了。

4、使用命令行启动 VS Code

(1)输入快捷键「Cmd + Shift + P 」,选择install code command

(2)使用命令行:

  • code命令:启动 VS Code 软件

  • code pathName/fileName命令:通过 VS Code 软件打开指定目录/指定文件。

四、私人订制:VS Code 的常见配置

1、VS Code 设置为中文语言

Mac 用户按住快捷键 Cmd+Shift+P (Windows 用户按住快捷键Ctrl+Shift+P),打开命令面板。

在命令面板中,输入Configure Display Language,选择Install additional languages,然后安装插件Chinese (Simplified) Language Pack for Visual Studio Code即可。

或者,我们可以直接安装插件Chinese (Simplified) Language Pack for Visual Studio Code,是一样的。

安装完成后,重启 VS Code。

2、面包屑(Breadcrumb)

打开 VS Code 的设置项,选择「用户设置 -> 工作台 -> 导航路径」,如下图所示:

上图中,将红框部分打钩即可。

设置成功后,我们就可以查看到当前文件的「层级结构」,非常方便。如下图所示:

有了这个面包屑导航,我们可以在任意目录、任意文件之间随意跳转。

3、左右显示多个编辑器窗口(抄代码利器)

Mac 用户按住快捷键 Cmd + \, Windows 用户按住快捷键Ctrl + \,即可同时打开多个编辑器窗口,效果如下:

按快捷键「Cmd + 1 」切换到左边的窗口,按快捷键「Cmd + 2 」切换到右边的窗口。随时随地,想切就切。

学会了这一招,以后抄代码的时候,leader 再也不用担心我抄得慢了,一天工资到手。

4、是否显示代码的行号

VS Code 默认显示代码的行号。你可以在设置项里搜索 editor.lineNumbers修改设置,配置项如下:

我建议保留这个设置项,无需修改。

5、右侧是否显示代码的缩略图

VS Code 会在代码的右侧,默认显示缩略图。你可以在设置项里搜索 editor.minimap进行设置,配置项如下:

6、将当前行代码高亮显示(更改光标所在行的背景色)

当我们把光标放在某一行时,这一行的背景色并没有发生变化。如果想高亮显示当前行的代码,需要设置两步:

(1)在设置项里搜索editor.renderLineHighlight,将选项值设置为all或者line

(2)在设置项里增加如下内容:

1
2
3
4
"workbench.colorCustomizations": {
"editor.lineHighlightBackground": "#00000090",
"editor.lineHighlightBorder": "#ffffff30"
}

上方代码,第一行代码的意思是:修改光标所在行的背景色(背景色设置为全黑,不透明度 90%);第二行代码的意思是:修改光标所在行的边框色。

7、改完代码后立即自动保存

方式一

改完代码后,默认不会自动保存。你可以在设置项里搜索files.autoSave,修改配置项如下:

上图中,我们将配置项修改为onFocusChange之后,那么,当光标离开该文件后,这个文件就会自动保存了。非常方便

方式二

当然,你也可以直接在菜单栏选择「文件-自动保存」。勾选后,当你写完代码后,文件会立即实时保存。

8、保存代码后,是否立即格式化

保存代码后,默认不会立即进行代码的格式化。你可以在设置项里搜索editor.formatOnSave查看该配置项:

我觉得这个配置项保持默认就好,不用打钩。

9、空格 or 制表符

VS Code 会根据你所打开的文件来决定该使用空格还是制表。也就是说,如果你的项目中使用的都是制表符,那么,当你在写新的代码时,按下 tab 键后,编辑器就会识别成制表符。

常见的设置项如下:

  • editor.detectIndentation:自动检测(默认开启)。截图如下:

  • editor.insertSpaces:按 Tab 键时插入空格(默认)。截图如下:

  • editor.tabSize:一个制表符默认等于四个空格。截图如下:

10、新建文件后的默认文件类型

当我们按下快捷键「Cmd + N」新建文件时,VS Code 默认无法识别这个文件到底是什么类型的,因此也就无法识别相应的语法高亮。

如果你想修改默认的文件类型,可以在设置项里搜索files.defaultLanguage,设置项如下:

上图中的红框部分,填入你期望的默认文件类型。我填的是html类型,你也可以填写成 javascript 或者 markdown,或者其他的语言类型。

11、删除文件时,是否弹出确认框

当我们在 VS Code 中删除文件时,默认会弹出确认框。如果你想修改设置,可以在设置项里搜索xplorer.confirmDelete。截图如下:

我建议这个设置项保持默认的打钩就好,不用修改。删除文件前的弹窗提示,也是为了安全考虑,万一手贱不小心删了呢?

接下来,我们来讲一些更高级的配置。

12、文件对比

VS Code 默认支持对比两个文件的内容。选中两个文件,然后右键选择「将已选项进行比较」即可,效果如下:

VS Code 自带的对比功能并不够强大,我们可以安装插件compareit,进行更丰富的对比。比如说,安装完插件compareit之后,我们可以将「当前文件」与「剪切板」里的内容进行对比:

13、查找某个函数在哪些地方被调用了

比如我已经在a.js文件里调用了 foo()函数。那么,如果我想知道foo()函数在其他文件中是否也被调用了,该怎么做呢?

做法如下:在 a.js 文件里,选中foo()函数(或者将光标放置在foo()函数上),然后按住快捷键「Shift + F12」,就能看到 foo()函数在哪些地方被调用了,比较实用。

14、鼠标操作

  • 在当前行的位置,鼠标三击,可以选中当前行。

  • 用鼠标单击文件的行号,可以选中当前行。

  • 在某个行号的位置,上下移动鼠标,可以选中多行

15、重构

重构分很多种,我们来举几个例子。

命名重构

当我们尝试去修改某个函数(或者变量名)时,我们可以把光标放在上面,然后按下「F2」键,那么,这个函数(或者变量名)出现的地方都会被修改。

方法重构

选中某一段代码,这个时候,代码的左侧会出现一个「灯泡图标」,点击这个图标,就可以把这段代码提取为一个单独的函数。

16、在当前文件中搜索

在上面的快捷键列表中,我们已经知道如下快捷键:

  • Cmd + F(Win 用户是 Ctrl + F):在当前文件中搜索,光标在搜索框里

  • Cmd + G(Win 用户是 F3):在当前文件中搜索,光标仍停留在编辑器里

另外,你可能会注意到,搜索框里有很多按钮,每个按钮都对应着不同的功能,如下图所示:

上图中,你可以通过「Tab」键和「Shift + Tab」键在输入框和替换框之间进行切换。

「在选定内容中查找」这个功能还是比较实用的。你也可以在设置项里搜索 editor.find.autoFindInSelection,勾选该设置项后,那么,当你选中指定内容后,然后按住「Cmd + F」,就可以自动只在这些内容里进行查找。该设置项如下图所示:

17、全局搜索

在上面的快捷键列表中,我们已经知道如下快捷键:

  • Cmd + Shift + F(Win 用户是 Ctrl + Shift +F):在全局的文件夹中进行搜索。效果如下:

上图中,你可以点击红框部分,展开更多的配置项。

18、Git 版本管理

VS Code 自带了 Git 版本管理,如下图所示:

上图中,我们可以在这里进行常见的 git 命令操作。如果你还不熟悉 Git 版本管理,先去补补课吧。

与此同时,我建议安装插件GitLens,它是 VS Code 中我最推荐的一个插件,简直是 Git 神器,码农必备。

19、将工作区放大/缩小

我们在上面的设置项里修改字体大小后,仅仅只是修改了代码的字体大小。

如果你想要缩放整个工作区(包括代码的字体、左侧导航栏的字体等),可以按下快捷键「**cmd +/-**」。windows 用户是按下「ctrl +/-」

当我们在投影仪上给别人演示代码的时候,这一招十分管用

如果你想恢复默认的工作区大小,可以在命令面板输入重置缩放(英文是reset zoom

20、创建多层子文件夹

我们可以在新建文件夹的时候,如果直接输入aa/bb/cc,比如:

那么,就可以创建多层子文件夹,效果如下:

21、.vscode 文件夹的作用

为了统一团队的 vscode 配置,我们可以在项目的根目录下建立.vscode目录,在里面放置一些配置内容,比如:

  • settings.json:工作空间设置、代码格式化配置、插件配置。

  • sftp.json:ftp 文件传输的配置。

.vscode目录里的配置只针对当前项目范围内生效。将.vscode提交到代码仓库,大家统一配置时,会非常方便。

22、自带终端

我们可以按下「Ctrl + `」打开 VS Code 自带的终端。我认为内置终端并没有那么好用,我更建议你使用第三方的终端 item2

23、markdown 语法支持

VS Code 自带 markdown 语法高亮。也就是说,如果你是用 markdown 格式写文章,则完全可以用 VS Code 进行写作。

写完 md 文件之后,你可以点击右上角的按钮进行预览,如下图所示:

我一般是安装「Markdown Preview Github Styling」插件,以 GitHub 风格预览 Markdown 样式。样式十分简洁美观。

你也可以在控制面板输入Markdown: 打开预览,直接全屏预览 markdown 文件。

24、Emmet in VS Code

Emmet可以极大的提高 html 和 css 的编写效率,它提供了一种非常简练的语法规则。

举个例子,我们在编辑器中输入缩写代码:ul>li*6 ,然后按下 Tab 键,即可得到如下代码片段:

1
2
3
4
5
6
7
8
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>

VS Code 默认支持 Emmet。更多 Emmet 语法规则,请自行查阅。

25、修改字体,使用「Fira Code」字体

这款字体很漂亮,很适合用来写代码:

安装步骤如下:

(1)进入 https://github.com/tonsky/FiraCode 网站,下载并安装「Fira Code」字体。

(2)打开 VS Code 的「设置」,搜索font,修改相关配置为如下内容:

1
2
"editor.fontFamily": "'Fira Code',Menlo, Monaco, 'Courier New', monospace", // 设置字体显示
"editor.fontLigatures": false,//控制是否启用字体连字,true启用,false不启用

上方的第二行配置,取决于个人习惯,我是直接设置为"editor.fontLigatures": null,因为我不太习惯连字。

26、代码格式化:Prettier

我们可以使用 Prettier进行代码格式化,会让代码的展示更加美观。步骤如下:

(1)安装插件 Prettier

(2)在项目的根路径下,新建文件.prettierrc,并在文件中添加如下内容:

1
2
3
4
5
6
7
8
9
{
"printWidth": 150,
"tabWidth": 4,
"semi": true,
"singleQuote": true,
"trailingComma": "es5",
"tslintIntegration": true,
"insertSpaceBeforeFunctionParenthesis": false
}

上面的内容,是我自己的配置,你可以参考。

更多配置,可以参考官方文档:https://prettier.io/docs/en/options.html

27、文件传输:sftp

如果你需要将本地文件通过 ftp 的形式上传到局域网的服务器,可以安装sftp这个插件,很好用。在公司会经常用到。

步骤如下:

(1)安装插件sftp

(2)配置 sftp.json文件。 插件安装完成后,输入快捷键「cmd+shift+P」弹出命令面板,然后输入sftp:config,回车,当前工程的.vscode文件夹下就会自动生成一个sftp.json文件,我们需要在这个文件里配置的内容可以是:

  • host:服务器的 IP 地址

  • username:用户名

  • privateKeyPath:存放在本地的已配置好的用于登录工作站的密钥文件(也可以是 ppk 文件)

  • remotePath:工作站上与本地工程同步的文件夹路径,需要和本地工程文件根目录同名,且在使用 sftp 上传文件之前,要手动在工作站上 mkdir 生成这个根目录

  • ignore:指定在使用 sftp: sync to remote 的时候忽略的文件及文件夹,注意每一行后面有逗号,最后一行没有逗号

举例如下:(注意,其中的注释需要去掉)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"host": "192.168.xxx.xxx", //服务器ip
"port": 22, //端口,sftp模式是22
"username": "", //用户名
"password": "", //密码
"protocol": "sftp", //模式
"agent": null,
"privateKeyPath": null,
"passphrase": null,
"passive": false,
"interactiveAuth": false,
"remotePath": "/root/node/build/", //服务器上的文件地址
"context": "./server/build", //本地的文件地址

"uploadOnSave": true, //监听保存并上传
"syncMode": "update",
"watcher": {
//监听外部文件
"files": false, //外部文件的绝对路径
"autoUpload": false,
"autoDelete": false
},
"ignore": [
//忽略项
"**/.vscode/**",
"**/.git/**",
"**/.DS_Store"
]
}

(3)在 VS Code 的当前文件里,选择「右键 -> upload」,就可以将本地的代码上传到 指定的 ftp 服务器上(也就是在上方 host 中配置的服务器 ip)。

我们还可以选择「右键 -> Diff with Remote」,就可以将本地的代码和 ftp 服务器上的代码做对比。

七、VS Code 配置云同步

我们可以将配置云同步,这样的话,当我们换个电脑时,即可将配置一键同步到本地,就不需要重新安装插件了,也不需要重新配置软件。

我们还可以把配置分享其他用户,也可以把其他用户的配置给自己用。

将自己本地的配置云同步到 GitHub

(1)安装插件 settings-sync

(2)安装完插件后,在插件里使用 GitHub 账号登录。

(3)登录后在 vscode 的界面中,可以选择一个别人的 gist;也可以忽略掉,然后创建一个属于自己的 gist。

(4)使用快捷键 「Command + Shift + P」,在弹出的命令框中输入 sync,并选择「更新/上传配置」,这样就可以把最新的配置上传到 GitHub。

换另外一个电脑时,从云端同步配置到本地

(1)当我们换另外一台电脑时,可以先在 VS Code 中安装 settings-sync 插件。

(2)安装完插件后,在插件里使用 GitHub 账号登录。

(3)登录之后,插件的界面上,会自动出现之前的同步记录:

上图中,我们点击最新的那条记录,就可将云端的最新配置同步到本地:

如果你远程的配置没有成功同步到本地,那可能是网络的问题,此时,可以使用快捷键 「Command + Shift + P」,在弹出的命令框中输入 sync,并选择「下载配置」,多试几次。

使用其他人的配置

如果我们想使用别人的配置,首先需要对方提供给你 gist。具体步骤如下:

(1)安装插件 settings-sync

(2)使用快捷键 「Command + Shift + P」,在弹出的命令框中输入 sync,并选择「下载配置」

(3)在弹出的界面中,选择「Download Public Gist」,然后输入别人分享给你的 gist。注意,这一步不需要登录 GitHub 账号。

八、三头六臂:VS Code 插件推荐

VS Code 有一个很强大的功能就是支持插件扩展,让你的编辑器仿佛拥有了三头六臂。

上图中,点击红框部分,即可在输入框里,查找你想要的插件名,然后进行安装。

我来列举几个常见的插件,这些插件都很实用。注意:顺序越靠前,越实用

1、GitLens 【荐】

我强烈建议你安装插件GitLens,它是 VS Code 中我最推荐的一个插件,简直是 Git 神器,码农必备。如果你不知道,那真是 out 了。

GitLens 在 Git 管理上有很多强大的功能,比如:

  • 将光标放置在代码的当前行,可以看到这样代码的提交者是谁,以及提交时间。这一点,是 GitLens 最便捷的功能。

  • 查看某个 commit 的代码改动记录

  • 查看不同的分支

  • 可以将两个 commit 进行代码对比

  • 甚至可以将两个 branch 分支进行整体的代码对比。这一点,简直是 GitLens 最强大的功能。当我们在不同分支 review 代码的时候,就可以用到这一招。

2、Git History

有些同学习惯使用编辑器中的 Git 管理工具,而不太喜欢要打开另外一个 Git UI 工具的同学,这一款插件满足你查询所有 Git 记录的需求。

3、Live Server 【荐】

在本地启动一个服务器,代码写完后可以实现「热更新」,实时地在网页中看到运行效果。就不需要每次都得手动刷新页面了。

使用方式:安装插件后,开始写代码;代码写完后,右键选择「Open with Live Server」。

4、Chinese (Simplified) Language Pack for Visual Studio Code

让软件显示为简体中文语言。

5、Bracket Pair Colorizer 2:突出显示成对的括号【荐】

Bracket Pair Colorizer 2插件:以不同颜色显示成对的括号,并用连线标注括号范围。简称彩虹括号

另外,还有个Rainbow Brackets插件,也可以突出显示成对的括号。

6、sftp:文件传输 【荐】

如果你需要将本地文件通过 ftp 的形式上传到局域网的服务器,可以安装sftp这个插件,很好用。在公司会经常用到。

详细配置已经在上面讲过。

7、open in browser

安装open in browser插件后,在 HTML 文件中「右键选择 –> Open in Default Browser」,即可在浏览器中预览网页。

8、highlight-icemode:选中相同的代码时,让高亮显示更加明显【荐】

VSCode 自带的高亮显示,实在是不够显眼。用插件支持一下吧。

所用了这个插件之后,VS Code 自带的高亮就可以关掉了:

在用户设置里添加"editor.selectionHighlight": false即可。

参考链接:vscode 选中后相同内容高亮插件推荐

9、vscode-icons

vscode-icons 会根据文件的后缀名来显示不同的图标,让你更直观地知道每种文件是什么类型的。

10、Project Manager

工作中,我们经常会来回切换多个项目,每次都要找到对应项目的目录再打开,比较麻烦。Project Manager 插件可以解决这样的烦恼,它提供了专门的视图来展示你的项目,我们可以把常用的项目保存在这里,需要时一键切换,十分方便。

11、TODO Highlight

写代码过程中,突然发现一个 Bug,但是又不想停下来手中的活,以免打断思路,怎么办?按照代码规范,我们一般是在代码中加个 TODO 注释。比如:(注意,一定要写成大写TODO,而不是小写的todo

1
//TODO:这里有个bug,我一会儿再收拾你

或者:

1
//FIXME:我也不知道为啥, but it works only that way.

安装了插件 TODO Highlight之后,按住「Cmd + Shift + P」打开命令面板,输入「Todohighlist」,选择相关的命令,我们就可以看到一个 todoList 的清单。

12、WakaTime 【荐】

统计在 VS Code 里写代码的时间。统计效果如下:

13、Code Time

Code Time插件:记录编程时间,统计代码行数。

安装该插件后,VS Code 底部的状态栏右下角可以看到时间统计。点击那个位置之后,选择「Code Time Dashboard」,即可查看统计结果。

备注:团长试了一下这个 code time 插件,发现统计结果不是很准。

14、Markdown Preview Github Styling 【荐】

以 GitHub 风格预览 Markdown 样式,十分简洁优雅。就像下面这样,左侧书写 Markdown 文本,右侧预览 Markdown 的渲染效果:

15、Markdown Preview Enhanced

预览 Markdown 样式。

16、Settings Sync【荐】

同步的详细操作已在上面讲过。

17、vscode-syncing

18、Vetur

Vue 多功能集成插件,包括:语法高亮,智能提示,emmet,错误提示,格式化,自动补全,debugger。VS Code 官方钦定 Vue 插件,Vue 开发者必备。

19、ES7 React/Redux/GraphQL/React-Native snippets

React/Redux/react-router 的语法智能提示。

20、minapp:小程序支持

小程序开发必备插件。

21、Prettier:代码格式化

Prettier 是一个代码格式化工具,只关注格式化,但不具备校验功能。在一个多人协同开发的团队中,统一的代码编写规范非常重要。一套规范可以让我们编写的代码达到一致的风格,提高代码的可读性和统一性。自然维护性也会有所提高。

22、ESLint:代码格式校验

日常开发中,建议用可以用 Prettier 做代码格式化,然后用 eslint 做校验。

23、Beautify

代码格式化工具。

24、JavaScript(ES6) code snippets

ES6 语法智能提示,支持快速输入。

25、Search node_modules 【荐】

node_modules模块里面的文件夹和模块实在是太多了,根本不好找。好在安装 Search node_modules 这个插件后,输入快捷键「Cmd + Shift + P」,然后输入 node_modules,在弹出的选项中选择 Search node_modules,即可搜索 node_modules 里的模块。

26、indent-rainbow:突出显示代码缩进

indent-rainbow插件:突出显示代码缩进。

安装完成后,效果如下图所示:

27、javascript console utils:快速打印 log 日志【荐】

安装这个插件后,当我们按住快捷键「Cmd + Shift + L」后,即可自动出现日志 console.log()。简直是日志党福音。

当我们选中某个变量 name,然后按住快捷键「Cmd + Shift + L」,即可自动出现这个变量的日志 console.log(name)

其他的同类插件还有:Turbo Console Log。

不过,生产环境的代码,还是尽量少打日志比较好,避免出现一些异常。

编程有三等境界:

  • 第三等境界是打日志,这是最简单、便捷的方式,略显低级,一般新手或资深程序员偷懒时会用。

  • 第二等境界是断点调试,在前端、Java、PHP、iOS 开发时非常常用,通过断点调试可以很直观地跟踪代码执行逻辑、调用栈、变量等,是非常实用的技巧。

  • 第一等境界是测试驱动开发,在写代码之前先写测试。与第二等的断点调试刚好相反,大部分人不是很习惯这种方式,但在国外开发者或者敏捷爱好者看来,这是最高效的开发方式,在保证代码质量、重构等方面非常有帮助,是现代编程开发必不可少的一部分。

28、Code Spell Checker:单词拼写错误检查

这个拼写检查程序的目标是帮助捕获常见的单词拼写错误,可以检测驼峰命名。从此告别 Chinglish.

29、Local History 【荐】

维护文件的本地历史记录,强烈建议安装。代码意外丢失时,有时可以救命。

30、Polacode-2020 【荐】

可以把代码保存成美观的图片,主题不同,代码配色方案也不同,也可以自己设置边框颜色、大小、阴影。

有人可能会说:直接用 QQ 截图不行吗?可以是可以,但不够美观、不够干净。

31、Image Preview 【荐】

图片预览。鼠标移动到图片 url 上的时候,会自动显示图片的预览和图片尺寸。

32、Auto Close Tag、Auto Rename Tag

自动闭合标签、自动对标签重命名。

33、Better Comments

为注释添加更醒目、带分类的色彩。

34、CSS Peek

增强 HTML 和 CSS 之间的关联,快速查看该元素上的 CSS 样式。

35、Vue CSS Peek

CSS Peek 对 Vue 没有支持,该插件提供了对 Vue 文件的支持。

36、Color Info

这个便捷的插件,将为你提供你在 CSS 中使用颜色的相关信息。你只需在颜色上悬停光标,就可以预览色块中色彩模型的(HEX、 RGB、HSL 和 CMYK)相关信息了。

37、RemoteHub

不要惊讶,RemoteHub 和 GitLens 是同一个作者开发出来的。

RemoteHub插件的作用是:可以在本地查看 GitHub 网站上的代码,而不需要将代码下载到本地。

这个插件目前使用的人还不多,赶紧安装起来尝尝鲜吧。

38、Live Share:实时编码分享

Live Share这个神奇的插件是由微软官方出品,它的作用是:实时编码分享。也就是说,它可以实现你和你的同伴一起写代码。这绝对就是结对编程的神器啊。

安装方式:

打开插件管理,搜索“live share”,安装。安装后重启 VS Code,在左侧会多出一个按钮:

上图中,点击红框部分,登录后就可以分享你的工作空间了。

39、Import Cost

在项目开发过程中,我们会引入很多 npm 包,有时候可能只用到了某个包里的一个方法,却引入了整个包,导致代码体积增大很多。Import Cost插件可以在代码中友好的提示我们,当前引入的包会增加多少体积,这很有助于帮我们优化代码的体积。

八、主题插件

给你的 VS Code 换个皮肤吧,免费的那种。

  • Dracula Theme

  • Material Theme

  • Nebula Theme

  • One Dark Pro

  • One Monokai Theme

  • Monokai Pro

  • Ayu

  • GitHub Plus Theme:白色主题

  • Horizon Theme:红色主题

最后一段

如果你有什么推荐的 VS Code 插件,欢迎留言。

大家完全不用担心这篇文章会过时,随着 VS Code 的版本更新和插件更新,本文也会随之更新。关于 VS Code 内容的后续更新,你可以关注我在 GitHub 上的前端入门项目,项目地址是 https://github.com/qianguyihao/Web ,超级详细和真诚。

学会使用Markdown,因为它是为写作而生

作者 千古壹号
2018年12月20日 19:00

前言

我知道,很多人第一眼看到「Markdown」这个单词的时候,以为我是准备讲什么高端技术,甚至以为我要准备教大家写代码。

如果你真这么认为,那就大错特错了。团长今天要讲的内容真的是非常实用、非常通俗的技能,文科生和理工科生都应该掌握。

根据团长的不完全统计,我身边知道Markdown的人并不多。我担心的是,如果这篇文章不写出来,你可能一直都不曾见过它;即使看到有地方介绍它,也故意视而不见。

那今天就来个最通俗的Markdown教程,我保证你能看得懂。看完之后你会觉得:

哦,Markdown原来如此简单又实用啊!

从什么是Markdown

Markdown 既不是工具也不是程序语言,而是一种轻量级的「标记语言」。

基于 Markdown 写作,是属于「纯文本」写作。「纯文本」写作和「富文本」写作是对立的。我来分别讲一下区别。

  • 富文本」写作:你平时在 word上 写作,就是属于富文本写作。想修改文字的大小、修改文字颜色、调整各种格式,只需要点击一下鼠标就行。「富文本」写作最大的特点是:所见即所得。你把格式调整成什么样子,就会直接显示出什么样的效果。

  • 纯文本」写作:基于 Markdown 写作,就是属于纯文本写作。它允许人们使用纯文本格式来编写文档。如果你想设置某段文字的格式,只需要用一些简单的符号来代表即可。所有的文字和格式都是纯文本。

Markdown的好处

  • 纯文本,所以兼容性极强,可以用所有文本编辑器打开。

  • 让你专注于文字而不是排版。

  • 格式转换方便,Markdown 的文本你可以轻松转换为 html、电子书等。

  • Markdown 的标记语法有极好的可读性。

其实,Markdown最大的好处是:

Markdown写出来的文档格式是放之四海而皆准的。

我来把上面这句话解释一下:

假如你在word上写好了文档,格式也调好了,但是,你把整篇文章粘贴到其他写作平台的时候,发现:格式全乱了

但是,你使用Markdown写作就不一样了呀,不管是哪个写作平台,只要它支持Markdown,最终显示的格式就一定是一样的。

如果你的老板让你写一篇报告或者总结,你可以用word写,这个没有问题。但是,当你在写日志、写文章、写博客、甚至写书时,请尽量使用Markdown来写。

我可以非常诚实地告诉你:团长的每一篇公众号文章,都是在Markdown环境下写出来的。不信看图:

好了,说了这么多,你肯定也好奇了,我现在来告诉你该怎么使用Markdown。下面这一段是最简单的入门方法。

最简单的Markdown入门方法

请你在手机上安装一个APP,名字叫「锤子便签」。没错,就是老罗的那个锤子。

安装好了之后,到「设置」里把Markdown功能开启,如下图所示:

现在开始新建一个标签,然后看看下图:

上图中,请点击红框里面的那个按钮(界面上方的红色箭头处),然后就会出现界面下方的一系列格式标签(蓝框部分)。这些标签包括:标题、居中、列表、粗体、引用。

好了,你现在可以配合这些Markdown进行写字了。我给大家示范一下。下图是我写的Markdown文字:

等一下,还没有结束,上图中,请点击右上方的箭头,会弹出一个选项:

上图中,选择“生成图片并保存”,效果如下:

看到上面这张图,你现在明白了吧?使用Markdown进行写作,并非像word那样所见即所得。写完之后,必须点击“生成”,才会看到最终的效果。

Markdown格式的符号有很多,但常用的符号就那么几个:

  • # 标题设置。一级标题为#,二级标题为##,以此类推

  • -无序列表

  • 罗马数字 有序列表

  • > 引用

  • *文字* 斜体

  • **文字** 加粗

在简书上使用Markdown

简书是一个写作和阅读的网站。简书上是支持Markdown写作的。

在为知笔记上使用Markdown

为知笔记等软件同样支持Markdown,操作如下:

在笔记标题后面加 .md ,编辑并保存后,即可看到渲染后的效果。

哪一款Markdown工具最好用

如果你用的windows系统,可以使用软件「MarkdownPad」进行写作,左边是你写的Markdown文字,右边是渲染的效果,还是很好用的。

如果你用的Mac系统或iOS系统,有一款软件叫「Ulysses 」,口碑相当好,但是很贵。

还有很多网页版的Markdown工具,比如「马克飞象」,是国产软件,比较好用,但是要收费。作业部落出品的「Cmd Markdown 编辑阅读器」也不错。

如果你想写邮件的时候也用上Markdown,有一款Chrome插件叫「Markdown Here」。

不过,在这里我要声明一下:

Markdown工具这么多,至今还没有哪一款Markdown工具能够一统天下。意思是说,你喜欢哪一款Markdown工具,全看你自己的个人喜好。

其实,当我们在使用Markdown的时候,重点不是哪一款Markdown最好用,重点是:养成使用Markdown进行写作的良好习惯

团长平时用什么Markdown工具

团长平时不用任何Markdown软件,只在Sublime Text上写Markdown就够了。在Sublime 上安装「Markdown Editing」和「Markdown Preview」这两款插件即可。感兴趣的童鞋可以自行研究。

如果你是刚开始接触Markdown,建议你还是找个软件练练手,习惯了这种写作方式之后,就可以脱离软件了,随便找个记事本都能写。

备注:关于Sublime Text的介绍,请移步至另外一篇文章:

Markdown中最麻烦的问题:图片

既然在使用Markdown进行写作时,所有的格式都是纯文本,那你可能会想,如果我想在文本里插入图片,该怎么弄呢?图片总不能用各种符号代替吧?这一点对于新手而言,确实是比较麻烦。

答案是这样的:

Markdown中所有的图片都是以 URL 的形式存在的。

「图片的URL」这个东西很常见啊,你在网络上看到的任何一张图片,都是以URL的形式存在的。你随便在网络上找一张图片,鼠标右键,选择“复制图片地址”,你复制的这个地址,就是图片的URL。现在把这个URL粘贴到浏览器的地址栏,就可以打开图片了(前提是联网状态)。

如果想在文字中插入图片,团长是这么做的:(也建议大家这么做)

上传本地图片到「七牛」网站,生成图片的URL,然后把URL复制到Markdown中就行了。至于插入图片的格式是什么样子的,亲们自己网上搜一搜哈,这点自主学习的能力还是要有的。

一开始大家可能会觉得有点麻烦,但是,用熟练之后,还是很顺手的。

最后一段

Markdown除了这些常见的格式,同样还支持制作表格、写公式等等,用不用就看你对Markdown的依赖程度和熟练程度啦。

团长第一次接触Markdown是三年前。这三年里,我对Markdown的感觉是:

初次接触时,感觉很麻烦,放弃了。后来还是用上了,后来觉得上传图片太麻烦,又放弃了。最终,还是用上了。

就是这种接触它、远离它,最终还是回归到它的感觉。

本文于2016-07-02原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

盘点那些免费又实用的Windows绝赞软件

作者 千古壹号
2018年2月27日 19:00

前言

2017年4月18日,一个并不小众的网站「小众软件」推荐了一个链接:

https://amazing-apps.gitbooks.io/windows-apps-that-amaze-us/content/zh-CN/

链接打开的截图如下:

这个项目的名字叫「Windows绝赞应用」,是一份人工维护的优质Windows应用推荐榜单。榜单上列出了200多个软件,覆盖了即时聊天、压缩处理、开发工具等20多个类别。

当时我第一眼看到这个网址的时候,点进去大致浏览了一下,但并没有吸引我太大的注意。在我看来,若要真论起实用性,「小众软件」网站上的软件推荐,其实用性要强很多很多,很接地气,在此推荐给大家。网址是:

http://love.appinn.com

直到上周我看到「少数派」的再次推荐,敏感的我嗅觉到:「Windows绝赞应用」这个项目要火。

于是,我上网查了一下。百度上搜关键词「Windows绝赞」,前几个是它:

Google上只用搜「绝赞」二字,前几个依然是它:

经过一路追踪,本文的灵感由此而来。

我想,第一眼看到这个项目的人,应该会分为三种心态:

  • 第一种心态:哇,上面列出的软件好多好全,赶紧收藏一波,然后推荐给别的萌新。

这种心态的人,一定是个电脑小白,而且使用电脑的时间肯定不长。

  • 第二种心态:推荐了这么多,可每个种类我只需要一个软件就够了呀。我到底该用哪个软件呢?

这种心态,对于一个日常工作和生活离不开电脑的普通用户来说,才应该是正常的反应。而本文的目的就是要消除你的疑虑和选择恐惧。

  • 第三种心态:我电脑里已安装的软件,具备了不可替代的作用,它们足够大众化,且覆盖了我的日常需要。而此项目里推荐的软件,可能有那么零星的几个能够填补我的空白,仅此而已。可是,星星你在哪里呢?

如果是为了猎奇零星的几个,而去把每个软件都遍历一遍,只有极少数具备极客精神的人,才会这么干吧?熟练 PC 电脑操作整整7年的我,准备这么干。

先确定本文内容的感情基调:

「Windows绝赞应用」这个项目里的软件,绝大部分你是用不到的。因为它们要么太小众(第一次用完,第二次想不起来是啥),要么可替代性强(你有的功能别人也有)。

很多人不理解“免费就是最贵的”这句话的含义。所有免费的东西,都标上了你看不见的价格,所谓的免费,不过是以其它形式进行了支付。如果你话很大力气把这么多软件一个个试一遍,却发现没几个想要的,这将浪费很大的时间成本。

今天,我就把「Windows绝赞应用」项目里的每个软件都盘点一下,让你领略一下团长的“开箱体验”。

当然,这个项目本身是值得赞赏且具有一定参考价值的,它给不同的人提供了不同的选择,我也不会对它进行否定。但作为一个「有态度」的自媒体,我会针对项目里列出的具体软件谈一下我的使用体会和主观感受。

另外,我所谈到的使用体会面向的是大众用户,在他们看来,每个类别使用一两个大众化的软件,足以解决日常需要;如果你是小众用户,比如你经常听英文歌曲,问我哪个音乐软件里的英文曲库更全,我可能无法给你答案。

项目里的软件分类,截图如下:

我们按照每个分类,依次展开。统计时间:2018-02-15。

音频

名单中列出的音频软件如下:

  • AIMP

  • Audacity

  • Autolyrics

  • Dopamine

  • Exact Audio Copy

  • foobar2000

  • K-Lite Codecs

  • listen1

  • Mcool

  • Mixxx

  • mStream

  • Musicbee

  • MusicBrainz Picard

  • Spek

  • TTKMusicplayer

这15个音频类软件中,有6个是音频(音乐)播放器,我并不推荐;1个是浏览器插件「listen1」,这是唯一一个我比较推荐的,注意,是比较;剩下的8个实在是过于小众,一般人很少用到。

先说音频播放器。2018年初的时候,朋友圈被网易云音乐的“2017听歌日记”刷屏了:

“网易云音乐”几乎是每个文艺青年在用的听歌软件,它什么都好,就是曲库不够全,因为很多版权都在腾讯和阿里手上。于是,「QQ音乐」和「虾米音乐」也成了听歌必备软件。阿里的产品体验一向被用户吐槽,我曾经一直用的「天天动听」APP自从被阿里收购后,起了一个尴尬的名字叫「阿里星球」,后来直接停止音乐服务了,可惜了天天动听这个品牌和它的2亿用户。

在我写这一段的时候,爆出一个新闻:

2月9日,在国家版权局积极协调推动下,腾讯音乐与网易云音乐就网络音乐版权合作事宜达成一致,相互授权音乐作品,达到各自独家音乐作品数量的99%以上。

虽然音乐版权可以相互授权,但关键词是99%**。因此,问题在于:核心关键曲库非常容易留在不授权的1%的范围内**。

关于音乐播放器的使用,我做个总结:

请一定使用「网易云音乐」,它可以使你获得内心的宁静和安定。如果没搜到你想要的歌,不妨去「QQ音乐」找一找,多半可以找到。如果还是找不到,最后再考虑「虾米音乐」。

至于名单里的6款音频播放器,我想,你应该用不到吧。我唯一推荐的那个浏览器插件「listen1」,它最大的作用是:搜索来自网易云音乐、QQ音乐、虾米三大主流音乐平台的歌曲。意思是说,当你不知道一首歌在哪里可以听到时,你可以用「listen1」。你看,这跟我刚刚总结的音乐播放器的使用,其实是一个道理。

再说个题外话,现在的音乐播放器基本都带「听歌识曲」功能。意思是,当你在大街上听到一首燃起的歌曲,进而想知道它的歌名时,你可以借助这个功能。我所用过的同类软件中,要论「听歌识曲」的准确率和反应速度,「Shazam」软件是最赞的,这款国外的应用,用它识别英文歌曲更是没话说,恰好它在上个月被苹果公司用4亿美元收购了;国内的同类软件中,微信的「摇一摇」要比网易云音乐的「听歌识曲」的准确率高一些。

压缩处理

名单中列出了三款压缩包处理软件:

  • 7-Zip

  • Bandizip

  • PeaZip

市面上的压缩软件都大同小异,如今用的最多软件是「WinRAR」,其次是「7-Zip」,我只推荐这两款。怎么看出来的呢?

「WinRAR」软件针对个人用户是免费的,但是有广告;如果不想有广告,可以购买付费版。因为涉及到付费,难怪名单里没有将其列出来。

我当然更建议你使用「WinRAR」,如果你想要免广告版,但又不想花钱,怎么办呢?办法肯定是有的。

美化工具

名单中的软件如下:

  • BingBest

  • Huoying Video Desktop

  • MacType

  • Rainmeter

  • SimpleSndVol

  • StartIsBack

  • TGFont

  • TranslucentTB

  • upupoo

  • Windows 10 Login Background Changer 

「MacType」软件的作用是修改Windows字体的渲染效果,模仿Mac字体的渲染效果,有需要的童鞋可以一试。这个软件的知名度还是比较高的。

「upupoo」是将桌面背景修改为动画的形式,点进官网一看,应该是二次元童鞋的专属吧。

硬件相关

名单中的软件如下:

  • CPU-Z

  • CrystalDiskInfo

  • CrystalDiskMark

  • f.lux

  • GPU-Z

  • Iobit Driver Booster

  • Open Hardware Monitor

  • Speccy

  • SSD-Z

「CPU-Z」是一款家喻户晓的软件,用来检测CPU、主板、内存条的信息。给大家举个例子。很多童鞋会给自己的电脑加一根内存条,因为这是提升电脑性能最便捷、最廉价的方式。但是内存条不是随便选的,你可以先用「CPU-Z」或「鲁大师」检测电脑已有内存条的频率,比如DDR4的频率就比DDR3的频率要高。

「f.lux 」这款软件跟硬件没有多大关系。但是,「f.lux 」软件是我极力推荐的一款软件,我建议每个人都应该安装它(我在以前的文章中提到过很多次)。它的作用是:降低屏幕的色温和亮度。降低色温可以减少蓝光对眼睛的伤害。

关于「f.lux 」软件,说一下我自己的亲身经历。正常情况下,我坐在电脑面前一个上午,眼睛就会疲劳;但是安装了「f.lux 」软件,降低了屏幕的色温之后,在电脑面前坐一天,眼睛也不会累。当然,建议大家坐久了还是应该起身多走走。我来讲一下「f.lux 」软件的安装方法。

软件安装完成后。点击设置:

白天和晚上的色温都是可以滑动调节的:

上图中,白天的色温最高是6000,可以根据需要调低一点儿(我设置的是4000)。晚上的色温可以不动,3400挺好。

至于名单上的其他软件,作为一个普通用户而言,一个「鲁大师」就足够了吧。

图形图像

名单里提到的软件如下:

  • FastStone Image Viewer

  • Gimp

  • Greenshot

  • Honeyview

  • IrfanView

  • ImageMagick

  • Inkscape

  • Ken Burns Slideshow

  • Krita

  • Paint.net

  • PicPick

  • qrcode

  • Riot

  • ShareX

  • Splashify

  • waifu2x-caffe

  • XnConvert

  • Xnview

团长在学校的时候有过海报设计的经验,用惯了专业的图形图像软件「Photoshop」,而这项技能是不可逆的。如果让我推荐图形图像类的软件,我当然是推荐「Photoshop」。不要对PS里的各种功能和按钮望而生畏,学一些简单的操作就好,对你了解色彩和图片格式等方面的常识很有帮助。

补充一个知识:位图的处理用软件「Photoshop」,矢量图的处理用软件「CorelDRAW」或「illustrator」。比如 logo 的设计,都是用的矢量图软件。再比如,大街上别人给你发的三折页宣传单,基本是在Photoshop处理好图片,然后在CorelDRAW里排版好的。此时,你是不是应该去查一下“位图和矢量图”的区别?

名单里有个软件叫「qrcode」,用来生成艺术二维码,了解即可。

windows 系统自带的图片查看器有多么难用我就不说了,不能看png格式的透明图片、不能看gif格式的动态图片,光这两点就足够吐槽了。

第三方的图片查看器有很多,「美图看看」是我认为最好用的一个,虽然它已经很久没更新了。

网络信息处理

名单上的软件如下:

  • Anydesk

  • Best Trace

  • Brave

  • Chrome

  • Firefox 火狐

  • HaloRadio

  • Shadowsocks 影梭

  • Maxthon

  • **Proxifier **

  • QuiteRSS

  • Retroshare

  • SoundWire

  • TeamViewer

  • Tor Project

  • Vivaldi

  • ZeroNet

远程桌面控制,一定是用「TeamViewer」软件,我很推荐,因为它是最专业的远程桌面控制、远程协助软件。个人免费使用,商业付费使用。它可比 QQ 聊天中的远程控制好用多了,后者使用的时候太卡顿。当你需要通过办公室的电脑控制家里的电脑,或者男童鞋在寝室远程帮助女同学操作电脑时,TeamViewer 就能派上用场了。

浏览器,当然是选「Chrome」,这是毫无疑问的。而 Windows 系统自带的IE浏览器是我见过的最难用的软件,没有之一。

Google公司的Chrome浏览器有很多优点:简洁、网速快(网页的打开速度最快)、无打扰、自带调试工具(开发者必备)、设置、扩展、浏览历史、网站密码全部同步等。最大的特点是:支持插件扩展,很多第三方的功能都可以安装在上面。

Chrome 浏览器也不是万能的,最大的缺点是:下载速度慢,对迅雷的支持不友好。而且,在 Chrome 浏览器上,如果想让书签同步,需要登录 Google 账号,但需要采取一定的方法才能登录。如果你在使用 Chrome 浏览器时受阻,可以换成使用国内的「360极速浏览器」,当然,这是下策。

「Firefox 火狐」浏览器的开发是最尊重前端开发标准的,页面风格和Chrome也比较像,这里我也推荐一下。很多人都说,用火狐浏览器的人,是一个有情怀的人。

「Shadowsocks」是一款非常重要的软件,经常浏览国外网站的人肯定知道它。我不能对它进行过多介绍,原因就不说了。

「Proxifier」软件可以配合 Shadowsocks 一起使用,我自然也不能过多介绍。

名单上说「QuiteRSS」是一款RSS软件,现在还有人用 RSS 信息聚合的方式阅读么?

即时聊天

  • Discord

  • 连我

  • mIRC

  • Quassel

  • Telegram

  • Waow

这几款即时聊天软件里,我只推荐「Telegram」这一个。你看,这个项目的网站上,作者留下的联系方式也是 Telegram:

很遗憾,天朝人民需要采取某种方式才能正常使用Telegram。

国内的人相互聊天都是用微信和QQ,年轻人用QQ更多,工作之后,就基本只用微信了。与国际友人聊天,你可以用「Telegram」。老实说,目前为止,没有任何一款IM软件(即时通信软件)的用户体验和安全性能比得上 Telegram。如果哪一天 Telegram 软件开始商业化了,那就说不准了。

有童鞋可能会问:“我一个老外都不认识,我找谁聊呀?”别着急,Telegram有很多Channel可以订阅,比如,我订阅了下面这个Channel,可以每天看看科技新闻:

https://t.me/solidot

下载工具

再多的下载工具,又怎敌得过一个迅雷会员?

电子邮件

电子邮件客户端,我推荐用「网易邮箱大师」。全平台,还支持 Gmail 邮箱的登录。

在线存储(提供网盘服务)

名单中的软件如下:

  • DropBox

  • OneDrive

  • Google Drive

  • Mediafire

  • Mega

  • Yandex

  • 坚果云

注意,上面所列出的软件,强调的是网盘的同步功能,而不是备份功能。

「同步」和「备份」是两个概念。备份的概念很好理解,你把电脑上的文件放到网盘上,即时电脑上的文件没有了,依然可以网盘上找到。如果你要使用备份功能,应该这样用:重要的文件备份到移动硬盘里,不重要文件备份到百度网盘里。

同步的概念,一开始不好理解,但是用多了之后,就离不开了。比如说,我在家里的笔记本上写了一个文档,第二天回到公司,可以用办公室的电脑继续修改那个文件,显然这个文件是具有同步功能的。第三天,公司给我换了一个新的电脑,我只要安装了同步软件,连上网,马上又可以在之前的进度上继续编辑文档。

个人用户要使用网盘的同步功能,目前看来,我只推荐你用「DropBox」。很遗憾,这个软件需要采取某种方式才能用。退而求其次的话,那就使用国内的软件「坚果云」吧。名单上其他的软件,我都不推荐(包括谷歌的Google Drive和微软的OneDrive)。

老实说,用同步功能的人,大多用的是DropBox。能用好几台电脑同时办公的人,网络条件不会差,为何不从全世界的范围内选一款最好用的呢?

网盘的同步功能一般是这样用的:(说一下我自己的用法)

(1)我在家中电脑上安装好DropBox,然后在电脑的E盘新建一个文件夹,名叫“工作同步”。

(2)将DropBox与“E:\工作同步”文件夹相关联。这样的话,我在“E:\工作同步”文件夹里所添加及修改的任何文件,都会自动上传到DropBox的网络服务器上。

(3)第二天上班后,我在公司的电脑上安装好DropBox,并将其关联到电脑上的一个空的文件夹,名叫“D:\同步工作”。没过一会儿,“D:\同步工作”里就会自动出现我家中电脑的“E:\工作同步”里的所有文件。

这样的话,无论你在哪个电脑上工作,只要有DropBox,就可以实现文件的无缝切换

比如我写这的篇文章,会同时使用台式机和Mac。我一会儿用台式机写,一会儿用Mac写,想怎么玩就怎么玩。

实用程序

名单中的软件如下:

  • Clipber 快帖

  • Defraggler

  • Hourglass

  • KeyCastOW

  • LanguageTool

  • LICEcap

  • MiniBin 

  • MyChrome

  • NirLauncher

  • Ninite

  • Office Tool Plus 

  • PingInfoView

  • QTranslate

  • rufus

  • ScreenToGif 

  • spacedesk

  • Steam Cleaner 

  • Steam Mover

  • SUMo

  • Touchpad Blocker

  • ZoomIt

「Clipber 快帖」号称是跨平台的剪切板工具,也就是说,你在手机上复制一段文字,马上可以在电脑上粘贴。看着还挺新颖,我试了一下这个软件,并不是那么好用,因为它的剪贴板内容需要手动同步,操作略显繁琐。

2016年,MacOS新增了“通用剪贴板”的功能,仅限于苹果系列的产品。也就是说,你在 iPhone 上复制的文字,可以无缝地粘贴到 Mac 电脑上。我没试过,希望体验过的人可以在下方留言。

如果你想录制电脑屏幕,并保存为 gif 格式,最好用的软件就是「LICEcap」。它可以自由调整录制窗口的大小,而且可以捕捉鼠标的操作,非常适合制作 gif 格式的视频教程,它是我写技术博客必不可少的一个软件。「LICEcap」还有一个非常大的优点是:可以自由调整帧数,在保证清晰度的情况下,录制的文件非常小。相比之下,名单上的「ScreenToGif」软件所录制的gif文件,实在是太大了。

生产力工具

名单中的软件如下:

  • Adobe 系列软件

  • amWiki

  • AutoHotkey

  • AutoIt

  • Cortana

  • HelloFont 字由

  • Icons8 

  • LibreOffice

  • ManicTime

  • Materialette

  • Matterwiki

  • Medibang Paint

  • Microsoft Office

  • RescueTime

  • XMind

「Adobe 系列软件」可谓家喻户晓,其中最有名的软件就是 PS。 说几个我所了解的 Adobe 系列软件:「Photoshop」是最强大的位图处理软件,简称 PS。「Audition」是强大的音频处理软件。「Premiere」可以用来做视频编辑,如果你只是想做简单的视频编辑(比如做一个电子相册),可以用「会声会影」,上手相对容易;稍微复杂一点的,可以用「Premiere」。「illustrator」是比较有名的矢量图处理软件,我在前面提到过。「After Effects」是最常用的视频特效制作软件,简称 AE,你在晚会上看到的各种震撼的宣传片,基本就是用 AE 做的特效。

顺便一提,Adobe 这个单词是念 [əˈdobi],不是念 [əˈdob],如果念错了,有点尴尬。其实也很好记,Adobe 翻译成中文就是:啊,逗比。

「XMind」是 Windows 和 Mac 上比较有名的思维导图软件,推荐一下。还有一款同类软件叫「MindManager」。

开发者工具

名单中的软件如下:

  • Alacritty

  • Caddy

  • Chocolatey

  • ChocolateyGUI

  • cmder

  • ConEmu

  • Git

  • HBuilder

  • HeidiSQL

  • IntelliJ IDEA

  • msys2 

  • Scoop

  • SourceTree

  • VirtualBox

  • Visual Studio

  • VMware Workstation Player

  • VMware Workstation Pro

  • Windows Sysinternals

  • x64dbg

  • XAMPP

还好我也是搞开发的,不然这段都没法儿写了。

当然,我并不熟悉所有方向的开发,我目前只对 Android 开发和前端开发有一些了解。因此,我只推荐我所使用过并觉得不错的开发软件;其他的开发软件,我并非不推荐,而是不了解。

「Git」是用来做版本管理的,属于开发人员的必备技能。你一个人写代码可能用不到Git(如果用 Git,自然更好),但是一个团队写代码,就不得不用 Git。在公司里,Git 工具每个开发人员都要用到的。事实上,不管是一个人写代码还是多人写代码,Git 在关键时刻是能救命的。常见的版本管理软件是分布式的「Git」 和 集中式的「SVN」,后者已经逐渐淘汰。

Git版本控制是通过命令行进行操作的,你也可以安装 GUI 软件来代替命令行操作,团长推荐「TortoiseGit」或「SourceTree」。我在 2016-10-03 的文章中专门讲过 Git。

随着Git的流行,GitHub 这个代码托管网站也就应运而生了,网址是「www.github.com」,它为使用Git做为版本控制的软件项目提供代码托管服务,同时注入了社交网络的属性。号称是世界上最大的程序员(同性)交友网站。现在很多人喜欢在 GitHub 上写博客,甚至发布官方文档。

「HBuilder」在前端开发中也算比较常见。前端开发中最常用的 IDE 是「WebStorm 」和「 Visual Studio Code」。

「IntelliJ IDEA」真是一个具有跨时代意义的软件,它的出现,让我们永别了难用又抽风的 「Eclipse」。Android 开发的IDE「Android Studio」,以及前端开发的IDE「WebStorm 」都是基于「IntelliJ IDEA」定制的。如果你是做 Java 后端开发,直接用「IntelliJ IDEA」作为 IDE 就可以了。

「Microsoft Visual Studio」软件应该是理工科生在学校学习 C/C++ 时就接触过的,这个庞大的软件简称 VS,安装完成后,要占磁盘 6G 的空间。

「VirtualBox」和「VMware Workstation」是比较常见的虚拟机软件,后者似乎用的人更多。另外,Mac平台也有一款虚拟机软件叫「Parallels Desktop」。我在 Windows 平台用的是「VMware Workstation」,我在 Mac 平台用的是「Parallels Desktop」。

效率工具

名单中的软件如下:

  • Desktopcal 桌面日历

  • Double Commander

  • Everything

  • Find and Run Robot

  • FreeCommander

  • GestureSign

  • Launchy

  • Listary

  • Multi Commander

  • Nimi Places

  • nTrun 

  • Outlook on the Desktop

  • Q-Dir

  • Rolan 

  • Snipaste

  • Total Commander

  • WGestures

  • WindowTabs

  • Winstep Nexus Dock

  • Wox

  • ZIKU!

「Everything」是我在整篇文章中最推荐的一个软件,它可以用来查找电脑硬盘(以及移动硬盘)上的任何文件,且速度极快。可惜该软件只属于 Windows 平台。虽然 Mac 平台有类似的软件,比如EasyFind、Alfred等,但它们在搜索文件的体验上总是不尽人意。

当你的电脑里存放的文件比较多或者比较杂乱乱的时候,想找到它,最快速的方式就是搜索文件名。用 「everything」查找文件,简直就是 Linux 下的速度。我们还可以利用 「everything」 在指定文件夹下搜索,或者对指定格式的文件进行搜索。

对了,记得给「everything」设置一个快捷键(我设置的快捷键是「Ctrl + Shift + Z」)。这样的话,每次就可以通过快捷键打开该软件。举个例子,公司今天公布了2018年一整年的放假安排,于是,我把它保存下来,并将文件命名为“2018年放假安排”。每当我想看某个国家规定节假日时,我就按住 「Ctrl + Shift + Z」,输入“放假”,然后依次按「下键」、「enter键」,文件就打开了。整个操作过程不到三秒。试想一下,等你打开 E 盘,点开一个个深入的文件夹,要花多久?

类似于「everything」这种针对Windows系统的效率工具,还有很多,比如:Listary、Total Commander、Q-Dir等。第一次使用它们的时候感觉很新奇,可一年下来,用到它们的次数并不多,原因很简单:不是刚需。肯定会有很多人说「Total Commander」是神器,善用佳软网站就极力推荐它,但我个人觉得这个软件长得太老气了。

「Snipaste」是目前为止最好用的截图软件,没有之一。很多小白在截图的时候用的 QQ 或微信自带的截图功能,以至于不少人误认为这是系统自带的截图功能,当你按住「Ctrl + Alt + A」时发现没有出现截图的效果,可能会忍不住去网上原因,其实是因为你的 QQ 没有打开。

可如果只是想要截图功能就打开 QQ 或微信,未免有点小题大做。最佳的代替方案是寻找第三方的截图工具。「FastStone Capture」是最知名的截图工具,驰骋沙场多年。除了截图之外,该软件其他的很多小功能也是非常赞的,例如:屏幕拾色、图片的简单编辑和标注等。最值得表扬的是,「FastStone Capture」还支持滚动截图,意思是说,即使是一个很长的网页,也可以截取完整。

终于等到2016-07-28这一天,「Snipaste」截图软件横空出世,可谓一鸣惊人。我在2016-09-10的文章中推荐过它,当时我就笃定,它将在长期内成为最好用的截图工具。不信你可以去试一下。软件的开发者也承认,「Snipaste」和 QQ 截图有很多共同点,所以在用户体验上是可以保证的。如果「Snipaste」在截图时能附带阴影效果就更好了。

我自己平时的做法是:日常截图用「Snipaste」,截长图用「FastStone Capture」。

不足的是,「Snipaste」软件一直以来都只有 Windows 版本,没有 Mac 版本。我尝试了无数 Mac 平台的截图软件,如今还没能找到令我满意的。我在写这篇文章的时候去「Snipaste」的官网瞧了一眼,发现:Mac 版本在2017-12-09首次公开,现在还只是公测版,bug较多,我们期待「Snipaste」软件 Mac平台稳定版的到来,届时再一睹风采。

20190129备注:「Snipaste」软件已推出 Mac平台的 beta版,使用了解近一年,很稳定,很好用。

知识笔记

  • Evernote

  • Inkdrop 

  • Knowte

  • Laverna 

  • Leanote 蚂蚁笔记

  • Notes

  • Simplenote

  • Zim Desktop Wiki

知识笔记里,比较有名的是「印象笔记」和「为知笔记」,但我只推荐「印象笔记」。

需要说明的是,「印象笔记」和「Evernote」是同一个软件,只不过前者是国内版,后者是国际版。我推荐大家使用国内版,网络稳定。官网是:

https://www.yinxiang.com/

我为什么最推荐印象笔记呢?因为有一个功能是用户的痛点,那就是“搜索”。当笔记数量越来越多时,我们几乎只能靠搜索来找。印象笔记在搜索关键字时,可以达到秒搜的程度。在搜索的精准、速度和性能上,为知笔记是远不如印象笔记的(这一点上,为知笔记近两年做了很大的改进,但仍需提升)。

据我所知,很多爱阅读的人都喜欢把读书笔记和书摘放在印象笔记里。

为知笔记支持代码高亮和 Markdown格式,程序员在上面写笔记也是一个可供参考的选择。

Leanote 蚂蚁笔记的广告打的很响,我使用了一段时间,还很不成熟。

关于知识笔记,可以看我之前写过的文章:

终端调试

名单中的软件如下:

  • Bitvise SSH

  • Hyper

  • I’m Only Resting

  • Insomnia

  • Kitty

  • MobaXterm

  • mRemoteNG

  • MTPuTTY

  • Putty

  • Terminus α

  • WinSCP

  • Xshell

终端调试也是程序员经常用到的,名单上的软件都大同小异。如果是用来连接和调试远程服务器,比较常见的软件是「Putty」 和「Xshell」,但我发现用「Xshell」的人更多。

文本编辑器

  • AkelPad

  • Atom

  • EmEditor

  • EverEdit

  • GNU Emacs

  • Light Table

  • Markdown Plus

  • Notepad++

  • Notepad2-mod

  • PSPad

  • Sublime Text

  • Typora

  • Visual Studio Code

  • Yu Writer

说到讲文本编辑器,要提到两个方面:代码编辑器Markdown 编辑器

最有名的代码编辑器当然是「Sublime Text」,我在2016-05-17的文章中专门介绍过,她的强大之处在于性感和支持插件。

以前的老牌的代码编辑器是「Notepad++」和「EditPlus」,但它们已经过时了,如果你发现公司的老员工还在用这两个软件,说明他们没有跟上时代。

再来说 Markdown,它其实就是一种写作格式,让你沉浸在写作中而不用耗费时间在排版上。你同样可以用 Markdown 格式来做笔记。我在2016-07-02的文章中专门介绍过 Markdown。第一次听说 Markdown 的人可能会觉得很高端,但它真的已经很普及了。还在用 word 而没有听说过 Markdown 的人,就好比还在用 Android 手机而没有听说过 iPhone 的人。你可以不用它,但至少得了解它。

我目前还没有发现比较好的带有预览效果的Markdown编辑器(在线Markdown编辑器我更是不推荐),我自己写博客、写公众号文章,都是在「Sublime Text」里用 Markdown 格式完成的。

GitHub 推出的代码编辑器「Atom」作为后起之秀,吸引了我的注意,我在此推荐一下这个软件。「Atom」既可以用来写代码,还支持 Markdown 的书写和预览。如果你想用 markdown 格式来做笔记,可以尝试「Atom」软件。

「Visual Studio Code」是常用的 IDE,我在上面提到过。

隐私安全

我对隐私安全方面不了解,也不用什么安全卫士。

名单上推荐了不少密码管理软件,但我只推荐付费的「1Password」软件进行密码管理。

系统增强

名单上列出了28个软件,大部分我都不了解,所以就不列出来了。这里只讲我用过的部分。

「AltDrag」软件是一款很神奇的软件,它的最大的作用是焦点自动跟随光标。也就是说,当你正在编辑某个文档,同时想滚动旁边的网页时,不用再点一下才能滑动。对于经常同时编辑多个文档的人来说异常实用。在 Win 10 下自带这个功能,而 Win7 版本则需通过 「AltDrag」 这样的软件来实现。

「分区助手」可以用来做磁盘分区,官网是 http://www.disktool.cn。比如说,你觉得 C 盘的空间太小,想把 D 盘的空间割让10G出来给C盘,就可以用到它。

配置与安装

名单上的软件如下:

  • Disable Data Logging

  • Win10-Initial-Setup-Script

恕我孤陋寡闻,这两个软件,我实在没听说过。

数据恢复

对于普通人而言,如果硬盘的数据不小心没了,最好不要自己折腾。数据重要的话, 花点钱交给专业的人士会更好,但一定不要闹出艳照门的笑话。

恢复时,如果往硬盘里写第一次时没有恢复过来,第二次写的时候就比较麻烦了。

电子书

名单上的软件如下:

  • calibre

  • Gaaiho PDF Reader

  • kobo

  • NitroPDF

  • Sumatra PDF

「Calibre」号称是一个免费的开源的“一站式”的电子书解决方案。软件虽然长得丑,但是功能很强大,既可以阅读电子书,也可以转换电子书的格式。

Windows 平台的 pdf 软件推荐「福昕阅读器」或者「Adobe Acrobat Reader」。

文件处理

名单上列出了23个软件,这里只讲我用过的部分。

「Beyond Compare」软件用来进行代码比对,程序员专用,很常见的软件。

「Duplicate Cleaner」是一个用于查找重复文件的工具,效果不错。

「FileZilla」可以通过 FTP 进行文件传输,程序员经常用到。

游戏相关

团长从来不玩游戏,这一段,又要对不住大家了。

视频工具

名单中的软件如下:

  • 5KPlayer

  • ACG 播放器

  • bomi

  • EMDB

  • FFmpeg

  • HandBrake

  • Kodi

  • LosslessCut

  • Media Player Classic - BE

  • mpv

  • MPV-EASY Player

  • OBS Studio

  • Plex

  • Popcorn

  • PotPlayer

  • 神剪手

  • Shotcut

  • SMPlayer

  • tinyMediaManager

  • VLC

  • zogvm

目前为止,Windows 平台最好用的视频播放器是「PotPlayer」,Mac 平台最好用的视频播放器是「IINA」。

「VLC」这个软件也很常见,但我发现普通群众很少把它作为视频播放器,反倒是专业人士用得更多一些。我在读研的时候,我的导师的研究方向是音视频处理和图像处理,因为「VLC」支持 upnp 协议和流媒体协议,我们经常会用它来播放流媒体。另外,「魔力播放器」也支持 upnp 协议,但已经很久没更新了。

Mac 平台最好用的视频录制软件是「ScreenFlow」。Windows平台最好用的视频录制软件是什么?这个问题我不清楚,有熟悉的童鞋欢迎留言。

相关阅读

还有一些其他的 Windows 平台软件,名单上并没有提到,大家可以补充着看我的另外两篇文章,效果更佳。

另外,如果你也发现一些好用的软件,欢迎留言。那些“用完即走”的软件就不用提了。

最后一段

既然真诚,就要真诚到底。最后给大家送一个超级福利。在公众号的后台回复“安装包”,给你提供团长常用的 Windows 平台的软件安装包。

这些安装包基本都是从官网下载的,主要是担心有些童鞋找不到官网下载地址。不要去乱七八糟的网站下载东西,不然电脑很容易中毒哦~

Windows 平台的软件这么多, Mac 平台好用的软件也不少。想要了解 Mac 软件和操作的童鞋,可以关注我在 GitHub 上的项目,链接是:

https://github.com/qianguyihao/mac

本文于2018-02-27原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

参考链接

与其亲自做PPT,不如利用好大牛们的PPT模板

作者 千古壹号
2016年10月29日 19:00

以后做PPT就省心了。

前言

近日,后台有一条留言:

团长,这月都快过去了……还不发文章么?

好吧,刚入职,还在实习期的我,不仅各种被鄙视,而且加班还是免费的。虽说是经常加班,不过一般也就加到晚上八九点(第二天早上八点还要正常上班)。等公交、挤公交,回到家处理各种杂事,一天也就过去了。

所以,如果还有在学校奋斗的童鞋,可要好好利用时间,多培养几个爱好、多阅读、多锻炼、多和异性交流,毕业后才不会有遗憾。等工作了,时间可比金钱宝贵(因为没钱,所以只剩下零星的时间)。

对PPT的几点粗鄙的理解

今天来讲一下PPT这个话题。说几点我对PPT的简单理解。PPT分为两种:静态PPT和动态PPT。

静态PPT:

不包含动画,是我们见得最多的PPT,任何一页都可以直接定格。可以用在毕设答辩、工作总结报告、成果展示等场合。

这类PPT和平面设计的联系较为紧密,在布局排版、颜色搭配、元素设计上颇为讲究。要做到:望第一眼,就能感受到它的简约和美感。

动态PPT:

基本是由动画组成。它的目的就是要把PPT做成动画的效果。

上了大学的童鞋应该深有体会吧?社团的年终评优答辩、学生会评优答辩,就是用的这种PPT。各种酷炫的动画效果、各种震撼音乐,一个劲儿地往观众席这边砸。要做到:任何时候,都能感受到PPT里动画和音乐的强烈冲击。总结为四个字:视听盛宴。

要做好动态PPT,难度是非常大的,不仅要熟练掌握PPT的各种操作,还要有一定的动画设计功底和创意。要是改了其中的某一个动作,那可是牵一发而动全身呐。

当然,不管是什么类型的PPT,有一点是毋庸置疑的:工具只是其次,设计的灵魂在于 idea。

我们平时需要用到的PPT主要还是静态PPT,所以,我接下来介绍的内容,大多是这种类型。

需求

经常有身边的童鞋问团长:

你有好的PPT模板么?急,在线等!

我认为在问这个问题的时候,有以下几点需要明确,否则我很难给你提供一个合适的PPT模板:

  • 你的PPT是要做什么用途?是答辩?还是工作报告?况且,答辩也分很多种。

  • 需要在什么时间内完成?这涉及到PPT改动的工作量。

读研的时候,身边的同学都知道团长做海报还是有一定水准的,他们也潜意识地认为,我做的PPT也不赖。

事实上,团长做的PPT确实还可以,如果他们知道我做PPT的方法,一定会非常惊讶。

其实我从来没有亲自设计过PPT,我的方法是:

找一个好的、高大上的、能让人眼前一亮的、最好带点儿扁平化风格的PPT模板,然后直接在上面改。

因为团长有一点儿设计功底,所以在选取PPT素材时,会严格把关。合适的主题、配色、PPT的整体框架,一定要非常讲究。

而且在改PPT的时候,不能只是简单地修改文字,很多地方是需要自己去二次创作的,这个就靠你的灵感发挥了。

另外,如果你平时在写文档、写报告时比较仔细,容不得半点儿低级错误,注重格式,带点儿强迫症,那么你做PPT的时候,涉及到细节的地方也会非常注意。否则,格式不对齐、字体好几种等等,这种PPT的视觉体验是非常糟糕的。比如下面这种:

最终结论:

对于大多数人而言,并不一定要从零开始设计PPT,其实,你只需要一个合适且美观的模板或素材。

既然如此,我们何不站在巨人的肩膀上呢? 尤其是,当你急需要一个PPT去完成工作任务时,更应如此。

需要声明的是,团长并不是让你不去培养PPT设计这个技能和爱好,也不会怂恿你做一个拿来主义者,团长的目的是:这些大牛的PPT模板,在关键时刻,可以救急;而且,学习大牛们的PPT设计,我们自己也会提升很多。如果你本身就是一个PPT设计达人 or 爱好者,请忽略此文。

那么问题来了?我该去哪里找PPT模板呢?

免费的PPT网站,素材参差不齐,想找个好的模板,太花时间了。

付费的PPT网站,你又舍不得花那个钱,这招也不怎么管用。

但是你不要忘了,如今在这个自媒体盛行的时代,很多PPT模板原创作者都开通了自己的账号。他们为大家无偿地提供了大量优质的模板。对,我们就从公众号入手吧。

从PPT大牛的公众号里,没办法马上获得PPT模板,这些内容总是不经意间穿插在他们的文章当中,你必须时刻关注他们才行。

团长平时就关注了很多PPT方面的公众号,今天就给大家列举几个我喜欢的。

至于你想要的PPT素材,请耐心看完本文,不会让你失望。

布衣公子

微信公众号:苏州布衣公子(hr-ppt)。布衣公子的作品,不管是排版、配色亦或是配图都非常经典。他的很多作品也包含了PPT教学。公众号的关注者以 hr 居多。

在PPT领域中的公众号里,布衣公子是我最喜欢的一个公众号。他的PPT模板也是我使用频率最高的。

布衣公子在他的公众号上无偿提供了所有作品(共70套)的下载链接,你们就偷着乐吧。

我用的最多的是「61-关系图形精选」和「62-信息图表精选」,简直就是万能模板呀,放到哪里都能用。

来看61号作品中的几张截图:

还有62号作品中的几张截图:

喜欢的童鞋,可以关注公众号他的公众号,通过菜单栏的按钮自行下载吧。

曹将

微信公众号:曹将(CJPPTAO)。曹将的公众号,以前名叫「曹将PPT」。改名字的原因,我估摸着是:如果一直讲PPT,终有一天会黔驴技穷。

曹将在2016-03-16的一篇文章中免费提供了9个学术报告类答辩PPT模板,我觉得质量相当不错,大家可以用起来。来几张图看看:

模板01:

模板02:

模板03:

模板03是我最喜欢的模板,配色酷炫,翻页动作有点叼。这种PPT,放在晚会里当做背景幕布,感觉相当惊艳呐。小图看不清?来张大图:

再来看看模板06和模板08:

模板06:

模板08:

模板08比较适合用来作为学术类、理工科类的报告。

想要获取这8套答辩模板,在曹将的公众号后台回复“答辩”,可以得到。

当然,曹将的公众号里也有很多关于PPT学习的教程,比较系统,值得推荐。进入其公众号后, 点击菜单栏的“文章合集”,就能找到了。

涛说PPT

微信公众号:涛说PPT(PPT_Tao)。涛说PPT不仅会分享一些PPT教程和技巧,还会分享很多优质作品。

作者把他的模板都放在一个PPT文件里了,一共200多页,来几张图看看:

在他的公众号后台下载时,请注意:

还有其他注意事项,亲们关注他的公众号就知道啦。

大梦

微信号:大梦Power(DAMEN_PPP)。
大梦给自己立过flag,一个月一套模板,有些免费,有些收费。

虽然PPT模板数量不多,但质量还算可以。个人认为适合学生用,不适合商务人士。比如这种主题的:

我就不截图太多了,感兴趣的童鞋既可以关注大梦的公众号获取,也可以去大梦的PPT作品主页。链接是:

http://damenppp.yanj.cn/

对了,还有一个意外的地方你可能没想到:大梦目前在读大四。少年们,你们也好好努力呀。

诺壹乔

微信公众号:懒人诺壹乔(lazylouiechot)。

诺壹乔公众号里的模板挺少,不过他制作的那份教程《PPT标准手册》,倒是可以学习学习。

三顿

微信公众号:三顿(wordpptdream)。在他的公众号后台回复“三顿素材包”,即可下载。

里面的素材太多,模板也有很多,200多个G,艾玛,我都看瞎眼了。有收藏癖的童鞋可以找找。

这么多素材,读者也不定会看,团长建议作者可以挑选一小部分精品内容,单独分享出来比较好。

锐普PPT

公众号:锐普PPT(rapidppt)。不得不说,锐普PPT是国内名气最大、实力最强的PPT交流社区。

团长本科时,曾担任学校的计算机协会会长,期间举办过好几届PPT设计大赛。参赛选手的PPT,不乏惊艳的作品;然而,有相当一部分童鞋是修改的锐普PPT模板。这种PPT交上来,肯定是零分啦。

秋叶大叔

公众号:幻方秋叶PPT(PPT100)。说到PPT领域内的名气,必须要提到秋叶大叔。

和PPT教程有关的图书中,秋叶的那本《和秋叶一起学PPT》,卖得最火。

和PPT教程有关的视频中,秋叶的在线课堂,也是卖得最火。

秋叶大叔在PPT教学领域的影响力,毋庸置疑;不过,他在其他领域的涉猎,少了些工匠之心,并没有多么地打动我。

国内的产品好像都有一个共同的尿性:产品做大了,就想做平台;平台做大了,就想建立生态圈。到了最后,最初的梦想撑不起膨胀的野心。

PPT文学社

微信公众号:PPT文学社(PPT_WSX)。这个公众号是专门讲动画类PPT的。没有模板,只有教程。

团长对PPT动画有一种与生俱来的敬畏之心。

让PPT飞起来

想做PPT动画的童鞋,还有一个网址,团长推荐你去关注。链接是:

http://pptshare.qzone.qq.com/

作者已经一年多没有更新了,不过已经发表出来的PPT作品,相当惊艳,用来作为学生会 or 社团的年终评优答辩,最合适不过。

团长读研的时候,我们学生会的主席是一个PPT高手,当时的年终答辩,他就是采用的上面的模板。虽然是用了模板,改起来也是熬了好几个通宵。

而且,年终答辩PPT,从方案策划、整体框架设计、台词撰写、背景音乐选取、照片编辑排序、动画节奏配合音乐节奏、台词配合音乐节奏、答辩时间限制等各个方面,都是很讲究、很花心思的。

说到年终评优答辩,背景音乐也相当重要,需要选取那种小众的、但初次听就恨不得单曲循环的BGM。

想要收集这类小众的音乐,大家多听网易云音乐,慢慢就能找到了。团长是网易云音乐的脑残粉,我在考虑要不要建一个此类音乐的歌单,把我听过的那些小众的、前奏惊艳、初次听就恨不得单曲循环的、适合做PPT/视频的背景音乐的BGM,分享给大家,等着吧~

另外,落网这个网站,小众音乐的质量也是相当高,推荐给大家,网址是:

http://www.luoo.net/

支持落网,支持独立音乐。团长不轻易推荐东西,尽情享受音乐的美好吧。

总结

想要获取这些大牛们的PPT模板素材也很简单,关注他们的公众号,点击底部的菜单按钮,即可获取。就算菜单按钮没有,肯定也很容易找到。

在团长的公众号后台回复“PPT”,可能有惊喜。我把我的研究生的毕设答辩PPT模板也分享出来了,你们就偷着乐吧。

不建议亲们做拿来主义者,如遇到好的收费版PPT,必要的时候,这个钱,还是值得花的。不在于它的定价是多少,而在于它给你带来的价值是多少。

团长从本科到研究生,一直有参与学生工作,也曾亲自上阵过数次年终答辩。如今步入职场,我的感慨是:PPT这个技能,趁着还在上学的时候多学学,工作之后,除了一些特定的职业(比如 HR)之外,很少会有人对PPT精雕细琢,毕竟没有那么多时间。

最后一段

团长之前的公众号文章中,通过360网盘分享过一些资源,如今这些链接均失效了,各位亲们还是自己去网上找找吧,团长以后就不再维护这些资源的链接了,毕竟工作之后的时间是宝贵的,要做点更有意义的事情、写质量更高的文章才行。

以后的推文中,应该以文字输出为主,方为正道。感谢各位的支持~

本文于2016-10-29原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

学会使用「版本控制」:“论文打死不改版”的最佳解决方案

作者 千古壹号
2016年10月5日 19:00

国庆还剩几天,一起来学一项高端的技能。

前言

每个人应该都有这样的经历:在写文档(尤其是毕业论文)时,每做一次修改,都要单独保存为一个版本。如果只保留最新的一个,然后把其他的删掉,又怕哪天会用上。

改动的次数多之后,就有了下面的各种版本:

  • 毕业论文.doc
  • 毕业论文改1.doc
  • 毕业论文改2.doc
  • 毕业论文完成版.doc
  • 毕业论文最终版.doc
  • 毕业论文最最终版.doc
  • 毕业论文绝对不改版1.doc
  • 毕业论文绝对不改版2.doc
  • 毕业论文打死不改版.doc
  • 遗书.doc

最要命的是:过了一段时间,你想找回被删的文字,但是已经不记得放在哪个版本的文档里了。

我想,如果工作当中,人人都采用这种简单低级的方式,那简直不能容忍。

这种低效率的事情,经历一次就好。现在,团长要教你一项高效科学的技能,叫“版本控制”,让你既能够只关注最新版本的内容,也能够游刃有余地切换到任何一个历史版本。

本文适合哪些人学习

「版本控制」这项技能,已经非常成熟且非常普及。但对于刚入门甚至从来没有听说过它的人来说,会有点难(meng)度(bi),为了照顾到各位读者,我需要做如下声明:

  • 如果你是文科生,为了学会这项技能,你需要非常大的勇气。

  • 如果你是理工科生,建议尝试。

  • 如果你是一个开发人员,日常工作涉及到写代码,那这项技能是一定要掌握的。

总结一句:如果真有那么容易学的东西,那还怎么体现出它的相对价值呢?

版本控制工具:SVN & Git

既然要做版本控制,那肯定要借助一些工具来操作了。说白了,就是需要先安装特定的软件,然后借助这个软件来进行版本控制。

现在主流的版本控制工具有两种:「SVN」和「Git」。我先把这两个工具做简单的介绍(如果有听不懂的名词,请保持耐心)。

SVN 是属于集中式版本控制系统。版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

Git 是分布式版本控制系统。它在离线时也能正常使用,这样使得开发人员可以随时提交代码,在联网时同步一次即可。同时,Git强调个体,有着速度快、出色的合并追踪能力等特点,加上开源社区对它的不断完善,使得Git越来越流行。

「SVN」和「Git」这两种工具,从目前的使用人数比例上来看,势均力敌。不过,「Git」作为后起之秀,已经慢慢开始要撼动「SVN」的老大哥地位了。在今后,「Git」将继续红旗招展,大放异彩;而使用「SVN」的人则越来越少。

如果你是新手,只用学「Git」就够了,因为它是主流。即使你日后的工作不得不接触到「SVN」,那也没有关系,知识都是相通的,你会很快上手。

下面介绍一下「版本控制」的几大特点(均以 Git 为主)。至于具体要怎么学会它,稍后会提到。

修改无数次,只需关注最新的版本

安装了Git软件之后,它能自动帮我记录每次文件的改动,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,从此以后,再也不用手动管理多个版本了。

你当前正在编辑的版本是“最新版本”,而“历史版本”是被保存到Git软件里面的。你可以通过Git 软件回退到任何一个历史版本,也马上回到最新的版本。还能对比查看各个版本之间的内容差异。

程序猿在写代码的时候,应该深有体会吧。用上这一招,关键时刻是可以救命的。在没有用Git保存版本的情况下,本来已经完成了一个小功能,于是啥也没想,接着改进,改着改着,出bug了,然后想回到之前的正常版本。艾玛,就是回不去了…

多人协作和分支管理

如果某个文档只由你一个人来完成,那只需要用到上一段提到的内容即可。可如果这个文档需要多个人协作完成,那肯定就要用到Git软件了。

这个很好理解,在公司里,一个项目那么庞大,不可能完全由你一个人来完成。即使你作为全栈工程师有这样的能力,那也没有这样的时间和精力。

另外,假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

多人协作和分支管理,也正是 Git 的最大的作用。

GitHub网站:代码托管网站

随着Git的流行,GitHub这个代码托管网站也就应运而生了,网址是「www.github.com」,它为使用Git做为版本控制的软件项目提供代码托管服务,同时注入了社交网络的属性。号称是世界上最大的程序员(同性)交友网站:

简单的说,在GitHub上面,你可以提交你自己写的代码(发微博)、关注(粉)某人、关注(赞)某个项目、添加评论、Fork(转发)一个项目来自己修改,这些功能和微博都是一样的,只是将我们的吐槽换成了由各种编程语言写的代码。我们平时见到的大部分开源代码也都是挂在上面的。

GitHub不仅可以用来托管代码,还可以用来写博客,这个逼格就有点高了,各位可以自己研究研究。

其实GitHub还是一个招聘网站。很多互联网公司的HR都在抱怨,现在招人难,招个靠谱的人更难,于是有的 HR 就去GitHub上逛逛,找到那些符合自己招聘方向的程序员,点开他们的个人页面逐个查看,他们平时的编程水平、代码质量、协作能力都一览无余的展现在面前,这可比花里胡哨的简历强多了。

学习Git的资源

要入门Git,最好的Git图文教程当属「廖雪峰」讲的内容。官网链接是「www.liaoxuefeng.com」。大家点击[阅读原文](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)也可以看到这个教程的链接。

有些童鞋可能喜欢看视频教程,这个也没有问题。在公众号后台回复“Git”,给你看团长认为的讲得最好的Git视频教程。这个视频教程的作者为了模拟团队协作,用自己的电脑扮演唐僧,然后开了个虚拟机扮演悟空,真的是很有心。不过,视频是1080p的,比较清晰,如果你的电脑屏幕比较小,可能不太适应。

上面的这个视频教程,讲得很详细,所以内容很长。如果想看精简版的 Git 视频教程,可以看黑马的Git视频教程,同样是在后台回复“Git”。

补充一句:Git版本控制是通过命令行进行操作的,你也可以安装 GUI 软件来代替命令行操作,团长推荐「TortoiseGit」或「SourceTree」。

最后一段

现在,Git 版本控制的作用告诉你了,该怎么学、从哪里学也有了。要不要提升自我,就靠你自己啦~

题图 from 生命壹号

摄于中英街(位于深圳市盐田区)。小女孩儿的一只脚还在香港,另一只脚准备踏进大陆。

参考链接

本文于2016-10-05原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

团长的效率工具清单,也谈「工欲善其事必先利其器」

作者 千古壹号
2016年9月11日 19:00

团长平时用的高效软件,都在这里了。

前言

前几天,我和公司的新同事(这位同事是和我一起入职的)一起结对编程,他看到我操作电脑和敲键盘的速度如此娴熟,不禁感叹:”Why are you so diao ? “

对于这个问题,我的回答是:“作为一个具有极客精神的程序猿,我是有工具癖的,操作电脑必须熟练;至于为何敲键盘也如此娴熟,首先,你得有一个机械键盘…”

在这位同事的强烈要求下,我决定把我平时经常用到的高效软件列一个清单,毕竟我们还是挺志同道合的。

话又说回来,我一直都尽量避免写「罗列书单」、「罗列APP」这种类型的文章,这种文章除了“一键收藏”之外,确实没有多大的用途。因此我对简书上以下类型的文章特别反感:

“8款App,管理时间和知识的好帮手”

“最全最好用的app推荐——总能找到你需要的那一款”

“职场人手机里应该有这些APP!”

还有下面这种标题党,直接让我喷饭:

“利用好这8款app,你会变得越来越牛逼”。

因此,我需要对本文做如下声明:

  • 仅列举软件清单,不做详细介绍,各位可以找到自己感兴趣的部分,另去研究。

  • 软件类型:基本为工具类软件,旨在提高工作效率。

  • 每一款软件都是团长平时经常用到的,讲真。对于一些小众的打开率低的软件,就不做介绍了。也欢迎各位小伙伴在本文下方留言,推荐其他的效率软件。

咳咳,每次动手写文章,思绪就忍不住在「前言」里漫天飞舞。好了,以下是正文。

我的常用 Windows 软件

团长暂时还买不起 Mac 系统的电脑,不过刚刚参加工作,入手一款 MacBook Pro 应该指日可待了。本段将列举 Windows 系统上的高效软件。

从读研开始,就一直用为知笔记,并且也给教研室几乎每个同学推荐了「为知笔记」,现在为知笔记里面的笔记已经近三千篇了。

当时为什么没有使用「印象笔记」呢?我在本科的时候就体验了一下印象笔记,当时觉得印象笔记不能建多级目录,适应不了,而且免费版的体验不好,所以后来就一直用为知笔记。

自从关注了「利器」这个网站(liqi.io)之后,发现里面的创造者都在用印象笔记,于是我就把印象笔记又重新体验了一下,适应了它的管理方式后发现,印象笔记确实把我惊艳到了,于是果断充了一年的高级会员。

为知笔记的搜索速度很蛋疼,印象笔记的搜索结果却是秒开的。等你笔记数上千的时候,你就会知道,“搜索功能”的好坏,是致命的。

最近大家都在鼓吹「OneNote」比「印象笔记」好用,呵呵,这两款软件完全是不同的功能定位呀。

  • 截图工具:FastStone

截图神器,不用每次截图都要开QQ了。可以给 FastStone 设置一个截图快捷键 Ctrl + Alt + A ,代替QQ截图。工作时间,能不开QQ,就不开QQ。

最近又发现了一款截图软件名叫「Snipaste」,刚上线不久,作者利用业余时间开发了三年,功能非常强大。我隐约感觉「Snipaste」将要取代「FastStone」,你信不信?

  • 资源管理器:Colver

类似于谷歌浏览器风格的资源管理器,好用。

  • 输入法:手心输入法

告别臃肿和广告满天飞的搜狗输入法。

  • 搜索文件:everything

当你的电脑里存放的文件比较多或者比较杂乱乱的时候,想找到它,最快速的方式就是搜索文件名。

用 everything 查找文件,简直就是 Linux 下的速度啊,真不知道微软干什么吃的,这个功能很难吗?

我们同样可以利用 everything 在指定文件夹下搜索,或者对指定格式的文件进行搜索。

对了,记得给 everything 设置一个快捷键(我设置的快捷键是 Ctrl + Shift + Z)。这样的话,每次就可以通过快捷键打开everything。

另外,团长一般是将 everything 软件和 Listary 软件结合起来用,效果更佳。

号称最帅的文本编辑器。我的Android Studio都是用的这个主题,酷毙了。

  • 调节屏幕色温:Flux

根据日出日落调节电脑屏幕色温和亮度,保护程序猿的眼睛。

没有它,我的设计爱好怎么继续下去呢?

  • CorelDRAW

研一时,给学院做了一年海报,研一时的课外时间基本全都献给了研会,甚至有时上课还抱着电脑去教室做海报,也是醉了。不过很感激这段经历,感谢水哥,让我把设计这个爱好培养起来并慢慢变得专业。研一时做海报主要就是用Photoshop(位图软件)和CorelDRAW(矢量图软件)这两个软件了。

  • Lightroom

号称是:数码照片后期处理的一套完整的解决方案。

  • 欧路词典

完爆有道词典和金山词霸。

  • 远程桌面控制:TeamViewer

TeamViewer是最专业的远程桌面控制、远程协助软件,比QQ聊天中的远程控制好用多了。当你需要通过办公室的电脑控制家里的电脑,或者男童鞋在寝室远程帮助女同学操作电脑时,TeamViewer就能派上用场了。

  • 科学上网:ShadowSocks

目前为止性价比最高的科学上网软件,便宜又好用。

iOS 上也有一款同类软件叫「Surge」,不过那个太贵了。

  • 网盘:dropbox

本科的时候,小硕同学就给我推荐过dropbox,当时体验了一下,也还是放弃了,还是习惯百度网盘做备份。今天重新把dropbox捡起来体验一番,发现,把dropbox当做工作目录来用真的非常好用。总结一下:备份不重要的大文件用百度网盘 & 360网盘,工作空间同步用dropbox。

(20190127备注:360网盘已阵亡。)

对了,dropbox软件需要科学上网。

  • 密码管理:1password

之前一直把账号密码记在 word 表格里,然后作为加密笔记保存在为知笔记中,同步到手机上看也很方便;后来发现,账号多了之后,每次打开表格编辑都很麻烦的说,而且不利于搜索。于是,用上了1password,从此一发不可收拾。总结:免费用户用keepPass,付费用户用 1password。

特别提醒的是,1password 是付费软件,而且很贵很贵,Windows 平台是65美元,Mac 平台也是65美元。

这是团长目前为止购买的唯一一款付费软件,买的时候很心痛,用的时候很值得,我已经离不开它了。

关于 1password 的科学使用,有一套完整的解决方案,我过段时间再专门讲一下密码管理类的文章吧。

  • 便笺: Windows自带的便签

大家使用Windows 这么久了,我发现身边使用 「Windows自带便签」的人很少很少,每次有人问我“你这个便签是什么软件啊?好神奇好方便”的时候,我就觉得蛮搞笑。

这里,我以 Win 7 为例,告诉大家怎么打开自带便签:

选择“开始–>所有程序–>附件–>便笺”,就可以把便签打开了。效果如下:

当然你也可以在开始菜单的搜索框进行搜索,记得是搜索「便笺」,不是搜索「便签」。使用便签的效果如下:

我手机里的常用APP

同样,团长现在还买不起 iPhone,还是忍一忍,等到明年十周年的时候,直接入手 iPhone 8 吧。

团长做Android应用开发,喜欢体验各种APP。不怕你们笑话,我手机里安装了至少120个 APP(小米 4C 用起来还是很流畅的),晒一下团长的手机界面:

在上一段中推荐的部分Windows软件,也有对应的APP版本,同样推荐使用。比如:印象笔记、欧路词典、ShadowSocks、dropbox、1password等。

以下 APP 在Android 和 iOS系统上都有。

RSS聚合类的APP。

看到好的文章,就收藏进去。

最近这个APP还增加了一个“热门书签”,可以看到网友的热门收藏。

  • 内存清理:绿色守护

不得不说,在内存管理和内存优化上,iOS要比Android好很多。在Android手机当中,即使关掉了APP,但是后台还是会有很多服务和进程在运行,导致内存紧张,安装一个「绿色守护」,清理内存。

  • 日程管理:滴答清单

记录待办事项。

  • 文档扫描:扫描全能王

扫描名片、票据、A4纸材料专用,效果很好。

我自己的做法是:打开「扫描全能王」对票据进行扫描,分享到印象笔记,然后就可以把票据丢掉了(当然,重要的票据最好还是留存)。

用学生邮箱注册,还会有存储空间的优惠。

  • 通讯录同步:QQ同步助手

用来做通讯录和短信的备份和同步,体验很好。

  • 便签类:锤子便签

当前最流行、界面最好看的便签软件,而且支持markdown哦。

  • 便签类:EverMemo

EverMemo很轻量级, 在EverMemo上的笔记,可以同步到印象笔记。不然每次用手机打开印象笔记来新建笔记,实在是太耗时间和性能。

  • 记账软件:随手记

这里我把几个记账软件对比一下。

「挖财记账理财」:特别强调理财部分,而不是记账,不太想用。

「网易有钱」:主界面上方竟然有这么刺眼的广告,不能忍。

「口袋记账」:小清新,用它记了两个月,体验不错。不过只有手机app版本,没有web网页版,有待进步。属于小众软件,担心没熬过互联网寒冬,然后不小心死掉。

最后说一下我正在用的「随手记」,老牌记账软件,用着放心,而且功能很齐全。然而界面操作繁琐,记一次账要花10秒左右(用口袋记账只需要5秒)。用随手记五年了,界面风格几乎是千年不变,就不能迎合以下互联网的潮流嗦?

市面上的记账软件太多,五花八门,各位不一定要使用我提到的这些,选择自己喜欢的就好。

  • 视频类:开眼

请允许我推荐一款与本文话题无关的应用。

我们知道,网易云音乐是一款良心产品,另外,豌豆荚也出品了一款情怀应用:「开眼Eyepetizer」。大家在应用商店搜“开眼”两个字就能找到。

开眼荣获各种设计奖。用了一年多了,实在忍不住想给大家推荐一下。

我的常用chrome插件

  • Adblock Plus

拦截网页的广告。

  • crxMouse chrome Gestures

鼠标手势。举个例子:当你想把长长的网页滑动到最上方或最下方时,只需一秒钟就搞定。

  • Markdown Here

用Markdown写一封漂亮的电子邮件。本段最推荐的一款插件。

  • OneTab

安装插件之后,点击 Chrome 右上角显示的 OneTab 按钮,你当前所有打开的网页都会被合并成一个列表,下次重新打开浏览器,还能找到。既省内存,又不怕网页找不到。

  • Postman

get/post请求的工具,神器。

  • Readium

epub格式电子书的阅读器。

  • Chrono下载管理器

chrome浏览器的下载助手。

  • Web前端助手

json数据格式化。

公众号的其他相关文章

在团长之前的几篇文章中,专门推荐过很多应用以及软件操作,这里再汇总一下。

软件推荐类:

软件操作类:

最后一段

如果你说电脑好卡,装不起软件;手机好卡,要先卸载别的 APP 才能装新的APP。这个团长也没办法,你打算在哪方面多投入,就得在这方面多投资。

另外,罗辑思维第183期的视频节目:《怎样成为一个高手》,给大家推荐一下(我已经看了三遍了)。

本文于2016-09-11原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

国内首本印象笔记认证的这本书,把知识管理做到极致

作者 千古壹号
2016年8月17日 19:00

看完这篇再决定你要不要成为印象笔记的重度用户。

前言

安静了一个月,我要是不发篇文章出来,会被误认为弃你们而去。其实,团长还是有一颗做网红的心的;当然,做这件事需要提升认知、迭代升级,不断积累方能聚沙成塔。

都说学生时代的人是「有时间没钱」,工作之后的人是「有钱没时间」,而我现在正处于「没钱没时间」的尴尬阶段。从校园人到职场人的转变,这段过程不好受。

情感上的话不多说,以下是正文。

关于印象笔记

如果你现在对印象笔记还不熟悉,请一定记得看之前的一篇文章:《使用云笔记,记下永恒的财富》,这是团长公众号里的第一篇正式文章,你应该知道它的重要性和地位。

印象笔记作为一家独角兽公司(即市场估值超过10亿美元的未上市公司),可能大家也听过关于它的不少负面消息,比如CEO离职、裁员。最近还有一条新闻:

6月28日,笔记应用Evernote宣布,对Evernote Plus(标准账户)和Evernote Premium(高级账户)两档付费服务涨价40%,可还没等中国版Evernote(印象笔记)的用户窃喜中国区不在涨价范畴,另一个消息接踵而来,虽然免费版可以继续使用,但同时不能在超过2台以上的设备上使用。

面对这些消息,当有小白在问“我该使用哪一款笔记类应用”时,无知的人会说:“不要用印象笔记了,这家公司就快倒闭了。”

那我类比一下:

微软的windows系统一直被人诟病,营收也一直是逐年下滑;然而你的电脑现在用的是什么操作系统呢?

看衰苹果公司一直是老生常谈的事情了,2001年有人这么说,2015年他们还这么说。去年的营收是2300亿美元。不错,今年是降了一些。但你知道,不是每年都会往上走的。

当年乔布斯重返苹果时,戴尔电脑的创始人说,乔布斯最应该做的事情,是把公司关掉,然后把剩下的钱发给股东。

我在这里做一个总结:

每一款应用的侧重点不同。如果你想做知识管理,积累平时的所见所得,印象笔记是所有笔记类应用中独一无二的,目前没有其他替代品。

关于《印象笔记留给你的空间》这本书

6月份的时候,上市了一本与印象笔记有关的书,团长作为印象笔记的重度用户,理应购买学习。书名是:《印象笔记留给你的空间》。

买来看完之后,吓了一大跳,作者可真是掌握了使用印象笔记的精髓啊。

你可能没有想到,这本书是作者在怀孕、生宝宝的这个阶段花了6个月完成的。

关键是,全书都在讲如何「构建个人知识体系」,作者的方法和观点,竟然和我如此地一致(强行装一波)。当然了,我是远没有达到其高度和深度。

看完这本书,收获了很多惊喜和高效的方法。今天讨论几点书中特别的内容,你们来看看是不是有惊喜。

用便利贴随时搜集灵感

团长在上一篇文章《GTD 时间管理,让工作变得轻松高效》当中提到,莹莹喜欢通过便利贴记录待办事项和各种杂事,这种方式我并不提倡。

任务少的时候,便利贴可以起到提醒的作用;一旦任务多了,你的桌子周围就成了一个垃圾厂。最大的问题是:你对工作缺乏组织和规划。

然而,便利贴还有另外一个更大的作用:随时搜集灵感

你可能会奇怪,既然可以使用印象笔记直接搜集创意,直接拿出电脑或手机,把想法记录下来不就可以了吗?为啥还要使用便利贴多此一举呢?

使用便利贴,是为了帮助我们创造更为专注的工作环境。

如果你正在专注地做一件事情,切换程序或者使用手机,会分散你的注意力。如果你的手机上有几条未读的微信消息,在电脑上有新的邮件或者弹窗,有可能会被这些信息干扰,此时去读消息,时间就会不知不觉地流逝。

正确的做法是:

在桌面上准备一张便利贴和一支笔,在专注工作的时候,如果脑子里有任何想法,不要去打开手机或者切换电脑程序,而是用最快的方式,拿出笔将想法记录下来,然后继续手头的工作,直到工作完成。

这样做,既能保证专注地工作,又能将大脑里的想法记录下来。

待办事项的记录,也可以采取上面的方法。当你在专注工作的时候,如果突然想到还有什么事情没做(尤其是容易遗忘的小事儿),就赶紧记录在便利贴上。

等便利贴上写满了之后,就可以集中处理了。做法如下:

对于便利贴上随手写下的灵感,可以集中花时间(比如下班前或睡觉前)记录在印象笔记中;或者把多张「便利贴」贴在 A4 纸上,然后放在文件袋里,等素材搜集得差不多了,可以整理成思维导图。最后,用拍照或扫描的方式将A4 纸变成成电子档,保存到印象笔记,纸质档就可以丢弃了。

对于便利贴上的待办事项,可以集中花时间记录在印象笔记中,或者记录在清单类APP中(例如「滴答清单」和「奇妙清单」)。

便利贴在提高个人工作效率上有不可替代的作用(请记住正确的使用方法)。别犹豫了,赶紧买便利贴去,至少两本:桌上一本,包里一本。

最后我只想提醒你一句:灵感要瞬间抓住,否则很快就会忘掉。用好便利贴

不要将网络文章剪辑到印象笔记

书中有很多地方提到:如果在网络上看到有好的文章,要记得一键收藏到印象笔记。在浏览器中安装相应的插件就可以实现。如下图所示:

官方对这个「一键保存网页」功能是这么描述的:

它可以一键收藏各类网页图文,并永久保存进印象笔记。从个人兴趣到工作资料,只需轻轻一点,快速保存网上看到的重要文本、链接和图片到印象笔记。告别复制粘贴,高效收集资料。

团长第一次看到这个剪辑功能时,感觉好棒。之后,我每次看到好的文章都会保存起来。不过我是用为知笔记进行剪藏的。为知笔记用了三年多了,现在里面有近3000篇文章,其中有一半是自己的原创笔记,另一半是收藏的文章(基本是技术类文章)。可惜,收藏了这么多,基本不会看,反而对自己的原创笔记造成严重干扰。

如果你使用笔记类应用,请一定不要使用剪藏功能。因为,收藏的东西多了,有多少东西是你自己的呢?印象笔记这么适合做知识管理,你收藏过、看过多少信息不重要,你输出了多少内容才重要。

如果你真想收藏,还是使用专门的「稍后阅读」类APP吧。笔记类应用不适合做这种事情。

主题阅读

我给大家举个例子,你们就明白什么是主题阅读了。

比如,我想找「阅读方法类」类的书籍,我发现有很多大牛都在推荐《如何阅读一本书》这本书,激起了我的兴趣,于是我上豆瓣看了下这本书的评价:

看评价和评论,感觉不错。网页的下方也列出了同类的书籍。如下图所示:

于是我把上图中提到的每本书都点进去逛了一遍,把感兴趣的书列成书单,集中阅读。这就是主题阅读的例子。

主题阅读:是指从众多资料中找到与主题相关的观点,并在此基础上,能架构出一个全新的主题分析出来。

《如何阅读一本书》这本书中提到:主题阅读是属于阅读的最高层次。

简书上的彭小六也很推崇主题阅读。

另外,如果你觉得一本书写得不错,那么作者提到的其他书籍也是值得阅读的,这也是主题阅读的一种。

就拿李参这本书来举例吧。书中就提到了《为什么搜寻将会被淘汰》、《10堂量子创意课》、《怦然心动的人生整理魔法》、《奇特的一生》等书,都值得一读。

李参也多次提到村上春树的《当我谈跑步,我谈些什么》这本书。村上春树是喜欢早起的人,每天清晨写作,生活很有规律,同时他还是一位跑者,他每年都会参加一场全程马拉松。《当我谈跑步,我谈些什么》这本书记录了他对跑步、写作及生活的态度。

最后再举一个例子,作者李参强调,读一本书时,如果碰倒有感悟的内容,记得保存书摘。于是,书中的这样一段话,引起了我的注意:(P 70)

读书重点不在于我们看到什么,而在于我们想到什么。

郝明义在《越读者》这本书中有这样一段:你是一个工作十年的上班族,正在为自己熟悉而单调的工作感到苦恼,进而对人生的意义产生怀疑,想要找一本书,会想看什么书?

我想,市面上的这类书太多了,但是郝明义先生却推荐了美国的哲学家与教育学家约翰·杜威的《民主与教育》一书。书中有这样一些摘录:“自古以来人来的首要职职业乃是生活——是智能和道德上的成长。在太多功利的社会里,如果预先决定未来的职业,再把受教育全当做为就业做准备,这会妨碍现在的智能发展,从而使为未来就业做的准备大打折扣”。

写一辈子的晨间日记

「写晨间日记」是最大的亮点,所以请记得仔细阅读本段。

写晨间日记是因为,晨间日记和晚间日记不同,迎接我们的不是睡眠,而是新的一天。

不过团长还是习惯写晚间日记,因为早上实在是不方便,但重点是用印象笔记写日记的方法。方法如下。

打开印象笔记,为日记新建两个笔记本,一个命名为“当月日记”,一个命名为“存档日记”。如下:

一篇日记的构成:命名+标签。如果想快速定位晨间日记,使用一个笔记本名和两个标签就可以了。

笔记名:笔记的标题包含当天的准确时间和关键时间。例如:“晚间日记20160816找租房”。

“年月”标签:加一个标签,代表年月,例如上面例子的日记加一个「201608」标签。只要是本月的日记,都会有这个标签,一个月有多少天,这个标签就出现多少次。

“月日”标签:例如上面例子的日记加一个「0816」标签。这个标签一年出现一次。

笔记命名、分类、标签的效果如下图所示:

“年月”标签的效果如下:(按年分类)

“月日”标签的效果如下:

题外话:关于彭小六

刚刚我们提到了彭小六,这里再简单说一下他。本来是打算专门写一篇文章来推荐他,现在看来没有这个必要了。

如果你经常看网站「简书」,你应该知道简书的签约作者「彭小六」,他长期都是简书上的一哥,不过最近好像被另外一位签约作者「剽悍一只猫」超越了。

彭小六是计算机科班出身,做过8年的程序员,3年项目管理,懂产品,会运营。这种职业路线一直都是团长所梦寐以求的呀。

彭小六在简书上的文章,我是每篇必看的,受益良多。他写了一本书,名叫《让未来现在就来-成为高效能的行动派》,6月6号在京东首发,团长自然是第一时间买了下来。

拿到书的时候,内心很激动,看完之后,略显失望。

我们教研室的另外一位同学华仔看到我买了这本书,心动了,也买了一本。之后他说:“看完这本书之后,我最大的收获是安装了两个APP,一个是扫描全能王,一个是forest”。

我笑着回答说:“这两个APP我早就在用了呀,你与其买书,还不如问我呢。”

我说略显失望,是因为书中大部分内容都出自他在简书上的文章,我感觉像是把他的博文复习了一遍。而且,说实话,书太薄了,应该再忍一段时间的。

如果只看书中的内容,质量还算比较高:一半干货,一半励志文(励志文与鸡汤不同)。给三颗星吧。

我们还是回到印象笔记吧,继续说下去,彭小六的粉丝会把团长拉黑的。温馨提示:「彭小六」在简书上的文章,干货很多。

「电脑玩物」网站的站长(台湾人)去年也写了本关于印象笔记的书:《打开大家的 Evernote 笔记本》。这本书团长看完了,写得挺一般,给三颗星吧。不过电脑万物这个网站是真心不错。

总结:写博客容易,写书不易,且写且珍惜。

正如作者李参在书中提到的:

微信公众平台的阅读属于浅阅读,但是文章有很强的时效性。阅读书籍属于深层次阅读,一本书可以系统呈现知识的架构,但是从写作到出版至少要半年多甚至更长的时间,而阅读公众平台的文章,则可以得到更多最新的信息。

如果让我来写书

换做是我来写书,我敢保证比彭小六的这本书写得好,至少我自己是这么认为的(虽然我没法儿像他一样会画漫画)。我在写书时,会做到以下几点:

  • 书不能太薄,至少三十万字吧,厚积薄发。

  • 事无巨细:对封面的设计、纸张的质量、纸张的味道、翻书的体验、内容的排版、文字的校对等,严格把关。必要时,自己设计封面。

  • 如果是写干货类的内容,至少要保证书中的大部分内容是干货,读者看完后可以立即用实际行动去操作;如果做不到,则不属于干货。

  • 远离标题党,标题必须反映正文的核心内容。多一点真诚,少一点套路。

  • 如果把以前在网络上发表的文章搜集起来,整理成一本书,我认为这种做法是不雅的。这会让持续关注你的人少一丝期待,多一丝失望。炒剩菜没意思,超越自我、持续创新才有意思。

  • 继续补充上一条:内容为王。我会反复琢磨整本书的系统框架,并创造出全新的内容。

哦,还有句很重要的话没讲:我写书应该是多年以后的事情了,现在的文笔和积累都远远不够。

最后一段

现在你应该明白了,《印象笔记留给你的空间》这本书书包含了个人健康、自我发展、财富管理、兴趣爱好、休闲娱乐、人脉关系、精神生活等各个方面。书中并不是教你怎么使用印象笔记,而是教你怎么记录生活,构建自己的知识体系,而印象笔记只是载体。

如果你想成为印象笔记的重度用户,此书还是值得买的,收获会很大,团长给四颗星。不过,需要提醒你的是,此书有点啰嗦,有些内容反复提到了好多遍,你要有心理准备。

本文于2016-08-17原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

GTD 时间管理,让工作变得轻松高效

作者 千古壹号
2016年7月16日 19:00

前言

《欢乐颂》火的那段时间,我也是一口气看完的。当时看的时候,发现了一个细节:邱莹莹的办公桌上贴满了便利贴。

莹莹的正前方是便利贴:

莹莹的右边也是便利贴:

团长之前讲过一些电脑操作和APP,今天借这个便利贴来普及一个高大上的概念——GTD。

如果你平时的杂事比较多、中断多,或者不知道如何平衡工作和生活的大事小情,此时,爱学习的你肯定会去研究一些高效工作的方法。

研究来研究去,最后还是会回到GTD上面来。当你将这些科学的方法运用自如时,“既能出色地完成工作、又能快乐地享受生活”这种想法是有可能实现的。

什么是GTD

GTD就是Getting Things Done的缩写,翻译过来就是“把事情做完”。

GTD的概念源于David Allen的一本畅销书《 Getting Things Done:The Art of Stress-Free Productivity》,这本书中文可翻译为《搞定:无压工作的艺术》。

GTD的五个核心原则是:收集、整理、组织、回顾、执行。如今,GTDer则用来表示专门学习、实践、并探索这种时间管理方式的人。

下面我说几点特别的。

四象限法则

四象限法则是最基础的概念,如下图所示:

我来分别把每个象限描述一下。

  • 第一象限:重要而且紧急的事情。

立刻去做。工作压力也主要来源于此。

其实第一象限中80%的事情来源于第二象限中没有被处理好的事情。

  • 第二象限:重要但不紧急的事情。

有计划地做

我们应该尽可能地将时间投入到这部分来。好好理解。

  • 第三象限:不重要但紧急的事情。

交给别人去做

第三象限的事情是自己忙碌而盲目的源头。最好的解决办法是:要么交给别人做,要么拒绝。

  • 第四象限:不重要也不紧急的事情。

尽量少做。第四象限的事情包括很多呀,比如:打游戏、看《欢乐颂》等。没啥好说的。

总结:要给重要不紧急的事情留出足够的时间,否则它会沦为重要且紧急的事情。

猴子法则

比如说,你在专心做自己的事情,突然有个同学说要你帮个忙,很急;于是,你放下手中的工作,去帮他。结果发现:你要帮的这件事情,已经完全由你来接手了。你好不容易解决好了,过了几天,同学又跟你说:“大事不好,上次没帮我解决彻底,估计还要麻烦你一次。”

呵呵,这事儿还没完,以后再碰到类似的事情,你还是逃不掉,第一个想到的人就是你。

现在咱们来说说猴子理论。一开始猴子是在同学的背上,接着,你答应要帮忙之后,这只猴子就会悄悄地向你的背上跨过来一只脚。等你正在怀着赤子之心全心全意地帮他解决问题时,猴子便已经完全转移到了你的背上。这就是猴子理论。

当你身上的猴子越来越多时,你的时间和精力就已经完全被第三象限占有了。

团长以前经常被猴子闹腾,自从把这四个象限理清楚之后,学会了四个字:善于拒绝。

当你走出了第三象限之后,就要考虑如何走入第二象限。如果第二象限的问题没有处理好,就会被迫进入第一象限。

处理突发事件时:要事第一

团长平时习惯尽量把事情安排在自己的掌控之中,但各种中断会经常打乱这种规划。不过,话又说回来,生活充满未知,未来才会有所期待。

遇到突发事件时,要事第一。这是你在作抉择时的一个非常的重要原则。

另外,需要提醒你的是,“重要的事情”是相对于你自己来讲的,而不是相对于别人来讲。如果你不理解这一点,小心自身难保。

《Getting Things Done》这本书中提到过:如果突发事件可以在两分钟之内完成,那就立刻完成。这种事情的举例:

  • 倒一杯水

  • 上个厕所

  • 家里来电话了

  • 找团长要PS的学习资源

这么做是因为:两分钟(团长认为三分钟更合适)基本上是一道时间分界线。从这里开始,你对某些情况进行归档保存所花费的时间,远远超出了当你第一次发现这个问题时就动手解决所需要的时间。

待办清单

随手把任务写在便利贴上,这个习惯并不好。任务少的时候,可以起到提醒的作用;一旦任务多了,你的桌子周围就成了一个垃圾厂。最大的问题是:你对工作缺乏组织和规划。

最好的办法是,你可以把任务写在纸上,进行分类和整理。当然,写在手机上也是可以的。

这里推荐两个比较好用的待办清单类APP:「滴答清单」和「其妙清单」。哪个好用就看你自己的喜好了。团长平时用滴答清单比较多。效果如下:

在手机桌面上显示的效果也不错:

去年在找工作时,每天都会涌现大量的招聘信息,防止遗漏,团长专门列出了一个待办清单,效果如下:

列待办清单只是第一步,还有其他的工作方法和习惯需要培养。久而久之,当你碰到一件事情时,你会很自然地区分出这件事是属于哪个象限;每天定时收发邮件时,会知道该怎么处理和归档。使用多个带有不同标签的文件夹来科学管理自己的任务列表,会显得神清气爽。

iOS上有一款很贵的GTD软件:Omnifocus。土豪买了之后肯定不后悔。

推荐两本书

本文的目的是让你明白GTD的重要性,以及激发你学会并善用GTD的动力。

如果你真想要学习地更全面点,什么网上资料都不要查(查了又能如何),也没必须要在知乎上搜相关话题(废话太多)。

首先应该做的是,找本书看看,这会让你了解得更系统。

  • 书籍推荐:《小强升职记》

不要被这逗逼的书名吓到了,这本书是GTD的通俗版本,而且实用性很强。当然,书中啰嗦话也不少。非常推荐给初学者。

  • 书籍推荐:《搞定:无压工作的艺术》

这本书才是最经典的。作者可是GTD的鼻祖呀。

对于初学者而言,上面这两本书中,推荐你先看《小强升职记》,因为这本书都是用大白话写的,读起来轻松愉快,更容易接受一些。再看《Getting Things Done》,你会豁然开朗的。

看完书后,网上有两篇文章,推荐你看一下。

最后一段

说到底,总结为一句:养成良好的工作习惯。

(公众号版本:

对了,今天在公众号的菜单栏中增加了一个板块,叫「干货店」,感兴趣的童鞋不妨点开瞧一瞧~
)

本文于2016-07-16原创首发于微信公众号「千古壹号」。欢迎有心人关注,学习更多知识和技能。

❌
❌