brizer的博客

brizer写字的地方
私信 关注
布瑞泽的童话
码龄6年

https://github.com/brizer

  • 590,837
    被访问量
  • 158
    原创文章
  • 10,233
    作者排名
  • 190
    粉丝数量
  • 于 2014-09-22 加入CSDN
获得成就
  • 获得338次点赞
  • 内容获得122次评论
  • 获得225次收藏
荣誉勋章
兴趣领域
  • #前端
    #TypeScript#JavaScript#ECMAScript 6#前端框架#面试#Node.js#WebPack#React.js#Vue.js
TA的专栏
  • vue
    2篇
  • 数据结构的javascript描述
    39篇
  • 深入理解javascript
    17篇
  • 数据结构javascript
    40篇
  • javascript
    47篇
  • css
    11篇
  • Web安全
    9篇
  • Web工程化
    12篇
  • 网络
    16篇
  • PHP
    2篇
  • mongoDB
    10篇
  • .net
    2篇
  • mysql
    2篇
  • seo
    1篇
  • 操作系统
    5篇
  • IIS
    1篇
  • 业界
    2篇
  • 优秀笔记链接
    1篇
  • node
    1篇
  • React
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

安卓7.0+不root不改操作系统抓包https方案

首先安装:VirtualXposed和JustTrustMe。启动virtualXposed,安照提示赋予相应的权限。在主界面点击菜单按钮,选择"添加应用"在添加应用列表选择 “justTrustme” 和 需要抓包测试的App(比如微信、微博),并安装在 virtualXposed 中打开 xposed 应用。点击左上角菜单按钮,切换到模块。此时会看到 “justTrustme” 选项。在 “justTrustme” 选项后打钩,并按照提示,返回菜单界面重启virtualXposeddone!
原创
513阅读
0评论
1点赞
发布博客于 6 月前

fatal: The remote end hung up unexpectedly MiB fatal: early EOF fatal: index-pack failed解决方案

gitclone 文件太大无法下载解决方案当项目过大时, git clone往往会出现 fatal: The remote end hung up unexpectedly MiB fatal: early EOF fatal: index-pack failed等问题。解决方案如下:git clone时加上 --depth=1,比如:depth用于指定克隆深度,为1即表示只克隆最近一次commit.这种方法克隆的项目只包含最近的一次commit的一个分支,体积很小。但是有时候即使这样,文件还
原创
777阅读
0评论
1点赞
发布博客于 7 月前

读《增长黑客》有感

前言《增长黑客》作为互联网产品策划必读书籍,详细介绍了如何让产品发展更好,并列举了各种案例和方法论。笔者作为技术人员,阅读《增长黑客》后整理笔记于此。忙碌的朋友们可以从本文看看是否有兴趣和必要去拜读下《增长黑客》。什么是增长黑客?首先看一个业界标杆增长黑客,高手的故事:安迪·琼斯(Andy Johns)是硅谷的一名富有经验的增长黑客,曾效力于 Facebook、Twitter、Quora 等著名公司的增长部门。他的职业生涯或许可以让我们管窥一 斑。Facebook一战成名2008 年,当安迪加入
原创
7760阅读
0评论
2点赞
发布博客于 8 月前

Synergy client xxx has disconnected 解决方案

前言
原创
472阅读
0评论
0点赞
发布博客于 8 月前

从0到1基于vue搭建后台管理项目

本文主要内容是如何从0到1基于vue搭建一个后台管理项目的前端工程。示例的代码地址:https://github.com/tyuqing/vue-admin1 创建项目使用vue-cli3快速创建项目,具体的创建方法vue-cli官网上有说明。创建时大家可根据自己项目的需求选择合适的模块,我使用的配置如下图所示。其中选中了Babel, Router, Vuex, CSS Pre-proce...
原创
1002阅读
0评论
0点赞
发布博客于 1 年前

vue技术栈前端建设方案

前言主要介绍云课堂前端在CRM系统的前端建设方面的经验总结,方便其他前端人做技术选型,全栈工程师快速建站。本文适合对vue技术栈和前端工具化、工程化感兴趣的朋友。整体架构CRM系统的服务端是基于node的,前端是以vue技术栈为主的。前端部分整体架构图如下:应用层整体前端应用层基于vue技术栈的传统三大件:路由层由vue-router统一管理。基础组件库则是选择了基于vue的e...
原创
380阅读
0评论
0点赞
发布博客于 2 年前

localhost启动https的方式

本地启动一个服务,默认是http的,如果我们需要某些https的场景(比如说绕过url白名单代理或者是使用一些api特性)时,则可以自己生成证书来完成这些工作。这里以http-server作为静态服务器来展示。首先生成证书:openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.p...
原创
4123阅读
0评论
0点赞
发布博客于 2 年前

前端全局替换图片服务cdn的解决方案

前言主要介绍下当我们的产品中依赖的某一个cdn如图片服务下线后,有哪几种方案来解决和处理这种情况。分别就手动代码层替换、全局异常监控、样式图片资源处理、nginx映射修改和serviceworker的各种方法进行对比。解决方案首先,一个cdn服务如果即将下线,我们需要把资源批量导到另一个cdn中。如果资源本身都不存在了,也没有办法解决这个问题了。手动代码替换cdn服务的图片,我们在代码中...
原创
1109阅读
0评论
0点赞
发布博客于 2 年前

react可以写命令行?体验怎么样?

简介本文不介绍具体API,只是抛转引玉介绍一种思路。体验最近有一个库ink,赋予了react写命令行UI的操作。下面提供一个笔者在yoso开发时封装的一套流程:可以看到,非常流畅,这里更不谈其组件化后会有多少种可能性和效率提升。其官网也介绍了很多可以使用的组件,可以大大提高复杂型cli的效率和维护性。原理react在传统的web开发中,通过react,和react-dom两个包...
原创
218阅读
0评论
0点赞
发布博客于 2 年前

