Repractise基础篇:Web应用开发七日谈
Repractise基础篇:Web应用开发七日谈
本来想的仅仅是画一个例如以下的七日图来说说Web开发的。随后又想了想这似乎是一个非常棒的Web开发相关的知识介绍。应用开发是一个非常有意思的循环,多数时候我们总会认为别人的代码写得不好。即使它使用了一种非常好的设计,我们也可能会认为他非常复杂。
而它总结下来就是以下的七天过程里发生的一些事情。
七日谈
事实上对于Web开发,有以下这张图就足够了。
第一天:新的開始
我们迎来了我们的新的一个项目,看起来每一个人都非常兴奋。这一天过得非常快,也做了特别多的事。
首先,我们搭建了自己本地的开发环境。
我们选择了一门新的语言,也開始使用新的IDE,一个全新的開始。
接着,我们開始创建一个非常easy的Hello,World——在绝大多数语言里都有这种一个传统。
这是一个Web项目。看来我们选用的框架里的Hello,World是一个TODO MVC。
呀!
这个框架比原来那个框架看起来更简单,更直接也更加好用。
然后,我们開始去创建我们的构建系统了。
让我们告别Ant,迎来新的构建工具,Gradle比他们强大多了。
我们能够用这个构建工具来做非常多的事情——依赖管理、编译和构造、打包。Gulp看上去非常流行。让我们用Gulp吧。
顺便再创建一个或多个用于公布和构建的server。
最后。在我们的持续构建系统中搭载对应的PipeLine来完毕这些事。
第一天,就这样兴奋地结束了。
第二天:令人期待的新体验
“没办法,第一天就是得做那些事。”
如今。才開始真正的编码工作。
我们拿到了一个任务。知道了它是做什么之后。
我们開始对其分步,第一步做什么,下一步做什么,每一步都非常清楚了。
能够编写我们的第一个測试。看来这个測试好像并没有想象中对么简单,我们须要Mock对象。
啊。这个组件须要Fake一个Service。第一个任务看来是完毕编码了,让我们对其进行简单的重构。
我们已经有了单元測试,如今让我们加入一个功能測试。在我们这个样例里,似乎也须要一个集成測试。
最终能够Commit。并Push代码。
第三天:上线准备
在我们不断地反复第二个步骤的时候。我们也要開始去考虑怎样上线了。
我们是直接部署在Docker容器里呢?还是直接部署在server上呢?接着,我们还为其配置了缓存服务和均衡负载等等。
咦!
这个配置是写死的。这里须要一个Toggle来控制功能是否上线!
第四天: 数据分析
上线了几天后,发现一些数据发生了变化。站点的訪问速度变快了。使得訪问站点的人越来越多。
等等,这个地方好像没有人用过!
唔!这是一个Bug!
应用的性能比曾经好多了。一个server能够顶曾经的两个。一下子省了好多server。
看来。用户比較喜欢那个功能,我们增强一下这个功能吧。
第五天:持续交付
又修了一个bug。
噢!我不认为这个功能用户会喜欢。
哈!这个新功能看上去不错。
第六天:恶梦
唉。这代码是谁写的。
这里须要重构一下,这里也须要重构一下。
什么!没有測试。
Shit!
第七天:总结与计划
哈!我们的竞争对手使用了新的技术。并且我们的系统已经不行了。让我们设计一个更好的系统出来,这个组件我们能够使用这个技术。这个组件我们能够使用那个技术。
前途又是光明的。
如今。我们又回到了第一天了。
(ps:暂时广告区。欢迎关注我的微信公众号——首发哦!
搜索:phodal。或者扫描以下的二维码)
Repractise基础篇:Web应用开发七日谈的更多相关文章
- 零基础学习Web前端开发
目录 技术背景 开发环境 学习过程 参考资料 结束语 技术背景 什么是前端开发? 前端开发是创建Web页面或App等将界面呈现给用户的过程.通过使用 HTML,CSS,JavaScript,以及它们衍 ...
- 微信公众平台开发:进阶篇(Web App开发入门)
本文转载至:http://blog.csdn.net/yual365/article/details/16820805 WebApp与Native App有何区别呢? Native App: 1.开 ...
- JNI 开发基础篇:Android开发中os文件的探索
正题: android开发中,时长会遇到os文件的使用,那么os文件到底是什么?在这篇文章中会进行说明. .os文件在android中意味着C语言书写的方法,经android提供的ndk进行编译,从而 ...
- 零基础转行web前端,如何高效的去学习web前端
web前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...
- 【目录】mysql 基础篇系列
随笔分类 - mysql 基础篇系列 mysql 开发基础系列22 SQL Model(带迁移事项) 摘要: 一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql m ...
- 【原创翻译】认识MVC设计模式:web应用开发的基础(实际编码篇)
原文地址:http://www.larryullman.com/2009/10/15/understanding-mvc-part-3/ 全系列INDEX [原创翻译]认识MVC设计模式:web应用开 ...
- (数据科学学习手札102)Python+Dash快速web应用开发——基础概念篇
本文示例代码与数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的新系列教程Python+Dash快 ...
- 做web开发需要学习哪些技术--基础篇
做一个web网站,包含哪些技术,自己需要学习哪些技术 自己想到哪里就写到哪里 -- 给自己做的一个记录 1: 页面的展示, 一个web的开发语言 1.1 一个web的开发语言需要注意哪方面,才能符合 ...
- ASP.NET Web API 基础篇1
ASP.NET Web API 直到我膝盖中了一箭[1]基础篇 无题 蓦然回首,那些年,我竟然一直很二. 小时候,读武侠小说的时候,看到那些猪脚,常常会产生一种代入感,幻想自己也会遭遇某种奇遇,遇到悬 ...
随机推荐
- BZOJ4472
某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇 之间都只有唯一的可能经过其它城镇的路线. 小T 可以准确地估计出在每个城镇停留的净收 益.这些净收益可能是负数,即推销商品 ...
- free---显示内存
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区. 语法 free(选项) 选项 -b:以Byte为单位显示内存使用情况: -k:以KB为单位显示内存使用情况: ...
- PHP安全性防范方式
SQL注入 SQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行. 防范方式 使用mysql_real_escape_string(),或者addslashes()过 ...
- 玩具(toy)
题目 试题2:玩具(toy) 源代码:toy.cpp 输入文件:toy.in 输出文件:toy.out 时间限制:1s 空间限制:256MB 题目描述 商店正在出售小C最喜欢的系列玩具,在接下来的n周 ...
- 【Codeforces Round #462 (Div. 1) B】A Determined Cleanup
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 设\(设f(x)=a_d*x^{d}+a_{d-1}*x^{d-1}+...+a_1*x+a_0\) 用它去除x+k 用多项式除法除 ...
- 洛谷 P2440 木材加工
P2440 木材加工 题目背景 要保护环境 题目描述 题目描述: 木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有 剩余),需要得到的小段的数目是给定的.当然,我们希望得到 ...
- java 自己定义异常,记录日志简单说明!留着以后真接复制
log4j 相关配制说明:http://blog.csdn.net/liangrui1988/article/details/17435139 自己定义异常 package org.rui.Excep ...
- Debian9.5 配置x11vnc远程桌面
x11vnc是一个VNC服务器,它允许用户远程查看并用任何VNC查看器与真实的X显示器(即与物理监视器,键盘和鼠标相对应的显示器)进行交互.虽然它的原作者Karl Runge不再开发,但LibVNC和 ...
- Linux 桌面的 Dock 类程序
1.Cairo-Dock是一个Dock类软件,它支持OpenGL.提供动画及视觉效果的插件.新的Applet.重写配置面板.新增主题等功能. 2.Docky是从GNOME Do项目剥离出来的一个Doc ...
- Android学习总结(2)——App客户端与服务器交互中的token
学习Token Token是什么? Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Tok ...