Web前端

2024-10-30

Web前端(精选9篇)

Web前端 篇1

摘要:本文主要进行了基于Bootstrap和Angular JS框架的WEB前端设计研究。首先介绍了WEB前端设计研究的意义、框架的概念和优点,分析了Bootstrap和Angular JS框架设计的核心思想,最后探讨了其在WEB前端设计的具体应用。

关键词:Bootstrap,Angular JS,框架,WEB前端

0 引言

随着新一代信息技术的快速发展,Web应用越来越广泛,对于Web前端开发工程师的要求也越来越高,无论是开发技术上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,由原来必须掌握的HTML、CSS和Java Script三个技术要素演变成现在的HTML5,CSS3和Jquery。而且前端工程师开发的Web应用不仅需要适合传统的电脑PC端,还需要适合手机和IPAD等各种不同的移动设备。为了降低Web前端开发的难度和复杂性,引入框架思想进行Web前端开发。

使用框架进行Web前端开发主要有两个方面的原因:使用W3C标准的框架后,可以有效提高Web应用的性能,让应用的代码组织更有序,提高其可维护性;使用便捷的MVC框架,把HTML作为信息模型(Model)、CSS控制样式(View)、Java Script实现功能和业务逻辑(Controller),使得代码具有很好的重用性和复用性,提高Web前端开发的效率、质量和团队协作性。本文主要简单介绍使用框架思想来进行Web前端开发。

1 框架概述

框架是随着软件工程的发展演变而来的,在软件开发过程中,很多项目要解决的问题和实现的功能是一样的,在这种情况下,可以将实现相同功能的代码放在单独的一个文件作为组件或构件,供以后开发和使用,这些代码是可重用和扩展的。因此,业界人士将相同功能的实现和问题的解决方法进行抽象,最终抽取和形成一个应用框架。框架可以使软件开发人员将大部分时间用来分析和处理业务逻辑上,在编写代码时只要应用框架就可以了。

使用框架开发应用的优点如下:

(1)框架重用性好,开发效率高。在开发应用时,可以重用框架的分析、设计、代码,使得应用开发效率和开发质量得到了显著提高。应用开发人员可以按照框架的思想将应用进行分析并将其分解为同样的组件,采用同样的方法来解决的问题。框架还提供了可重用的概要设计和详细设计,并将应用分解成较小的组件和接口。只要符合框架的定义和要求,开发人员就可以使用框架中的类和接口,使得开发效率大大提高。

(2)因框架实现了“高内聚、低耦合”,可扩展性较好。框架把要解决的业务分解为较小的事务,采用分层的方法将相关性很强的代码组合成一个组件,根据单一责任原则只解决一项较小的事务,并且减少组件与组件之间的联系,如果彼此之间的联系比较复杂的话,继续分解为较小的组件。因此框架实现了软件工程的“高内聚、低耦合”的要求,易于控制,易于扩展。

(3)使用框架,开发周期短,成本低,可维护性较好。使用框架开发应用,只要调用类和接口就可以完成大部分工作,大幅度缩短了应用和软件的开发周期,显著提高了软件开发质量。大粒度的重用使得应用和软件开发成本大大降低,开发时间成倍减少,同时分层思想设计的框架使得应用开发的适应性和灵活性也得到增强,可维护性较好。

2 Bootstrap框架应用

2.1 概述

Bootstrap框架主要用于静态页面的设计,是由Twitter公司的设计师Mark Otto和Jacob Thornton共同开发的,是比较受欢迎的一个CSS/HTML Web前端框架。它是基于HTML5、CSS3和Java Script的框架,符合HTML和CSS规范,且代码简洁灵活,使得Web前端开发更加快捷。Bootstrap框架推出以后一直颇受欢迎,是Git Hub网站上的排行榜靠前的开源项目,国外知名的公司NASA的Breaking News和国内一些移动开发者较为熟悉We X5前端开源框架都采用了Bootstrap框架。

由于Bootstrap的HTML是基于HTML5的最新技术,可以快速实现响应式页面,集成了非常友好的CSS样式表,对于非设计人员也可以制作出很漂亮的网页,且占用资源非常少,因此我们也采用Bootstrap框架进行Web前端设计。该框架包含了丰富多彩的Web组件,利用这些组件,我们可以快速的搭建一个个性化的、漂亮和功能完备的网站。主要包括以下几个部分:

1)全局CSS样式:包含了格栅系统、表单和表格等集成样式。

2)组件:包含了下拉菜单、按钮下拉菜单、文本框、导航、列表框等组件。

3)插件:包含了进度条、警告对话框、弹出框等插件。

2.2 应用

(1)从Bootstrap官网http://getbootstrap.com/getting-started/#download下载Bootstrap开源框架。Bootstrap主要包含css、fonts和js文件夹:css文件夹存放的是bootstrap.css基本样式,在网页中使用<link rel="stylesheet"href="css/bootstrap.css"/>命令即可;fonts文件夹存储网页中可以使用的各种字体;js文件夹存放的是bootstrap.js等js文件,在网页中可以通过<script></script>标签来使用js组件。

(2)Bootstrap是根据移动终端优先的原则设计的。它支持响应式网页(RWD,Responsive Web Design),为了控制网页的尺寸比例和触屏缩放,需要使用命<meta name="viewport"content="width=devicewidth,initial-scale=1">命令添加viewport元素。

(3)设置页面流式布局,网页中的各元素会根据设备分辨率的不同而自动调整大小,但元素位置并不会发生变化。流式布局通常将页面分为12列,将网页的宽度设置为100%,具体代码因太多此处省略。

(4)运用Bootstrap提供的各种样式、组件和插件完成WEB前端设计。例如制作一个提交按钮,通过以下代码实现<button class="btn btn-default"type="submit">提交</button>。

3 Angular JS框架应用

3.1 概述

Angular JS主要用于构建单页面的动态页面的设计,更多关注的是构建CRUD(增加Create、查询Retrieve、更新Update、删除Delete)应用,由Misko Hevery等人在2009年创建,是一款优秀的JS框架,被广泛应用。

Angular JS主要使用MVC的分层设计模式,将管理数据的model、应用逻辑controller和向用户显示数据的界面(view)清晰地分离开,以提高代码的易读性和可移植性,使得程序清晰易读。在Angular JS应用中,model被存储在各个对象的属性中,view就是文档对象模型(DOM),controller就是JS类和代码。

3.2 应用

(1)从网上下载Angular JS框架。将要使用的js文件复制到工程文件的js文件夹中,并在页面中使用<script src="js/angular.js"></script>命令引入。

(2)使用ng-app命令在动态页面中创建模块。Angular JS的MVC结构是基于整个具体应用的。通常在页面的指定容器标签中使用ngapp命令来创建具体模块,例如<div ng-app="test"></div>。

(3)设置控制器controller。在网页中通过ng-controller指令设置控制器,<div ng-app="test"ng-controller="test Controller">{{text}}</div>。再通过JS代码控制逻辑,app.controller("test Controller",function($scope){$scope.text='welcome';})。

(4)设置模型数据model。通过ng-model命令动态设定模型数据model内容,<div ng-app="特test"ng-controller="Hello Controller"><input type="text"ng-model="text">{{text}}</div>。

4 总结

