自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何使用JS来模拟一个DOM元素

在前端框架中,以react为代表,会使用虚拟DOM树来进行DOM操作,以此来达到性优化、渲染界面的效果。需要设置两棵新旧DOM树,通过对比,得到需要按需更新的DOM元素,但是浏览器中并没有直接获取DOM树的API,需要我们手动来模拟,以JS为例(前端语言中HTML用来构建DOM,CSS用来美化DOM,目前只有JS可以来模拟DOM)举个简单的例子:<div id="virtual" title="one" data-index="0"> 虚拟DOM树 <p>DOM元

2020-07-31 20:40:55 417

原创 使用Promise解决多个请求数据并发问题

首先引用一下阮一峰大佬的一段话:Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。来看一下简单的Promise示例:let promise = new Promise(function (resolve,reject) { console.log('Hello'); resolve();});

2020-07-30 11:19:56 4646 1

原创 ES6中几个比较实用的处理字符串方法

String.raw()转义字符串中的斜杠,在每个斜杠之前再加一个斜杠console.log(String.raw`Hi\n${2+3}!`);实际返回 “Hi\n5!”,显示的是转义后的结果 “Hi\n5!”,如果不使用该方法的话在控制台上会显示这样:Hi5!原因是其中的**\n**未转义,在输出的过程中,被识别为了换行符,但是经过该方法将斜杠转义之后,就可以打印出来。console.log(String.raw`Hi\\n`);实际返回 “Hi\\n”,显示Hi\n,...

2020-07-29 17:16:30 1215

原创 CSS绘制三角形

