怎么看呢?
免费的东西多少有点不可靠,用户多了要么VIP收费,要么广告弹出,只是吃相不同罢了,服务提供商大都逐利的。 有能力的可以自己做一套云笔记,这里仅仅提供一个思路,大致步骤如下:
step1: 下载WizNote(位置笔记)的源码step2: 修改WizNote代码中与数据库交互的那些部分,使其重新定向到自己的云服务器上的数据库step3: 购买各个平台(百度云/阿里云/腾讯云等)上的云服务器及其带宽step4: 在云服务器上架设开源的数据库实例(或者集群)step5: run吧,经济层面,找几个小伙伴分摊一下费用,使其远低于WizNote会员的价格。 1. 下载WizNote的源码
WizNote的源码可以从Github上下载,地址为GitHub ,遵循GPL协议,大家可以从界面右上角的clone or download下载源码包。
2. 修改WizNote的源代码
WizNote是使用C++编写的,使用QT作为图形界面的一个跨平台应用程序,这意味着我们可以在Windows,mac以及Linux环境中使用Wiznote编写云笔记,这对于linux工作环境的程序员非常有用,一边敲指令,一边记笔记,云同步,爽!
接下来的工作就是修改WizNote的源码,使其重新定向到自己的数据库实例喽,在我看来,云笔记无非就是将自己的笔记能够持久化(保存)到处于云端的一个数据库中,那么接下来要做的无非就是将原来定向至为知笔记官方服务器的的代码修改成定向为自有服务器上数据库的代码。
我们看WizNote源码包目录下 src/share/WizDatabase.h的函数,无非是一堆获取(get),设置(set)以及修改(modify)笔记内容的函数
比如 getModifiedTagList:获取笔记名称的列表,WizNote程序无非是将这些内容转化为数据库命令发送至数据库呗,我们继续追踪其实现:
return WizFormatString2("select %1 from %2 where WIZ_VERSION = -1", strFieldList, strTableName);熟悉不,SQL语句都看到了,获取笔记内容无非就是像这样的一堆SQL查询罢了。我们可以把它重定向到自有的云上的数据库的代码,SQL/NoSQL任君选择,这里仅仅展示了数据I/O的那一块,当然还有数据库连接等一些也需要修改。经过你的精心调教,WizNote已经彻底沦为你的(省略),咳咳。
注意:需要装一个Qt的库来编译Qt程序,如果你想界面炫酷?下个QtCreator自己画界面呗,话说回来我更喜欢Linux下的WizNote界面风格。
3. 购买云服务器,搭建用来存放笔记的数据库实例
云笔记嘛,要的就是各个设备的同步,到哪里都可以访问,所以笔记需要存放在公网可以访问的服务器上。云服务是理想的选择(有条件也可以用自己的机器搭建,不过自己的机器可能不可靠,比如断电死机什么的)。百度阿里腾讯都推出了自己的云服务器,最低的配置(1核CPU,1GB RAM,1MB公网带宽)感觉足以,价格大约是60几块钱一个月(啥,我都可以买一年VIP了,你坑我呢,这个稍后解释)。系统的话,追求可靠性用Linux,不过Win送的系统盘貌似大一点,看选择吧,比如百度云Win为40GB,Linux就20GB,不过Linux可以不要图形界面,还是推荐Linux吧。
4. 启动数据库实例。
购买了云服务器,接下来就是搭建数据库实例了,看你熟悉那个数据库吧,这个很随意的。哪个习惯用哪个。你说还需要更可靠?来一发副本级吧,不过成本就上去了。
5. 都做完了,编译运行喽
但是高昂的价格让人止步啊,但是想想,云笔记主要是文字啊, 文字占用的空间很小的,还有就是一些格式修饰符大小也有限,图片用jpg存应该问题也不大,一人300MB的空间有的存了(想想可以放多少本书),这么算来,一个服务器可以存好多个人,这么多人均摊一个服务器一年不就好了,降到二三十不是梦。注意了,WizNote的源码中也有用户注册,账号登陆的代码,而这些账号数据无非也是存在数据库里面的,所以修改后的WizNote也可以多用户登陆,各自注册各自的账号,互不干扰。
写了好多字了,分析一下这么做的优劣势吧:
优势
安全,你愿意吧数据存在你自己可控的机器里还是存在一些商家手里以便于所谓的“大数据分析”?隐私什么的放在别人手里总是不放心,更别说上面可能被建立了一堆索引用来关键字搜索......,这些有的没得我们都看不见。跨平台:Windows,mac,linux多设备随便起飞,不过这是WizNote自带的特性。便宜:比VIP更便宜,不过你要找到够多的志同道合的小伙伴。自由:想干嘛干嘛,可以添加自己想要的功能 劣势
有一定门槛:需要有一定编程经验人来修改代码,以及云环境搭建。
走过路过,怼一下再过。 |