本文针对新一代信息技术的发展,将Bootstrap和Angular JS框架运用在WEB前端开发中,希望能对WEB前端设计的研究提供一定的参考。当然本文只是简单介绍了Bootstrap和Angular JS框架的基本应用,详细的应用有待进一步的完善。

参考文献

[1]http://www.51cto.com.

[2]http://baike.baidu.Com.

[3]俞华锋.基于HTML5的网页设计与实现[J].科技信息,2012(29).

Web前端 篇2

2014年7月11日

11:20

自我介绍时:千万不要忘记介绍名字

代码:

1.标记为done表示已经调试好,完全测试过了

2.代码规范。phpstrom,统一格式化

3.借鉴代码时注意liscence

4.项目相接时,文档规范(步骤,文档不可少)

项目:

1.CRM

2.REP

3.OA

4.微信(接口,产品(wify))

任务:

1.每天用几个小时做了什么,做得怎么样(日报,周报)

2.接受项目(任务)时,先评估后再决定是否接受,接收后做不好,更不好

处理关系:

1.尽快记住大家的名字

2.按时任务

3.邮件发送人与抄送人,1小时内回复

4.沟通:不懂或有意见的时候要及时沟通

还要学习

1.css,jQuery学习

2.算法,业务流程

3.代码规范

4.友好的注释(便于自己和他人)

5.打字速度很需要提高

Web应用前端性能优化浅析 篇3

减少页面的HTTP请求次数是首先要做的一步, 这是改良初次访问用户等待时间的最重要的方法。

1.1 图片地图

在站点导航中, 最常见的应用就是超链接, 它通常带有一些文本, 并被关联到目标URL上。一种更为没关的选择是将超链接关联到图片上, 例如在导航栏或按钮中。如果是以这种形式关联多个带有超链接的图片, 使用图片地图既能减少HTTP请求, 又无需改变页面外观感受。

图片地图 (Image Map) 允许你在一个图片上关联多个URL, 目标URL的选择取决于用户单击了图片上的哪个位置。获取图片地图的时间比获取为每个超链接使用分离图片的导航时间快很多, 这是因为图片地图减少了HTTP请求。

1.2 内联图片

内联图片是指在Web页面中包含图片但无需任何额外的HTTP请求, 它允许将小块数据内联为立即数, 数据就在其URL自身之中, 格式如下:

示例:

data:URL模式大多数用于内联图片, 也可以用在任何需要指定URL的地方, 如:script和a标签中。

1.3 合并脚本和样式表

大多数Web站点, 都会用到Java Script脚本和层叠样式表, 通常把脚本和样式表分别保存在独立的.js和.css文件中, 然后在Web页面中引用。为了符合模块化的开发原则, 通常不会将Java Script代码和CSS代码放在同一个文件中。分散保存的Java Script代码应该合并在一个文件中, 样式表也应该合并, 这样可以使用户在浏览网页时只需下载一个.js或者.css文件, 这样减少了HTTP请求, 从而减少响应时间, 提高访问速度。

2 客户端缓存优化

使用客户端缓存可以优化Web性能, 减少用户等待的时间。减少HTTP请求的方式可以明显提高用户首次访问Web站点的速度, 客户端缓存的使用, 对于页面的首次访问是不会减少响应时间的, 对性能的提高会在再次访问同一个页面的时候体现出来。

在设计Web页面的时候, 首次访问的响应时间并不是唯一需要考虑的。如果这样, 可以不在页面上放置任何图片、脚本和样式表, 就能够把减少HTTP请求发挥到极致。然而, 我们都知道, 图片、脚本和样式表可以加强用户体验, 但是又会让页面的加载时间更长。

通过对脚本, 样式表, 图片和Flash使用一个长久的Expires头, 使这些组件被缓存, 就使得在浏览器浏览后续的页面时避免了不必要的HTTP请求。Web服务器使用Expires头告诉Web客户端它可以使用一个组件的当前副本, 直到指定的时间为止。如:

它表示浏览器该响应的有效性持续到2012年4月22日为止。如果为页面中的一个图片返回了这个头, 浏览器在后续的页面浏览中会使用缓存的图片, 将HTTP请求的数量减少。

3 压缩技术

除了减少和限制不必要的HTTP请求来解决响应时间的问题外, 还可以通过减小HTTP响应的大小, 在传输前对文件进行压缩, 进一步减少响应时间。

从HTTP 1.1开始, Web客户端就可以通过HTTP请求中的Accept-Encoding头来标识对压缩的支持:

如果Web服务器在请求的文件头中检测到上面的代码, 就会以客户端列出来的方法中的一种来压缩响应内容。Web服务器把压缩方法通过响应文件头中的Content-Encoding来返回给浏览器:

Gzip是目前最盛行也是最有效的压缩方式, 这是由GNU项目开发的一种免费的格式, 并被标准化为RFC 1952。另外一种压缩格式是deflate, 但是它的效果较差而且不太流行。

Gzip大约可以减少70%的响应大小, 目前约有90%通过浏览器传输的互联网互换支持gzip格式。Gzip压缩所有可能的文件类型, 是减少文件体积, 增加用户体验的最好方法。

4 页面元素的优化

4.1 CSS放在页面顶部

除了HTML文档外, 其他很多组件也都是呈现页面内容所必需的。Web页面的所有内容, 通常是按照他们在文档中出现的先后顺序下载的。

样式表在Web页面中放置的位置对于Web页面性能的影响是很明显的。如果把样式表放在页面底部, 实际产生的页面速度比放在页面顶部慢;将样式表放在文档顶部的head标签中, 能使页面加载得更快。

4.2 脚本置于页面底部

脚本带来的问题就是它阻拦了页面的平行下载。HTTP 1.1规范建议, 浏览器每个主机名的并行下载内容不超过两个。如果你的图片放在多个主机名上, 你可以在每一个并行下载中同时下载2个以上的文件。但是当下载脚本时, 浏览器就不会同时下载其它文件了, 即使是主机名不相同, 这是因为脚本可能使用document.write来修改页面内容, 因此浏览器会等待, 以确保页面能够恰当地布局。

脚本对Web页面的影响表现在两个方面, 一是脚本会阻塞其后面内容的呈现, 另外脚本会阻塞对其后面组件的下载。所以, 如果将脚本放在页面顶部, 页面中的所有内容都位于脚本之后, 整个页面的呈现和下载都会被阻塞, 直到脚本加载完毕。

放置脚本的最好地方是页面的底部。这不会阻止页面内容的呈现, 而且页面中的可视组件可以尽早下载, 虽然其请求时间较长, 但对页面影响很小, 可以很好提高用户的体验。

5 结语

对于Web应用开发人员来说, 在编写Web应用时注意性能问题。本文仅针对Web应用的前端性能优化作了简要分析, 提出了一些W e b站点前端性能优化技术的方法, 但还有很多与前台性能相关的问题还没有涉及到, 比如避免使用CSS表达式、减少DNS查找、精简Java Script、避免重定向、配置ETag、使用Ajax优化请求等。

Web站点的性能分析不仅仅是一种技术, 更是一门艺术。通过性能优化, 尽可能确保Web站点能够满足人们对性能方方面面的要求。

参考文献

[1]孙友仓.提高ASP.NET应用程序性能方法浅析[J].福建电脑, 2006 (10) .

[2]谭建平.Web网站系统性能优化研究及其应用[D].重庆大学, 2008 (5) .

web前端简历自我评价 篇4

姓名:XXX 出生年月:XXXX年X月

