一大早看了 《美团旅行前端技术体系的思考与实践》 这篇文,恰巧又在昨天完成了一个项目。确实让我忍不住码篇总结,为自己做一个复盘

历时两个月,考勤系统 这个项目总算能够称得上完成了。项目本身的功能很少,完全可以用“简陋”一词来形容。但是对我来说,却可以称得上是我第一个作为前端而不仅仅是“切图仔”而完成的项目了。咳,虽然在这其中涉及的技术范围只限于HTML CSS Javascript AJAX,仍然跳不出“切图”这个框,但是比起之前基本只处理静态的自己来说,意义大有不同——这大概能算我朝成为“前端”又迈出的新一步。

背景

该项目作用是让学员能通过系统提交日常学习状况的周报信息,并方便导师查阅学员反馈的学习近况的系统。整个系统分为学员PC端,学员移动端和导师PC端三大块。

2017-06-30 目标

最初加入到这个项目负责前端的人加我也就三个人。参与要求是要会使用Bootstrap,前端仍以切图为主,重点在于通过这个项目磨炼PHP组的成员。由于最初前端这部分主要分工人不是自己,我一开始的想法仅仅是跟着走完整个项目流,做自己会的切图部分。通过看其他前端成员的代码,了解项目中涉及JS方面的处理方案。而实际进程中,我个人在这个项目中所担当的角色就是与最开始的设想截然不同的。

2017-07-21 过程

从参与项目开始到这个时间点,最大的转变是由我变成了项目主要的分工者,只因为我的前一位被调到另一个项目组去了。项目本身的内容前端导师称完全可用VUE来做,之前的时间中除了做静态的HTML部分就是看VUE的教程,实践于项目本身。但这和项目构成的初衷之一并不相符,后端人员对于VUE不了解,加之那时也正在进行他们自己的一套作业。这个项目,前端是配合后端的,然而直到这一天才让双方形成了真正意义上的一次沟通

1.彼此用到的技术点;

2.后端和前端的分工;

3.项目功能与表现上的细节。

在后来的时间里,处理学员移动端球体倒计时波浪变色的JS效果,周报信息的显示,上下滑动加载的页面效果,与后端协调ajax接口的内容,学员PC端的分页功能,导师端的下拉选择ajax触发等,对于JS基础极差的我来说都是难点。我并不能造轮子,只能Google到解决方案之后自己根据实际需求调,在不断改进查阅的过程中完成一些功能点的。前端部分自己能独立做完,这是两个月前的自己完全没能想到的一件事。而其收获远超于最初目标

1.在这次切实明白了Google的好用,能比之前更明白如何应用搜索来解决问题;

2.补了如何应用浏览器调试的知识点,现在能顺利应用起来发现并解决问题;

3.知道了通过Network来查看json的信息,在Json.cn中解析用ajax调用接口;

4.在这次应用中进一步理解JS的一些基础,比如函数的应用。

也许我协助别人完成这个项目,也能通过看别人的代码在完成过程中收获上述,但是肯定比不过自己独立实践来得深刻。更不用说,在完成项目中我对自己的信心增加了不少。之前的态度是,觉得自己不能,而现在是觉得自己能试试。花时间,找方法,总是能够解决问题。完成项目技术提升上的收获是超越原本目标的,但同时需要注意的是时间成本这个问题。假设,我所具备的技能一开始就足以支撑我完成项目,那么时间成本至少要比现在减少一半。在琢磨自己完全不知道的事情上,我时常多想,然后绕圈,最后解决了才发现解决的方案就在最初的原点上。这里让我不得不承认自己知识面的狭窄。而在找到了解决方案,实际动手解决的过程中,由于基础差,在代码调试中也遇到许多问题才一一改进到位。整个项目中,我缺乏对项目的宏观把控,往往只是基于自己的理解把目标着于一点,导致有些效果即便写出来了,到了后面仍需返工。

如果下次做一个项目,我会在最开始弄清楚整个项目到底是怎么一回事:项目要求、在项目中前端的职责任务、可能用到的技术点、写前端代码需要的UI、项目交付的时间等。尽力规避掉很多由于最初欠缺沟通和对项目整体考虑出现的时间成本的花费。在之后也需对用到的具体技术点另做记录,这不单是对印象的加深,对一些代码进一步的理解,也是能够在以后需要写类似功能时间又不足的情况下,能直接复用。我还需提升自己对git操作的熟练度,我之前对于git有点执着于用命令行,但是在有些时候命令行和图形化git的结合,似乎更利于我与后端交流。

