WEB开发那些事儿


WEB开发那些事儿


WEB开发是一个相当令人迷失的领域,原因在于:

ü        技术更新快,热点多。新技术和新应用以及新的开发框架层出不穷,令人眼花缭乱。

ü        应用范围广,各有其特点。比如管理系统、电子商务、视频网站。

ü        贴近用户,用户导向强烈,众口难调。

ü        进入门槛低,程序员的开发水准参差不齐。

写作此文的目的,

ü        一方面,是对自己在开发过程中的经验总结,

ü        另一方面,也是在方法论上的一些探讨,毕竟,自己的开发领域不仅仅是web开发,所以希望能找出一些迅速介入的共通的东西。

此文虽然由于我时间和精力的关系,写的比较随意,可能有词不达意、组织混乱的情况存在,

但是,就我的本心而言,阅读此文需要注意两点:

ü        一方面,注重动手。如果你只是看看就好,一带而过,也许你不会明白我想说什么。当然,有本《refactor to pattern》可能更适合。

ü        另一方面,注重方法论。虽然文中很少正儿八经的讨论方法论的问题,但是,所有的代码编写过程都是围绕着“方法”服务的。

希望各位读者斧正:)


第一部分:从需求出发



所见即所得


这里从一个静态html页面说起,逐步抽离出展示层面和数据层面的东西。



造飞机的工厂


这里主要说的是工厂方法。当然,工厂不是目的,而是结果,需求才是源起。



春天在哪里


这里开始扯到了spring和《儿歌三百首》



春天在这里


有对spring的吐槽,但是更主要的是想说:你所使用的framework & non-core features,就跟女人穿在身上的衣服一样,越少越好!



麦克斯韦妖


让我们充当一次麦克斯韦妖,探测和控制单个模块/方法的工作



扒皮MVC


MVC模式的得失,开发的时候,别因为迷失才过程里尔忘记了我们的目的。


第二部分:拿起笔来做刀枪



序言


拿起笔来做刀枪,集中火力搞软件,意识革命齐造反, 开发路上当闯将



再造一个dom4j


标题说明了一切



再造一个spring


标题说明了一切



再造一个jsp


标题说明了一切,这里的 jsp 不是 java server pages,而是java sign pages :)



再造一个struts


标题说明了一切



再造一个lucene


标题说明了一切,lucene的原理只需要一句话说清楚,这个就是我喜欢他的原因



再造一个hibernate


其实我在意的是HQL如何映射到多种sql查询语言上



Final Fantasy


最终的成品

WEB开发那些事儿,布布扣,bubuko.com

时间: 2024-12-20 01:59:30

WEB开发那些事儿的相关文章

谷歌 Web 开发技术变迁史与踩坑史

文章的作者 CJ 是 Google 八年的资深工程师,现回国创办了在线协作文档「一起写」,这篇文章也是他与 geek 范的同事们在「一起写」协作完成的.点击 NEXT 产品集「Google 开源项目」,完整查看文中提到的技术与开源项目. 过去十几年来, Web 开发技术从最初的纯 HTML 到 CGI.PHP / JSP / ASP.Ajax.Rails.Node.js,已经发展到了一个非常成熟的阶段.去年的 Google I/O,谷歌开发者中心推出了关于 Web 开发的最佳实践手册:而今年的

Web开发基本准则-55实录-Web访问安全

Web开发工程师请阅读下面的前端开发准则,这是第一部分,强调了过去几年里我们注意到的Web工程师务须处理的Web访问安全基础点.尤其是一些从传统软件开发转入互联网开发的工程师,请仔细阅读,不要因为忽视这些基础点而制造一个又一个的漏洞或突发事件. Web开发基本准则-55实录-Web访问安全 提纲: Web访问安全 缓存策略 存储介质连接池 业务降级 并发请求的处理 关键词: Session Hijacking,XSS(Cross Site Scripting),SQLi(SQL Injectio

《写给Web开发人员看的HTML5教程》

周末了!在家里敲作业,主要是html表格的练习. 我发现当有人问你问题时,我会很有动力学习. 为了很好回答他人的问题,我想我要学得更多,比如预习复习. 同时,被人问题也是一件很开心的事儿,这表示别人认同你,觉得你有这个能力. 为了不让人失望,你就会想方设法去学得更多. 第三章中,作者给我们介绍了许多HTML5中关于表单的新扩展功能. WEB开发者的美好时代来了,因为在使用日期和时间之类的常规输入元素时,他们不再需要用到JavaScipt库,尤其是对于手机输入来说.鉴于通常用手机输入比用计算机要难

HTTP协议web开发知识点

HTTP协议那些事儿(Web开发补充知识点) HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起.HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering

高性能WEB开发:重排与重绘

DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件--HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构--DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为"帧"或"盒",符合CSS模型的定义,理解页面元素为一个具有填充

[Java Web]2\Web开发中的一些架构

1.企业开发架构: 企业平台开发大量采用B/S开发模式,不管采用何种动态Web实现手段,其操作形式都是一样的,其核心操作的大部分都是围绕着数据库进行的.但是如果使用编程语言进行数据库开发,要涉及很多诸如事务.安全等操作问题,所以现在开发往往要通过中间件进行过渡,即,程序运行在中间件上,并通过中间件进行操作系统的操作,而具体一些相关的处理,如事务.安全等完全由中间件来负责,这样程序员只要完成具体的功能开发即可. 2.Java EE架构: Java EE 是在 Java SE 的基础上构建的,.NE

七日Python之路--第十二天(Django Web 开发指南)

<Django Web 开发指南>.貌似使用Django1.0版本,基本内容差不多,细读无妨.地址:http://www.jb51.net/books/76079.html (一)第一部分 入门 (1)内置数字工厂函数 int(12.34)会创建一个新的值为12的整数对象,而float(12)则会返回12.0. (2)其他序列操作符 连接(+),复制(*),以及检查是否是成员(in, not in) '**'.join('**')   或  '***%s***%d' % (str, int)

Java Web开发基础(3)-JSTL

在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半.不论什么工具的引入,都会使我们的工作变的简单.可是问题是我们工作能够变的简单,可是我们不能让自己的大脑变的简单.所以,我们不是简单的会用就能够.我们还须要了解这个工具是怎样工作的.怎样为我们提供便利的.ok.以下进入正题,我们从问题開始-- JSP脚本带来的问题 不知道看到这几个子,各位有什么想法?反正我认

给大家分享web开发新手修改hosts文件实现本地域名访问的正确方法

1.如何正确修改hosts文件: 一般打开hosts文件里面都会有个示例,按照其格式修改即可 比如以下内容: # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 即代表打开rhino.acme.com这个网址将解析到102.54.94.97,ip地址与网址间至少有一空格,当然建议通过按Table键来编辑,即美观又不容易编写失误;这也就是通过解