John's Lab —— 一个奇怪的实验室

John's Lab —— 一个奇怪的实验室

编程那点事 随便写写 PHP 1901 字 / 4 分钟

人生理想?!

前段时间在修正 Light Cube 文章的格式时,看到了2015年年末时写的东西。感叹我在一年内居然做了这么多事!但那都已经是过去了,未来想做的事也总是会莫名其妙的出现,每当想起心里都会十分激动。

所以,我下了个微软的 APP —— 存在,来记录一些平时想到的想做的事,多半都是些究极人生目标吧。

(打码的那个太羞耻了blush

        今天想聊的,就是上面的个人实验室应用—— 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 刀购买!

我可是看过无数差劲文档的人啊!!

到目前为止,我记忆中的,写的最垃圾,最差劲的开发文档,还是得归百度语音莫属frown。就是一个简单的音频转 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 的小彩蛋。cheeky

未来呢?

说出来不怕笑话, 我最终是想将其打造成一个完整的系统,或者说......是类似于框架一样的东西吧——大家可以按照这个框架的一套规则自行开发自己的实用小工具,然后添加到上面来。很棒很厉害。但以我现在的能力,还是不够的啊。(所以这也是一个人生目标啊)

下面给出了我未来可能会加入的功能:

  • 之前有做过 B站 的 API,加入 bilibili 相关的小工具?
  • 加入在线接口测试、json格式化等开发者功能(初衷啊!)
  • 研究一下微博开放平台,我想让爬虫定时爬取许嵩的最新微博并提醒我。
  • 同上,检查许嵩、Mili、Aimer等是否出新歌了,然后通知我,正好还可以用 Music Hunter 播放。

开源还需提高姿势水平

那么就是这个应用的开源问题了。没问题,直接 GitHub MPL2.0 协议走起。只是因为源码中有一些服务器的数据库等配置信息,通用的解决办法是需要写一个 config 文件的 example 并且创建一个 .gitignore 文件。这些我都还没试过,所以不知道会不会玩脱啊。

嘛,就是这些了。

嗯,对这个项目的介绍就到这里了。前些天将其接入了 Google Analytics 进行访客分析。感谢这几天支持我的高一学弟学妹们。也很感谢各位使用这个应用的小伙伴们。

Enjoy it.