背景

对于一个程序猿来说。女朋友可以(暂时)没有,但是不能没有一个很好的记笔记的应用。因为记笔记可以帮助自己积累学习提升自己。每一次回头看自己记得笔记,你都会有新的理解。
也许有人会说,用有道云啊,有道云就很好啊,你还纠结啥呢?
我是一个对产品需求要求很苛刻的人,也是一个追求性价比的人,所以这里我想说说各个笔记产品的一些缺陷:

有道云:

有道云的优势是笔记预览演示/文件上传及预览

但对我来说他的缺点:

  • markdown不支持截图直接粘贴,所以我一般把截图传到github的issue里或者传到博客园,再粘贴到有道云的markdown的编辑器里(是不是很蠢?)
  • 既然markdown不支持截图粘贴,所以我用有道云一般都用普通模式,可以直接截图粘贴,但是这个竟然没有代码高亮,我去不能忍。
  • 没有脑图
  • 有剪藏功能,但是做的很烂

leanote(蚂蚁笔记):

leanote弥补了有道云markdwon不能粘贴图片的缺陷,他的普通模式也有代码高亮,同时也有思维导图。

但是:

  • leanote不能预览演示
  • leanote不支持文件预览(有道云支持,不过对我好像无所谓,工作用的文档一般放在公司内网)
  • 没有剪藏功能
  • 没有链接分享,但是有博客分享功能(但是有时候我只想分享一个链接而不是我的博客)

印象笔记:

其实我以前一直是印象笔记的用户,因为印象笔记的剪藏真的做得挺好,但是:

  • 不支持markdown(虽然可以配马克飞象啥的,但是收费而且麻烦)
  • 不支持代码高亮
  • 演示功能不错,但是收费

为知笔记:

没用过,但是我去体验了一下,有链接分享功能,代码高亮好像做的不行,总是没有吸引我的地方,就没用了。

所以我权衡了一下,准备用leanote,但是:

这表示你不交钱根本不能用,只能当一个本地编辑器用。我很无语,因为50一年很便宜但是每月128M流量,虽然比印象笔记的60M限制好点,但是也很少啊。其实我已经准备交钱了,但是突然看到一篇文章:Leanote 服务器安装,发现leanote是可以自己搭建服务,前提是你要有服务器。以前在学校用的腾讯1元服务器,但是毕业了就不给用了,自己买又不划算。所以我就想用我的树莓派来作为一个服务器;

树莓派是一个微型电脑,长这样:

这个树莓派是以前参加Daocloud的活动送的,买的话加上配件大概250块钱。我的树莓派的配置是1G内存,16G存储,够用。按照Leanote 服务器安装这篇文章作为参考搭建服务器。我主要说下需要注意的地方:

  • leanote服务端代码一定要下载arm版,因为树莓派内核是arm7好像,不然下载其他版本leanote服务端代码运行run.sh会报错,到这里下载
  • 树莓派安装mongodb,只需要sudo apt-get install mongodb就行,所以安装mongodb不用跟着那篇文章。
  • 为mongodb数据库添加用户且设置这个用户为管理员之后首页就访问不了了(原因暂时未知),但是可以访问/login,如http://***.***.net:12719/login(这个端口),

大家肯定注意到我的域名后面有个端口,啥操作?其实这个域名和端口都是免费的,可以使用花生壳这个工具来映射端口,免费的,实名认证一下就行,每月有1G免费流量,也送域名;不过我用的是我很久以前买的是花生棒,98块钱,花生棒每月有2G流量。大家也可以用免费的ngrok。(至于花生棒怎么配置就不说了)

总之就是把内网地址映射成外网可用地址,然后把这个外网地址:

这样就OK了,但是要注意账户你得在你搭建的服务上重新注册一个,或者你自己手动迁移你原来的数据库:

最后,再说下树莓派上的leanote,我是用了一个叫做supervisor的工具来管理,具体安装配置参考:Supervisor安装与配置(Linux/Unix进程管理工具),如有启动失败的情况,多半和权限有关,树莓派默认登录账户是pi,可以切换到root账户来操作:

