聚合文章列表
19 浏览

JavaScript学习笔记(十二)——箭头函数(Arrow Function)

x=>{if(x>0){returnx*x;}else{return-x*x;}}我们可以看一下箭头函数的语法规则:(parameters)=>{statements}本文上面的例子中,函数有一个参数。如果函数有多个参数或者没有参数,可按照下面写法:如果返回值仅仅只有一个表达式(expression),还可以省略大括号。//无参数:()=>3.14//一个参数//如果只有一个参数,可以省略括号:x=>x*x//两个参数:(x,y)=>x*x+y*y//可变参数:(x,y,...rest)=>{vari,sum=x+y;for(i=0;i{foo:x}因为和函数体的{...}有语法冲突,所以要改为://ok:x=

JavaScript 2017-11-29 发布
15 浏览

文件上传和WAF的攻与防

1前言本文的测试环境均为nginx/1.10.3PHP5.5.34有些特性和语言及webserver有关,有问题的地方,欢迎大家指正。2文件上传的特征先来了解下文件上传的特征,抓包看看这段文件上传代码的HTTP请求。upload.php

JavaScript 2017-11-29 发布
20 浏览

AJAX从入门到放弃

AJAX简单介绍AJAX即"AsynchronousJavascriptAndXML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术;AJAX=异步Javascript和XML;通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页某部分进行刷新;传统网页(不使用AJAX)如果需要更新内容,必须重新加载整个网页。AJAX的使用创建对象XMLHttpRequest对象是AJAX的基础;所有现代浏览器均支持XMLHttpRequest对象(IE5和IE6使用ActiveXObject)。为了兼容各个浏览器,我们应该先检查是否支持XMLHttpRequest,如果支持则创建;否则则创建ActiveXObject。//创建核心对象varxmlhttp;if(window.XMLHttpRequest){//codeforIE7+,Firefox,Chrome,Opera,Safarixmlhttp=

JavaScript 2017-12-19 发布
AD 友情赞助
18 浏览

深入浅出 - vue变化侦测原理

深入浅出-vue变化侦测原理其实在一年前我已经写过一篇关于vue响应式原理的文章,但是最近我翻开看看发现讲的内容和我现在心里想的有些不太一样,所以我打算重新写一篇更通熟易懂的文章我的目标是能让读者读完我写的文章能学到知识,有一部分文章标题都以深入浅出开头,目的是把一个复杂的东西排除掉干扰学习的因素后剩下的核心原理通过很简单的描述来让读者学习到知识关于vue的内部原理其实有很多个分支,变成侦测算一个,模板编译算一个,virtualDOM算一个,整体运行流程算一个,大概有这么四个部分今天主要把变化侦测这部分单独拿出来讲一讲如何侦测变化?关于变化侦测首先要问一个问题,在js中,如何侦测一个对象的变化,其实这个问题还是比较简单的,学过js的都能知道,js中有两种方法可以侦测到变化,Object.defineProperty和ES6的proxy到目前为止vue还是用的Object.defineProperty,所以我们拿Object.defineProperty来举例子说明这个原理。这里我想说的是

JavaScript 2017-11-29 发布
15 浏览

详谈Javascript类与继承

本文将从以下几方面介绍类与继承类的声明与实例化如何实现继承继承的几种方式类的声明与实例化类的声明一般有两种方式//类的声明varAnimal=function(){this.name='Animal';};//ES6中类的声明classAnimal2{constructor(){this.name='Animal2';}}实例化就比较简单,直接用new运算符newAnimall()newAnimal2()这些比较简单,简单介绍一下就可以了。接下来,介绍本文的重点内容,继承。如何实现继承实现继承的方式主要有两种:第一种借助构造函数实现继承先看个了例子functionParent1(){this.name='parent1';}functionChild1(){Parent1.call(this);//这里的call用apply也可以this.type='child1';}console.log(newChild1());输出结果可以看到,生

JavaScript 2017-11-29 发布
19 浏览

Nuxt框架实践

前言今天抽空过了遍nuxt文档,写了个实践demo,关于nuxt我已经断断续续看了好几遍了,自我感觉也算是入门了吧,从开发到上线心里都有底。后期打算在项目用起来的是nuxt框架,一些函数工具库,比如ramda,lodash等等,后台服务估计会使用###fastify这个库,目测非常方便,尝试尝试。基础只是还是以官方文档为主,尝试过程中如果有什么问题可以留言,看到会回复,文章如有错误,欢迎指正。预处理器的使用安装需要的loader后指定lang就可以直接使用。npmilessless-loader--save--dev//全局csscss:[{src:'static/less/base.sass',lang:'less'}],//页面中使用页面loading//禁用module.exports={loading:false}//颜色条module.exports={loading:{color:'#3B8070'}}//使用组件添加一个

