自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我仅仅是一个Coder

那些年,我不愿遗忘的技术

  • 博客(104)
  • 收藏
  • 关注

原创 commonjs vs commonjs2

分享请标明来自:https://www.css3.io/commonjs-vs-commonjs2.html背景在 webpack中看到了两个关键字,commonjs 和 commonjs2. 它们与模块导出有着密切关系。commonjs vs commonjs2 vs exports vs module.exportsCommonJs spec defines only exports. But

2017-03-22 16:57:06 4086

原创 javascript简单算法

分享请标明来自:https://www.css3.io/javascript-algorithm.html折半查找算法var data = [3, 12];var goal = 3;function bSearch(goal, array, indexStart, indexEnd) { if (indexStart > indexEnd) { return -1;

2017-03-22 16:55:25 783

原创 javascript继承的演变

分享请标明来自: https://www.css3.io/javascript-extend-history.html1.最简单原型继承function Super () { this.name = 'name'; this.colors = ['red', 'black']}Super.prototype.getName = function () { return

2017-03-22 16:54:04 683

原创 如何理解css的BFC抽象概念

分享请标明来自: https://www.css3.io/bfc-css.html背景BFC(Block Formatting Contexts), 这东西在css里经常被谈论到。它的难点在于,它是一个非常抽象的概念,难以让人理解。还容易与盒模型区分不开。反而如何触发它,或者它有什么使用场景倒还容易理解。这不是一篇讨论它具体细节的文章。这里只是谈谈我个人对这个抽象概念的理解。

2017-03-22 16:46:28 779

原创 GET请求与POST的秘密

分享请标明来自:  https://www.css3.io/get-vs-post.html背景以前被人问起GET请求与POST请求区别。一般人都能答出:长度、安全、浏览器后退,历史记录等行为不同get一般用于查询数据,post一般用于写入数据然后有人提出了一个杀手锏的区别,99%的人都不知道,那就是:GET产生一个TCP数据包;POST产生两个TCP数据包。对

2017-03-22 16:43:40 800

原创 bigpipe-php+nginx实战篇

分享请标明来自: https://www.css3.io/bigpipe-nginx-php.htmlphp实现分段输出demo最简单demo:echo 'hello';ob_flush();flush();sleep(1);echo 'world';这是一个最简单的BigPipe demo,然而由于fastcgi_buffer的存在,并不能看到分段输出的效果。那么,我们把程序进行一下改动,

2017-03-22 16:40:30 1425

原创 bigpipe实现理论背景篇

分享请标明来自:https://www.css3.io/bigpipe.htmlbigpipe vs 静态页面要想网页响应速度快,其实最简单可行的方法是将它生成静态页面就好了。但是有些页面不适合生成静态页面:比如首页,或者列表页,以及那些数据在实时变化的页面。像某个产品的详情页这种就适合生成静态页面,因为数据更新不频繁。所以对于那种不适合用生成静态页面来解决的场景我们怎么办呢?maybe bigpi

2017-03-22 16:38:37 1009

原创 http缓存

分享请标明来自: https://www.css3.io/http_cache.htmlhttp缓存一般浏览器都实现了 HTTP 缓存! 我们所要做的就是,确保每个服务器响应都提供正确的 HTTP 头指令,以指导浏览器何时可以缓存响应以及可以缓存多久。Expires 或 Cache-Control:max-age 组成缓存第一道“防线”。如果没有超过缓存失效时间,那么将直接

2017-03-22 16:36:34 590

原创 通过travis部署代码到远程服务器

分享请标明来自: https://www.css3.io/deploy-code-to-remote-server-with-travis.htmlkeywords: travis,travis-ci,sshpass,stricthostkeychecking,部署到远程服务器,deploy,remote server背景我的blog代码托管在github上,想通过travis在提交代码时自动发布到

2017-03-22 16:32:50 4204

原创 gitbook生成静态blog通过travis发布到github托管

分享请标明来自: https://www.css3.io/travis-gitbook-github.html背景gitbook既是一个网站,专业提供写书的地方服务。也是一个基于node平台的应用,可以生产静blog。然而它作为网站,提供了在线访问的服务,这是我用gitbook生成的静态blog:http://www.css3.io做一个这样的blog很容易,类似于github创建一个源,blog就

2017-03-22 16:30:47 1837

原创 php+hhvm

分享请标明来自:https://www.css3.io/php.html背景百度的很多项目是用php语言开发的。每当涉及到开发环境需要自己去维护时,php项目webserver的一堆东西感觉相当凌乱。促使自己必须去搞明白这些最基础的环境是如何搭建,如何配置的。以下是介绍php+hhvm的入门实践。hhvm百度的很多项目都在用时,包括百度贴吧,百度凤巢广告系统等等。 这里主要是学习搭建、配置,所有操