MACNTFS 3.pkg.zip

MAC NTFS 读写工具,非常方便。使用操作系统原生功能读写NTFS格式的移动硬盘。
zip
发布资源于 2 年前

使用SRI解决CDN劫持问题

CDN劫持的表现形式之前总说https的安全的。如果你遇到这么一个场景:网站是https的,cdn也是https,但是用户还是看到广告,或者直接唤起其他app等更加恶心的操作。这个时候你可以考虑下自己是否遭到了CDN劫持。劫持方非常狡猾,每天每个用户只劫持一次,或者只会在固定时间段劫持,非常难以重现。这样说明,使用CDN也存在风险,如果攻击者获得对 CDN 的控制权,则可以将任意恶意内容注...
原创
2072阅读
0评论
0点赞
发布博客于 2 年前

redis-mac-5.0.5.tar.gz

redis mac 版本客户端。 版本 5.0.5, 有时候官网上不去,可以在此下载。
gz
发布资源于 2 年前

serviceworker运用与实践

前言本文首先会简单介绍下前端的常见缓存方式,再引入serviceworker的概念,针对其原理和如何运用进行介绍。然后基于google推出的第三方库workbox,在产品中进行运用实践,并对其原理进行简要剖析。前端缓存简介先简单介绍一下现有的前端缓存技术方案,主要分为http缓存和浏览器缓存。http缓存http缓存都是第二次请求时开始的,这也是个老生常谈的话题了。无非也是那几个http...
原创
8760阅读
0评论
4点赞
发布博客于 2 年前

charles的一些用法整理

前言charles是常用的抓包工具,这里整理一下自己在使用过程中的一些经验。 首先说明,我使用的是mac端的3.11.2版本的charles。抓取Https如果不设置,默认抓取https的页面,返回值是乱码的。 1.首先下载证书 Help SSL Proxying Install Charles Root Certificate 2.信任改证书 证书下载后,会出现在系统的钥
原创
2948阅读
0评论
0点赞
发布博客于 4 年前

使用socket.io与express结合,体验websocket

前言自己于express框架的基础上,以node为服务端,基于socket.io,实现了一个建议的聊天室。 成功从服务端推送数据到客户端。 效果如下图: 将客户端的信息传递到服务端后,服务端主动推送给客户端。websocket原理简单来说,就是服务端主动推送信息给客户端。看看其与http协议的区别: websocket有如下特点: 其他特点包括:   (1)建立在 TCP 协议之上,
原创
7045阅读
0评论
2点赞
发布博客于 4 年前

Ant之build.xml配置详解

前言国内关于build.xml的配置资料太零散了,实在是受不了,故而将自己的笔记整理成博文,方便大家查阅和理解。build.xml配置参数构建文件默认叫build.xml,其有很多配置参数。project每个构建文件都有一个project标签,有以下属性: - default:表示默认的运行目标,这个属性是必须的。 - basedir:表示项目的基准目录。 - name:表示项目名。
原创
45240阅读
5评论
21点赞
发布博客于 4 年前

synergy 多台PC间共享鼠标键盘

非常方便,多台PC间共享鼠标键盘。亲测有效。
rar
发布资源于 5 年前

第一本Docker 完整版

第一本Docker书 PDF电子书下载 带书签目录 完整版
zip
发布资源于 5 年前

大型网站技术架构pdf完整版

好书,学习后比有会成长
zip
发布资源于 5 年前

浏览器跨域问题解决办法

浏览器跨域问题解决办法–前言之前在一个项目中,调用了别的部门的接口,但是由于存在跨域问题,只能进行简单的本地数据模拟调试,然后再把资源给对方进行联调。这样的方法肯定不是最佳方案,正好最近看到一篇文章,说到的就是跨域问题的解决办法,所以进行了学习和整理。同源政策首先说说同源政策,最初,它的含义是指,A网页设置的Cookie,B网页不能打开,除非这两个网页“同源”。所谓“同源”,就是三个相同:协议相同
原创
5178阅读
0评论
3点赞
发布博客于 5 年前

策略模式与开发实践