名 族:X族 政治面貌:XXXX

Q Q:xxx 联系电话:xxx

博客:xxxx

教育背景

时间:20XX/0X----20XX/0X 学校:XXXX大学

专业:XXXX 学历:本科

主修课程:XXXXXXXXXXXXXXXXXXXXXXXX

获得奖励:XX一等奖、XX国家奖学金

在校经历:

(1)XXX

(2)XXXXXXX

(3)XXXXXXXX

技能特长

1.精通DIV+CSS布局的HTML代码编写,熟练手写符合W3C标准的代码,能够根据交互原型和UI设计图完整制作出网页;

2.熟悉JavaScript、CSS3和HTML5,且能熟练运用jQuery框架实现网页常用特效,掌握面向对象编程思想;

3.熟练应用dom、xml、json等相关技术;

4.熟悉Bootstrap前端框架,了解Nodejs和AngularJS以及less,sass、Git、github等技术和团队协作开发工具;

5.具备抗压能力、且有一定自学能力,能够熟练阅读使用中文API,英文API可以大概看懂并运用;

6.担任项目组长并组织团队开发过电商、企业和移动端网站前端项目;

工作经历

(20XX.6-20XX.8) XXXXXXXX有限公司 实习生

1、设置地区网络架构(办公楼、园区)

2、配置网络路由器协议(RIP、OSPF)

3、进行真机操作配置

(20XX.7-20XX.11) XXXXXX公司 实习生

1、参与多个不同项目的前端开发工作:包括企业站、电商网站、个人博客、移动端网站等;

2、参与讨论项目分工和编写工作计划;

3、根据项目需求开发项目前端页面,还原效果图,将psd文件写出html页面,并适应各主流浏览器;

4、使用js、jq、h5和c3实现页面特效,并解决特效兼容性问题;

5、使用浏览器Firebug工具进行页面调试解决BUG;

浅析Web前端开发技术 篇5

1 Web前端技术概述

1.1 Web前端技术概念

Web前端技术包括三个主要的因素:HTTL、CSS、Java Script.这三者之间虽然相互存在一定的关联, 但是在实际的运用过程中都具有自身的特点, 对代码质量的要求也存在一定的差异性。HTTL技术可以对超文本的结构进行一定的探索, 使得超文本语言在结构上更加完整, 将一些过时的标记及时取消, 内容和形式分离, 进行技术结构的改进之后, 生成的网页更加易于管理, 可提升用户体验。CSS, 即层叠样式表技术是用于增强网页样式的控制, 为相关的信息和网页的分析提供一定的允许条件, 是一种标记性的语言。这项技术的发展可以促进网页速度的提升, 对板块的维护和改善也具有一定的促进作用。Java Script技术则介于Java技术和HTTL技术之间, 在web的页面起着一定的嵌入作用, 对页面中的对象和事件进行一定的编程。这种技术出现之后, 信息和用户之间的关系不仅仅是简单的显示和浏览的关系, 同时可以将实时、动态的数据进行一定的表达。Java Script可以和HTML技术进行结合, 通过其在文件中的嵌入, 将不需要进行整理的技术进行一定的响应, 使得网页可以更好的与客户进行分析, 而不需要经过web技术对客户进行交流, 减少服务器的压力。

1.2 web技术的开发现状

Web技术的入门较为容易, 门槛较低, 与计算机编程先难后易相反, 因此在实际的工作中, 技术人员可以通过自主学习掌握一定的知识, 从事Web技术的研发工作。因此, IT技术人员从这一方面入门具有一定的优越性, 但是这样的情况会造成技术人员停留在技术开发的初期阶段, 对于后续的各项系统的优化技术能力存在严重的不足, 造成Web技术的开发和使用不能很好的进行。同时, 因为新型技术不断的出现, 作为一种新型的技术, 一些规范和规定还处在不断的探索阶段, 总是有新型的技术和设备不断的涌现出来, 为Web技术的发展带来巨大的活力, 在这样的背景下, 对从业人员来讲也面临着巨大的挑战。怎样在进行技术开发中维护保持创新性, 在技术的研发工作中进行一定的创新是现阶段Web技术开发中需要面临的问题。在技术的革新和进步方面技术人员需要进行一定的自我完善。

2 Web技术开发注意事项

在进行Web技术的开发中, 需要对其的设计和服务更加完善的表现出来, 但是仅仅是网页的完善性还不能达到现阶段经济的发展要求。因此, 要采用一定的方式对技术进行优化。

2.1 减少HTTP的请求

在对Web技术进行优化的过程中, 这个策略是最有效的。一个完整的请求包括DNS的寻址、建立和服务器的连接。发送相关的数据以及进行服务器数据的等待。数据的接收和等待过程需要的时间较长。用户在等待的过程中对一些按钮进行点击就会使服务器发送请求, 这样就会造成存储空间的增加和后台程序的超负荷运作。而且浏览器在运行的过程中发送请求的限额是一定的, 如果用户持续的发送请求, 就会占用其他的宽带空间, 当浏览器发送的请求超出最大的限额时, 就需要分批的进行处理, 使用户等待的时间延长, 造成恶性循环, 将原本的请求覆盖掉。因此需要对请求进行减少, 主要的方法是进行合并文件的操作, 将CSS文件和Java Script文件进行合并, 节省空间。将图片进行分散处理, 将不同的图片进行不同的连接, 分散数据、将图像进行内部的关联, 让图像和文字同时进行显示, 节省请求的次数。

2.2 压缩文件

进行Web技术的开发, 需要对数据进行压缩, 包括对Java Script压缩和对CSS文件代码进行优化。进行数据的压缩可以将文件数据的传输速度进行加速, 同时还可以保证文件整体的安全性和稳定性, 尽量避免出现文件丢失的情况。

2.3 对样式表进行改善

在进行层叠样式的覆盖中, 后面的数据自动的覆盖到前面的数据中, 高级别的CSS可以对低级别的进行覆盖, 对浏览器进行渲染, 因此在进行使用的过程中需要将数据进行整体的控制, 尽量的在数据全部加载完成以后进行操作, 这样可以获得最新的数据, 并将数据进行合理的分析, 减少页面中一些空白页面的出现, 让用户可以看到准确完整的信息, 减少刷新的次数。

2.4 将script放在底部

在进行Web优化的过程中需要将script放在底部进行操作, 这样可以规避脚本执行中的问题, 防止脚本进行阻塞的下载, 从而提升页面组建的下载速度和页面的加载时间, 对于不能下载的页面直接不进行加载, 减少不必要的请求, 提升加载速度。

2.5 减少DNS查询

一次DNS的解析过程会消耗20-120毫秒的时间, 在DNS查询结束之前, 浏览器不会下载该域名下的任何东西。所以减少DNS查询的时间可以加快页面的加载速度。

2.6 避免重定向, 杜绝http 404错误

进行页面的重新加载需要一定的时间。在发生重定向的过程中需要耗费一定的时间, 发生重定向的因素较多, 每一次重定向的增加都会增加此Web请求, 因此在进行Web技术开发的过程中, 应该将重定向的的请求进行减少。

404错误是因为未找到文件引起的。HTTP请求会消耗很多时间, 所以用HTTP请求来获得一个无用的响应 (例如404未找到页面) 毫无必要, 只会降低用户体验。对页面链接的充分测试和对Web服务器error日志的不断跟踪可以有效减少404 错误。