最后挺感谢在写总结之前看到的文,按照里面提到的如何做复盘,才让我这样细致的回忆了一遍项目过程。而对于文中提到的规划和视野,上述复盘中就包含了我对于“规划”的部分理解,实际操作还得在下一个项目中来实践。视野的保持需要长久的坚持和累积,对于关注各类问题精力上的划分也确实让我更清晰了一番。在后面有时间,我还需整理技术总结,相信对于一些问题,我能够有更进一步的认识。

不知道自己能够做到做全到哪一步,但是我会努力去做。

RE:考勤系统的复盘的更多相关文章

  1. 考勤系统代码分析——主页布局easyui框架

    考勤系统主页的布局用的是easyui的Layout控件 Layout:布局容器有5个区域:北.南.东.西和中间.中间区域面板是必须的,边缘的面板都是可选的.每个边缘区域面板都可以通过拖拽其边框改变大小 ...

  2. 企业办公3D指纹考勤系统解决方案(一)

    员工准时.正常出勤是企业考勤制度的基本要求,然而目前签名式.卡钟式.IC卡考勤系统均存在代打卡.人情卡.不易统计等漏洞,而市面上的光学指纹考勤机存在识别能力差.识别速度慢.使用寿命短.不能完全杜绝指纹 ...

  3. 连锁机构3D指纹考勤系统解决方案

    信息技术的高速发展加速了商业零售业连锁经营的信息化和全球化的进程,同时也推动了商业管理的变革.尽管人们对它的认识是被动与滞后的,但这种变革依然伴随着商业业态的转变和信息技术的发展或快或慢地在悄然进行着 ...

  4. 工厂食堂3D指纹考勤系统解决方案

    指纹考勤就餐管理系统利用3D活体指纹技术完成对正式员工就餐管理.就餐者只需办理完入职手续,并登记考勤指纹,就可通过考勤指纹在工厂食堂领餐. 大多数工厂食堂就餐是福利性的,只准员工就餐,不准员工带亲戚朋 ...

  5. 企业办公3D指纹考勤系统解决方案

    员工准时.正常出勤是企业考勤制度的基本要求,然而目前签名式.卡钟式.IC卡考勤系统均存在代打卡.人情卡.不易统计等漏洞,而市面上的光学指纹考勤机存在识别能力差.识别速度慢.使用寿命短.不能完全杜绝指纹 ...

  6. 【UML】NO.50.EBook.5.UML.1.010-【UML 大战需求分析】- 考勤系统

    1.0.0 Summary Tittle:[UML]NO.50.EBook.1.UML.1.010-[UML 大战需求分析]- 考勤系统 Style:DesignPattern Series:Desi ...

  7. 基于SSH框架的在线考勤系统开发的质量属性

    我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...

  8. 写一个小demo过程中遇到的各种问题 学生管理考勤系统(网页模拟)

    添加与新增一些小玩意的1.0.3版本:传送门 各位带哥,这不是你们要的c++.java.c#作业哈 课上要求做个小作业,学生管理考勤系统,原本想着是个练手的好机会,结果只证实了我还是个弟中弟. 设想的 ...

  9. 第二次团队作业-PANTHER考勤系统需求分析

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 这个作业要求在哪里 https://edu.cnblo ...

随机推荐

  1. 【POJ】2115 C Looooops(扩欧)

    Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...

  2. LCM Cardinality 暴力

    LCM Cardinality Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit St ...

  3. Power Strings poj2406(神代码)

    Power Strings Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 29402   Accepted: 12296 D ...

  4. Jquery 多选全选/取消 选项卡切换 获取选中的值

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. AmCharts 对数据排序后展示

    在官网看到的例子 给chart添加一个排序功能的handler AmCharts.addInitHandler( function(chart){ if (chart.orderByField === ...

  6. MYSQL数据库引擎区别详解

    数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另 ...

  7. Android Parcelable理解与使用(对象序列化)

    http://my.oschina.net/zhoulc/blog/172163 parcel定义介绍: android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用来封装数据的容器 ...

  8. Ubuntu 16.04 LTS 下安装MATLAB2015b 以及Matlab system error解决办法

    下载MATLAB2015b破解版 操作系统:Ubuntu 16.o4 LTS 程序文件:Matlab2015b-glnxa64破解版 解压提取文件:在ubuntu系统下可以直接提取压缩文件,得到三个文 ...

  9. win10 uwp 通知Toast

    win10通知使用Toast 可以使用win10 模板添加通知 var t = Windows.UI.Notifications.ToastTemplateType.ToastText02; 使用Ge ...

  10. 从零开始教你封装自己的vue组件

    组件(component)是vue.js最强大的功能之一,它可以实现功能的复用,以及对其他逻辑的解耦.但经过一段时间的使用,我发现自己并没有在业务中发挥出组件的最大价值.相信很多刚开始使用vue的朋友 ...