前言昨天学习了单例模式在前端中的应用实践,今天来看看策略模式的应用实践。策略模式策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 在应用中,策略模式可以用来优化具有很多不同判读分支的场景。我们先来看一个例子,根据不同的绩效成绩来算年终奖。(说到奖金我就开心,哈哈)简单的多条件判断我们根据不同的绩效来发奖金:var calculateBonus = function(
原创
623阅读
0评论
2点赞
发布博客于 5 年前

jquery的deferred使用详解

前言之前在一篇文章中写过一点when方法的使用,最近看到同事的一篇文章,又详细学习了deferred方法的各种使用技巧。特此总结。简单介绍deferred对象就是jQuery的回调函数解决方案,jQuery之前的版本在异步回调这一块做得不是很好,所以后期加上了该解决方案。普遍的ajax操作我们先来回顾一下jQuery中普通的ajax操作:$.ajax({ url: "test.html",
原创
5133阅读
0评论
3点赞
发布博客于 5 年前

jquery使用代码段

jQuery代码段前言在开发过程中,有很多代码片段是可以进行复用的,以后在此对jQuery的有用代码段进行整理,方便日后的使用。DOM操作相关嵌套的过滤器//允许你减少集合中的匹配元素的过滤器,//只剩下那些与给定的选择器匹配的部分。在这种情况下,//查询删除了任何没(:not)有(:has)//包含class为“selected”(.selected)的子节点。.filter(":not...
原创
153阅读
0评论
0点赞
发布博客于 5 年前

ps切图插件

ps切图插件,双击安装,选中图层后通过shift+F2将图层调出来,再另行保存。 前端开发必备。
atn
发布资源于 5 年前

Webpack打包React报错Unexcepted token <

其根本原因在于我们使用大于6.0版本的babel时没有正确下载完全。babel升级后拆分了模块 。你需要 npm install babel-loader babel-core babel-preset-es2015 babel-preset-react —save-dev然后 在webpack.config.js中配置:loader: "babel?presets[]=react,presets[
原创
2713阅读
0评论
1点赞
发布博客于 5 年前

转移啦!

由于学习计划的执行和强制执行机制的启用,新的学习路途采用日记制度,位于github上。
原创
1970阅读
0评论
0点赞
发布博客于 5 年前

简述浏览器渲染机制

这次简单聊聊我对浏览器的渲染机制的理解。首先需要提到几个基本概念: DOM:Document Object Model,浏览器将HTML解析成树形的数据结构,简称DOM。 CSSOM:CSS Object Model,浏览器将CSS解析成树形的数据结构,简称CSSOM。 Render Tree: DOM和CSSOM合并后生成Render Tree,如下图:Layout: 计算出Render T
原创
5790阅读
0评论
4点赞
发布博客于 5 年前

http中的204和205

基本概念http协议的200,301,302,304,404,503这些常用的状态码就不再介绍了。这里主要说一下不常见的204和205吧。204代表响应报文中包含若干首部和一个状态行,但是没有实体的主体内容。主要用于在浏览器不转为显示新文档的情况下,对其进行更新。打个比方,如果一个表单提交后会跳到a.html,如果a.html的状态码是204,则页面就不会发生跳转,而是停留在当前页面。对于a标签而言
原创
60121阅读
3评论
7点赞
发布博客于 5 年前

深入理解javascript之高级定时器

setTimeout()和setInterval()可以用来创建定时器,其基本的用法这里就不再做介绍了。这里主要介绍一下javascript的代码队列。在javascript中没有任何代码是立即执行的,一旦进程空闲则尽快执行。所以说定时器中设置的时间并不代表执行时间就一定相符,而是代表代码会在指定时间间隔后加入到队列中进行等待。如果在这个时间点上,队列中没有其他东西,那么这段代码就会被执行,表面上看
原创
3001阅读
2评论
2点赞
发布博客于 6 年前

深入理解javascript之闭包

理解闭包闭包这个东西,确实是很麻烦。之前我自己的理解也是有一点误差,所以今天将文章修改修改,争取将自己的理解进一步准确化。闭包说得通熟易懂一点,就是指有权访问另一个函数作用域的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另外一个函数,并返回。我们这里举一个例子来说明,首先我们在函数f1内部定义一个函数f2。 function f1(){    var n=999;    functio
原创
1046阅读
3评论
2点赞
发布博客于 6 年前

mysql之锁详解

锁是计算机协调多个进程或线程访问某一资源的机制。 锁的粒度就是锁的作用范围。数据库中锁的粒度从高到低依次划分为:数据库、表、页、行。 mysql的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。myisam和memory采用的是表级锁,innodb默认采用的是行级锁,但是也支持表级锁。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发性最低。 行级锁:
原创
1372阅读
0评论
1点赞
发布博客于 6 年前

win10文件名或文件路径过长导致无法删除或复制的解决办法

昨日在win10下使用npm安装grunt某插件grunt-css-sprite的时候,其调用各种插件,各插件再调用插件,导致文件名过长,无法删除。我也是在将该文件上传到github的过程中发现该问题的。自己在网上查阅了很多方法,也尝试了很多。命令行中del没有作用,批处理也不起作用,360的强力删除也没有作用。最后找到一种方法,在压缩该文件的时候选择删除源文件。但是需要注意一点,用360压缩是不起
原创
47224阅读
23评论
16点赞
发布博客于 6 年前

win压缩工具

winrar,用来压缩,也可以用来删除某些文件
exe
发布资源于 6 年前

深入理解javascript之typeof和instanceof

这次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方。typeof先来说说typeof吧。首先需要注意的是,typeof方法返回一个字符串,来表示数据的类型。语法讲解我们先看看各个数据类型对应typeof的值: 数据类型 Type Undefined “undefined” Null “object” 布尔值
原创
19378阅读
2评论
13点赞
发布博客于 6 年前

selectionHelper

selectionHelper是一款简化用户搜索的webkit浏览器插件。其和360浏览器内置的选中文本提供搜索按钮类似,不过selectionHelper支持用户选择不同的搜索引擎。而且是开源的。代码位置:https://github.com/brizer/selectionHelper
crx
发布资源于 6 年前

mysql之事务详解

我们知道,应用中的一个业务逻辑,往往由多条语句组合完成。那么我们就可以简单地将事务理解为一组SQL语句的集合,要么这个集合全部成功集合,要么这个集合就全部失败退回到第一句之前的状态。语法我们先来看看事务的语法。现在的社会比较浮躁,大家往往只在乎如何解决问题,而不去考虑问题的本质到底是什么。所以我决定先来介绍事务的语法: 1. 开启事务start transaction,可以简写为 begin 2
原创
8803阅读
8评论
6点赞
发布博客于 6 年前

Fiddler+willow使用指南

Fiddler是一个网络抓包工具,willow是一个Fiddler的插件,提供重定向和host主机等功能。安装Fiddler的安装包地址:fillder+willow解压后安装fiddler4和willow1.4.*版本。 安装成功后,启动fiddler后会出现willow插件按钮: 说明安装成功。重定向willow重定向进入willow界面后,通过右键->Add Project ->Add R
原创
17615阅读
5评论
6点赞
发布博客于 6 年前

HTML5之File文件操作

本文主要就web中的文件操作进行整理。file的属性首先看看input标签选中的文件中可以通过javascript获取的属性。 最常用的应该就是name,type和size了。还有FileReader,readAsDataURL,readAsText等实用的方法。
原创
1231阅读
0评论
2点赞
发布博客于 6 年前

git入门教程

本文介绍linux下git的基本命令行操作,windows平台类似。git是一个版本控制系统,和svn不同,它是分布式的,也就是说每一台主机上都有完整的代码。git还有着功能强大的分支系统,这个后面会详细讲到。这里不详细讲解理论知识,主要偏重于应用实验。如果未安装git,请自己先行安装。创建版本库首先选择一个合适的地方,创建空目录:使用git init命令将这个目录变成git可以管理的仓库:我们编写
原创
1592阅读
2评论
2点赞
发布博客于 6 年前

Grunt插件jshint使用指南

简单介绍下grunt的javascript语法验证插件jshint的使用。 插件官方使用地址:jsHintGrunt的插件安装过程看这篇文章:grunt安装 package.js配置如下:{ "name":"jshint-study", "version":"0.1.0", "author":"刘放", "private":true, "devDepend
原创
2221阅读
0评论
2点赞
发布博客于 6 年前

Sublime2配置less2css插件教程

我们可以通过在Sublime2中集成less2css插件来完成less文件自动转换成css文件的过程。首先,我们在sublime下载中心下载:less2css插件我们需要less2css插件来将less文件保存后自动生成css文件,less插件来将less代码高亮显示。将插件放到sublime的插件文件目录中: 由于less2css**对lessc.cmd有依赖**,所以需要下载less.js
原创
3761阅读
0评论
1点赞
发布博客于 6 年前

mysql知识大全

mysql的知识大全,很全面的资料。适合入门的学习者来学习,也适合高级程序员来回顾基础。
docx
发布资源于 6 年前

Grunt插件autoprefixer使用指南

在grunt安装、配置和应用中,我介绍了几种插件的使用。今天再介绍一个为兼容各大浏览器自动添加前缀的插件autoprefixer。要想使用它得先安装 Browserslist caniuse-db num2fraction 等插件,具体安装方法见上一篇文章。 该插件的github地址为:autoprefixer 环境配置好了后,gruntfile.js文件配置如下:module.exports
原创
4218阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之序章

ES6是新一代的javascript语言标准,我们作为web开发者,无论是前端工程师还是后端开发者都需要适当的了解。上一次正式推出ES5,还是在2009年的时候。而这次ES6却更新和添加了很多新的内容呢。相信ES6给程序世界带来的影响不会小于CSS3和HTML5。ES6包含许多新的语言功能,会使javascript更加强大而富有表现力。ES6相对于互联网来说已经不算是什么新鲜知识了,国内有阮一峰老师
原创
815阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之module模块化

多人开发javascript时伴随着命名冲突等问题,先后有了模拟块级作用域、命名空间、模块化开发等方法。之前,模块化开发一直是由第三方库来模拟的,比较知名的有AMD规范和CMD规范。两个规范分别对应requirejs和seajs。而现在,ES6提出了自己的模块化统一标准。一个ES6的模块是一个包含了js代码的文件。ES6里没有所谓的module关键字,一个模块就是一个普通的脚本文件,除了以下两个区别
原创
3466阅读
0评论
3点赞
发布博客于 6 年前

初步探究ES6之class类

类语法是ES6中新增的一个亮点特色。我们熟悉的javascript终于迎来了真正意义上的类。在之前,想要通过javascript来实现类,通常会采用如下构造函数的模式:function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.friends = ['Shelby','Co
原创
1186阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之Proxy代理

ES6中提出了一个新的特性,就是proxy,用来拦截在一个对象上的指定操作。这个功能非常的有用。举一个例子来说:var engineer = { name: 'Joe Sixpack', salary: 50 };var interceptor = { set: function (receiver, property, value) { console.log(property, 'i
原创
4250阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之Symbol类型

Symbol是在ES6中新加入的类型。正如我们所知,javascript中有以下几种类型:Undefined ,Null ,Boolean ,Number ,String, Object。但是上述类型在处理某些情况的时候是远远不够的。下面我们来举一个例子:假设我们要移动div,也需要在某些情况下判断该div是否处于移动状态,所以我们会想到给div这类的对象设置一个属性。if (element.isM
原创
991阅读
0评论
3点赞
发布博客于 6 年前

初步探究ES6之箭头函数

今天要介绍的是ES6中的箭头函数。语法我们先来看看箭头函数的语法:([param] [, param]) => { statements}param => expressionparam 是参数,根据参数个数不同,分这几种情况: () => { … } // 零个参数用 () 表示; x => { … } // 一个参数可以省略 (); (x, y) => { … } // 多参数不
原创
23818阅读
5评论
8点赞
发布博客于 6 年前

linux学习笔记

linux学习笔记。好东西啊,一定要和我的文章一起看,可以达到加倍的效果!
docx
发布资源于 6 年前

初步探究ES6之解构

语法解构可以使得我们用类似于数组或者对象文本的语法来指定数组的属性或者对象的属性。该语法比传统语法更加简便。光说可能不好理解,下面看看用传统的方法来表示数组的前三项:var first = someArray[0];var second = someArray[1];var third = someArray[2];有了解构语法后,我们可以使用下面的语法来完成同样的工作:var [first,
原创
945阅读
0评论
2点赞
发布博客于 6 年前

fiddler+willow

fiddler2和filler4以及各自版本的willow插件
zip
发布资源于 6 年前

初步探究ES6之字符串模板和剩余参数,默认参数

本文介绍一下字符串模板以及剩余参数,默认参数的概念以及使用。 先来说说字符串模板。字符串模板ES6中允许使用反引号 ` 来创建字符串,此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量${varible}。如果你使用过像C#等后端强类型语言的话,对此功能应该不会陌生。//产生一个随机数var num=Math.random();//将这个数字输出到consoleconsole.lo
原创
2770阅读
0评论
3点赞
发布博客于 6 年前

Photoshop切图

切图,顾名思义,将图片切成若干块,以供web开发使用。 原始图片如下: 直接使用切片工具简单的切图工作我们可以直接使用切图工具。比如我们需要切出左上角第二张图片。首先我们选中切片工具:shift加鼠标拖动是构建一个正方形,然后进行微调。蓝色部分就是切出来的图片,切完后存储为web所用样式即可。根据参考线切片如果是较为复杂的切图需求,建议先建立参考线。比如我们要刚才那片图片的中间四个子图片。我们首
原创
1110阅读
1评论
2点赞
发布博客于 6 年前

初步探究ES6之生成器

语法何为生成器?让我们先看看以下代码:function* quips(name) { yield "hello " + name + "!"; yield "i hope you are enjoying the blog posts"; if (name.startsWith("X")) { yield "it's cool how your name starts with
原创
899阅读
0评论
2点赞
发布博客于 6 年前

HTML5之离线应用缓存

今天说说HTML5的新特性之一:离线应用缓存。 离线应用,就是在没有网络的情况下访问Web应用程序时,实际上是访问已下载的离线文件资源,并使得Web应用程序正常运行。特性开发者需要注意三个特性:1. 离线资源缓存在开发离线应用时,必须使用一种方案来说明哪些文件资源需要在离线状态下工作。当设备处于在线状态下,被指定缓存的资源文件便会缓存到本地。此后,如果用户在离线状态下再次访问该Web应用程序,浏览
原创
2744阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之for循环和Map,Set

现在大家先想一想,如果要你遍历一个数组的元素,你会选择如何去做呢?一般都会想起for循环:for (var index = 0; index length; index++) { console.log(myArray[index]);}可惜我得告诉你,这个方法是二十年的人才应该使用的方法,在ES5中已经提出了更为简便的forEach方法,代码如下:myArray.for
原创
15849阅读
1评论
3点赞
发布博客于 6 年前

深入理解javascript之函数

函数的作用域和this的指向我已经在前面的文章中讲过,今天主要讲讲函数的绑定。函数绑定要创建一个函数,可以在特定的this环境中以指定参数调用另外一个函数。该技巧常常和回调函数与事件处理程序一起使用,以便在将函数作为变量传递的同时保留函数的代码执行环境。函数绑定看下面的例子:var handler = { message:"消息来了!", handlerClick :function(eve
原创
1111阅读
0评论
2点赞
发布博客于 6 年前

初步探究ES6之let,const和块级作用域

我们知道javascript定义变量的方式是var,但是var有几个问题。var第一个就是作用域的问题,var不是针对一个块级作用域,而是针对一个函数作用域。举个例子:function runTowerExperiment(tower, startTime) { var t = startTime; tower.on("tick", function () { ... code tha
原创
6637阅读
1评论
5点赞
发布博客于 6 年前

centOS下PHP使用mongodb详细安装过程

本文讲的是在centOS下使用mongodb的完整安装配置过程。更换yum源我们希望通过yum来安装,这样比较方法快捷,但是centOS默认的yum环境中并没有我们需要的内容,所以我们需要主动更换yum源为163的源。首先获取163源:# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo然后我们将自己本机的yum备份:#mv CentOS
原创
1750阅读
0评论
1点赞
发布博客于 6 年前

centOS下PHP使用memcached详细安装过程

网上的文章都没有完整的介绍如何配置centos下php的memcached使用环境,所以这里将自己成功配置的经验写下来。安装memcached首先是安装memcached数据库本身。我们在centos下可以通过yum下载memcached数据库本身:#yum search memcached#yum -y install memcached安装成功后,通过下面命令可以查看帮助信息:#memcach
原创
3644阅读
5评论
2点赞
发布博客于 6 年前

inline-block间隙问题

我们在使用inline-block是时候,可能会出现一个问题,就是元素之间出现间隙。我们看看代码:<style>li { display:inline-block; width:20px; height:20px; background-color:red;}ul { width:90px; background-color:blue;}</style>
    原创
    818阅读
    0评论
    1点赞
    发布博客于 6 年前

    深入理解javascript之IIFE

    IIFE的全称是Immediately-invoked Function Expression,立即执行函数表达式。在讲IIEF之前,我们首先需要区分函数表达式和函数声明。var test = function(){};这个叫做函数表达式。function test(){};这个叫做函数声明。函数表达式中的函数可以为匿名函数,也可以有函数名,但是该函数实际上不能直接使用,只能通过表达式左边的变量te
    原创
    3046阅读
    5评论
    1点赞
    发布博客于 6 年前

    深入理解javascript之继承

    继承是面向对象编程的一个基础。javascript中的继承,主要是通过原型链来实现的。原型链继承实现原型链继承的基本模式代码如下:/** * @description: 原型继承基本模式 * @author: 刘放 * @date: 2015/10/26 15:52 */ function Father(){ this.name = "刘放"; }
    原创
    991阅读
    0评论
    2点赞
    发布博客于 6 年前

    javascript延迟加载图片

    今天讲一下如何通过javascript来延迟加载图片。当一个网页中含有大量图片时,如果一开始就将图片全部加载完毕,势必会引起性能和效率上的问题,用户可能会由于等待时间过久而离开。这个时候,我们需要利用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力。基本思路如下: 给需要延迟加载的图片设置自定义属性比如lazy-src,存在图片源所在路径。然后将所有需要懒加载的图片放入一个数组,在window
    原创
    2093阅读
    3评论
    5点赞
    发布博客于 6 年前

    javascript异步编程实例

    异步函数这个术语有点名不副实,调用一个函数后,程序只在该函数返回后才能继续。Javascript程序员如果称一个函数为异步的,其意思就是这个函数会导致将来再运行另一个函数,后者取自于事件队列。如果后面这个函数是作为参数传递给前者的,则称其为回调函数。callback回调函数是异步编程最基本的方式。采用这种方式,我们把同步操作变成了异步操作,主函数不会堵塞程序运行,相当于先执行程序的主要逻辑,将耗时的
    原创
    1779阅读
    0评论
    1点赞
    发布博客于 6 年前

    C# NPOI导入Excel

    NPOI是由国人开发的一个进行excel操作的第三方库。其介绍如下:NPOI本文主要介绍如何使用NPOI将Excel数据读取。 首先引入程序集:using System.IO;using System.Reflection;using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System.Web;然后定位到文件位置:string
    原创
    3353阅读
    2评论
    3点赞
    发布博客于 6 年前

    CSS3动画

    本文就自己的理解和使用,介绍CSS3中的动画部分。 CSS3可以自定义动画来取代传统的脚本实现动画。使用CSS动画有三个主要优点: 1. 学习成本低,不需要了解javascript就能够创建动画。 2. 运行效果好,浏览器的渲染引擎会在低性能机器上采用不同方法来保证动画表现,而使用javascript来实现动画,需要非常完美的设计。 3. 让浏览器来控制动画序列,运行浏览器优化动画。比如降低
    原创
    1632阅读
    0评论
    2点赞
    发布博客于 6 年前

    深入理解javascript之arguments

    本文介绍arguments属性。 每一个函数在定义的时候都会有一个内置的arguments属性,这个arguments属性类似数组但又不是数组。它具有数组的访问方式和length属性,却又有caller,callee等属性。 我们来举一个arguments的使用例子:var func = function(a,b){ document.write(a+' '+b+' '+"");
    原创
    2243阅读
    0评论
    1点赞
    发布博客于 6 年前

    Grunt安装、配置及应用

    Grunt是前端自动化工具,其作用就是将压缩、单元检测、编译等重复性操作自动化完成。只要配置好配置文件,任务机就可以自动完成项目中的重复性任务。现在主流的工具有Grunt和Gulp,还有国内百度开源的一个FIS。Gulp比Grunt用起来更加方便,而FIS本身集成了很多东西,比较容易上手。但是我们还是以Grunt作为起点来认识前端自动化吧。安装需要安装Grunt,首先需要安装node。 node安
    原创
    3774阅读
    0评论
    1点赞
    发布博客于 6 年前

    C#中的socket编程入门实例

    Socket主要是通过TCP或者UDP协议进行多台主机之间的通讯。由于项目中用到,所以今天就结合项目需求对socket编程的C#表示进行一步一步详细的介绍。 TCP的详细过程我就不多介绍了,这个是网络基础,不明白的同学可以看TCP开启服务端对端口的监听我们都知道TCP服务端需要对某个端口进行连续监听,客户端才可以发起连接。所以我们先讲讲服务端如何打开端口进行监听。 新建一个控制台应用程序Serv
    原创
    17684阅读
    6评论
    15点赞
    发布博客于 6 年前

    C# Socket编程入门实例

    C# Socket编程入门实例,配合博文使用http://blog.csdn.net/mevicky/article/details/49000019
    zip
    发布资源于 6 年前

    flex弹性盒布局

    弹性盒布局是一个用于页面布局的全新CSS3模块功能。弹性盒布局的定义中,它可以自动调整子元素的宽和高,来很好的填充任何显示设备中的可用显示空间,收缩内容防止内容溢出。 和块级元素基于垂直方向布局以及行内元素基于水平方向布局不同,弹性盒布局的算法是方向无关的。 最基本的用法如下:div { border:1px solid black;}#box1 { display:flex;
    原创
    1054阅读
    0评论
    3点赞
    发布博客于 6 年前

    模块化的CSS

    今天主要介绍一下模块化的CSS思想。随着前端技术的发展,javascript模块化已经得到广泛运用,无论是CMD规范还是ES6的模块系统也好,都认可了模块化开发的优势。 那么CSS的模块化也是未来的一种趋势。 什么是CSS模块化,为什么CSS模块化才是未来呢?局部在CSS模块化思想中,每个文件被编译成独立的文件。这样我们就只需要使用简单通用的类选择器名字就好了,我们不再需要担心它会污染全局的变量
    原创
    925阅读
    0评论
    0点赞
    发布博客于 6 年前

    浅谈搜索引擎优化方法

    我在前面一篇文章中介绍了搜索引擎的工作原理,这里谈谈如何具体的优化网站在搜索引擎中的排名。 首先我们需要明白的是,也许有的同学不是专门搞SEO的,但是作为普通的Web开发者,也是需要具备一点搜索引擎优化的知识的。 首先,我们来看看一个对搜索引擎不太友好的网站会具有哪些特征: 1. 标题中没有包含网站的主关键字 2. 网站以大量的图片或者flash形式出现,缺少必要的文字识别,而搜索引擎对图片
    原创
    3214阅读
    1评论
    1点赞
    发布博客于 6 年前

    浅谈搜索引擎工作原理

    做为网页开发者,仅仅会编写代码完成业务功能是远远不够的,你做的网站最后需要搜索引擎这个公共入口来呈现给用户。所以搜索引擎优化是及其重要的,而要了解如何优化自己的网站从而适应搜索引擎,我们需要先了解搜索引擎的基本工作原理。搜索引擎的工作原理都是类似的,大致分为四个步骤: 1. 页面收录 2. 页面分析 3. 页面排序 4. 响应关键字查询页面收录一个网站想要被收录到百度引擎中,就需要加入到搜索
    原创
    3317阅读
    1评论
    1点赞
    发布博客于 6 年前

    Web安全之Cookie管理

    前面我们讲到过XSS攻击,其原理就是利用脚本读取用户的Cookie从而造成用户信息泄露。这里我们要介绍Cookie的几个关键属性值HttpOnly、Secure及其用法。HttpOnly该属性值的作用就是防止Cookie值被页面脚本读取。一个没有设置HttpOnly的Cookie:setcookie('name','lf');效果如下: 这段代码就可能被攻击者用脚本来获取,所以我们应该为Cooki
    原创
    1857阅读
    0评论
    1点赞
    发布博客于 6 年前

    Web安全之权限攻击

    权限攻击可以分为水平权限攻击和垂直权限攻击。水平权限攻击水平权限攻击,也叫作访问控制攻击。Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或者在判断数据所属人时从用户提交的表单参数中获取了userid。导致攻击者可以自行修改userid修改不属于自己的数据。所有的更新语句操作,都可能产生这个漏洞。攻击我们来看看攻击案例,Web应用在修改用户个人信息时,从用户提交的表单中获取use
    原创
    6340阅读
    0评论
    4点赞
    发布博客于 6 年前

    Web安全之文件操作

    网站在处理文件相关内容的时候可能会出现漏洞。分为文件上传攻击和文件下载攻击。文件上传File upload,任意文件上传攻击。Web应用程序在处理用户上传的文件时,没有判断文件的拓展名是否在允许的范围内,就把文件保存在服务器上,导致恶意用户可以上传任意文件,甚至上传木马到Web服务器上,直接控制服务器。攻击下面是处理用户上传文件请求的Java代码,这段代码没有过滤文件拓展名:PrintWriter
    原创
    1744阅读
    0评论
    1点赞
    发布博客于 6 年前

    Web安全之XML注入

    XML注入攻击,和SQL注入的原理一样,都是攻击者输入恶意的代码来执行自身权限以外的功能。 XML是存储数据的一种方式,如果在修改或者查询时,没有做转义,直接输入或输出数据,都将导致XML注入漏洞。攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响。攻击下面是一个保存注册用户信息为XML格式的例子:final String GUESTROLE = "guest_role";
    原创
    11324阅读
    2评论
    3点赞
    发布博客于 6 年前

    Web安全之SQL注入

    SQL注入攻击是通过非友好的SQL语句拼接来获取该用户没有权限访问的数据。 当应用程序将用户输入的内容,拼接到SQL语句中,一起提交给数据库执行时,就会产生SQL注入威胁。 由于用户的输入,也是SQL语句的一部分,所以攻击者可以利用这部分可以控制的内容,注入自己定义的语句,改变SQL语句执行逻辑,让数据库执行任意自己需要的指令。通过控制部分SQL语句,攻击者可以查询数据库中任何自己需要的数据,利
    原创
    1393阅读
    0评论
    2点赞
    发布博客于 6 年前

    Web安全之CSRF跨站请求伪造攻击

    CSRF全称Cross-Site Request Forgery,跨站请求伪造攻击。 其攻击原理是: 攻击者在用户浏览网页时,利用页面元素(例如img的src),强迫受害者的浏览器向Web应用程序发送一个改变用户信息的请求。 由于发生CSRF攻击后,攻击者是强迫用户向服务器发送请求,所以会造成用户信息被迫修改,更严重者引发蠕虫攻击。CSRF攻击可以从站外和站内发起。 从站内发起CSRF攻击,
    原创
    2034阅读
    0评论
    0点赞
    发布博客于 6 年前

    Web安全之XSS跨站脚本攻击

    本文主要选择常见web攻击手段之一的XSS(跨站点脚本攻击)来进行讲解,说明其攻击原理,并提出相应的解决办法。XSSXSS 攻击,全称是“跨站点脚本攻击”(Cross Site Scripting),之所以缩写为 XSS,主要是为了和“层叠样式表”(Cascading Style Sheets,CSS)区别开,以免混淆。 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代
    原创
    6128阅读
    5评论
    5点赞
    发布博客于 6 年前

    MongoDB之分片

    本文介绍分片的思想和MongoDB中的实现方法。 首先需要介绍一些基本的概念。分片分片,也叫做分区,是一种常用的数据库优化技术。其含义就是将数据拆分,将数据分散到不同机器上的过程。这样就能够使得系统可以存储更多的数据,处于更大的负载。 几乎所有的数据库软件都可以进行手动分片,通过应用程序管理不同服务器上的不同数据,查询也需要寻找正确的服务器。这样虽然可以减轻负载,但是却难以维护,比如我们向集群添
    原创
    1468阅读
    0评论
    1点赞
    发布博客于 6 年前

    MongoDB之备份与恢复

    本文主要介绍MongoDB备份的方式和恢复的办法。 MongoDB将所有的数据存在数据目录文件夹下,默认是C:\data\db,我们也可以通过dbpath来自由配置。如果只是简单的备份,我们只需要将文件夹复制即可。这种情况下我们需要关闭服务器,避免数据不同步。 MongoDB有三种方式在不需要关闭服务器的情况下就可以进行备份,分别是mongodump,主从复制以及副本集方式。mongodumpm
    原创
    4984阅读
    5评论
    2点赞
    发布博客于 6 年前

    MongoDB之聚合

    MongoDB除了基本的查询功能,还提供了很多强大的聚合工具。count和SQL中类似,用来统计集合中的文档数量总和: 聚合提供了很方便的功能,在项目实战中聚合是非常常用的手段。
    原创
    994阅读
    0评论
    1点赞
    发布博客于 6 年前

    MongoDB之索引

    本文介绍了MongoDB中索引的用法,对创建索引,删除索引有详细的介绍
    原创
    1079阅读
    0评论
    1点赞
    发布博客于 6 年前

    MongoDB之增删改查(二)

    我在上文介绍了MongoDB的增加、删除还有修改的基本操作,这里介绍下查询的一些方法。find最基本的就是find和findOne方法了。find会返回集合里面所有的文档,如果只想查看一个文档,可以用findOne。使用find的时候,shell自动最多显示20个匹配文档。MongoDB使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。 find的第一个参
    原创
    988阅读
    1评论
    3点赞
    发布博客于 6 年前

    MongoDB之增删改查(一)

    本文主要介绍MongoDB数据库增删改查操作。增mongoDB和其他关系型数据库一样,通过insert来增加数据到集合中去。 db.collectionName.insert(内容)显示数据库中所有集合:show collections删MongoDB中通过remove来删除集合中符合一定条件的文档。 remove接受一个参数,作为寻找要删除文档的条件: 当然了,也可以直接删除一整个集合,通过
    原创
    3706阅读
    0评论
    1点赞
    发布博客于 6 年前

    MongoDB安装及连接

    本文主要介绍MongoDB在windows操作系统上的安装和正常连接过程,Linux的同学请绕行。安装首先到官网上下载最新的mongoDB客户端, mongoDB官网 将下载的安装包到一个文件目录。 其中的data,log和mongo.config是手动添加上去的连接运行server文件夹中的bin文件夹中的mongo.exe,就可以正常连接数据库了,如果出现“由于目标计算机积极拒接,无法
    原创
    1004阅读
    1评论
    1点赞
    发布博客于 6 年前

    NoSQL简介

    这里介绍一下现在常用的NoSQL以及各自的特点。NoSQL是2009年突然发展起来的,现在趋于稳定的状态,市场上也有了一些比较成熟的产品。传统的关系型数据库为了保证通用性的设计而带来了功能复杂、性能开销大、价格昂贵等问题,在NoSQL中都或多或少的得到了解决。NoSQL避免了一些不需要的复杂性,有更高的吞吐量,具有高并发的特点,也具备在商用硬件上的水平拓展能力。不仅如此,NoSQL也实现了大表的自动
    原创
    1117阅读
    1评论
    1点赞
    发布博客于 6 年前

    IIS发布ASP.NET MVC4.0教程

    本文主要讲解在微软的IIS Web服务器上发布ASP.NET MVC4.0的项目的方法以及注意事项。 首先介绍如何打开IIS服务器。打开IIS在命令行中输入Inetmgr既可以打开IIS了,界面如下: 再来谈谈如何查看自己的IIS版本号。IIS版本在IIS工具的帮助下拉框中,选择 关于internet信息服务 发布接下来就介绍如何发布ASP.NET MVC4.0项目到IIS8.5 Web服务
    原创
    3272阅读
    1评论
    2点赞
    发布博客于 6 年前

    由于目标计算机积极拒绝,无法连接--mongoDB连接错误解决办法

    在安装好了mongoDB,进行连接时,会出现该问题: 解决办法如下: 创建一个配置文件:mongo.config 在配置文件中指定数据文件和日志的存放目录:数据文件dbpath=D:\mongoDB\data日志文件logpath=D:\mongoDB\log\mongo.log然后通过命令行执行配置文件 mongod 接着不要关闭命令行,打开mongo.exe文件: 就可以正常连接m
    原创
    14324阅读
    2评论
    1点赞
    发布博客于 6 年前

    深入理解javascript之防篡改对象

    javascript中对象内置有多个属性Configurable,Writable,Enumerable,Value,Get和Set,来控制属性的行为。同样的ES5也有几个方法,来指定对象的行为。我们知道,javascript中的对象是可以共享的,也是默认可拓展的://一旦将对象设置防篡改,就不能撤销了//众所周知,一般的对象是可以随意拓展的var person = {name:'liufang
    原创
    1300阅读
    0评论
    1点赞
    发布博客于 6 年前

    CSS居中小结

    今天主要谈一谈CSS中的各种居中的办法。 首先是水平居中,最简单的办法当然就是margin:0 auto;也就是将margin-left和margin-right属性设置为auto,从而达到水平居中的效果。那么其他的办法呢?容我一一道来:line-height首先介绍文字的水平居中方法:
    刘放
    利用line-height设为height的一样即可:.wr
    原创
    1315阅读
    4评论
    2点赞
    发布博客于 6 年前

    javascript模块化笔记

    本文是个人笔记链接集合。汇总了各个优秀的关于模块化开发的链接。AMD和CMD的区别http://segmentfault.com/a/1190000000733959
    原创
    843阅读
    0评论
    0点赞
    发布博客于 6 年前

    浅谈BFC和IFC

    先说说FC,FC的含义就是Fomatting Context。它是CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。BFC和IFC都是常见的FC。分别叫做Block Fomatting Context 和Inline Formatting Context。BFCBFC(Block Formatti
    原创
    10407阅读
    0评论
    4点赞
    发布博客于 6 年前

    判断两个对象内容相等

    我们知道,如果两个对象即使内容,javascript也会判断它们不相等。但是有时候,我们仅仅需要判断两个对象的内容是否相等。那么我们应该如何做到且考虑周全呢?比如说0和-0,null和undefined,是不相等的,NaN和NaN默认是不相等的。我写了一个isEqual方法,考虑到了诸多方面,代码如下: //isEqual:判断两个对象是否键值对应相等
    原创
    2888阅读
    0评论
    1点赞
    发布博客于 6 年前

    javascript多线程

    最近在项目中用到了多线程编程,所以就此处深入产开学习。众所周知,javascript是单线程的语言,单线程意味着程序会按照指定的顺序按部就班的执行下去,遇到堵塞也无法越过。我们简单地看看下面这个例子:function f1(){ console.time('time span');}function f2(){ console.timeEnd('time span');}set
    原创
    5349阅读
    3评论
    3点赞
    发布博客于 6 年前

    深拷贝

    要讲javascript的拷贝,就得先讲讲javascript中的值传递和引用传递。javascript中没有一个具体的语法来规定哪些参数是引用传递,而其他语言中都有明文规定,比如 C# 中的 ref 和 PHP 中的 & 。这也是javascript众多弊端中的一个。我们先看看下面这段代码://值传递var i = 3;var j = i;j = 4;document.w
    原创
    730阅读
    0评论
    1点赞
    发布博客于 6 年前