3 Web前端开发技术优化

3.1 HTTP请求的优化措施

在进行请求优化的过程中, 需要技术开发人员对DNS信息寻找、浏览器的开发和服务器之间的连接以及数据的传输和数据的传输等方面进行分析, 因为每一条技术的实现都会占据一定的时间和空间, 如果占据的空间太多, 就会给网页的使用带来不便, 使得网页的反映速度和反映时间过长, 导致网页的使用效果大打折扣。因此进行Web技术革新的过程中需要将请求进行优化的管理, 通过一定的技术手段将文件和内容进行合并整理, 对于一个请求就能实现的数据搜索绝对不能让其通过几个请求完成。工程师对这一方面的技术要进行严格的控制, 尽量的将页面进行优化, 是页面完整有效饿的出现在客户的使用中而不是出现乱码或者是页面无法显示的现象, 造成用户请求的增加, 增加用户的负担。

3.2 对文件进行规模化的处理

在进行文件的规模化处理中, 需要对文件进行一定的归档和一定的梳理, 这一方面主要是对Java Script和CSS文件以及对应的代码展开优化。优化的过程是对不必要的html标签进行剔除优化, 以及避免内联式样式存在, 此外, 对于CSS代码优化同样也是这一方面工作的重点内容。

3.3 对内容进行优化

对于这一方面的工作来讲, 其主要是根据CSS自身具有的覆盖功能来实现的, 将样式表放在顶部的同时将脚本放在底部, 这样的形式可以把网页中一些不需要的数据进行一定的覆盖。在数据加载完成以后, 出现一些数据优化的项目, 在网速不好的情况下可以将重要的数据进行显示, 用户对于数据的重视程度是超过相关网页的美化项目的。如果重要的数据出现了, 那么用户对其他的信息的关注度就较低, 可以避免出现重复刷新的情况。因此要将文件源的连接方式进行改进, 避免出现重定向的现象, 重定向耗费大量的时间, 其主要是因为对文件的分类不合理而造成, 在进行网页的使用中, 如果进行重定向就会浪费大量的时间。

3.4 加强对工程师的技术提升

工程师是进行网页管理的重要组成部分, Web技术工程师在现代社会具有较多的资源, 但是自学成才的占据较大部分, 前期的学习也较为简单。但是要想在实际的工作中进行完善的设计和技术性较高的设计, 则会遇到一定的困难, 造成一定的问题, 导致对质量较高的Web设计无法完成。因此在进行工作的过程中需要对技术人员的基本素质进行提升, 定期进行技术培养。提升技术人员自身专业素质, 对于Web的设计具有重要的促进作用。

4 结语

从计算机互联网络的发展到现在各项先进技术的发展, Web技术已经成为人们日常生活中必不可少的一部分, 在交互的使用和系统调节能力以及富媒体技术的研发方面具有重要的作用, 使得用户在不用安装插件的情况下就能对Web进行浏览。Web前端技术在使用中涵盖的知识面较为广泛, 既包括一定的抽象思维和理念, 又包括现实的数据分析, 对技术有一定的要求, 同时还要给用户的使用带来全新体验。在今后的发展中, 应该将Web技术和原生应用都进行一定的发展, 使其共同的对互联网的应用系统进行运用。随着未来科技不断进步, 技术人员应该积极的应对和解决Web前端开发中面临的问题, 使其更快的发展。

摘要:Web前端开发是近几年兴起的技术, 其主要包括HTTL、CSS和Java Script, 可以在实际的应用中促进网站性能优化, 推动SE和服务器终端基础知识的普及, 而且运用各种工具进行辅助开发以及理论层面的知识, 进行包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级进行支持。文章主要针对Web前端开发技术进行分析。

关键词:Web,前端开发,技术分析

参考文献

[1]魏娜.Web前端开发技术研究[J].现代计算机 (专业版) , 2011 (29) :50-52.

[2]杨毅.Web前端开发技术探讨[J].电脑知识与技术, 2014 (23) :5458-5459.

[3]王政.Web前端开发技术以及优化研究[J].电脑知识与技术, 2013 (22) :5037-5038.

[4]赵大伟, 陈刚.Web前端开发技术人才培养模式研究[J].电脑知识与技术, 2015 (24) :109-110.

Web前端常见安全问题及对策 篇6

随着互联网特别是Web2.0的兴起,Web网站和应用越来越广泛,越来越多的企业和个人将服务架在Web平台上,Web的安全性也变得越来越重要。Web业务的发展引来黑客们的关注,黑客利用一些常见的Web安全漏洞对网站进行攻击和窃取用户信息,使得网站用户的利益受到损害。

2 Web安全问题产生原因

2.1 现实原因

随着网络的普及和Web应用的丰富,在互联网上人们可以开展各类活动,如购物、游戏、网上银行、社交平台等,这些服务网站上有大量用户资金相关的隐私信息如银行账户、密码、个人身份信息、电话号码等,这些信息可以直接或间接被不法分子窃取和利用,从而对最终用户造成损失。巨大的利益诱惑是产生Web安全问题的动机。

2.2 技术原因

在技术层面,W eb服务是建立在HTTP协议上的,HTTP又是建立在TCP/IP之上,在TCP/IP设计之初是没有考虑安全问题的,所有的安全问题需要Web服务提供者自己考虑,这使得在网络上传输的数据是没有任何安全保护。攻击者可以利用系统漏洞造成进程缓冲区溢出,或者利用系统漏洞来进行用户提权运行任意程序,甚至安装和运行恶意木马程序,窃取用户机密数据。在Web应用开发时由于大部分开发者把精力放到业务逻辑实现而非Web安全性上,导致Web程序本身存在很多漏洞,如缓冲区溢出、SQL注入等。

2.3 开发人员的乐观

大部分的开发人员是乐观的,认为自己开发的Web网站很安全,如网站已经通过成熟的Web开发框架或采用了一些安全传输技术如SSL或做了完善的数据备份,所以没有什么安全风险,产生这种原因的根源是大部分开发人员对Web安全问题认识不足或不全,片面乐观导致。

3 Web安全问题常见分类

在了解Web安全问题之前,需要先大致了解Web应用结构,如图1所示。

上面只是列举了Web开发用到的一些技术和框架,实际上Web应用依赖的技术栈比这个丰富许多。黑客攻击的基本过程是:通过输入提交“特殊数据”,特殊数据在数据流的每个层处理,如果某个层没处理好,在输出的时候,就会出现相应层的安全问题。例如:

(1)如在操作系统层上没处理好,在Shell下把“特殊数据”如rm-rf/;当做指令执行而此时进程恰好对操作系统有root权限,就产生了OS命令执行的安全问题,把所有硬盘数据全部删除了。

(2)如在存储层的数据库中没处理好,数据库的SQL解析引擎把这个“特殊数据”'union select username,passwd from user_table--当做sql语句执行时,就产生SQL注入安全问题,这样用户的数据就泄漏了。

针对上面的分层模型,对Web安全大致可以分为:

(1)Web前端安全性。

(2)Web后端安全性。

(3)数据库安全性。

(4)服务器安全性。

下面重点介绍Web前端的常见安全性问题和应对策略。

4 Web前端安全问题

4.1 XSS漏洞

XSS(Cross-Site Scripting)指攻击者在网页中嵌入客户端脚本(例如Java Script),用户浏览网页就会触发恶意脚本执行。比如获取用户的Cookie、导航到恶意网站、携带木马等。

