本文讲一下如何搭建一个私人的工具箱,来更好的帮助工作和生活。
什么是工具箱
顾名思义,工具箱就是一系列工具的合集,类似古代医生的药箱,通常手艺人、匠人这类的人都有这样一个箱子,里面是各种问题、场景的解决方案。
为什么要有工具箱
有了工具箱,再碰到类似的问题、场景,便可以直接从工具箱中取出合适的工具直接解决,而不是从头开始再做一个能解决这个问题的工具,比如现在要钉一个钉子:
- 没有工具箱:先用木头、铁器做成一个锤子,然后去敲钉子,
- 有了工具箱:直接取出锤子敲钉子
因为需要提高效率,所以需要工具箱。
怎么搭建工具箱
不同职业工具箱内容肯定是不同的,但是内容虽然不一样,操作的方法却是一样的——道虽不同,其理一也。
代码工具箱
这个里面主要是放一些常用的代码片段,时常用的时候不用每次都去google,自己工具箱里的工具比临时去google 更加可靠和高效,比如 Python 常用的文件结构:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
if __name__ == "__main__":
# TODO
python的时间转换:
# datetime 转成时间戳
#字符串转成 datetime, 2015-08-28 16:43:37.283000
d = datetime.datetime.strptime(strValue, "%Y-%m-%d %H:%M:%S.%f")
t = d.timetuple()
timeStamp = int(time.mktime(t)) # 秒
等等各种常用的片段,给个示范的不完整截图:
代码工具箱的目录组织,可以如下:
$ tree -L 2
.
├── cpp
│ └── readme-cpp.md
├── java
│ └── readme-java.md
├── kindle
│ └── kindle_notes_export.py
├── latex
│ └── readme-latex.md
├── python
│ ├── mysql_util.py
│ └── readme-python.md
├── ss
│ └── main_ss.py
└── thinking
├── images
└── thinking-model.md
私人Google
在如今这个信息纷繁复杂的时代,信息可以分成几个类型:
- 外网公开可搜索的,比如google、百度一搜就能有的;
- 付费类知识,比如:得到、极客时间等平台付费课程
- 平台类信息:比如微信公众号,在外网搜不到;
- 自己的产出、笔记等等;
要想同时搜索到这些类型的信息,没有任何一个现有平台可以做到,所以我们需要搭建自己的私人搜索引擎,同时也是我们的外部大脑。这样的工具需要满足下面的条件:
- 输入方便:导入、剪藏网页等
- 输出方便:搜索能力
额外的非必须的加分项:
- 格式好
- 编辑功能强大
根据我多年(超过5年)的使用各种软件的结论,很多软件额外加分项做的很好,可惜的是上面必须的核心功能却远远不够,最终我长期使用的是:Evernote,做私人Google 是非常优秀的,和这个软件的定位合适相符的。
当然,工具各有喜好,只要能达到自己的目的就好,我这两天在Telegram 上发起过一个投票,看看大家都偏向于哪个工具,这里把结果发出来,给大家参考,自行选择:
关于Evernote的组织形式,给一个我的参考:
我稍微了研究了一下Evernote,对于电脑端:基本笔记本、层级这类信息是放在sqlite 中,笔记内容是放在内置的一个es之类的搜索引擎里面,所以在离线时也能做到完美搜索。猜测服务器那边也多半是mysql+es+redis这种架构,同时加了一些机器学习、OCR的功能。知道了它的原理,用起来会更加放心。
一些好用的软件
Google calendar+Google keep:用来做日程规划、GTD、TODO list。有明确时间点的就在放入google calendar中,没有明确时间的放入google keep 中,简单实用,比面试上各种眼花缭乱的GTD、TODO 工具好了无数倍。而且这两个工具都在Google的 Gsuit 中,所以也不用担心被Google砍掉。
Typora:一款很优秀的markdown 写作工具;
这里讲一个复杂的使用场景:我经常用typora 写了东西,想放到evernote中,这样可以方便搜索,但是又想保持在Typora 中优秀的样式。如果直接导出html,然后复制到Evernote,样式还是会变化走样,导出PDF放入Evernote是附件形式,不够直接。
所以,完美却有点复杂的方法是:
- 导出html格式文件
- 启动nginx,本地搞个web服务器
- 将第一步的网页放入nginx中,使得能够访问
- 浏览器访问网页,然后使用浏览器的Evernote的剪藏插件保存这个网页
通过这样的方式就可以做到完美格式存入Evernote。