SF
前端的bigboom
前端的bigboom
注册登录
关注博客
注册登录
主页
关于
RSS
js的沙箱内容
villainhr
2016-09-03
阅读 8 分钟
9.5k
市面上现在流行两种沙箱模式,一种是使用iframe,还有一种是直接在页面上使用new Function + eval进行执行. 殊途同归,主要还是防止一些Hacker们 吃饱了没事干,收别人钱来 Hack 你的网站. 一般情况, 我们的代码量有60%业务+40%安全. 剩下的就看天意了.接下来,我们来一步一步分析,如果做到在前端的沙箱.文末 看俺有没有心情...
快速入门redux
villainhr
2016-09-02
阅读 8 分钟
2.8k
redux 是fb提出的一个面向所有库或者框架的MVVM的一种思维. 相当于将react 专有的flux 提取出来。 作为一个专业库来做。这样的相当于使用react+flux构造的MVVM, 可以使用原生js + redux来写, 限制性减小了很多. 由于是借用flux的, 所以很多原理和flux 很相似. 官方提出的有三点:
markdown 编译原理
villainhr
2016-08-26
阅读 9 分钟
9.8k
所以, 这里,相对markdown语法引擎做一个简单分析。或者说,自己动手来写一个micro-markdown-parser.markdown 引擎其实并不复杂,只要你得到了对应的regexp,然后替换一下HTML tag即可. 目前市面上流行的几种markdown 解析器 无外乎就是: marker,markdown-js. 一开始,markdown是由John Gruber用Perl写出来的语法解析器. 由于...
实例讲解async的generator实现
villainhr
2016-08-25
阅读 3 分钟
7.6k
async是es6提出的一种新的异步语法. 一开始es为了解决异步,使用的是promise, 但看到满屏的then之后,就感觉自己傻逼了. 后来提出了generator, 在底层实现了一个异步的模式, 但需要手动执行. 关于如何使用generator,可以参考,how to use generator. 本文这里,不探讨怎么使用generato. 而是,如果使用generator和promise 构...
模板引擎原理&实例
villainhr
2016-08-24
阅读 6 分钟
6k
js的模板匹配是页面渲染很重要的一块. 无论是后端的同构,还是前端ajax拉取. 如果数据复杂, 那么使用js模板引擎将会是一个非常方便的工具. 常用的就有arTemplate, mustache.js等. 一个具体的特征表示符就是:<%= %>和<% %>. 当然,还有mustache的{{ }}. 不过,这里我们先不谈这些虚的, 我们来实现一个简单的模板...
web worker入门指南
villainhr
2016-08-22
阅读 5 分钟
7.5k
本文引用至: web worker由于浏览器的限制,注定了每个网页只能在一个进程程当中运行, 而且,js又只能运行在一个线程当中. 所以, 作为一名开发者来说, 对于这样的结果就只能呵呵了. 如果你想进行高复杂度的运算, 基本上就可以go die了(只要运行, 你网页基本上就崩掉了). 当然,聪明的W3C早就知道developer心里的小猫腻. 推出...
docker 实践开发
villainhr
2016-08-08
阅读 5 分钟
2.8k
本文摘自: docker 高级进阶前面几篇详细的介绍了,docker的一些基本内容和知识. 这里, 我们来实践一下,在正式环境中,docker是怎么搭建的.在开始之前,说一些docker运行时的基本原理.docker最大的特点就是虚拟化, 通过VM来获得底层的操作权限,并且利用自身的进程构建了一个庞大的集群系统, 相当于,一个docker下面,我们可以...
快速掌握dockerfile
villainhr
2016-08-05
阅读 12 分钟
7.3k
docker的images,我们可以理解为积木, 一层一层往上搭, 最后完成一个工程化的大项目. 在最初,docker实际上,只有一个静态的image(Ps: read-only). 相当于只能读, 所以, 你所有的改动并不会影响到原来的image上, 只会一层一层的叠加, 比如, 你在Ubuntu的image上面, 再接一层nodeJS的image. 实际上的结果是, 两个image叠加起...
Charles破解SSL
villainhr
2016-08-01
阅读 2 分钟
4.1k
前几天在做一个微信小工具,但是, 第一步就被难住了,因为要了解web版微信的话, 需要看一下微信的网络请求, 如果单单使用Chrome来做的话, 感觉有点蛋疼,因为太乱了,不适合做一个抓包工具. 但在MAC,则可以使用Charles这个神器,来帮助我们快速进行网络包的请求处理.所以,这里,我们来讲解一下,如果使用Charles进行SSL破解, 即...
React快速进阶
villainhr
2016-07-17
阅读 5 分钟
3.8k
React针对于props 专门提供了两种属性验证, 来保证组件的可复用性~ propTypes和defaultProps. propTypes用来设置属性是否必须, 类型等. defaultProps就是用来设置属性的默认值.
最新版React入门
villainhr
2016-07-12
阅读 11 分钟
4.4k
工欲善其事必先利其器, 因为react崇尚的是, react一体化. 即, 使用js拯救世界. 所以, 我们需要先将支持react的webpack 工具解决.
透析mysql查询语句
villainhr
2016-07-09
阅读 7 分钟
2.9k
在Mysql中,查询语句可以直接的使用SELECT语句. 关于SELECT,大概有一下几个子语句: 定义别名 提取列的时候,如果你觉得这个列名起的有点辣鸡. 那么你可以自己定义一个新的别名. 基本格式为: {代码...} 并且,你还可以对列进行简单的处理, 生成新的列. {代码...} 当然,你也可以选择不使用AS语句. 这也是可行的. {代码...} 去...
最新版mysql入门
villainhr
2016-07-03
阅读 4 分钟
2.3k
mysql 是一门关系型数据库, 不同于mongoDB 来说. mysql 需要给不同的表之间建立相互联系,以便确定完整性约束. 这里我们看看Mysql中常用的基本概念就差不多了.
浅谈括号匹配
villainhr
2016-06-24
阅读 3 分钟
3.8k
括号的匹配,无论是在web 计算器, 还是在文本输入中, 都占很大的比例. 有时候正则用多了, 在谈到括号匹配的相关内容时, 可能会剑走偏锋. 导致走上不归路. 一个很简单的方法就是使用 stack 的方法. 来实现, 括号的匹配.
聊聊python文件
villainhr
2016-06-23
阅读 7 分钟
3.6k
在了解基本的Python的built-in trick 比如, Iterator, Generator, datatype 等等. 接着, 我们就应该继续深入,了解一下编程的两大块, 1. 文件, 2. 网络.so, 这里我们先来了解一下关于python中的文件操作。python基本的文件操作全在built-in object file中. 一些基本的CRUD 操作, 可以完全在这个原生的file中完成. 那应该...
python3中的正则模块
villainhr
2016-06-18
阅读 6 分钟
5k
与正则最相关的应该算是字符串, 但是,在内置的py的str类型中, 并没有内置的正则方法. 我们可以看一下str的基本方法:我觉得最有用的,应该算find,len,split,join 这4个方法了. 但对于字符串操作来说, 这简直too too simple. 所以, py提供了我们一个Re 模块, 来帮助我们使用正则对字符串进行相关操作. 另外, py中的正则是pe...
浅谈排序算法
villainhr
2016-06-18
阅读 9 分钟
3.4k
冒泡排序(bubble sort) 是一种比较简单的排序方法, 但他的速度也是最慢的一种. 他是通过循环比较序列, 然后将大的移到后面, 小的放到前面. 更形象的理解, 可以参考 bubble sort 动态演示.这里, 我们通过对数组的比较来实现一个简单的冒泡排序.
二叉树
villainhr
2016-06-09
阅读 7 分钟
3.3k
树, 实际上是一个非常重要的数据结构, 比如,我们的进程树,文件树,HTML节点树等. 都是依赖这样的一个结构. 树,实际上是一种非线性的数据结构,但是他们是有序的. 如下图
generator
villainhr
2016-06-04
阅读 2 分钟
2k
前文我们了解如果书写一个Iterator,以及怎样在一个类中安装一个Iterator. 但,有时候我们只想要一个简单的iterator, 而且并不想这么复杂. 处于这个目的, 变成语言里面出现了generator 这个概念. 根据wiki的解释:
Iterator
villainhr
2016-06-04
阅读 3 分钟
2.1k
何谓Iterator? 实际上, 他就是一个迭代器. 在每种编程语言里面, 都有 for...of.. 或者 for...in... 等类似简便遍历。 这里遍历运用的机理就是迭代器.在python里面, 基本上所有的数据结构都有迭代器的属性. 比如: list,tuple,set,string等. 迭代器对象上有两个基本方法:
Hash Table
villainhr
2016-06-04
阅读 6 分钟
2.4k
散列表,实际上也可以叫做Hash Table. 他其实是一种数据结构, 类似字典也是key/value pair. 或者应该说,是字典 base on Hash Table. 因为散列表才是真正的key/value pair. 而本质上,hash table 的结构, 是在key与value之间加上一层映射函数的.
Python 条件 and 循环
villainhr
2016-05-31
阅读 5 分钟
4.4k
在python中, 也会出现像js一样的隐式转换. 比如:None , 0 , "" , (), [] , {}都会被转为False进行判断. 但是== 运算时, 就不会各自进行隐式类型转换了.
赋值trick
villainhr
2016-05-29
阅读 2 分钟
1.8k
python 让世人震惊的就是他的灵活, 他的灵活不仅表现在他各种各样的包, 更表现在他深层次的语法当中.比如, 赋值魔法就是一个很nice的trick.
python基础类型之dict&&set
villainhr
2016-05-29
阅读 8 分钟
3.7k
在python中, 将数据结构分类了两种,一种是序列(sequence), 另外一种是字典(dictionary). 其中,序列也就是我们前面所说的 list and tuple. 字典就是这里将要说的两种-- dict and set前面介绍了,list && set. 这里,我们就来探讨一下剩余两个datatypes
Python 中的模块和包
villainhr
2016-05-26
阅读 5 分钟
3.8k
原文引至:前端小吉米对于python中的模块和包, 我简直就想说, js nmlgb 就是一个 trash... 在前端写js根本就没有什么模块和包, 全部都是全局... 真lj...
聊聊python中的数据类型
villainhr
2016-05-22
阅读 7 分钟
4.8k
list相当于js中的array. array能做的事情, 差不多list都可以做到, 比如什么可变性,删除,添加,转变为字符串等基本操作,都是木有问题滴.我们来看一下,怎么声明一个list.
KOA框架铺垫之generator
villainhr
2016-04-19
阅读 8 分钟
5.9k
在说generator之前,大家可能心里都有一个problem~为什么不用express4.x而用KOA吗?额,您直接看结果吧~所以,由于express本省建立在connect 插件上来的. 造成的结果是,connect拖慢了整体的步伐~ TJ大神也意识到了这个问题,在express4.x后,就直接将connect独立出来. KOA实际上,也是middleware的另外一种实现方式,只是他更...
nodeJs高阶模块--fs
villainhr
2016-04-17
阅读 8 分钟
8.4k
请问大家: NodeJs只能做的两件事是什么?这也能做,那也能做~just joke~实际上,所有后台语言都能做的两件事是: 文件操作和网络编程.这其实是所有语言的根本。 计算机无外乎就是文件和通信。Linux中,是把一切都当做文件,如果理解了这一点那就无可厚非了.所以,这里,我想介绍一下NodeJS中一个重要的模块--fs.这里我给大家放...
细数js模块机制内涵
villainhr
2016-04-05
阅读 9 分钟
4.1k
母鸡吧,实际上,这个nodeJS中Module模块的内容。 说道模块,这就牵扯到整个js现存的那些优秀的模块机制呢。首当其冲的要数,AMD,然后是NodeJS的加载模块.下面,我们来了解一下内部的机制,确定上面的错误,到底代表什么.
确保你网页的安全
villainhr
2016-04-02
阅读 11 分钟
9.8k
从技术到安全, 这是一个趋势. 以前追求的是比较炫酷的技术, 等实现过后发现, 自己还能做什么. 炫技完了之后,差不多就该到悟道的时候了. 用户安全, 就是一个很大的禅. 苹果拒绝 FBI, google拒绝 替换 Michelle 图片。 这些都是保障用户安全性的一个重要示范. 而, 网页安全又是一个巨坑, 基本上没有大量的时间和精力投入...
1
2
(current)
3
4
下一页
上一页
2
(current)
下一页