记一次JavaWeb的开发经历
Swift Lv6

这两周断断续续地帮老东家做了一个很low的网站,总体来说感触还挺多的。

回忆

还记得大三的时候跟着学长后面学SSM(Spring + SpringMVC + MyBatis),光环境搭建就花了一周的时间。web.xml 的网站配置,Mybatis的集成配置,Bean对象的生成配置,SQLMapper的CURD编写,基本上全在死磕xml,头都搞炸了。网上介绍Spring时说是JavaWeb的轻量级框架,这还轻量?好吧,我可能没接触过Struts2\JSF等重量级框架吧。在学了一段时间后,没学出头绪就放弃了。

到了大三下,经典boy推荐了springboot,当时尝了下鲜,真的惊呆了,0 xml配置。直接使用IDEA提供的脚手架就能运行了,再稍微配置下数据库的连接信息就能开发web了,开发体验好到爆炸。但后来因为没有实际需求,也没有用它来搞事情。

到了大四,去了一家外企实习(上述所说的老东家)。10月份入职,正赶上一个创新项目结点,要赶着做一款蓝牙通信的iOS APP。谈到做这个app真的是一把辛酸泪(此处省去1万字)。老外要查看月活量,因此需要一个website来进行可视化展示。正好就用上了springboot,前端用的echarts库,花了一下午做好了,成就感满满。看到特效这么炫酷的图表,老外连说cool😎。

后来部门就顺着这个思路给员工做一个工时可视化的网站。前端仍然是传统的那一套Bootstrap+Jquery+ECharts,说到这三个(尤其前两个),真的是太羞愧,互联网行业基本上没人用这些了。后端采用了流行的基于js的express框架。总体上来说,上手快,爽是爽,但基于事件驱动的编程仍给人一种无规范、无管理的感觉。

现在

如今读研了,学习重点偏研究性质,工程开发搁在了一边。由于有之前的样板代码,这两周做的这个网站就照搬了,但在细节地方提升了不少。主要有如下几点:

  • 网络异常判断:老东家的wifi访问外部网站特别慢,以至于发送一次请求会导致圈圈转半天。这里设置了时间限制,若超时则取消请求。
  • 限流:为了防止用户手速过快,操作按钮连点多次以至发送多次网络请求,这里采用的方法就是按钮点击后将其设置为不可点击状态,直至后端返回数据。
  • 404和500处理:两个页面就直接显示404 Not Found500 Internal Error 。为了将这两端文字在网页正中央水平垂直居中,花了不少时间,请教了其他人,真是羞耻。
  • 在线状态的判定:如果用户没有登录,则重定向至登录界面。
  • Docker打包:win10上开发使用的是jdk13,目前docker仓库里还没有openjdk13,因此就不放到docker里运行了。至于mysql数据库,给大家一个忠告,千万不要在宿主服务器上安装mysql!!!不管是yum源安装,还是手动安装。一旦mysql服务宕掉,那么你很有可能无法重启mysql服务,你会遇到各种各样的报错。虽说网上的解决方案有很多,但很少能帮到你的,反正我是不知道那些博主是怎么解决掉的。因此将mysql放到docker里运行是最安全,服务的关闭和启动都非常地容易。
  • 数据库的定时备份:由于本人只有一台服务器,搞不了网上那么高大上的mysql集群。对于数据的可用性,只能定时备份了。

总结

不管做的什么项目,成就感都不是很高,甚至挫败感很强。主要有如下几点原因:

前端

我前端采用的是low得不能再low的技术栈。jquery写起来虽然很爽,但是业务逻辑一多,一个页面洋洋洒洒写下来起码几千行代码,又臭又长。第一感觉就是可读性和可维护性极差。

暑假用过vue来做前后端分离,当时的感觉就是前端不仅仅只是单纯的页面了,而是一个系统的工程。一个小小的按钮都是封装好的组件。视图也是直接与数据绑定的,当后端数据来了,我们可以直接修改数据就能更新视图了,再也不需要用jquery去手动操作dom了,确实很爽。另外,vue脚手架生成的目录结构就很工程化,便于维护。但工程化了,要学的东西就变多了,比如vuexwebpackbabelssrsass等一系列工具链,怪不得说学前端太累了。

后端

后端的业务逻辑无非就是增删查改,没什么太难的。而且像mybatis这样的orm框架,我没用到它多少特性,全部是手写sql,这样简单直观,但维护性上不强。


总的来说,我所用到的东西全是用的别人的,全是套的框架。我的水平仅局限于能用就行,完全没有深入理解过这些框架,更别提造轮子了。 我是一个活在框架下的码农,想提升自身竞争力,给自己增值,还有很长的路要走。。。

题外话

到现在我还会时不时地想起老东家,虽说前一个月很苦逼,但剩下的时间真的很舒服,你有大量的时间去学想学的东西,同事之间很和谐,公司人文关怀很到位,年轻漂亮妹子很多。突然想起了我那一段“伤心”的往事。不说了,这公司就是 BOSCH .

Powered by Hexo & Theme Keep
Unique Visitor Page View