2017-03-22 16:28:41 2585

原创 v8引擎helloworld

分享请标明来自: https://www.css3.io/v8_helloworld.html背景v8引擎跟前端所用javascript语言密切相关。学习它有助于以后对node,以及浏览器内核学习。官方地址:https://developers.google.com/v8/目标从编译源码到运行helloworld 实战记录1.安装 depot_tools这个工具是用来管理v8源码以及依赖的,把

2017-03-22 16:25:03 3051

原创 3图带你理解rebase和merge

分享请标明来自: https://www.css3.io/rebase-vs-merge.html背景如果用一句话来描述 git rebase 和 git merge的最大区别,那就是: 两种合并所产生的log不一样。小结从上图中看,rebase与merge的区别有些体现了,即它们产生的log tree不一样。我们放大这种效果再看merge vs rebase

2017-03-22 16:21:40 5584

原创 回滚revert和reset区别

分享请标明来自: https://www.css3.io/hui-gun.html背景git是一个庞大的工具,我们要开始扫盲一些常用的命令。回滚代码在项目中必然会遇到,下面我们介绍在git中如何回滚代码。revert假设有如下commit记录A <- B <- C <- D说明:尖头方向表示parent节点,及A <- B 表示先提交了A,再提交了B情况一:现在不想要D了git revert ha

2017-03-22 16:19:49 13746 1

原创 vim undo持久化

分享请标明来自: https://www.css3.io/undo.html背景当我们在normal使用u时,可以撤销一些写入操作。比如insert模式下输入了:1234这时按一下u时,变为了:123如果你继续u时,你可以撤销一直到空。但是,中途如果文件被关闭,然后重新打开(我们经常去编辑其它文件,返回来重新打开先前的文件编辑),你会发现,不能再u了。 我们很期望重新打开文件后,可以继

2017-03-22 16:18:00 1169

原创 Shell中 2>&1理解

分享请标明来自: https://www.css3.io/in-the-shell-what-does-21-mean.html背景Shell脚本中经常看到有人这么写ls foo > /dev/null 2>&1快速理解i/o重定向我们使用cat命令,默认地将在屏幕看到如下输出$ cat foo.txthello world我们也可以用>符号将输出结果定向到另外的地方去,这就是i/o重定向$ c

2017-03-22 16:16:02 457

原创 命令行快捷键

分享请标明来自:https://www.css3.io/ming_ling_xing_kuai_jie_jian.html说明我们通常会在命令行作频繁的操作,每少敲击一个字符,也可以提高大的效率。它太频繁了,所以我们要总结。命令行下的键位与emacs的键位相同。不必追求炫酷的快捷键,最基础的练好就是最好的。注: c - ctrl m - alt/option 向前-从左到右 向后-从

2017-03-22 16:14:21 561

原创 user相关

分享请标明来自: https://www.css3.io/linux-cmd-user.htmlUseruseradd 选项 用户名选项:-c comment 指定一段注释性描述。-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。-g 用户组 指定用户所属的用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的登录Shell。-

2017-03-22 16:12:35 330

原创 linux文件权限

分享请标明来自:https://www.css3.io/linux-file-permissions.html背景在linux上部署一些服务(比如nginx,hhvm,php等)的时候经常遇到一些进程日志里爆权限不够,不能访问。这些问题实质是对linux文件权限理解不清楚造成。ls -al 查看文件的权限> ls -al test.md> -rw-r--r-- 1 lijun31 staff 394

2017-03-22 16:10:39 367

原创 如何使用yum安装最新软件包

分想请标明来自:https://www.css3.io/how-yum-install-release-soft.html背景使用yum安装软件时,会经常遇到安装的软件是老版本的,被非自己期望的release版本。这到底是怎么回事儿,得从rpm,yum,yum repositories说起。rpmRPM Package Manager 是一个包管理系统。管理着许多格式为xxx.rpm的软件,多是二进

2017-03-22 15:56:51 10725

原创 git ssh-keygen Fingerprint cannot be generated

今天遇到个神坑我想要ssh的方式链接公司的gitlab。

2014-07-30 14:24:56 11191 3

原创 xxxx