攻击者寻找有漏洞的Web站点,然后生成其攻击链接,把攻击链接伪装成美女图片等用户容易点击的链接,用户一旦点了该链接后,用户访问的就是攻击者篡改后的网站内容。

4.1.1 通过URL参数进行攻击

该页面显示两行信息:

从URI获取'name'参数,并在页面显示,显示跳转到一条URL的链接。

攻击者还可以通过以下URL实现修改链接的目的:

当用户点击以上攻击者提供的URL时,index.php页面被植入脚本,用户再点击"Click to Download"时,将跳转至攻击者提供的链接。

4.1.2 利用用户输入攻击

例如:用户前端代码如下:

<input id=1>{{username}}</input>

黑客攻击代码如下:

<script>alert(1)</script>

最后html代码如下:

<input id=1><script>alert(1)</script></input>

黑客通过注入js脚本的方式进行站点攻击。

XSS攻击解决办法:

(1)不允许输入HTML内容时。

1)输出到页面上的所有内容都要转义

2)不要动态生成<script></script>的内容

3)输出URL时仅允许以“http://”或“https://”开头的URL

4)不要从外部网站读入样式表

(2)允许输入HTML内容时,解析输入的HTML内容,提取其中的非脚本部分。

(3)不要相信用户的任何输入(不限于POST Body,URL的Query String,甚至是Headers),用户的输入都要检查。

4.2 CSRF漏洞

CSRF(Cross-site request forgery),是一个知名度不如XSS但是却同样具有很大杀伤力的安全漏洞。

4.2.1 Get请求漏洞

如你网站A上的「登出」功能是这样实现的:

<a href="http://www.abc.com/logout.php">登出</a>

则存在CSRF漏洞。假设网站B(当然也可以是网站A本身)中有这么一段代码:

<img src="http://www.abc.com/logout.php">

那么当用户访问的时候,就会导致网站A上的会话被登出。

4.2.2 POST请求漏洞

如网站B中:

当用户访问网站B的时候,网站B自动发送了POST请求到网站A,网站A无法识别请求来自网站A的form请求还是网站B的form请求,最后被攻击。

CSRF攻击解决方法:

(1)给所有请求加上token检查。token一般是随机字符串,只需确保其不可预测性即可。token可以在Query String、POST body甚至是Custom Header里,但千万不能在Cookies里。

(2)检查referer(这往往不能防御来自网站自身的CSRF攻击,如用户评论中的<img>就是一个常见触发点)。

(3)执行重要业务之前再次要求输入密码。

5 结语

浅谈WEB标准与前端性能优化 篇7

HTML和XHTML页面都是由“内容、结构、表现、行为”这4个方面组成的。内容是基础, 然后附加上去结构和表现, 最后再对它们加上行为。而为什么在“前端开发”火热的现在还提遵守WEB标准这个问题?我觉得有必要站在架构的层面, 也站在众多的、辛苦的网页制作耕耘者的立场上, 全局看待web标准。

没有统计数字也可以从现在的网页产品中看到, 国内几乎大部分的网页设计师没有遵守W3C标准。非标准化的应用, FLAS H眩目的动感, 可以帮你让领导认可, 让客户点头, 让自己的工作效率快快, 产品多多。大家在匆忙中忽视或是避让了标准和规范, 暂时忘记了真理才会永恒, 然而, 每一个设计师都有追求完美的心理, 他们永远对自己的作品不满足, 一定不会给自己打满分。在这个追求完美的过程中, 他们要到达目标, 其实就是前面的标准。也许, 当网页制作中的每个成员接近或是抵达这个目标时, 内心一定非常释然。

作为一名合格页面工程师, 要学会熟读标准, 认识和了解标准。要检验你的代码是否和标准一致, 要了解W3C标准的优势和用意, 假如用语言距离, 普通话让中国人彼此能够沟通, 英语让世界人可以沟通。W3C标准就是让页面在不同的终端都可以运行, 让使用各种终端的用户都能浏览你的页面, 也就是跨越平台, 获得更大众化的用户的认可。更像一个平凡的人走向优秀, 一个产品走向品牌。

落后的页面工程师体系, 美工代劳的页面代码, 唯有IE才能浏览的页面代码, 用图形工具直接导出的页面代码, 使大量流量消耗的页面代码, 速度慢的像蜗牛的页面代码……每次改版修改都要大动干戈, 一种让页面工程师和民工一样的页面代码!网页设计师多了, 站长多了, 但质量标准却越来越差。模仿得形似神不似的韩版界面, 让我们倍感失落。似乎想看到唯美一些的网站, 打开时总需要我们有足够的耐心去等待, 或者有足够的技术安装插件。WEB标准就是一场革命, 革命——就是推翻旧的落后的体制, 建立一个全新的先进的体制。这样, 我们才会有秩序, 才会和谐发展。

如何遵循标准, 其实标准有很多, 结构标准, 表现标准, 行为标准。选择标准规范, 就优先选择W3C推荐的标准。结构标准可选项, 建议选择适合你公司和团队的标准, 其实核心理念还是让项目统一遵循一个标准, 严格的XHTML是这样的。

XHTML的媒体类型是application/xh tml+xml, 而不是被大多设备都识别的text/html。增加xml头部声明还会造成IE6的q uirks模式。总得来说, 不是通用性很强的标准, 使用的时候需要舍弃W3C的一些说明, 改良后的应该是去掉xml声明, 去掉媒体类型是application/xhtml+xml。不要给你们团队的开发造成不必要的困扰。

建议选择XHTML1.0标准的过渡型, 如果你觉得XHTML过于花俏, 不适用, HT ML4.0的严格型也是很好的选择。HTML2.0已经被HTML5所取代, 看来HTML4还是更具有向后的延续性。

前端性能优化虽然是一个技术性话题, 但对于用户体验有着非常大的影响, 如果你的网站打开要等待三、五秒或者等到浏览器提示无法连接, 用户已经对这个网站产生了负面的抵触心理。更别提流量、品牌影响、用户忠诚度。

前端性能优化和web标准有什么关系?就是对你遵循web标准的一个补偿。前端优化给Web标准提供了一个检验的机会, 用“实践是检验真理的唯一标准”来判断标准化到底好不好, 对不对, 该不该遵守。为什么要这样做就可以提升速度, 这些与Web标准有没有某种关联或者因果呢?我们暂时把这些个条目分成三类:服务端运算优化, 传输优化, 客户端运算优化。

1、服务器端优化

服务器端就是对网站动态语言的执行 (asp, php) , 数据库查询、存储速度等, 总的来说就是输入/输出的运算。这些跟前端没关系, 但是却影响着前端。看不出来?那就自行优化服务器性能, 数据库性能, 多买点服务器扩容吧。提高域名的DNS解析速度。减少DNS的解析个数。相信以后还会有先进的技术来解决。

2、传输优化

这一类很烦, 首先是字节, 字节越小越好, 怎么能小下来, 最有效的方式就是Goog le的方案, 把首页做的极其精简, 图片、htm l、静态文件都非常小, 再就是缓存, 把文件放到本地缓存区读取。还有http请求数, 减少文件传输中的排队等待。

2.1 字节优化

