说到“恩多拉”这个东西,一开始就是我自己瞎折腾的一个小玩意儿。
起因挺简单的,就是那段时间,我手头有好几个零零碎碎的想法,有的是关于工作的,有的是自己瞎琢磨的一些小项目,笔记记得到处都是,一会儿放这个软件里,一会儿又写在那个本子上,找起来特别费劲。市面上那些笔记软件,要么太复杂,学起来都费劲,要么又太简单,满足不了我那点特殊需求,比如我想给笔记打上各种奇奇怪怪的标签,还要能方便地连连连连连连连起来。
某天晚上,我就寻思着,要不我自己动手搞一个?就叫它“恩多ラ”,这名字也没啥特别意思,就是觉得顺口,随便起的。
说干就干。
第一步,我没想着用啥高级工具,就拿了支笔和几张纸,先把大概想要的样子给画了出来。就是那种最糙的草图,一个框框代表输入区,几个按钮代表功能,旁边再画个区域显示笔记列表啥的。我想要的功能不多,主要就是:
- 能快速记东西。
- 能打标签,而且标签可以随便加。
- 能按标签筛选笔记。
- 能把几条相关的笔记给关联起来。
画完草图,感觉还行,不算太复杂。接下来就是选技术了。我本身也不是啥专业程序员,就想着挑个简单的。一开始想着用网页技术弄,后来觉得还得搞前端后端,麻烦。琢磨来琢磨去,就决定用 Python 试试,找个简单的图形库,比如 Tkinter 啥的,能跑起来就行,毕竟是给自己用的,丑点没关系。
然后就是动手的过程了。
先是把界面搭起来,照着草图,用代码把那些框框、按钮给弄出来。这一步还算顺利,虽然界面是真丑,但好歹有个架子了。接着就是实现核心功能,记录文本、保存。这个也还Python 处理文件读写挺方便的。
真正的麻烦是后面加标签和关联功能的时候。
怎么存标签?怎么快速查找?笔记多了会不会卡?关联关系怎么表示?这些问题一下子全冒出来了。我卡了好几天,试了好几种方法。一开始想用简单的文本标记,后来发现查找起来效率太低。又试着用了个小型的数据库,比如 SQLite,感觉稍微靠谱点了,但又得学点 SQL 语句,折腾了半天,总算是勉强实现了。
写代码的过程就是不断地试错、改错。经常是写了一段功能,运行一下,报错,然后上网查,或者自己在那儿琢磨半天,改再运行,又出新问题。有时候为了一个小功能,能耗上一个晚上。尤其是那个笔记关联的功能,我想要那种类似思维导图的效果,能点一下看到相关的其他笔记,搞得我头都大了,实现得也挺粗糙,就是个简单的列表链接。
中间有好几次都想放弃了,觉得搞这个“恩多拉”纯属自讨苦吃。但转念一想,反正也是练手,记录下自己踩坑的过程也挺就这么断断续续地搞着,有时候是晚上下班回来弄一会儿,有时候是周末有空了就集中弄一下。
“恩多拉”这个小工具,算是能用了,马马虎虎。界面依然很简陋,功能也就刚刚满足我自己当时设想的那几点。跟市面上成熟的软件比,那肯定差远了。但是,它确实解决了当初我那个笔记乱放、查找困难的问题。我现在自己的一些零碎想法,就都丢到这个“恩多拉”里面去了,打上标签,偶尔翻翻,还挺方便。
整个过程折腾下来,代码写得乱七八糟,也没啥规范可言,但对我自己来说,算是一次挺完整的实践。从一个想法,到动手把它一点点做出来,中间遇到各种问题,再想办法解决掉,这个过程本身就挺有意思的。虽然“恩多拉”这东西上不了台面,但它确实是我自己一步步搞出来的,记录一下这个过程,也算没白折腾。
还没有评论,来说两句吧...