发表于: 2019-12-12 23:18:27
1 1106
今天完成的事:
1、学习ajax。
前两天简单看了下ajax,ajax是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量服务器交换,ajax可以使网页实现异步更新。
这就意味着可以在无需重新加载整个网页的情况下,能够更新部分网页。
ajax不需要任何浏览器插件,但是需要用户允许js在浏览器执行。
ajax的核心是js对象XMLHttpRequest,该对象是一种支持异步请求的技术,使你可以使用js向服务器提出请求并处理响应,而不阻塞用户。
ajax有两种方式实现。
一种就是构建js对象XMLHttpRequest,但是直接编写并不容易,因为不同浏览器对于ajax的实现并不相同,意味着必须要编写额外的代码对浏览器进行测试。
另一种就是通过jQuery实现ajax,jQuery提供有多个与ajax有关的方法,可以使用更方便的代码实现ajax功能。
下图是使用ajax时的截图,用于异步请求短信、邮箱验证码。
注册成功。具体代码已经提交,可以查看GitHub。
只是把一些参数名称改了下,明显没用的代码删除了,还有一些不了解的就没有管,反正是能用了。。
2、完成小课堂PPT,并进行讲解。
编写了“ 什么是session?什么是cookie?session和cookie有什么区别?什么场景适用于session?什么场景适用于cookie?”的小课堂PPT。具体就不放了,小课堂已经提交。
3、查看RMI相关知识点。
RMI(远程方法调用)通俗点说就是一台机器上的程序调用另一台机器上的方法。
RMI是远程过程调用(RPC)的一种面对对象的实现,RMI底层是通过socket通信和对象序列化技术来实现的。
目的就是要使运行在不同计算机中的对象之间的调用表现的想本地调用一样。
RMI构建三个抽象层,高层覆盖低层,分别负责socket通信,参数和结果序列化、反序列化等工作。
存根(Stub)和骨架(Skeleton)合在一起形成了RMI构架协议。
下面的引用层被用来寻找各自的通信伙伴,在这一层还有一个提供名字服务的部分,称为注册表(registry)。
最下一层是传输层,是依赖于TCP/IP协议实现客户机与服务器的互联。
RMI的基本流程:
(1)当客户端调用远程对象方法时,存根(Stub)负责把要调用的远程对象方法的方法名及其参数编组打包,并将该包向下经远程引用层、传输层转发给远程对象所在的服务器。
(2)通过 RMI 系统的 RMI 注册表(registry)实现的简单服务器名字服务, 可定位远程对象所在的服务器。
(3)该包到达服务器后, 向上经远程引用层, 被远程对象的骨架(Skeleton)接收, 此骨架(Skeleton)解析客户包中的方法名及编组的参数。
(4)在服务器端执行客户要调用的远程对象方法, 然后将该方法的返回值( 或产生的异常) 打包后通过相反路线返回给客户端。
(5)客户端的存根(Stub)将返回结果解析后传递给客户程序。
事实上, 不仅客户端程序可以通过存根(Stub)调用服务器端的远程对象的方法, 而服务器端的程序亦可通过由客户端传递的远程接口回调客户端的远程对象方法。
在分布式系统中, 所有的计算机可以是服务器, 同时又可以是客户机。
RMI的实现还需要有继承接口、抛出异常、实现某类的要求,这些等明天具体实现了后再添加。
明天计划的事:
1、实现RMI。
2、实现spring-RMI。
遇到的问题:
无
收获:
1、简单查看ajax。
2、复习了session、cookie、token等。
3、查看了RMI基础知识。
任务总结:
任务名称:JAVA=TASK7
任务耗时:12.4-12.12,请假2天,实际共耗时7天,延期。
技能脑图:
个人:

官方:

任务总结:(任务进度是否符合预期,是否延期,如果延期,原因是什么,如何避免下次继续延期)
任务延期。第三方API文档太多,看的时候没找好重点,中间耗费了些时间。任务中需要的正则表达式、ajax等,在之前的任务中没有学习,这里又花费了时间学习,导致任务进度较慢。
如何避免下次延期:尽量把效率提高。
脑图对比分析:
大致内容与官方的脑图差不多,就是学习的还是比较浅,没有深入了解,还需要后续学习。另外官方说的IM和支付API没有学习。
任务中遇到哪些疑难问题,最终如何解决的,有哪些值得分享的收获。
(对于任务总结应该更多的描述出任务所走的弯路以及遇到的困难,不应鼓励将知识点无脑的堆砌在总结之中)
1、任务七主要是修改登录、注册模块,通过第三方API来实现短信、邮箱验证,实现文件存储。这里主要是查看官方提供的demo示例,按照要求进行相应的设置,并连接。简单的实现并不复杂,只是需要找对方法,如果想深入了解原理,就需要花费一些功夫了。
2、使用阿里云OSS进行文件存储时,默认会有强制下载的设置,需要修改http头的相应内容。这里因为只是用其存储头像,所以只解决了使用url直接查看图片的问题。
3、短信、邮箱的防攻击策略,这里是采用redis进行缓存,通过缓存的次数累计、过期时间,来设置周期内可以注册几次,以及注册过多需要间隔多久才能再次注册。
有了大概的思路后,就运行尝试,通过实践来检测出相应的逻辑问题,再进行修改。
评论