John's Lab —— 一个奇怪的实验室
人生理想?!
前段时间在修正 Light Cube 文章的格式时,看到了2015年年末时写的东西。感叹我在一年内居然做了这么多事!但那都已经是过去了,未来想做的事也总是会莫名其妙的出现,每当想起心里都会十分激动。所以,我下了个微软的 APP —— 存在,来记录一些平时想到的想做的事,多半都是些究极人生目标吧。
(打码的那个太羞耻了)
今天想聊的,就是上面的个人实验室应用—— John's Lab所以这是个什么鬼?
大概是在今年中旬时做 Love Bangumi 的时候,经常需要进行将 json 文件格式化,GET/POST 请求测试等操作。这个时我都是熟练的在百度上敲入“json格式化”、“在线接口测试”,然后打开一个网站,做完我要做的事,再关掉。久而久之,便觉得有些繁琐,特别是那些网站后来都需要QQ登录才能使用,这让我感到有点烦了。心里萌发出一个念头——我可否自己写一个站,里面整齐的汇集了我平时经常需要用到的实用工具?各个工具功能十分简便,互相独立,可行度挺高。
但当时苦于没有服务器,并且考虑到安全原因不敢放在 Light Cube 博客的香港空间上,所以迟迟没有开始。等到七月份时入手了第一台美国 VPS 后,我隐约感觉到,是时候了。
万事开头难
虽然有过 PHP 应用的开发经验,当那也只是些皮毛,并不能够支撑这样一个像样的项目。所以,我开始接触了 PHP 框架——CodeIgniter。之所以选择她,是因为我被其官网的宣传吸引了。是个人看到这个介绍都会被吸引吧!!事实上也确实如此,比起 Laravel、CakePHP 等框架来说,她可以说是十分友好了。对于 Linux 一窍不通的我果断决定了。
将 CodeIgniter 的文档删减到大概 80 多页后,我将其打印下来,有时间就学一下。大概是一个多月后,我摸清了她的整个流程,也对 MVC(模型-视图-控制器)的设计模式有了些了解。
但其实一切进展的其实完全没有上面文字中叙述的那样美好,遇到的问题次次让我想要放弃:
- 这个框架并不热门,社区并不活跃
- Stack OverFlow 上很难搜到这个框架的问题
- 官网给的文档是上个版本的,有很多地方都已经过时无法使用了
- 官网的文档有些含糊其辞,重点的部分都带过了
- 我看中的 Bootstrap 主题需要花 99 刀购买!
我可是看过无数差劲文档的人啊!!
到目前为止,我记忆中的,写的最垃圾,最差劲的开发文档,还是得归百度语音莫属。就是一个简单的音频转 base64 然后加上 token 进行 POST 请求发到服务器接口,这么简单个操作写得十分模棱两可,我硬是不断揣摩着文档作者的意图,慢慢尝试,最后总算是成功了。从那之后,我觉得应该不会有比这写得更垃圾的文档了......这一次我也是在百度的帮助下才学会 CodeIgniter 的,官方给的代码全是错的!遇到问题了首先还是 Stack OverFlow 搜一波,80%以上是可以找到解决办法的。至于那个付费主题我是怎么免费搞到手的呢?
我发现购买主题后,在文件里会有一个感谢付款的 Markdown 文件,所以我直接在 GitHub 里搜包含那个文件的 Repositorie 。还真别说,真有几个人傻钱多的将源文件直接放上来了。直接 clone 到本地,搞定!
现在的进度
各位现在看到的 John's Lab 的版本是我第二次重构的,第一版本来是定位只给自己使用的,所以加入了用户登录的功能。但想想还是开放给大家更好。大家一起来开发、完善,岂不美哉?
目前能真正投入使用工具的只有这个 Music Hunter,因为一些你懂得的原因,这个工具不能太过张扬,未来可能会有些限制吧……(谁知道呢?)但是现在你大可放肆使用,lrc歌词解析以及歌词滚动的功能是来自于 GitHub 上的一个项目。
左侧 MORE 菜单下的三个功能都在开发中,其中 Feedback 是用户提交意见、反馈、bug的平台。那个 Developer 是给我自己维护这个站点用的,下面的 About 是介绍这个站点,里面还加入了 Live 2D 的小彩蛋。
未来呢?
说出来不怕笑话, 我最终是想将其打造成一个完整的系统,或者说......是类似于框架一样的东西吧——大家可以按照这个框架的一套规则自行开发自己的实用小工具,然后添加到上面来。很棒很厉害。但以我现在的能力,还是不够的啊。(所以这也是一个人生目标啊)下面给出了我未来可能会加入的功能:
- 之前有做过 B站 的 API,加入 bilibili 相关的小工具?
- 加入在线接口测试、json格式化等开发者功能(初衷啊!)
- 研究一下微博开放平台,我想让爬虫定时爬取许嵩的最新微博并提醒我。
- 同上,检查许嵩、Mili、Aimer等是否出新歌了,然后通知我,正好还可以用 Music Hunter 播放。
开源还需提高姿势水平
那么就是这个应用的开源问题了。没问题,直接 GitHub MPL2.0 协议走起。只是因为源码中有一些服务器的数据库等配置信息,通用的解决办法是需要写一个 config 文件的 example 并且创建一个 .gitignore 文件。这些我都还没试过,所以不知道会不会玩脱啊。嘛,就是这些了。
嗯,对这个项目的介绍就到这里了。前些天将其接入了 Google Analytics 进行访客分析。感谢这几天支持我的高一学弟学妹们。也很感谢各位使用这个应用的小伙伴们。Enjoy it.
喜欢这篇文章?为什么不打赏一下呢?