JavaScript 2017-11-29 发布
AD 友情赞助
16 浏览

2017 年中国技能大赛(网站设计)参赛感悟

前言有幸在公司组织下,参加了2017年中国技能大赛(网站设计)决赛,决赛完毕,公布一下大赛源码,及相关感悟吧!关于大赛大赛是市一级大赛,还有开幕式等仪式。比赛为期一天,分为上午和下午场,考试题目请查看:https://github.com/confidence68/Tic-Tac-Toe_byexam/blob/master/%E5%86%B3%E8%B5%9B%E8%AF%95%E9%A2%98/%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1_%E5%86%B3%E8%B5%9B%E6%A0%B7%E9%A2%98.pdf上午场主要是页面重构,制作自适应网站,不过时间比赛时间只有2个小时,时间很紧。下午场只要制作Tic-Tac-Toe游戏,用php制作。时间也是2个小时。我考试之前做了一遍题目,题目已经上传了github,https://github.com/confidence68/Tic-Tac-Toe_byexam/tree/master/Tic-Tac-Toe感悟考试和公司写

JavaScript 2017-11-29 发布
17 浏览

web 的回流与重绘及优化

最近看了幕课网web前端性能优化的课程,其中说到了浏览器的回流(reflow)及重绘(repaint)。觉得以后面试或许会被问到所以做一下笔记:课程从回流及重绘这两个点延伸出了一个知识点就是"css会影响javascrip执行时间导致javascript脚本变慢"。浏览器渲染一个网页的时候会启用两条线程:一条渲染javascript脚本,另一条渲染ui即css样式的渲染。但这两条线程是互斥的。当javascript线程运行的时候ui线程则会中止暂停,反之亦然。那这是为什么呢?原因是,当ui线程运行对页面进行渲染的时候js脚本难免会设计到页面视图上的一些样式的改变,为了使这个改变更加准确js脚本只好等待ui线程渲染完成的时候才去执行。所以当一个页面的元素样式改动频繁的时候ui线程就会持续渲染,造成js代码反应慢半拍,卡顿的情况。那回流和重绘究竟是什么呢?为什么他们的威力会那么大呢?回流:当rendertree的一部分或全部的元素因改变了自身的宽高,布

CSS 2017-11-29 发布
20 浏览

CSS overscroll-behavior

