[关闭]
@Fartown 2017-07-06T14:36:53.000000Z 字数 5587 阅读 548

美团笔记


熟悉Mac环境

  1. 安装homebrew,git,sublime,atom,node,mnpm
  2. 了解编码规范

熟悉平台和系统(6/6 周二)

  1. 查看git项目,了解大致项目结构,编码
  2. 阅读美团编码规范
  3. 读wiki,主要是工作流程及业务范围
  4. 学习ES6及前端模块化
  5. 熟悉烽火台
  6. 学习项目banma_page,搭建相关环境

项目迁移(6/7 周三)

  1. 搭建项目环境,学习nginx在mac下配置及命令,mac下网络命令
  2. 熟悉项目前后端交互,线上线下环境,Java工程文件结构,以及banma_page,banma_fe文件结构,代码结构
  3. 熟悉烽火台项目业务,了解项目工作模式
  4. 迁移banma_data下ftl文件(以为把data全部迁移,所以花了大量时间)

项目任务(6/8 周四)

  1. 迁移dispathkpi文件,熟悉文件结构和依赖
  2. 熟悉业务,了解banma的UI组件库,主要是table,select,datepicker等,熟悉页面组织方式,查看其它相似页面代码
  3. 解决webpack打包问题,nginx相关配置

文件迁移(6/9 周五)

  1. 阅读dispathkpi的ftl源码,了解前后端数据接口
  2. 研读页面js部分代码,学习组件调用方式和源代码实现方式
  3. 思考页面逻辑和交互,规划方案
  4. 页面实现:
    • 查询条件使用组件,二级联动菜单通过监听change事件,渲染下拉框.之后读取所有数据,参考API查询数据
    • table渲染:使用字符串拼接渲染或者模板渲染
  5. 关于数据查询的思考:

    • 数据量小,可以采用之前方案,所有数据变动均通过Ajax异步获取
    • 数据量大,考虑本地存储,有排序操作可以考虑indexDB(但是兼容性差,较激进的方案)
    • 本项目中有四级联动菜单,但是数据结构和需求不符,在数据较多情况下应当通过异步请求让后台来完成查询

      1. 项目进度:完成条件查询的UI布局和大部分交互逻辑,基本掌握组件用法.

策略调度页面实现(6/12 周一)

  1. 调整查询条件UI
  2. 优化代码,完成查询条件的相关逻辑及交互,包括联动菜单
  3. 测试功能,优化交互,修复一部分bug
  4. 根据原有API实现数据异步请求,正在完成表格渲染
  5. 测试数据筛选性能,平均时间30ms
  6. 总结:
    • 赋值需要分清楚传值和传引用
    • 涉及大量数据操作,考虑数据缓存,优化性能
    • 数据访问频繁并且可复用时考虑通过内存缓存,减少密集计算
    • 系统设计一开始要考虑拓展性,否则后期升级会很麻烦

策略调度页面实现(6/13 周二)

  1. 完成数据请求,表格渲染,利用artTemplate实现
  2. 调整UI布局,和部分交互逻辑,修复一些bug
  3. 利用分页组件实现分页,绑定相应事件处理逻辑
  4. 优化整体代码,删除冗余变量,提取部分方法和对象

策略调度页面实现:(6/14 周三)

  1. 优化数据请求,分页组件
  2. 处理表格排序,表格渲染
  3. 处理表格详情页
  4. 封装部分代码,更改错误提示,超时提示
  5. 添加筛选条件联动功能

策略调度页面实现(6/15 周四)

  1. 筛选条件根据要求做了更细致交互
  2. 添加加载动画和错误提示
  3. 更改表格和图表联动逻辑
  4. 增加下载图表,breas导航功能
  5. todo:
    • 测试查找bug,提交代码
    • 优化代码结构和样式
    • 迁移到ES6

策略调度页面实现(6/16 周五) :

  1. 调整js结构,删除部分冗余变量,方法,合并一些函数,添加注释
  2. 更改图表响应时的bug,删除部分冗余样式
  3. 迁移js到ES6版本,并且打包
  4. 调试后端接口,提交git版本
  5. Todo:
    • 修复表格详情的bug
    • 测试后端接口和所有功能
    • 提交到git
    • 总结该项目的经验和bug