减少冗余html, 用结构化、语义化的ht ml来体现, 行为、表现、结构分离, 独立的ht ml文件将变得很小。这点, 禅意花园做得真好!压缩文本文件, css, html, js去掉注释、空格、换行等。降低图片字节, 选择合适的图片类型, png-8非常好, 再用工具将图片进行压缩去掉, 比如png-8的压缩工具。用合适的图片尺寸, 不要再做菜鸟, 很不负责任的把大图控制一下宽高就用上了。gzip压缩一下, 减小服务器端传输到客户端时候的字节。flash文件和flash+xml的动态flash也减小字节。

2.2 缓存

服务器端配置一下, 提高缓存的命中率和把不经常修改的文件缓存了。Add Expir es headers、Etags、ajax使用get方式便于缓存。把能分离出来的css, js分离成外部文件便于缓存。使flash和xml文件可缓存。打通不同运营商的限制, CDN提高不同类型运营商的网络传输速度, 电信, 网通, 铁通, 教育网等等。

2.3 请求数

尽量减少文件请求数, 能合并到一起的合并一下, css、js、图片等, 减小排队等待和服务器端的开销。分域提高同时加载数, 优化排队等待。避免404无效请求数。避免重定向。

2.5 延迟加载和预载

把暂时不用的文件等主体页面加载完了再加载, 把用户稍后要看浏览的内容预先加载进来, 相册浏览就是很好的例子, 先用小图片放大再把大图展示出来, 看本张图片时把下一张预载进来等等。

3、客户端优化

(1) 讨厌的IE滤镜和CSS expressions少用, 小心把浏览器挂死, CUP被100%占用。 (2) CSS放到前面去, JS能放到后面的放在代码后面, 将页面尽早展示给浏览者。 (3) 减少I FRAME的使用, 这是一个不智之举。 (4) 减少DOM个数, 降低浏览器解析压力。 (5) 使用

而不是@import Chooseover@import, 在IE中@import指 (6) 令等同于把link标记写在HTML的底部, 而这与第一条相违背。提高JS的执行效率。 (7) 缩小Cookie, 针对Web组件使用域名无关性的Cookie (Use Cookie-free Do mains for Components) 。

(8) 还有小图片的REPEAT背景会提高浏览器的CPU占用率。 (9) 合理的DOM排序, 把重要的内容代码前置, 优先加载。

除了这些, 虽然还有很多没对号入座的有关性能优化的条目, 但至少, 我们已经可以体验到网页工程师的工作是如此烦琐, 任务是如此艰巨, 需要对代码、文件、H TTP协议、缓存、服务器等内容或是技术达到精准的掌握和控制, 达到提供给浏览用户最最基本的体验, 那就是——访问速度。所有的幕后工作浏览用户是看不到的, 但不要因为他们看不到而放弃我们的目标——优化和遵守标准。Web标准的分离思想和结构化、语义化html促成了以上很多行为的实施, 这是美工时代所不能比拟的。只需要每个人的遵守, 相信WEB标准会引领我们进入一个新的时代, 想像那种境界美得像“潘多拉”一样。

摘要:国内几乎大部分的网页设计师没有遵守W3C标准。作为一名合格页面工程师, 要学会熟读标准, 认识和了解标准。要检验你的代码是否和标准一致, 要了解W3C标准的优势和用意。前端性能优化和web标准有什么关系?就是对你遵循web标准的一个补偿。

Web前端 篇8

关键词:MVVM,Web前端框架,Angular JS

面向对象设计(OOD)的核心设计原则是使程序模块达到“高内聚,低耦合”,而MVC、MVP、MVVM等都是围绕这一核心原则相继产生的框架模式。随着Web应用的日趋复杂、前端规模不断扩大,Web前端也开启了MVC、MVVM风潮,越来越工程化。

1 MVVM框架模式思想

MVVM框架模式是Model-View-View Model模式的简称,于2005年由微软的WPF和Silverlight的架构师John Gossman提出。MVVM既吸收了MVC模式的精华,又利用了数据绑定(Data Binding)技术和WPF中命令Command技术对MVP模式进行了改进。其设计思想是“数据驱动界面”,与传统的“事件驱动界面”相比较,以数据为核心,使视图处于从属地位。数据绑定[1]使表层视图会随底层数据地改变而改变,若用户修改了视图元素值,相当于透过视图元素直接修改了底层数据。Com-mand技术可接受View中用户的输入并做相应处理,它解耦了视图和视图模型。

MVVM框架模式结构如图1所示,由模型(Model)、视图(View)、视图模型(View Model)三部分组成[2]。MVVM为View层单独定制了一个Model,既View Model。View中的视图逻辑通过双向数据绑定和命令绑定到View Model的属性上,通过View Model得到Model中的数据,双向数据绑定实现了视图和数据模型的自动同步机制。

MVVM中每个模块在系统中的职责不同。视图:用于界面呈现,它不直接与Model进行交互,而是通过View Model与Mod-el通信,并可独立于Model的变化和修改,这也是MVVM低耦合思想的体现。视图模型:是对视图逻辑和View与Model模块之间状态控制的封装,是View和Model通信的桥梁,也是MVVM设计思想的核心部分。它包含绑定的数据集合,可根据用户输入通知修改Model、响应Model中的数据变化事件,可发送View Model中的变化事件以通知View更新。一个View Model可以绑定到多个View上,即多个View可以复用同一个View Mod-el,这大大提高了代码的可重用性。模型:封装了与业务逻辑相关的数据,以及数据处理等事件。它不依赖于View和View-Model,可直接与数据库交互。

2 Angular JS中MVVM框架模式的应用

2.1 Angular JS简介

Angular JS框架于2009年由Google首次发布。因其模块化思想,双向数据绑定,指令(Directives),测试驱动开发等特性,以及其2.0版本对移动设备的良好支持,目前已处于前端JS框架之领导地位。Angular JS设计初衷是标准的MVC模式,但随着代码重构和API的重写,现在更是将MVVM框架模式表现得淋漓尽致。

2.2 Angular JS中MVVM应用模式

在Angular JS中,MVVM应用模式主要体现在以下几个部分,结构如图2所示。

View:它专注于界面的显示和渲染。在Angular JS中,View除了HTML、CSS这些视图代码,还包含Angular JS指令、表达式等的视图模板。View不能直接与Model交互,视图对象需要通过$scope这个View Model来引用。

View Model:它负责View和Model的交互、协作。View Model给View提供显示数据,并提供了View中Command事件操作Model的方式。在Angular JS中,$scope对象充当了这个View-Model的角色。$scope被称为控制器的功能模块包装,它提供一些API来监控View状态,可以把数据模型和函数暴露给视图(UI模板),它包括数据引用关系、控制器定义行为、视图处理页面布局以及相应的处理跳转等内容。

Model:它是与应用程序的业务逻辑相关的数据的封装载体,是业务领域的对象。Angular JS通过数据模型Model驱动,以Java Script对象的属性的形式呈现。通过数据绑定技术,视图会根据数据模型的变化自动更新,因而模型也是Web应用程序开发和设计中的焦点。

Angular JS中,Model与View Model通过$scope对象互动。$scope对象监听Model的变化,通过View来发送和渲染,由HT-ML来展示代码。Model并不关心会被如何显示或操作,所以Model中也不会包含任何界面显示相关的逻辑。在web页面中,大部分Model都是来自Ajax的服务端返回数据或者是全局的配置对象,而Angular JS中内置的服务$http非常强大,可直接替代Jquery的Ajax函数,它封装和处理这些与Model相关的业务逻辑。