但是切换到root账户,你之前下载的leanote代码路径可能会变,如一开始我代码是放在pi账户下的~/Projects/leanote/,但是切换到root账户之后,地址变成了/home/pi/Projects/leanote/bin/run.sh,最后附上我的Supervisor的配置(名字是leanote.conf,放在/etc/supervisor/conf.d下面):

总之这么搞拿来知识积累是没问题的啦。我还有一个从以前破电脑上拆下来的750G硬盘,这个硬盘接到树莓派上对我来说可以用好久啦。

最终的成本大概是:树莓派(250)+花生棒(98)=350块钱,就算加上移动硬盘差不多就600块钱吧(如果你用ngrok代替花生棒那就就花买个树莓派的钱),但是你这钱除了可以支持你用来搭建笔记服务,还可以做好多其他事情。

对于我来说就是花了98块钱买花生棒。所以这笔买卖,划算。

或许有人会吐槽我扣舍不得给leanote充钱,但我想说的是,我这哪里扣啦,我这是精致的生活好吧。

好吧,其实我就是扣。

最后声明一下,我没有给提及的产品打广告。

树莓派+花生棒+leanote搭建自己的笔记服务器的更多相关文章

  1. SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  2. QT树莓派交叉编译开发环境搭建

    QT树莓派交叉编译开发环境搭建 - JerryZone <Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2> <Qt for Em ...

  3. 用go-module作为包管理器搭建go的web服务器

    本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器.并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档. 源码在 ...

  4. 用ProGet搭建内部的NuGet服务器

    最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎 ...

  5. 搭建自己的Nuget服务器

    序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者github,又或者是各自为政版本类库随意使用? 那么你们使用者写类库的时候方便吗? 有没有更新下载,版本不一致 ...

  6. 【日记】搭建一个node本地服务器

    用node搭建一个本地http服务器.首先了解htpp服务器原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型 ...

  7. [翻译]用 Puppet 搭建易管理的服务器基础架构(4)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...

  8. [翻译]用 Puppet 搭建易管理的服务器基础架构(3)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...

  9. 搭建git for windows服务器(100%可以成功)

    既然Git在Linux下面非常好用,为什么还要搭建git windows的服务器,因为不是所有的用户都需要在linux下面做开发,对吧,还有很多用户选择使用windows做开发. 看到很多网友尝试部分 ...

随机推荐

  1. 开源图像检索工具:Caliph&Emir使用方法

    Caliph&Emir是基于MPEG7的软件.它是用Java编写的开源软件.采用了lucene完成索引和检索功能.是研究MPEG7标准,图像检索等等方面不可多得的好工具. 在此介绍一下它们的基 ...

  2. Java-Enumeration总结

    纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹 Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTabl ...

  3. 【Qt编程】Qt学习之状态栏

    QStatusBar类提供一个水平条来显示状态信息.所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面.字数等等信息.状态信息可以分为三类:临时信息,如一般的提示信息:正常信 ...

  4. 如何配置android的adb环境变量

    如果打开DOS窗口,输入adb显示既不是内部命令也不是外部命令,则说明没有配置adb环境变量.方法如下: 第一步: 打开环境变量配置窗口.右击计算机,属性-高级系统设置-环境变量. 第二部: 添加an ...

  5. how tomcat works 六 生命周期

    我觉得这一章叫tomcat中的观察者模式,比较好! 首先,不要看本章,请查看一下关于观察者模式的资料比较好. 推荐以下知识点 基础篇 设计模式之禅----观察者模式 大家可以找到pdf阅读一下 另外本 ...

  6. RPi Kernel Compilation

    Overview This page explains how to rebuild the kernel image for the RPi. There are two possible rout ...

  7. Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  8. 内核调试神器SystemTap — 更多功能与原理(三)

    a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 用户空间 SystemTap探测用户空间程序需要utrace的支持,3.5 ...

  9. ORACLE ERP各模块会计分录

      ORACLE ERP各模块会计分录   第一章 采购模块 一.资产采购(科目来源:库存组织) 1.物料接收 借  材料采购     接收数量*采购单价 贷 应计暂估     接收数量*采购单价 2 ...

  10. cocoa编程第4版 8.6 挑战2 解答

    该版本的RaiseMan不用Array Controller,全部手写代码. 要注意的有以下几点: 1.TableView每列的sort设置和AC版的相同,但要手写排序代理方法 2.TableView ...