游客发表

web课程设计总结

发帖时间:2026-10-17 04:55:04

```html web课程设计总结

web课程设计总结

交完代码那天下午,我盯着浏览器里那个自己写的计总结破站,首页轮播图还在鬼畜地闪。程设明明本地跑得好好的计总结,一到服务器上就各种错位——这大概是程设我这学期web课设最真实的写照。不是计总结没想过糊弄,但真把东西一点点搭出来,程设哪怕丑得不行,计总结那种“这玩意儿是程设我生的”感觉,还挺上头。计总结

选题的程设时候我选了“校园二手书交易平台”。原因特别朴素:我自己想卖书,计总结又懒得写论文。程设需求分析写了三页纸,计总结后来发现一半功能都没实现。程设比如“智能推荐”,最后就变成了按发布时间倒序,美其名曰“最新上架”。但有个功能我死磕了两天——图片上传预览。听起来简单吧?FileReader 加上 URL.createObjectURL,本地测试丝滑得不行。结果部署到云服务器,用户上传大图直接卡死,内存飙到90%。后来才知道要加压缩,用canvas重绘一遍。那晚改完代码,泡面都凉了,但看到上传进度条稳稳走到100%,比吃泡面还香。

“前端不是画画,后端不是搬砖。中间那条缝,得自己拿头去撞。”

后端我用的Flask,轻得像个纸盒子。数据库就两张表:用户和书籍。设计的时候觉得绰绰有余,写留言功能时才发现没地方存时间戳,又懒得改表结构,最后直接拿datetime.now()塞进字符串里。现在想想,这操作挺蠢的,但当时觉得“能跑就行”。接口写得很随意,/api/get_books 返回的JSON里字段名一会儿驼峰一会儿下划线,前端处理得想骂人。后来自己定了个规矩:所有接口返回必须带 code 和 data,错误信息统一扔 msg。这破规矩救了我后半程的命。

前端页面一共写了七个,首页、详情、发布、个人中心、登录注册、搜索、404。最丑的是个人中心,因为实在不想调CSS了,直接拿Bootstrap的卡片堆上去,颜色都没改。但有个细节我挺得意:书籍列表的懒加载。用IntersectionObserver监听滚动,到底部自动加载下一页。第一次跑通的时候,我故意滚了十几遍,就为了看那个加载圈转一下。后来发现用户根本不会滚那么快,但管他呢,自己爽到了。


课程设计最折磨人的不是写代码,是调兼容。Chrome上好好的flex布局,Firefox里就塌了。查了半天,发现是min-height在flex子项上表现不一致。最后加了个height: 100%硬顶上去,虽然不优雅,但能跑。还有一次,后端返回的中文在页面上变成乱码,以为是编码问题,折腾半小时,结果是前端忘了设response.setHeader('Content-Type', 'application/json; charset=utf-8')。这种错误,文档里写得清清楚楚,但你不踩一次坑,永远记不住。

答辩那天,老师问我:“为什么不用Vue?”我说:“想先搞明白原生JS怎么操作DOM。”其实真实原因是Vue没学明白。但后来发现,手写document.querySelector和事件委托,确实让我对事件流理解深了不少。比如给动态生成的删除按钮绑定事件,一开始用onclick死活绑不上,后来改成事件代理,挂在父容器上,瞬间通透。这种“啊原来如此”的瞬间,比看十遍教程都管用。

代码量不大,前后端加起来不到两千行。但每个文件都改过至少五遍。Git提交记录里全是“fix bug”“再fix”“真的fix了”。最后一天合并分支,冲突多得想哭,干脆把本地删了重新clone,手动把改动一个个贴回去。笨办法,但有效。现在回头看,那些乱七八糟的注释和半途而废的函数,反而比完美的代码更有温度——它们证明我真的在这上面花过时间。

如果重做一次,我会先把数据库设计好,而不是边写边加字段。也会把接口文档先写出来,而不是靠脑子记。但话说回来,不撞南墙怎么知道墙硬?课程设计嘛,本来就是用来试错的。最后演示的时候,那个丑丑的首页居然被同学夸“挺有想法”,虽然我知道是客套话,但嘴角还是没压住。

这门课结束了,但那个跑在阿里云最便宜服务器上的小破站还活着。偶尔点进去,看到自己写的“欢迎来到二手书平台”还在,就觉得这学期没白过。

```

    热门排行

    友情链接