Git使用总结:

  1. git config --global --user.name/email
    配置个人的用户名称和电子邮件地址(文件在~/.gitconfig)
  2. 本地命令操作
    • git分为工作区,暂存区,版本库,远程库
    • git add命令将暂存区的目录树更新
    • git commit将暂存区的目录树写到版本库
    • git rm --cached 会直接从暂存区删除文件,工作区则不做出改变
    • git checkout . 或者 git checkout -- 会用暂存区全部或指定的文件替换工作区的文件。
      这个操作会清除工作区中未添加到暂存区的改动。
    • git checkout HEAD . 或者 git checkout HEAD 会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。
      会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。
    • git status 以查看在上次提交之后是否有修改。
    • git diff 来查看执行 git status 的结果的详细信息
    • git mv 是 git rm --cached 命令的操作+重命名磁盘上的文件+ git add 把新文件添加到缓存区。
    • git clean -df删除本地未track的修改和新建.
    • git branch branchname 创建分支, git checkout -b branchname创建并切换至该分支
    • 远程仓库:
      • git remote add origin url(将本地仓库和远程联结)或者clone远程仓库然后更改
      • git push -u origin master将本地仓库推送到远程仓库
      • git pull origin master从远程master分支fetch仓库并和本地仓库merge
        origin指向远程主机,在~/.git/config文件中
      • git push origin :branchname 删除远程分支
  3. git开发项目流程
    • 在仓库上创建新分支(姓名+项目名)
    • clone到本地
    • 开发项目,git add . 并git commit -m '说明'
    • git push origin 分支名
    • 开发完成后,在项目页查看diff,仔细查看更改的文件(原则:只更改本身项目文件,不更改他人以及公共文件)
    • create pr,选择组内三人为viewers
    • 使用pull和push记得指定分支名,避免默认设置带来错误

策略调度页面实现(6/22 周四) :

周总结(一) 6.23

策略调度(6/26 周一) :

仿真常量(6/27 周二) :

仿真常量(6/28 周三) :

仿真常量(6/29 周四)

工作日报(6/30 周五)

周工作总结

  1. 业务:
    • 本周结束上期task,接手新的仿真常量的任务,周一开始了解业务,学习参考之前类似项目代码,学习vue相关知识,规划基本实现方案,周二周三实现页面,周四基本完成前端功能,周五和后端接口联调,基本按照自己规划完成task,并提前完成需求.
    • 有进步的地方
      • 总结上期经验和教训,提前规划实现方案,代码结构,代码比上期有进步.
      • 和后端多沟通,充分了解需求,在没有文档情况下基本没有做无用功.
      • 充分自测,思考了用户交互逻辑,考虑多种场景,尽量把界面做的更人性化更好用.
  2. 技术:
    • 完成对上期代码的review,用ES6对原有代码进行改造,并重新设计代码结构,把代码进行模块化设计,抽象部分函数,尽量分离业务和方法,增强代码可读性和复用性,方便其他人改动,大概花了两天多时间思考代码,对设计模式和基本原则有更深的理解,以后会更加注重代码质量和开发效率,兼顾业务和程序.
    • 学习vue,并用vue完成一项task,算是一周入门vue.学习新的东西并没有那么难,在业务需求下学习新的东西和单纯学习不一样,需要在原有基础上快速理解框架,按照业务需求快速学习框架相关部分,并且实现需求.但是灵活高效应用框架还是需要了解框架设计理念,了解一下底层实现,有时间通读源码.工作需求上需要高效,工作之余需要花时间更系统学习框架,这样才能真正灵活应用框架,并且在学习新的框架中提升自己.
    • 更深入接触ES6,在项目中用到promise,async,class,module以及其他的特性,更加深入理解ES6,新的东西在开发上的确能够提升效率,保持对新技术的热情和追求是基本素养,在平时多关注前沿技术,了解一些新的理念和设计.
  3. 总结:
    • 相对上期,工作效率有一定提升,在项目中也学到了很多知识,并且很快应用到实践中.在实践中学习是最高效的学习方式,尝试不同的解决方案也能开阔视野和思路.
    • 工作之余的总结和学习不够深入,在系统学习上还需要投入更多时间和精力,这样才能建立完整知识体系,有更多的提升.
    • 实践中遇到一些问题,更加理解学科基础的作用.数理基础和计算机系统知识在实践应用中依然有很重要的作用,利用业余时间需要补一补计算机网络和数据结构,算法,软件工程的知识.大学学了很多数学课,实际遇到相关问题要多深入研究,常用常新.本月要读一读数据结构和算法,思考在项目中的应用
    • 花在总结上的时间不多,之后每天都要总结一个知识点,每天剩余时间里做深入的专题研究,积累知识,方便复习,建立知识体系.

工作日报(7/3 周一)

工作日报(7/4 周二)

工作日报(7/5 周三)

工作日报(7/6 周四)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注