前端技术
文章平均质量分 74
Luncher
这个作者很懒,什么都没留下…
展开
-
electron 打包web应用
时下流行的web app打包工具主要有两个,一个是国内开发者主导的nw.js,另一个是国外大厂支撑的electron。对比了nw.js以及electron之后还是选择了electron,原因主要有以下几点:1、基于该工具已有广泛被使用的产品,如:atom、vs code等。2、在开发者中口碑比较好,有大公司参与进来,遇到问题,提个issue能很快得到响应。下载基于electron打包的Hola原创 2016-04-09 23:05:36 · 11966 阅读 · 3 评论 -
URL编解码
URI(统一资源定为标志),用于指定想要访问的资源,URI可以有各种形式,如:日常在用的URL、每本书背面的ISBN码都是URI的一种形式, 日常过程中,如果不加区分,一般说的URI都指的是URL。拿我们熟悉的URL来说:一个普通的URL: https://www.baidu.com/fuck.php?action=run#hash=1URL一般包括以下几个部分:Scheme 指定URL协原创 2015-12-20 13:22:21 · 1083 阅读 · 0 评论 -
Base64编码及其运用
说到Base64相信大家都不陌生,在web开发过程中经常可以见到它的身影。Base64是一种编码方式,常用于表示、传输、与存储二进制数据。用64个可打印字符来表示二进制数据,从而解决一些二进制数据无法使用的场景。Base64最初主要用户多用途互联网邮件扩展(MIME Email), MIME规定了用于表示各式各样数据(非英文符号数据)的符号化方法,而Base64编码就作为内容传输编码方式之一(cha原创 2015-12-19 18:10:46 · 734 阅读 · 0 评论 -
Blob
Blob(Binary Large Object)术语最初来自数据库,早期数据库因为要存储声音、图片、以及可执行程序等二进制数据对象所以给该类对象取名为Blob。 在Web领域,Blob被定义为包含只读数据的类文件对象。Blob中的数据不一定是js原生数据形式。常见的File接口就继承自Blob,并扩展它用于支持用户系统的本地文件。 构建一个Blob对象通常有三种方式:1、通过Blo原创 2016-01-01 15:00:28 · 15452 阅读 · 1 评论 -
关于Javascript函数的一些思考(一)
对于我这类从传统C/C++语言开发转到`javascript语言的开发者。一定会对其灵活程度、易用性质感到惊叹。javascript里万物皆对象,而函数又是其中重中之重。这里总结下最近对函数的一些思考。1 获取函数名 javascript 是一门支持函数式编程的语言,函数可以作为参数传递,也可以作为返回值返回给调用者。每个函数对象都有一个name属性得到当前函数的名称,如果是匿名函数则返回空字符原创 2015-11-24 21:14:59 · 478 阅读 · 0 评论 -
正则表达式炼级攻略
曾记得几年前刚接触到VIM编辑器的时候,对这玩意儿敬而远之。觉得这东西好复杂,我要写个程序得花费这么多时间来搞定编辑器,好累,非常不适合我这种急功近利型的程序员。几番折腾后看到了耗子叔叔的这篇vim练级攻略。跟着练习了几个星期,加上反复的实战。现在VIM成为了我唯一的编辑器。受这篇文章的启发决定来整个正则表达式的练级攻略。同样这里更加关注的是正则的实战部分,即利用它来解决你手头的问题,所见即所得。因原创 2015-09-05 18:09:42 · 878 阅读 · 0 评论 -
Polyfill
javascript由于各种历史原因以及前端界典型的激进的特点,导致一些好的设计和模块不能够在各种平台上运行,(这里各种平台主要指的是各巨头的浏览器加上进年火的不行的Nodejs。)但是程序员需要为其埋单,程序员需要去了解各种模块的polyfill,小到一些函数如:Object.sign,extend,clone等。大的模块有,Seajs、Requirejs这类文件模块加载模块,Promise这类担原创 2015-08-27 10:26:35 · 2186 阅读 · 0 评论 -
javascript那些事(1)
最近看到winter(寒冬)老师的一篇博文,说的是js这类基于原型的继承与普通的基于类继承方式的差异。文章最后抛出几个有意思的小练习尝试的解决了下。一般来说,创建一个对象有如下三个步骤: 1. 构建一个新对象 2. 把新对象的__proto__指向函数对象的共有对象属性:prototype 3. 以新对象为this执行构造函数Function.prototyp原创 2015-05-02 22:02:09 · 756 阅读 · 0 评论 -
cordova 社交张号插件设计
近来接触到cordova这个好东西,才知道原来web app可以这样用。用HTML5 APP开发神器 设计好了app之后,为了增加用户粘度想着把社交登陆加进去,刚好cordova支持第三方插件云编译功能。 如果是本地APP集成SNS登陆功能,都有相应的文档可以参考,QQ有客服人员,微信开放平台功能也比较单一,微博还有开发者QQ群可以互相交流学习。网上找了下SNS第三方登陆的插件还是比较欠原创 2015-04-19 23:27:49 · 1309 阅读 · 0 评论 -
微信网页授权登陆的一次查错误经历
最近一直在研究围绕微信平台的相关开发,其中踩到了不少坑,特来此记录一番,也方便交流。真想吐槽为什么微信弄个开放平台还要加一个公众平台呢?两边文档还不一样。类似的功能还得写两次。上网查了下,果然有人在喷微信文档多次误导第三方sdk写错了:) 上次接到一个任务,PC网站要支持微信第三方登陆功能。一直以为是在服务号那边做相应的配置和处理,看的是这边的文档 。尝试了多次都是提示scope没有相原创 2015-04-19 22:43:16 · 11242 阅读 · 0 评论 -
常用跨域资源请求分析
WEB开发过程中最常使用 Ajax技术来完成客户端与服务器的通信。而实现Ajax通信的XmlHttpRequest对象会带来跨域安全策略问题。简单来说,默认情况下,XHR对象只能访问与包含它的页面位于同一个域下的资源。 那么问题来了,何为跨域呢?通常,Ajax指向的地址中,二级域名/端口号/协议/必须与包含它的页面相同。举个栗子: www.tangide.com 访问 www原创 2015-03-08 22:07:19 · 1179 阅读 · 0 评论 -
async 异步流程控制
async是一个强大的异步流程控制库,其语义类似于js对数组的操作。它提供了一系列非常强大而便捷的方法,有助于我们在javascript单线程模型背景下写出优雅的逻辑控制代码。 牛刀小试先从文件操作开始初步了解async函数库的作用: 使用filter过滤出磁盘中存在的文件 const fs = require('fs'); const async = require('async')原创 2016-05-29 16:24:59 · 932 阅读 · 0 评论