发现了一个特别有意思的技巧,利用CSS中border属性,可以绘制相应的图形,今天先介绍一下三角形。.trangle1{ width: 0px; height: 0px; border-top: 100px solid red; border-bottom: 100px solid transparent; border-left: 100px solid transparent; border-right: 100px solid transparent;

2020-07-27 22:59:53 102

原创 关于数据库注入的一些总结

数据库注入是比较常见的一种攻击手段,与XSS类似,感兴趣可以去查看我的XSS攻击总结都是从客户端界面输入代码,抓住系统的存在的数据库注入的漏洞,由前台未进行检测过滤直接传送到服务端后台,以此来达到攻击者目的的一种手段。举个最简单的例子,基础的登录界面,一个账号密码输入表单,一个登录激活按钮,前台传输用户输入的内容到了后台,后台根据数据内容进行SQL语句查询,如果可以查询到,则成功登录,如果失败,则提示错误。在这里,前台的账号密码对应的变量名分别是name和pwd,数据库对应账号密码字段是username

2020-07-27 21:30:15 221

原创 JS实现HashMap解决数组问题

字节跳动 前端笔试题给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。常规思路:var arr = [1, 2, 3, 4, 5];var target = 7;function f(arr, target) { for(let i = 0;i < arr.length-1;i++){ for(let j = i+1;j < arr.length;j++){ i

2020-07-21 11:51:57 3484

原创 JS捕获异步错误

之前已经解释过,JS为什么是一门单线程语言,点这里单线程语言的一个特点是:回调函数的执行需要等到下一个满足条件的事件出现后,才会被执行。那么在错误捕捉上,往往会面临这个问题,当进行错误捕捉时,该部分代码并未被激活或者延迟执行,那么可能就无法捕捉这个错误,例如这样:<form> <input id="x"> + <input id="y"> <button id="calc" type="button">计算</button&gt

2020-07-18 16:47:09 1291

原创 JS截获错误传播

如果在一个函数内部发生了错误,它自身没有捕获,错误就会被抛到外层调用函数,如果外层函数也没有捕获,该错误会一直沿着函数调用链向上抛出,直到被JavaScript引擎捕获,代码终止执行。'use strict';function main(s) { console.log('Begin main()'); try{ foo(s); }catch (e) { console.log('出错了', + e); } console.log(

2020-07-18 16:17:04 117

原创 JS中的错误处理判断输入是否为整数

通过JS中的try。。。catch。。。实现弹窗输出,判断输入是否为整数。var r, n, s;try { s = prompt('请输入一个数字'); n = parseInt(s); if (isNaN(n)) { throw new Error('输入错误'); } // 计算平方: r = n * n; console.log(n + ' * ' + n + ' = ' + r);} catch (e) { co

2020-07-17 22:47:56 210

原创 JS中的扩展实现弹窗超链接

HTML<div id="test-external"> <p>如何学习<a href="http://jquery.com">jQuery</a>?</p> <p>首先,你要学习<a href="/wiki/1022910821149312">JavaScript</a>,并了解基本的<a href="https://developer.mozilla.org/en-US/docs/We

2020-07-17 22:19:10 2001 1

原创 令人吐槽的字符串遍历匹配机制

我的博客咋又进入审核阶段了,我回头看了下内容,就我这水平应该也写不出啥危害SH的东西吧,而且好像也没啥敏感词汇啊,难道又是神奇的字符串遍历匹配机制在作祟?闲暇之余进行下猜测:举个简单的例子:ABCDEFG代表一句话,其中每次字母代表一个汉字,说这句话的人的意思可能是这样AB C DE F G,其中两个字母连在一起表示一个词汇,单个字母表示代词、动词、语气助词等,但是由于敏感词汇识别可能使用的是遍历,例如查看指针从A开始,AB是否是个敏感词汇?如果不是指针从B开始,BC是否是个敏感词汇,依次向下,虽然这种机

2020-07-14 17:56:13 399

原创 webstorm上传git报错

今天上传使用webstorm上传代码到git时报出了异常:HttpRequestException encountered. ʱ HttpRequestExceptionencountered. ʱ Invocation failed Server returned invalidResponse. java.lang.RuntimeException: Invocation failed Serverreturned invalid Respons

2020-07-14 17:30:01 379

原创 链式写法来处理回调的ajax

使用ajax调用/api/getInfo 中的 {usename: ‘xxxx’}字段值:`use strict`;function ajaxLog(s){ var username = $('#username'); username.val(username.val()+'\n'+s);}$('#username').val('');var jqxhr = $.ajax('/api/getInfo',{ dataType: 'json'}).done(function(

2020-07-14 12:04:32 130

原创 关于event loop的一些总结

event loop这一概念在前端的地位是非常重要的,第一次是在鹅厂的二面中被问到,当时是问到了 事件 这一概念,虽然说上来了一些,但是随后问到event loop,当时有点儿懵,从来没有接触过这个概念,还以为是JS中事件的某项特殊的知识点呢,知道字节一面中又一次被问到,而且面试官强调了其重要性,才意识到自己知识点的不足,接下来总结一下:首先提一点的是,JavaScript这门语言是单线程语言,原因可以追溯到JavaScript的问世,在JavaScript问世之前,实现简单的登录界面,需要把表单中的数据

2020-07-14 11:47:57 143

原创 关于CSRF攻击的一些总结

今天抽时间研究了下CSRF攻击,相对于之前的XSS,感觉CSRF更复杂了一些,查阅了一些大佬的博客,在此总结一下:含义:CSRF即跨站点请求伪造(Cross Site Request Forgery),攻击者盗用用户的身份,以用户的名义发送恶意请求,但是对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User

2020-07-13 12:06:53 365

原创 关于XSS攻击的一些总结

昨晚面试第一个问题就被问到了项目中登录界面的XSS和CSRF攻击,与以往面试不同,感觉这次更偏重于实战,今天研究一下这方面的内容,面经是不敢写了,我怕再收到律师函(狗头保命)含义:CSS即跨站脚本(Cross Site Scripting)曾经简称CSS,但是为了和层叠样式表(Cascading Style Sheets),也就是前端三大元素之一的CSS区别,因此被称为XSS。具体描述见XSS概述原理:总所周知,HTML是一种超文本标记语言,作为前端语言的“骨”,通过将一些字符特殊地对待来区别文本和标

2020-07-11 18:26:53 464

原创 避免踩坑,总结

java的Maven项目总算告一段落了,两周的工作量三天完成,又是不到残血不会秀的剧本,总结一下掉坑的一些小经验吧:统一大小写,java一些语言对于大小写是很敏感的,之前写JS也深有感触,但是SQL对于数据库字段确实不区分大小写的,为了避免数据交互的错误出现,统一大小写格式,要么全部小写,要么全部首字母大写。更新后端数据操作后,一定要清流缓存,eclipse的Tomcat真心难受,吃缓存的亏不是一次两次了。还有要注意时刻ctrl+s保存一下关键语法要拼写正确,else容易esle,这个bug头疼了我

2020-07-04 23:57:26 127

原创 关于LoginFilter extends HttpFilter类中doFilter方法默认参数

创建好LoginFilter extends HttpFilter类,导入javax.servlet.api架包,然后ctrl+/创建doFilte方法,因为我的eclipse出现的默认三个参数是:HttpServletRequest req, HttpServletResponse res, FilterChain chain为了代码美观好复用,我就把前两个参数改为了request和response,但是在后来引用getSession()方法时,居然没有提示,于是我就手敲了上去,居然报错了,一开始我

2020-07-04 18:41:34 2813

原创 避免踩坑,SQL语句书写格式也能导致出错?

感觉像捅了MySQL窝了,最近报错大多与SQL语句有关,一番排除找到了答案,但是不知到为啥,话不多少,上代码:这个是错误代码:<update id="user_update" parameterType="map"> update crm_user set User_realname=#{user_realname},User_sex=#{user_sex},User_tel=#{user_tel},User_addr=#{user_addr} where User_id=#{u

2020-07-03 10:38:28 204

原创 避免踩坑,数据库主键字段不能为空

今晚感觉要被MySQL给搞S了,进行对某一项数据进行操作时,一直报错:You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version老规矩,翻译+百度了一下,是我的SQL语句有关系,我都快把我的SQL语句看烂了,一个字母一个字母对比,结果没有问题,后来想起来这个表比较特殊,我设定了两个主键,在eclipse控制台输出了一下,对照nativecat的数据库字段,发现

2020-07-02 20:59:27 4480

原创 避免踩坑,数据库表名区分大小写

我又双叒叕掉坑里去了,之前一直嚷嚷着SQL语句不区分大小写,然后在写SQL语句的时候就非常随意了,这次一个bug让我印象太深刻了,数据库名是小写开头,但是在项目里我脑子一热写成了首字母大写,然后找个bug困扰了我一个多星期,记录一下吧。<delete id="user_del_more" parameterType="map"> delete from crm_user where User_id in (${userids})</delete>SQL语句数据库名要区

2020-07-02 17:21:13 1031

原创 解决eclipse报错

解决eclipse的Maven项目Tomcat报错Could not publish server configuration for Tomcat v7.0 Server at localhost. Multiple Contexts have a(复制到百度后面的丢失了)好不容易解决完考试,实训项目又紧赶而来,真是一波未平,一波又起,期末最后的安排真是让人无语,匆忙打开自己的eclipse,连接好MySQL,启动Tomcat,在浏览器输入地址,WTF咋又404了,我最后操作的时候没问题啊,赶紧打开页面

2020-07-02 12:39:16 337

原创 重启

纪念一下,2020年4月7日因为紧急事故不得不放弃春招,到今天继续头铁,已经过去了接近三个月,一边处理事情,一边兼顾自己的课程,算是身心疲惫吧,很庆幸自己能继续在这敲代码,不过总算挺过来了。实验室的事宜这段时间基本没参与,校赛和一个不知什么名字的比赛也没有去处理,学弟居然把后台账号密码传到了github上????这件事情我有很大一部分责任,一直说跟学弟讲讲服务器操作和git注意事项,打算等春招有了眉目之后再找个时间和学弟好好说一下,没想到事情来的这么突然。16级学长们和17级研究生学长学姐也都毕业了,因为

2020-07-02 12:23:53 116

统一UML建模图合集.zip

UML学习过程中存放的各种图,一部分是截图的范例,一部分是自己绘制的,放入回收站多少有些可惜,放在CSDN上,希望可以帮助到有缘人

2020-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除