Controller:Angular JS提供了无状态的Controller,它并不是MVVM模式的核心元素。Controller可设置模型的初始状态,它组合一个或者多个服务(service)来获取业务领域Model并将其放在View Model对象上,使得应用界面在启动加载的时候达到一种可用的状态。另外,Controller可监控模型其余部分的变化并采取相应的动作。

Angular JS内嵌了j QLite,它内部实现的一个Jquery子集,包含了常用的Jquery DOM操作方法,事件绑定等,所以我们只需用JS控制View Model,不用关注数据如何呈现到页面,由框架更新Model和View。对于用户交互Command事件(如ng-Click、ng-Change、ng-If等)则会转发到转到$scope的某个行为逻辑上,通过View Model来实现对Model的改变,对于Model的任何改变也会随之反应在View Model之上,再通过$scope的“脏检查机制”($digest)来更新到View,从而实现View和Model的分离。

2.3 Angular JS中MVVM应用模式与Web前端传统开发思维对比

Jquery是以事件驱动为中心、面向网页编程的传统前端开发思维的代表。它专注于View层的变化和用户的操作,在对网页元素的定位和操作上需花费较多精力,对于数据处理却是弱项。随着界面和逻辑的日趋复杂,再使用JS或者Jquery去控制DOM会越来越不易,尤其对具有复杂交互的项目,JS逻辑会变得臃肿,交互逻辑分散。而Jquery template技术,虽可实现模块之间解耦,但无法实现数据和视图展现的解耦。Angular JS是新一代前端开发思维的体现,以Model为中心、面向数据编程。它减少对网页元素的定位和操作,避免了Jquery中DOM操作对网页结构的破坏。Angular JS把模型和视图绑定在一起,实现联动,改变模型,DOM就可以随之进行改变,甚至绑定DOM的事件也可以直接跟着进行改变,让View和Model的进一步分离和解耦,减少了前端开发工作量,提高了开发效率。

3 MVVM框架在Web前端开发过程中的优势

MVVM适合编写大型Web应用前端JS框架,其优势如下。在团队层面,MVVM改变了软件开发方式。由于View与View Model之间的松耦合关系,使得开发团队与设计团队分工明确,设计团队只需产出用户友好的界面,而开发团队则专注于业务逻辑和数据,提高了开发效率。在架构层面,模块间松耦合关系使得模块间相互依赖性降低,项目架构更稳定,扩展性得到提高,后续如需增加新模块,能做到最小的改动。在代码层面,通过合理的规划分层View Model,可提高代码重用性,使整个逻辑结构更为简洁。另外,MVVM的引入能更有效地组织应用结构,使项目模块变得清晰化、条理化,增强了代码可读性,降低了前端测试难度。

4 结束语

MVVM框架模式归根结底还是MVC精心优化后的结果,它可兼容当下使用的MVC模式。或许有些人认为,MVVM是以更复杂的方式存储DOM和数据绑定关系,比较耗内存、耗性能,但是当Web应用程序的功能达到一个量级且代码开始需要以更高效的方式组合时,使用优秀的开发框架反而会提高网站的性能。

参考文献

[1]刘立.MVVM模式分析与应用[J].微型电脑应用,2012(12):57-60.

[2]陈涛.MVVM设计模式及其应用研究[J].计算机与数字工程,2014(10):1982-1985.

Web前端 篇9

关键词:PHR,物联网,云平台

0 引言

个人健康档案是人们健康管理过程的规范和科学记录, 以多种渠道收集信息满足人们自我健康管理的一种手段[1]。个人健康档案的建立是“以人为本”的电子化档案, 有助于人们建立并拥有服务终身健康的信息系统, 在当今社会尤其在国内医疗资源有限的背景下有重要的现实意义。作为个人健康不间断、非静态、数字化的电子记录集, 一方面要求个人及时有效地记录个人自己表征健康状况的生理指标和症状表现;另一方面要求系统快速准确地根据个人身体的现状, 同时结合已往的个人健康档案 (以往在患病、治疗和用药情况) 进行合理的建议或者向医生专家提供准确专业的描述, 以便快速进行治疗。而传统PHR记录, 书写量大、记录杂乱、文件繁多、不易保存、录入效率低、查询困难等种种因素难以满足以上两个方面的要求。这为物联网和云服务等新技术在该应用领域的发展应用找到空间, 本文的研发工作正是围绕这方面来展开。

本文参考国外个人健康档案的现状和发展, 分析国内个人健康档案的提出重要性和需求迫切性的分析;结合个人健康档案服务平台的需求, 初步给出个人健康档案服务云平台系统的构架设计, 具体包括各个功能结构作了详细的功能设计, 覆盖了个人健康档案的一些基本操作;进而根据个人健康档案服务云平台不同对象的不同流程, 以面向对象的编程思想进行编程实现, 给出了系统的设计实践, 展示了一个界面较美观、灵活性和交互性良好的个人健康档案服务云平台系统。

1 个人健康档案概述

1.1. 个人健康档案的提出

1968年美国Weed等首先提出以问题为导向的健康档案记录方式 (problem oriented medical record, POMR) , 要求医学服务者在医疗工作中记录要采用以个体健康问题为导向的方式[2]。然而直到20世纪90年代这个概念才逐渐推广, 在计算机网络技术高度发达的今天, 个人健康档案可借助网络的力量发展的更加全面和快速。2009年我国为贯彻落实《中共中央国务院关于深化医药卫生体制改革的意见》 (中发[2009]6号) 和《国务院关于印发医药卫生体制改革近期重点实施方案 (2009-2011年) 的通知》 (国发[2009]12号) 精神, 推进居民健康档案标准化和规范化建设工作, 卫生部组织制定了《健康档案基本架构与数据标准 (试行) 》 (以下简称“标准”) 等一系列健康档案标准, 为提高我国居民健康水平奠定了基础, 也为个人健康档案系统的建立提供了标准和依据。

1.2. 健康档案数据标准

从有关个人健康数据来源可看出, 建立个人健康档案是一个横跨各个医学科目、贯穿个人一生、跨行政区域, 不断源源累积、随时动态更新、共建共用的一个长期过程。制定全国统一、科学合理、满足个人、灵活适用的个人健康档案数据标准, 是建立个人健康档案, 尤其是个人电子健康档案的关键。健康档案数据标准目前主要包括三类[3]:

(1) 健康档案相关卫生服务基本数据集标准;

(2) 健康档案公用数据元标准;

(3) 健康档案数据元分类代码标准。

依据以上三类数据标准, 系统在第二类公用数据元标准和第三类数据元分类代码标准的准则及分类下, 按第一类相关卫生服务基本数据集标准, 建立拥有基本信息、公共卫生、医疗服务三个一级类目, 其中公共卫生包括儿童保健、妇女保健、疾病控制和疾病管理四个二级类目, 从而产生三级类目32个, 最终建立起一个总计34张表作为主表的数据库。针对“标准”的第二类公用数据元标准, 主要规定个人健康档案所必须收集记录的公用数据元最小范围及数据元标准, 其中数据元是不同业务领域之间进行无歧义信息交换和数据共享的基础。本系统根据需要节选“标准”中2252个数据元的90%的内容, 用此规范和统一个人健康档案的信息内涵和外延, 指导个人健康档案数据库的规划设计。由于健康档案中的数据元之间存在着一定的层次结构关系。第三类数据元分类代码标准从信息学角度对数据元进行科学分类与编码, 继而建立一个统一的、标准化的信息分类框架, 区别不同的数据元之间的特性, 这样PHR就能够分别定位和存储相应数据, 最终做到方便个人健康档案系统用户的快速理解和共享。

