发表于: 2017-12-10 22:37:13

1 700



今日完成的事情:


;总结任务二的技能


-----------------------------------------------------技能restful------------------------------------------------------------------



Restful的三个特点:统一资源定位符URI,无状态,统一接口


1;先说URIURL的定义

 

URI; Identifier统一资源标识符,三部分组成


主机名;存放资源的自身的名称,由路径表示。


标志符;有的URI指向一个资源的内部,"#"结束,并跟着一个anchor标志符


相对URI;不包含任何命名规范信息,它的路径通常指同一台机器上的资源

 

URL; Locator统一资源定位符,三部分组成


第一部分是协议(或称为服务方式);


第二部分是存有该资源的主机IP地址(有时也包括端口号);


第三部分是主机资源的具体地址。,如目录和文件名等。

 


2;说一下uriurl的具体区别,


先说URI的两种形式,绝对以及相对


上面说了相对的uri,也就是不包含任何命名规范信息,因为它的路径通常指同一台机器上的资源,而实际上还有一种绝对的uri,也就是

使用相对路径来标识;举个例子

绝对uri: …………协议://域名/a/b/c.txt………..

相对uri: ../d.txt………实际上指向的就是……..协议://域名/a/d.txt……


到这里就可以很清晰的看出, URI有绝对和相对之分,绝对的URI方式对标识符出现的环境没有依赖。如果使用文件系统作类比,绝

对的URI类似于从根目录开始的某个文件的径。而相对的URI方式依赖于标识符出现的环境。


然后是区别

实际上就是一句话, URL就是上面绝对URI命名机制的产物;然后说一个缺点就是,当信息资源的存放地点发生变化时,必须对URL作相应的改变,否则无法访问.


 

3;另一个特点就是统一接口

 

 

RESTful架构风格规定,数据的元操作,即CRUD(create, read, updatedelete,即数据的增删查改)操作,分别对应于HTTP

法:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源,这样就统一了数据操作的接口,仅通过

HTTP方法,就可以完成对数据的所有增删查改工作。


 

4;无状态


所谓无状态的,即所有的资源,都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变


简单说一个典型的restful风格

 

 

比如查看我的某一篇日报,假如说必须要求先登陆,然后需要找到网站的日报列表,然后找到我的日报,进行相关操作,这样就是有状态

,因为查看我的日报的每一步骤都依赖于上一个步骤,只要前置步骤失败,则后续操作失败;如果输入一个url直接可以得到我的日报

信息,这种就是无状态的,因为得到我的日报不依赖于其他资源或状态,这种情况下,我的日报就是一个资源,由一个url与之对

应,可以通过HTTP中的GET方法得到资源,这是典型的RESTful风格。

 

小结, REST,Representational State Transfer"表现层状态转化"


如果一个架构符合REST原则,就称它为RESTful架构。RESTful架构,就是一种互联网软件架构;它的有点就是结构清晰、符合标

准、易于理解、扩展方便,是一种优秀的架构风格,所以才会流行采纳,任务之中用restful也会使代码看起来整洁直观.满足以下三个

大的原则:


每一个URI代表一种资源;


客户端和服务器之间,传递这种资源的某种表现层;


客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"


最后,再明确一个常见的错误,就是URI包含动词;因为"资源"表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在

HTTP协议中。

 

 




 

-----------------------------------------------------技能MVC------------------------------------------------------------------



 

1;三层架构是什么?


界面层(UI|User Interface):表现层通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得


业务逻辑层(BLL|Business Logic Layer);针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理


数据访问层(DAL|Data Access Layer);直接操作数据库,针对数据的增添、删除、修改、更新、查找等

 

 



2;mvc是什么?


MVC Model-View-Controller严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行

了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL

进行对话;简单看一下图

 

 


3;这个确实有点难,看不太懂….再说一下吧….


三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。


MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。


我们从接手一个项目开始,首先,我们需要进行架构设计,一般我们采用的就是分层式的架构设计,即我们的三层架构。然后,在

确定了架构以后,我们再根据项目的具体需求去考虑是否需要应用一些设计模式,比如是否应用我们的MVC模式,抽象工厂模式

等等。



 

4;然后就是具体的springmvc的实现了

 

 


小结;这个技能确实很难理解,不过最直观的就是不管是mvc还是三层架构,都是为了解耦合;随着学习这种理论性的概念会越来越好的.

 

 






----------------------------------------------------技能Web容器------------------------------------------------------------------

 


这一块技能就是学习使用web容器的部署应用


1;先是tomcat的使用,知道下载,简单配置修改,还有端口的改变等,就可以了,很简单

 

 



2;jetty的使用,类似于tomcat,,还有一点就是利用插件也很方便,就不多说了

 

 


小结;这个技能点,就是一个必备工具的使用,不是很难,然后就是尝试不同的web容器,简单对比一下区别,就差不多了

 

 







----------------------------------------------分割线----------------------------------------------------

 


,几个简单的小技能

 

1;先说一个任务8的分布式,发现有大佬的代码更方便;就是service的运行可以通过指定的命令退出,这样就避免了查端口,杀端口

这些复杂的步骤;

 

首先要了解方法…..怎么终止进程….

 

 

然后是在service里启动的时候,加上这个方法以及逻辑就可以了;逻辑判断三种方法,他们用的缓存流,实际上可以直接用字节流,

不过最简单的还是scanner..这里就说一个最简单的,直接利用scanner输如加判断就行了

 

 

测试结果…..输入预定指令,杀死进程…………很方便……

 

 

2; svn的使用;主干合并分支以及分支合并到主干……………….类似的方法操作

 

找命令

 

 

确定谁合并谁……这里注意两个url的使用……

 

 

结果同步………

 

 

3;再说一下为什么要采取版本控制以及分支主干的开发方

 

branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,各自提交自己的修改,并且记录到repository便于查看,

待开发结束后合并回trunk ;

 

具体来说;

 

一个项目开发到一半需要增加需求新功能,而该功能可能会影响到项目中的已经存在的代码;与此同时,团队里有人正在进行bug

fix,如果新功能不在branch中开发而直接在trunk中开发,那么就会造成混乱,一边是修复bug一边是提交新代码,引入了不稳定

因素。极端一点,如果新需求的开发过程中不提交,等开发结束再提交,这样看起来不会影响bugfix,但是也就失去subversion

版本控制的意义,整个repository的日志记录的版本就只有一个,同时最后提交代码的时候,也会有一大堆conflict等着

resolve

 

所以明确规范流程就是;使用branchtrunk并行开发,时时提交更迭版本,最后合并到trunk中。

 

 

 

 

 

 

明日计划的事情:

1;时间原因,需要抓紧了,完成剩下的总结吧

2;完善ppt,进行复盘评审



遇到的问题及解决方法:

都是总结,暂无



收获:

1;完成任务二的简单回顾学习

2;学会几个小技能的使用






返回列表 返回列表
评论

    分享到