大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

7大排序算法

var inputArr = [];n-1)个记录中选出最小的那个关键字作为有序序列的第i个记录。 const readline=require('readline') const rl=readline.createInterface({ input:process.stdin, output:process.stdout }) var arr=[] rl.on('line',(input)= { arr=input.split(/\s+/).map((item) = { return +item }) console.log(MergeSort(arr)) // Partition(arr,0,arr.length-1) rl.close() }) function MergeSort(arr) { var len = arr.length;

XSS、CSRF、点击劫持的防御

XSS、CSRF、点击劫持的防御 xss解决方案 XSS的本质还是一种“HTML注入”,用户的数据被当成了HTML代码一部分来执行,从而混淆了原本的语义,产生了新的语义。 一、HttpOnly 游览器将禁止页面的javascript访问带有HttpOnly属性的cookie HttpOnly并非为了对抗XSS——HttpOnly解决的是XSS后的Cookie劫持攻击。 如果该Cookie设置了HttpOnly,则这种攻击会失败,因为JavaScript读取不到Cookie的值。 一个Coo

初级前端与高级前端的区别究竟有多大?

初级前端与高级前端的区别究竟有多大? 随着互联网技术的飞速发展,前些年,“前端”一词变得越来越火, 不管是在网上还是日常生活中总是听到这个领域和非这个领域的人在讨论它。 有的人甚至跨行转做前端,这不仅是因为它的薪资符合大多数人的心里需求,而且 市场对于“前端”也是:求大于供。 近两年,对于许多人来说“前端”这把火似乎变得越来越小,许多人

前端异常监控神器

前端异常监控神器 有时候,看到用户的反馈,我们往往会一脸茫然,因为反馈的信息太少了。 比如有用户反馈登录不了。为了解这个问题,一般的流程是这样的:首先试试自己能不能登录网站,发现没问题;然后查看后台日志,发现最近没有登录接口相关的报错;最后根据用户反馈的时间,去后台查日志记录。结果日志记录没有错误信息。 那这个问题没法解决了!除非找出

Nodejs爬取新闻列表

Nodejs爬取新闻列表 爬取地址 https://www.thepaper.cn/ 使用到的库 superagent (页面数据下载) cheerio (页面数据解析) 代码 app.js // 引入依赖 const superagent = require('superagent'); // 读取页面数据 superagent.get(url). let postlist = getFilterHtml(res.text); }) // 过滤数据 function getFilterHtml(html) { let $ = cheerio.load(html);each((index, item) = { let elem = $(item);attr('href'), target: elem.find('.trbszan').text() } postList.push(post);

Web前端是什么?能发展到前端技术大牛吗?

Web前端是什么?能发展到前端技术大牛吗? Web前端被IT行业所重视,差不多十年。这十年的时间里,我们用web前端技术创建了一个又一个既美观又实用的网站。 大家越来越肯定它作用,如今也高端web前端开发人员依旧紧缺。而web前端技术说白了就是JavaScript、CSS、HTML等“传统”技术与Adobe AIR、Google Gears,以及概念性较强的交互式设计

Web开发工程师转型机器学习的实战经验

Web开发工程师转型机器学习的实战经验 摘要:历经两个月对深度学习和计算机视觉领域进行探索,获得一些经验与总结。 作为一名Web开发人员,我发现计算机视觉和机器学习领域的快速发展是让人感到兴奋,但是我没有任何使用这些技术的背景经验。最终,我决定用两年的时间来转型。 开始学习 在一本涵盖深度学习和计算机视觉的书出版的时候,我开始了这段转型之旅。

面向对象

面向对象 function People(name) { this.name = name; } People.prototype.sayName = function () { console.log(`my name is ${this.name}`); } var p = new People("Googler"); p.sayName();

30 Seconds of CSS代码块解读(互动篇与其他)

mouse-cursor-gradient-tracking:hover::before { --size: 200px;sibling-fade:hover选择器,那么就是默认全部span都淡出。 Counter(计数器) 实际上,计数器是由CSS维护的变量,其值可以通过CSS规则递增以跟踪它们被使用的次数。这个属性目前还没用过,也是头一次见。说明也是按照原本的英文说明进行照搬,如果还不懂,可以查看MDN的解释。具体的解释也可以参考张鑫旭大神的书《CSS世界》P.

CSS Sprite 精灵图

} span { display: inline-block; background-image: url(css/img/sidebar.png); background-repeat: no-repeat;icon1 { background-position: 0 0;icon2 { background-position: -40px 0;icon3 { background-position: 0 -25px;icon4 { background-position: -40px -25px;效果图 得到的页面 合成CSS Sprite的工具 利用雪碧图显示icon的小demo https://evenyao.github.io/css-sprite-demo/制作CSS Sprite工具详解 http://www.cnblogs.com/wang4517/p/4476758.html

怎样才能成为产品经理眼中的UI

怎样才能成为产品经理眼中的UI 在现实生活在,视觉信息总是很吸引人的眼球,好的页面设计总是能够脱颖而出,而卡片设计的应用就是一种趋势。 有数据显示移动端使用率远远高于桌面端,网页设计都能很好的适应小屏幕。这个结论就是:简单的界面风格,比如:扁平化设计,极简设计,尤其是卡片设计比往年都要流行。 卡片式网页设计 判断一个卡片设计的好坏,重点看

js闭包是什么?

} var c = a();     function demo2 () {       alert(n);

Vue与小程序的结合(mpVue)

Vue与小程序的结合(mpVue) 初始化一个 mpvue 项目 现代前端开发框架和环境都是需要 Node.js 的,如果没有的话,请先下载 nodejs 并安装。 然后打开命令行工具: # 1. 先检查下 Node.js 是否安装成功 $ node -v v8.9.0 $ npm -v 5.6.0 # 2. 由于众所周知的原因,可以考虑切换源为 taobao 源 $ npm set registry https://registry.npm.taobao.org/ # 3. 全局安装 vue-cli # 一般是要 sudo 权限的 $ npm install --global vue-cli # 4.

必看!!!数组常用的方法(ES6)

//["CHEAP", "expensive"] 三、filter:从数组中找出所有符合指定条件的元素 filter() 检测数值元素,并返回符合条件所有元素的数组。 filter() 不会改变原始数组。 使用场景1:假定有一个对象数组(A),获取数组中指定类型的对象放到B数组中 var porducts = [ {name:"cucumber",type:"vegetable"}, {name:"banana",type:"fruit"}, {name:"celery",type:"vegetable"}, {name:"orange",type:"fruit"} ];//0 10 30 60 return sum2 + number2;

浏览器的内容修改和文本编辑器

浏览器的内容修改和文本编辑器 冷门小笔记 偶尔会收集一些小知识,看到了就会记录下来. 内容修改 **在控制台输入document.body.contentEditable='true',可以使网页内容变成可编辑状态. image.png **在浏览器输入框输入data:text/html, ,可以使浏览器变成可编辑文本输入框. image.png

ReactJs开发自制Monkey语言编译器:实现内嵌函数调用以及增加数组类型

//change 16 case "ArrayLiteral": var elements = this.evalExpressions(node.elements) if (elements.length === 1 this.isError(elements[0])) { return elements[0] } var props = {} props.elements = elements return new Array(props) //change 17 case "IndexExpression": var left = this.eval(node.left) if (this.isError(left)) { return left } var index = this.eval(node.index) if (this.isError(index)) { return index } var obj = this.evalIndexExpression(left, index) if (obj ! len(s());

JS运动框架-Move.js

JS运动框架-Move.js Move.js 是一个运动的javascript库,它支持CSS3的动画,不过不需要用CSS3代码去编写,只需要用javascript编写就可以. 第一步,首先要引入这个库,可以去cdnsjs哪里去引入cdn外链点击去搜索Move.js 2.把它放到 的上面.可以可以下我放的位置. 详细可以见E盘下mx/个人宣传页-fullpage afterLoad : function(anchorLink,index){ // console.log('anchorLink:'+anchorLink,'index:'+index);section4 img.primary1').

如何阻止E,e, -, +, .的输入当input 的type是number in React JS

test(String.fromCharCode(event.keyCode))); } //render 咦,说好的一句话解决的呢!骗子,不好使!为什么呢! 仔细瞅瞅这句话,用正则验证每次输入的单个字符,即使返回false也并没有卵用啊,为了验证 哎果然,现象是一样的。 换个思路吧,其实就是想当key是e,E,+,-,.的时候阻止它的默认行为 handleKeyPress(event) { const invalidChars = ['-', '+', 'e', '.', 'E'] if(invalidChars.indexOf(event.key) !

node检测端口是否被占用

listen(port) return new Promise((resolve,reject)= { server.on('listening',()= { console.log(`the server is runnint on port ${port}`) server.close() resolve(port) }) server.on('error',(err)= { if(err.code==='EADDRINUSE'){ resolve(portIsOccupied(port+1))//注意这句,如占用端口号+1 console.log(`this port ${port} is occupied.try another.`) }else{ reject(err) } }) }) } module.exports=portIsOccupied 调用方法 const c = require('child_process'); portIsOccupied(3000) .