2 个人健康档案服务云平台技术与设计

2.1. 物联网与云平台技术

物联网 (Internet of Things, Io T) 通过各种传感设备, 通过一定协议直接或经过多传感器信息融合后, 将这些观察对象与互联网连接。在PHR系统里, 主要心电传感器、脉搏波传感器、血压传感器、体温传感器等测量监测对象对应的生理特征参数[4], 同时扫描二维码采集药品、相关食品信息, 通过与之连接的智能终端将数据实时稳定地传送到云服务器上。

云服务器 (Elastic Compute Service, ECS) 是一种处理能力可弹性伸缩的计算服务, 其通过虚拟技术将传统的分布在不同地域的服务器, 以集群模式将它们整合成为一个逻辑上的大服务器。因此, ECS有良好可扩展性、强大的存储和计算能力、万无一失的灾难备份能力, 并且通过BGP多线独享带宽ECS可以为用户提供快速准确的服务, 而且很好地解决传统服务器由于服务网络提供商、网络攻击、并发访问带来的一系列问题。PHR系统考虑到系统可能面临的大量数据、不同地域用户等问题, 将服务器建设在云端, 目的按需决定服务能力的配备方案, 一方面保证服务能力, 一方面节约资源经费。

2.2. 个人健康档案服务云平台系统设计

2.2.1. PHR系统功能结构图

个人健康档案服务云平台Web前端主要分为登陆和健康知识的展示, 其中登录用户分为普通用户、超级管理员、普通管理员、医生, 图1显示不同角色的用户权限和功能。

2.2.2. PHR系统主要用例图示例

普通用户在注册、修改个人健康信心、修改个人账户信息、设置医生信息账户信息和数据库的交互, 如图2所示。

2.2.3. 主要流程图

从顶层数据流图可看出, 数据流向为用户访问网站页面后数据进行交互后, 信息数据向网站页面显示和数据库数据存储。

从第一层数据流图可看出, 根据用户的交互请求不同, 数据将会有不同的走向, 分别是流向网站页面显示和流向数据存储。

3 个人健康档案服务云平台系统实现

3.1. 开发环境

(1) 开发工具:Myeclipse 8.5, Tomcat 7.0, Oracle;

(2) 开发配置:CPU i3 3.6Ghz以上, 内存2G以上, 硬盘40G以上, 10M/100M网卡, Windows 7/Windows 8.1中文操作系统。

(3) 数据库管理系统:Oracle 10g及以上。

3.2. 云服务架构

PHR系统采用第三方云服务, 直接将程序部署在第三方提供的服务器上, 在确保拥有云服务器的管理权限, 或者是云服务器的空间和接口程序后, 实现网站应用的步骤如下:

1、需要在web服务上配置好网站所需的相应环境;

2、需要添加网站所使用的权限;

3、开启网站使用的端口。

其中部署网站需要注意以下几点:

1、防火墙是否有做一些限制, 如网站的80端口是否有开启;

2、服务器是否有做一些会阻止外部访问网站的安全策略;

3、域名解析方式是否正确, 是否对网站绑定了相应的域名;

4、相关的网站环境是否配置正确, 网站文件的权限是否设置正确, 可以使用探针进行测试。

3.3. Web端具体实现

首页顶部有登录、注册和搜索框, 然后欢迎登陆个人健康档案管理系统, 紧接着个人健康自测入口, 推荐的医疗健康社区入口, 医用App循环推荐, 内容部分是分为吃食、孕幼、用药、医诊、病患、真相六大块, 点击全部可以进入到各块文章具体的图文列表。

普通用户和普通管理员有个人健康档案, 他们可修改编辑个人账户信息, 查看系统根据个人填写信息的推荐内容及个人医生对自己的建议, 同时拥有以下编辑权限:

1.基本信息, 包含姓名、性别、民族、年龄、联系方式、邮箱;生活调查, 包含遗传病史 (一般为家族) 记录、过敏记录、生活习惯描述 (是否抽烟、喝酒、熬夜等) 、特殊病种记录、疫苗注射记录、全身体检记录;体检报告相关指标;家庭常用备药。

2.就诊记录, 包括就诊时间、就诊医院 (或诊所) 、病因、诊断、用药。

3.用药记录, 包含自己用药或医生开的药方, 具体记录用户用药起始时间、期间所用药物、用药持续时间。

4. 健康日志, 记录个人平时生活中出现的不好的身体状况, 包含时间、身体描述、问题解决、后续观察。

在完善自己的个人信息后, 可以浏览这些基本信息, 同时可查看系统医生专家给出的建议和意见。以BMI、生活习惯、血压、乙肝五项的值数据基础, 系统建议针对用户信息进行判断处理, 提出想应的建议。

以医生角色登陆系统的用户, 除了可以通过查看以经授权的用户的详细健康信息, 可以添加写入自己的建议, 同时系统会根据已有数据进行分析, 生成疾病年龄分布、人数数量、性别对比的折线图和饼状图。以直观的效果给出统计学上的数据, 以便指导对相关疾病的诊断、用药和研究。

4 结论

如今当病人和医生需要完整、科学的医疗信息时, 散而乱的医疗记录让人苦不堪言, 导致医疗不尽如意[5]。早在2004年, 美国制定了“确保绝大多数美国人拥有共享的电子健康记录”的目标。到2011年, 美国政府为了电子健康档案的应用变得更好, 实施了“有意义使用”联邦激励项目, 促使医疗健康提供商必须满足一定的要求。随着我国对人口健康的要求, 需要记录、获取居民的健康信息, 进行科学有效的健康管理, 从而拥有更健康的体魄, 提高居民的整体身体质量。个人健康档案服务云平台系统是以个人问题为导向记录完整健康信息, 提供随地随时获取、记录的极大便捷, 为临时诊断、长期治疗和有针对性保健提供数据基础。个人健康档案建立将不断被认可, 将被广泛应用, 个人记录追踪自身医疗史, 已满足个人健康主动管理需求。

本文按软件工程的开发步骤, 参考国外资源和国内的特色, 初步设计并实现了个人健康档案服务云平台的前端系统, 努力做到大部分档案可以电子信息化, 并从服务角度展示了一个界面较美观、灵活性和交互性良好的个人健康档案服务云平台系统。

参考文献

[1]韦凤伶.个人健康管理系统的设计与实现[D].成都:西南交通大学医学专业, 2011.

[2]斐雪.物联网环境下智慧家居系统的交互行为研究[J].新视觉艺术.2011, 8 (2) :56-58.

[3]佚名.卫生部发布《健康档案基本架构与数据标准 (试行) 》[EB/OL].http://news.hc3i.cn/art/201001/1047.htm, 2010-01-16/2010-05-18.

[4]曾绳涛, 曹志龙.基于物联网的智能移动医疗动态监护系统[J].工业控制计算机, 2014, (6) :26-27.DOI:10.3969/j.issn.1001-182X.2014.06.011.

上一篇:避雷接地下一篇:策略及方法