package com.systemAgent.actionScript{public class FileUpload{public function FileUpload(taskID:String,mac:String,filePath:String,file_fileSize:Number,hasUploadSize:Number,taskName:String,taskStat

2014-05-25 15:47:07 1153409 1

转载 linux 源代码 编译 安装

http://criss.blog.51cto.com/1048459/464581Linux下源代码的编译安装 使用源代码安装软件的优点获得最新的软件版本,及时修复bug根据用户需要,灵活定制软件功能 应用场合举例安装较新版本的应用程序时自由软件的最新版本大都以源码的形式最先发布当前安装的程序无法满足需要

2014-04-11 11:55:33 856

转载 解压缩命令

http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html

2014-04-11 11:52:02 2063

转载 putty window 与 linux 互传文件

用Putty实现Linux与Windows互传文件2010-10-6 11:17 Wednesday 分类:日积月累一般Linux与Windows大都使用FTP或者wget之类的工具来传输文件,Linux与Linux之间互传文件则使用scp工具。scp(secure copy)确实是个好东西,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在

2014-04-11 11:39:45 3368

原创 设计模式-门面模式与适配器模式

//门面模式var DED = window.DED || {}DED.util = { stopPropagation:function(e){ if(e.stopPropagation){ //w3 interface e.stopPropagation(); }else{ //IE interface e.cancelBubble = true; }

2014-03-26 16:59:00 1990

原创 水平居中,垂直居中

不定宽度的块级元素水平居中1,用table 居中Table不设置宽度的话,他的宽度由内部元素宽度决定,所以设置table的 margin:0 auto可实现居中;缺点,增加了嵌套,标签无语义。2,强制以display:inline;text-align:center缺点,会带来一些限制,减少了块级元素的功能,如宽高无效了。 3,父元素设置float,position

2014-03-14 17:21:42 884 1

原创 CSS Hacker

1、IE条件注释法        .test{}         2、选择符前缀法 .test{width:80px;}/*IE 6,7,8 */*html .test{width:60px;}/*only for IE 6*/注意一定是*html打头,其它如*b

2014-03-14 17:18:33 799

转载 Div 与 table 的区别

转载地址:http://software.intel.com/zh-cn/blogs/2014/02/20/div-table/?utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=others-divDiv 与 table 的区别

2014-03-05 13:04:30 2498

原创 Jquery 的attr方法与想象的不一样

Jquery 的attr方法就是为表单元素加一个属性。例如:$('body').attr('a',1);那么如果$('body').attr('disabled','disabled');那么但是,如果你想删除属性就没那么简单了。$('body').attr('disabled','');可以删除吗?答案是:不能。测试发现:$

2014-03-05 10:04:34 867 2

原创 本地对象,内置对象,宿主对象

4.3.6native objectobject in an ECMAScript implementation whose semantics are fully defined by this specification rather than by the host environmentNOTEStandard native objects are defined in thi

2014-02-26 17:20:30 1948 1

原创 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象

请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象如:1  var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;

2014-02-26 15:56:55 5424 1

原创 JavaScript中如何对一个对象进行深度clone

JavaScript中如何对一个对象进行深度clone

2014-02-26 15:55:36 4278 1

原创 网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“××年还剩××天××时××分××秒”

网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“××年还剩××天××时××分××秒”

2014-02-26 15:54:07 4064

原创 编写一个方法 去掉一个数组的重复元素

编写一个方法 去掉一个数组的重复元素

2014-02-26 15:52:27 1946

原创 编写一个方法 求一个字符串的字节长度

假设:一个英文字符占用一个字节,一个中文字符占用两个字节

2014-02-26 15:50:53 4359 1

翻译 Standard ECMA-262 5.1 Edition / June 2011 重要部分翻译

ECMA-262,5rd4.2 语言概述下面是一个ECMAScript非正式的概述,并非语言的所有部分都被阐述。这概述不属于标准文献章节的一部分。ECMAScript是基于对象的:基本的语言和宿主能力被对象提供,ECMAScirpt程序是对象间交流的集合。对象是一个无序的属性集合,每个属性又拥有零个或者多个子属性,这些子属性决定先前的父属性能够被使用----比如,当一个父属性的子属性被

2014-02-26 15:18:55 1315

原创 javascript容易搞混的方法些

String的正则方法 Match参数:可以是字符串,和正则对象。返回:数组或者null。 如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其

2014-02-26 15:14:48 722

原创 JS 弹出新窗口被拦截

如下代码: 如果通过JS脚本,控制"btnSub"按钮提交Form表单,或者在Ajax中使用window.open方法时,在某些浏览器下(比如IE6)就会出现弹出新窗口被拦截的现象。(若不是在Ajax中使用Window.open、或者用默认为提交表单类型的按钮直接提交表单时则不会出现此问题。),比如: function openDemo(){ /

2014-02-20 14:43:38 1750 1

原创 事件整理理论篇

一、类别及其区别。1、原始事件模型 (0级DOM事件,所有浏览器支持包括ie)分两种注册方式 A.作为HTML的属性值。B.作为javaSript对象的属性值。dom.onclick = function(){alert()}2、标准事件模型 (2级DOM 事件)       3、Internet Explorer 事件模型(指的是attachEvent这种ie

2014-02-19 14:14:37 803

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除