记第一次web开发历程

画饼

这一切都要从春节回老家的一次无聊畅想说起。

午后,我躺在村里一个5层房的某个床上,笔记本电脑被妈妈拿去用于办公,楼下的亲戚和他们的老同学在大声吆喝。我想睡睡不着,无聊地刷着手机。我看到一个爬虫专栏,于是就有了网站的最原始想法

对于非专业人士来说,爬取资源的门栏较高。虽然这些专栏都有源代码,但是还得fork到本地自己爬。对于老司机来说,最直接是目的不就是直接要涩图吗,还要大费周章复制代码自己爬,真下头

为什么不做一个网站,用户把爬虫代码提交上去并设置定时,然后后端自动运行并更新在主页上呢?

反正躺在床上无所事事,我就在脑海中大体勾画了它的图景。

首先是网站的功能。我需要一个自动化bot,这个在github actions的时候见过,需要写一个后端定时功能。还要整一个虚拟机出来运行代码,最后弄一个流写到服务器里。

但很快我发现我的技术捉襟见肘,我几乎连一点的web开发经验都没有,还是别想那么复杂为好。

比如简化一下,先写个简单版本,让用户自己操心自动机的事。我后端做一个api接口,用户自己定时post就好了。每次post时候自己带上验证信息。

好吧,那这个网站就正式由极客资源共享平台退化成十流博客平台了qwq。但还是先从最基础的做起吧。

接下来是考虑具体技术。前端就用vue吧,之前看到说官方文档写得超级详细,框架也很多。后端受同级的大佬silentE的影响,和对学java的憧憬,试一下springboot吧。数据库当然用我们最喜欢的mysql,毕竟注了她那么久了,这次终于有机会对她好点了= =

最后,起一个富有科技感的名字:Spiderbook

由于在乡下电脑常年被征用,就回去再开始着手吧

摆烂

陶渊明说“心远地自偏”,我却道“地偏心自远”。在乡下心是纯粹的,总有很多感动自己的想法。回到城里后,外出,游戏,电影,学车..........各种事情接踵而至。虽然在此期间看了点http和css,但显然远远不够。种种诱惑,导致这个计划被无限期搁置,spiderbook开发危在旦夕。

救赎

说出来可能有些离谱,但促使我新建文件夹的是SUSCTF2022。那场比赛里web题几乎一半的前端,甚至这些题后端很多还是nodejs。为了试图先把题目大概要干啥看懂,那个周末我几乎从0开始学javascript。也学了很多前端知识,同源跨域之类的;更学了nodejs的一些基础语法。虽然最后一题没做出来吧,但是这让我学到了很多开发的知识。比赛结束后,我想起来了尘封已久的那个计划。springboot就鸽了,nodejs学了不少,我决定前后端全用js。我是在2月初的时候产生想法的,此时已经2月底了。再又摆烂了将近一个星期后,我终于新建了文件夹!

开工

首先需要画饼,缝缝补补多次之后有了下面这幅图
bgq6Vx.png
然后就是技术实现了。核心技术基本照搬大神的专题文章
Vue.js + Node.js + Express + MySQL example: Build a full-stack CRUD Application
当然很多细节和整体结构我是有自己的想法的,这点之后会讲到。

前端刚开始想用bootstrap,但由于一些适配原因,最后换成了饿了么UI。
事实上,这次前端开发是最痛苦的,也是耗时最多的。由于艺术天赋趋于零,往往一个控件微调半天才达到自己满意的效果。还好,饿了么提供了非常丰富的UI,完全不用自己重新设计了。另外技术上比较难的就是分页效果了,也是参考了很多文章和自己思考才做出来的。最后想吐槽的就是js经常“为写promise强写promise”,有几个功能我就是想同步,但由于接口就是promise,最后又得写成麻烦的异步函数。除此之外遇到的问题,稍微debug一下+搜索引擎就能解决了。

后端的结构也挺神奇的。由于我对springboot念念不忘,我直接拿d3ctf的某道java题反编译看目录结构,试图仿照其controller ,dao ,domain层的实现。然而结果貌似东施效颦,由于js很多阴间回调函数和exports的神奇语法,最后的代码极其丑陋,而且由于结构分的挺复杂,耦合性也没低多少。甚至我的book对象也没再domain层里声明,而是直接从前端一路把对象送到dao层。但总之,后端的开发没遇上什么阻碍(当然是因为就没写几个功能2333)

总之,我终于算是把当初的饼做了1%了

尾声

比较令人悲伤的是,我可能会把这个项目摆一段时间了。一方面噩梦般的大一下已经开始。事实上在我写这篇文章的今天是从早上8点到晚上9点满课状态(虽然现在只是网课)。另一方面之后我不太打算继续用Node写后端了,因为js的回调函数真的让我反胃。要学springboot又得不知多少时间了

总之,这次web开发还是学到了很多东西和设计模式,也收获了不少乐趣。但愿有一天,我会想起我还有这样一个中二的计划去等着我去完成。

源码

posted @ 2022-03-08 20:03  KingBridge  阅读(69)  评论(1编辑  收藏  举报