overscroll-behavior是CSS的新属性,允许开发者覆盖默认的浏览器滚动行为。CSS用来控制浏览器的滚动行为,大家可能熟悉的是CSS的overflow属性。而对于overscroll-behavior属性应该还是很陌生。那么今天我们就来简单的了解这个属性。CSSScrollSnapPoints新规范草案提出了几个新的CSS属性,主要为触控以及输入设备的用户提供一个流式、精确的滚动体验。如果你从未接触过有关于CSSScrollSnapPoints相关的知识,可以点击这里进行了解。虽然CSSScrollSnapPoints规范中提供的属性,能帮助我们改善触控以及输入设备的用户体验,但对于设备的下拉刷新的行为,还不能很好的进行控制。那么CSS的overscroll-behavior这个属性就可以帮助我们修改浏览器的默认行为。overscroll-behavior属性允许用户在到达内容的顶部或底部时覆盖浏览器的默认行为——溢出滚动行为。包括禁用移动端的下拉刷新(pull-to-

CSS 2017-11-29 发布
AD 友情赞助
15 浏览

EXTtreeGrid分页

这个东西整了两天,关键在于要两个stroe,之所以要两个因为treestroe在分页的时候接受不了返回的总行数,不过有个问题就是第二页分页后显示在没有根节点的行层级显示不是那木明显;------------------------------------------------------------------------------------------------我是帅气的分割线----------------------------------------------------------------------------------------------------------------------varme=this;//重新定义序号Ext.grid.PageRowNumberer=Ext.extend(Ext.grid.RowNumberer,{width:40,renderer:function(value,

.Net 2017-11-29 发布
16 浏览

数据权限设计——基于EntityFramework的数据权限设计方案:一种设计思路

首发于极乐科技写文章登录数据权限设计——基于EntityFramework的数据权限设计方案:一种设计思路极乐君5hoursago正文前言:“我们有一个订单列表,希望能够根据当前登陆的不同用户看到不同类型的订单数据”、“我们希望不同的用户能看到不同时间段的扫描报表数据”、“我们系统需要不同用户查看不同的生产报表列”。诸如此类,最近经常收到项目上面的客户提出的这种问题,即所谓的“数据权限”,经过开会讨论决定:在目前的开发框架上面搭建一套通用的数据权限功能。一、大话权限模块有了上面的引言,自然而然就引出了今天需要和大家讨论的话题——数据权限。作为开发人员,我们肯定知道,一般的系统都离不开权限模块,它是支撑整个系统运行的基础模块。而根据项目类型和需求的不同,权限模块的设计更是大相径庭。但不管怎么变,权限模块从大的方面来说,可以分为两种大的类型:功能权限和数据权限。功能权限:主要控制不同的资源主体(用户、角色、组织等)有操作不同的资源的权限。比如常见的不同的角色能访问不同的页面(菜单权限),以及具有操作同一页面的不同功能(按钮权限)等

.Net 2017-11-29 发布
15 浏览

手把手教渗透测试人员打造.NET可执行文件

原文地址:https://www.peew.pw/blog/2017/11…bles-for-pentesters背景于是,我们将JavaScript嵌入网站的登录页面,提醒用户当前的应用程序需要安装一个浏览器插件才能正常使用,然后诱骗用户下载相应的“插件”。最初的时候,我们尝试利用一个HTA文件在用户的系统上执行PowerShell命令,以便建立一个连接我们的服务器(CobaltStrike)的C2通道。但由于某种原因,这种方法在我们的目标系统上面无法正常使用。后来,我们在自己的多个系统上对这种攻击方法进行了尝试,结果一切正常,所以我们不知道HTA是被某些东西拦截了,还是引起了用户的怀疑,或者用户被HTA文件给搞糊涂了。不过不用担心,我们只要把HTA换成了一个定制的exe文件,我们的成功率就能超过50%。然而,exe文件(也称为可移植可执行文件,也就是PE,因为它包含了由Windows运行所需的全部信息)的问题在于,它通常情况下必须写入磁盘,但是这样一来,它就很容易被AV软件发现。我们知道,各种红队工具(

.Net 2017-11-29 发布
AD 友情赞助
13 浏览

NuGet实践

S;R工作中接触到了yara,yara在windows上编译是通过vs2015编译的,其中用到了openssl和jansson的第三方库,其中作者VictorM.Alvarez用的是nuget进行三方库管理的,感觉这个解决方案还不错,比自己去下载源码编译lib要方便一点儿,所以记录一下。vsSolution实际测试首先需要在项目的根目录下创建一个NuGet.Config的文件,这个应该是方便vs的NuGet进行索引

.Net 2017-11-29 发布
17 浏览

如何在 .NET Core 的 Console App 使用 DI ?

VisualStudio在ASP.NETCoreWebApplication的template中,預設已經可使用DI,若要在consoleapp也使用DI,需要另外設定。VersionVisualStudio201715.4.5.NETCore2.0Microsoft.Extensions.DependencyInjection2.0.0安裝NuGet套件GUI安裝在project選擇Dependencies按滑鼠右鍵選擇ManageNuGetPackages...DI主要是在Microsoft.Extensions.DependencyInjection套件裡,consoleapp預設沒有安裝,需要手動自行安裝。選擇Browse輸入DependencyInjection選擇Microsoft.Extensions.DependencyInjection套件按Install安裝套件安裝完成後,在Dependencies下的NuG

.Net 2017-11-29 发布
9 浏览

vue插件小计

vue今天做的项目有些知识点还是有必要整理一下,并要掌握的。图片懒加载vue-lazyload首先先看一下原理其实这个没必要一下看懂,留着以后慢慢看。但是下边的原理简述大家估计可以看得明白些原理简述1.vue-lazyload是靠指令来实现懒加载的,通过在Html里加入v-lazy指令:<divv-lazy='图片路径'><div>2.指令被bind时会创建一个listener,并将其添加到listenerqueue里面,并且搜索targetdom节点,为其注册dom事件(如scroll事件)3.上面的dom事件回调中,会遍历listenerqueue里的listener,判断此listener绑定的dom是否处于页面中perload的位置,如果处于则加载异步加载当前图片的资源4.同时listener会在当前图片加载的过程的loading,loaded,error三种状态触发当前dom渲染的函数,分别渲染三种状态下dom的内容属性key和它的值如图所示,都是它的一些属性,通过不同的属

vue.js 2017-11-27 发布
13 浏览

自己写了基于vue2的ui组件库,样式借鉴semantic-ui

Fish-uiVue.js2.0UIToolkitforWeb.https://myliang.github.io/fish-ui/https://github.com/myliang/fish-uiInstallnpminstalllessless-loader-Snpminstallfish-ui-SQuickStartImportallcomponentsimportVuefrom'vue'importFishUIfrom'fish-ui'Vue.use(FishUI)ManuallyimportimportButtonfrom'fish-ui/src/components/Button.vue'import'fish-ui/styles/base.less'import'fish-ui/styles/button.less'Andifyoustartwithvue-webpack-boilerplatebyvue-cliDemo

vue.js 2017-11-27 发布
15 浏览

veu+node+mysql个人博客从零开始到部署上线(从零开始)

学习笔记,本篇未完,后续会慢慢补充...在线地址:cl8023.comgithub准备工作安装node,这是必须的新版node自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西。验证是否安装成功:推荐windows下终端工具:cmdernpm安装vue-cli使用npm下载依赖包是可能有些慢,所以这里可以换上淘宝的镜像cnpm。打开终端(可以在任何位置),输入npminstallcnpm-g--registry=https://registry.npm.taobao.orgcnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm。现在来安装vue-cli:输入npminstall-gvue-cli或者cnpminstall-gvue-cli命令中-g表示全局安装,会安装到node安装目录下的node_modules文件夹下,看看里面是不是多了vue-cli文件夹vu

vue.js 2017-11-28 发布
12 浏览

veu+node+mysql个人博客从零开始到部署上线(部署上线)

学习笔记,本片未完,后续会慢慢补充...在线地址:cl8023.comgithub云服务器阿里云or腾讯云阿里云服务器品牌:ECS(ElasticComputeService)腾讯云服务器品牌:VCM(CloudVirtualMachine)两者都可以,具体可以根据自己的需求,都说阿里云稳定,腾讯云便宜,我自己买时发现两者入门级的价格都差不多,就买了阿里云的,以下即以阿里云的服务器操作。(腾讯云服务器操作应该也类似)购买阿里云服务器ECS入门级最低配即可,一年300多,每月几十块钱,也可以月付,那样就贵点。中间有些选项默认就可,镜像选择公共镜像-CentOS-7.464位(最新的)图中密码用来之后远程登陆服务器使用。登陆服务器阿里网页登陆在管理控制台-实例中可以看到刚刚购买的服务器点击远程连接,出现登陆界面,第一次进入会弹出一个密码,记住这个密码(只会出现一次),之后登陆输入这个密码即可进入阿里云服务器ECS系统。客户端工具远程登陆Mac终端中输入:SSHroot@服务器IP地址(公)(

vue.js 2017-11-28 发布
16 浏览

[译] 5个Vuex插件,给你的下个VueJS项目

原文:5VuexPluginsForYourNextVueJSProject作者:AnthonyGore使用Vuex来管理Vue的状态,有很多好的理由。其中之一就是,通过Vuex插件可以非常容易的扩展一些很酷的功能。Vuex社区中的开发人员已经创建了大量的免费插件供你使用,有许多你能想象的功能,还有一些你可能没有想到的功能。在本文中,将向你展示5个特性,你可以通过Vuex插件轻松地添加到下一个项目中。状态持久化同步标签页、窗口语言本地化管理多个加载状态缓存操作1.状态持久化vuex-persistedstate使用浏览器的本地存储(localstorage)对状态(state)进行持久化。这意味着刷新页面或关闭标签页都不会删除你的数据。一个很好的例子就是购物车:如果用户不小心关闭了一个标签,他们可以重新打开并回到之前页面的状态。2.同步标签页、窗口vuex-shared-mutations可在不同的标签页之间同步状态。它通过mutation将状态储存到本

vue.js 2017-11-28 发布
14 浏览

小白的 --Vuex 入门理解

我相信很多小白跟我一样一接触到vuex时候也是一头雾水吧,我从<<vue实战>>一书中学习到的知识再加上自己的理解做了一个简单明了的demodemo截图github地址:https://github.com/DavidWuJay...欢迎给我star到时候我也会把高级方法的理解结合demo一起更新

vue.js 2017-11-28 发布
AD 友情赞助