实习日志 (2021.09.13)

本文记录了作者实习期间的学习经历,包括理解链表算法、CSS样式学习、接触Egg框架、前端与后端接口对接、解决分页查询问题、XSS攻击模拟及Cookie与Session的学习。此外,还探讨了JavaScript、R语言和HTML5在实习过程中的应用。

2021.09.13星期一

        今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花费了很多时间。

        今天没有学很多,因为公司要求我们明天去实习,所以这两天在实习的附近租了一个房子,买了个小电动车,并进行了居住前的整理和收拾等等。正式去体验以后上班的生活。

2021.09.14 星期二

        早上继续css样式:盒子阴影:box-shadow: 横轴位置 纵轴位置  阴影模糊程度 阴影大小 阴影颜色 ,文字阴影:text-shadow:横轴位置 纵轴位置 阴影模糊程度 颜色。圆角边框:border-radius:圆角大小。浮动:float: 浮动位置(left或者righ),浮动作用:可以让盒子向左或右对齐,且可以设置大小。现在很多网页的布局方式都是先用传统布局,再用浮动。

        下午打算自己写一遍获取cookie的,可上网搜索发现,都是需要自己建一个含有XSS漏洞的网站,而且都用的是php语言,都看不明白,所以只能学习搭建服务器。攻击的方式是写一段标签,比如<img src = 'xxx' onerror = 'alert(111)' alt="">。之后继续学习了nodejs,主要学习了在node中使用模板引擎。

        晚上继续看算法题:

刚看到这个题目就会得到后半部分和前半部分一样,可以用双指针的方法:

之前也有遇到过,所以比较好理解,还有一种方式是快慢指针的方式,先找到中间节点,然后反转后半部分的链表,然后进行比较

上图是该题的解法。

2021.09.15 星期三

        今天早上开了个会,开完之后便开始学习egg框架。egg框架是一个mvc模型,service里面负责管理一些数据等,controller负责一些逻辑控制,view负责展示一些内容。而且service里面的内容可以相互引入,也可以由controller曾里面的内容引入。工作大致的流程是在controller里通过render函数先渲染页面并附带一些数据,之后在展示到html上。

        首先搭建了一个egg框架,之后选用了ejs来作为渲染模板,并再次进行了配置,然后根据官方文档,做了一些练习。

 之后又去学习了一些egg里面的路由,

 RESTful 风格用起来非常的方便便捷。之后又学习了如何和数据库交互,进行了一些配置。并对一些增删改查进行了编写熟悉。

 其中ctx.requset.body和下面的ctx.body完全不是同一个内容,ctx.request.body是客户端请求过来的内容,而ctx.body是响应的内容。明天将继续学习egg的一些内容。

        晚上接着看了一道算法题,

 这道题目,要先把题目给看明白,意思就是两个指针,如果有相同的节点,则返回它。一开始没有什么思路,但看了有一个题解,非常的巧妙,就是a和b在走完自己的链表之后再回头走对方的,那么此时如果有交点,则返回该交点。我写的代码如下:

2021.09.16 星期四

        今天要求我们实习的几个人继续把之前的一个任务给完成。之后我看了一开始写的代码,非常的混乱,之后对代码进行了修改,然后开始和后台进行对接。但无论怎么调试,总是得不到后台返回给我的true,查阅了很久发现得知,前端的数据默认为json格式,但后台需要传一个form-data格式,于是上网搜寻,学会了转换格式

 该拦截器的回调内容是请求头的一些信息,本次是将content-type转换为form-data格式。之后便继续对接,但总是会出现一些问题,比如接口没有用,数据传不进去等等。到现在,只剩下分页还没有完成,还需要等后端修改完成才能去完成。之后还有一点时间继续去学习了egg。在查询的时候还可以进行分页处理

        晚上看了一道算法题,

 题目的意思就是判断链表是否呈环形,首先想到用之前学的哈希表,非常简单便捷。但第一个实例没有看明白,明明没有环形,可显示却有,看评论说是给的实例有误。

2021.09.17 星期五

        早上看了之前的那个培养前端计划的css视频。学到了一些知识:.a .b 和。.a.b的区别:

.a .b指的是.a是父元素,.b是子元素.b需要在.a下面使用,例如:

 .a.b指的是一个class里面同时含有这两个选择器,且.a.b 和.b.a是一样的,而且之后定义的会覆盖之前定义的。

 此时最下边两个class都显示橙色。

还了解了格式化上下文,感觉看着非常抽象,大概就是可以独立于其子元素去进行样式的编写,比如塌陷就可以通过触发块级格式化来进行解决,(用overflow:hidden等)。

之后又继续去解决昨天还剩下的分页查询功能,但只完成了查询,分页后端还没有弄好。接着又学习了一会css,模仿小米商城,编写了一个类似的静态页面。

        之后又学习了egg框架,打算先自己写一个登录注册页面并且合并,但合并的时候出现了一些问题。

 这个是由于接口不对导致的,在config里面换了一个端口号便解决。但之后又出现了跨域的情况。

 不知道该如何修改,明天还需要继续学习,并且在学习一下如何设置cookie

        晚上继续看了昨天的算法题,他还有一种解法,非常的巧妙,取快慢两个指针,假设它是环形,那么快慢指针必定会在某个地方相遇,假设慢指针走到一个地方的时候,快指针已经走了n圈+慢指针走的距离,而且快指针走的距离是满指针的两倍,此时有个等式:2(a+b)=a+n(b+c)+b,化简得a=c+(n-1)(b+c)。所以,再快慢指针相遇的时候,再娶一个指针p,将p和慢指针各往后前进,最终会在环路的开头相遇。算法在如下:

 只有注释的那个地方不是很明白,打算通过评论写该算法的人,来获取答案

2021.09.18 星期六

        今天早上先继续去模拟xss攻击,在网上找了一个教程,用的环境是DVWA,phpstudy。利用反射型XSS漏洞,模拟获取登录账户的Cookie - 简书,这是该教程,但在做的时候会出现一系列问题,但好在都解决了。由此可以看出,必须做一些措施比如转义字符等等,防止这些出现。

而且解决了跨域的问题,在谷歌浏览器的目标位置,加一行--disable-web-security --user-data-dir=C:\MyChromeDevUserData,便可以。

        之后又学习了cookie和session,cookie的设置方式

获取方式

 当第一次访问的时候,服务端在响应头中有一个set-cookie,

 之后客户端会将cookie保存起来,之后都会在请求头中携带cookie,

如果将该cookie删除之后,那么将不能访问到具体的值。

 而session是基于cookie的,他是保存在了服务端。之后又看了自己实习单位里面进行验证的方式,它是采用token值进行验证,把token删除,便不能进行其他的操作

        

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值