- 浏览: 105602 次
- 性别:
- 来自: 上海
最新评论
-
cuqing:
recommended
Git常用命令 -
cuqing:
分析得简明易懂,推荐阅读。
Git step by step 10 之merge -
nonocast:
给你一个思路,npm install underscore_ ...
javascript array 排序 -
nonocast:
form.on 'file', (field, file) - ...
formidable上传文件内存溢出 -
nonocast:
http://www.ruanyifeng.com/blog/ ...
base64编码图片
文章列表
URL一般只能由字母、数字、$ - _ . + ! * ' ( ) 等一些字符构成。那么当URL中需要用到汉字时怎么办,譬如有这样的URL: "www.test.com/search?name=张三",此时,只有通过将URL进行编码的方式进行传递了。
Javascript编/解码方法:
1、escape <----> unescape
2、encodeURI <----> decodeURI
3、encodeURIComponent <----> decodeURIComponent
...
text-flow-omit {
width:200px;
white-space:nowrap;
word-break:keep-all;
overflow:hidden;
text-overflow:ellipsis;
}
超过200px就用省略号隐藏掉,不错的啊,不用Javascript那么麻烦的处理了。
node.js 异步函数中回调函数的异常处理
- 博客分类:
- NodeJS
说实话,这里并不能给出完美的解决办法,只是等待god的降临。
目前遇到这么一个实际的问题:
要求异步的读取某个目录(用异步为了使页面不卡到那里),获取目录中所包含的文件名,譬如是这样:
func = (dir) ->
fs.readdir dir, (err, files) ->
if err exist then deal with the err
do sth.
看上去无可厚非,可是如果有这么一个要求:
func1 = (dir) ->
fs.readdir dir, (err, files) ->
do st ...
有这么一个数组:
boxes = [ { id: 1, name: 'box034' },
{ id: 2, name: 'box001' },
{ id: 3, name: 'box036' },
{ id: 4, name: 'box024' },
{ id: 5, name: 'box028' },
{ id: 6, name: 'box019' } ]
用
boxes.sort(function(a, b) {
if(a.name > b.name)
return 1
else
ret ...
看了下base64相关资料,没感觉base64有什么好的。
譬如:
1、用base64将字符串编码后,虽然肉眼看不出原来字符串的内容,但解码也太容易了吧,能起到加密的作用?
2、本来三个字符的内容经base64编码后,变为四个字符,在网络中传输的数据增加了百分之30,感觉挺可怕的。
从浅谈Base64编码看到,也许最适合base64的地方是Email了。
但是data:image/png;base64有什么作用中提到:
“网页中一张图片可以这样显示:
<img src=“http://www.letuknowit.com/images/wg.png”/>
也可以这样显示:
...
formidable上传文件内存溢出
- 博客分类:
- NodeJS
参照File upload in Node.js以及node-formidable的API,做文件的上传,代码如下:
form = new formidable.IncomingForm()
form.encoding = 'utf-8'
form.uploadDir = folder
form.keepExtensions = true
form.parse @request, (err, fields, files) ->
console.log '上传文件: ' + v.name for k,v of files
...
var name;
exports.setName = function (thyName) {
name = thyName;
};
exports.sayHello = function () {
console.log('Hello ' + name);
};
function Hello() {
var name;
this.setName = function (thyName) {
name = thyName;
};
this.sayHello = func ...
搭建Git服务器,最简单的方法,在linux操作系统下,利用SSH协议,可以很方便的搭建Git服务器,最大的优点——简单。
具体的,在linux中专门建立一个git用户,各个client将自己的公钥传给git用户,相当于各个client都可以通过该git用户直接操作系统,更不用说git clone、git fetch、git push了,该方法由于每个client相当于都可以通过git用户登录到shell,进而对服务器都有控制权限,易对操作系统造成破坏,当然也可以配置仅有git-shell权限,使之不能对操作系统有过多的权限。
利用其他工具,例如:gitosis ...
Git 之分支管理策略
- 博客分类:
- GIT
Git step by step 从此打断,学习Git不一定按照这个顺序,甚至不应该。
阮一峰够NB,博客涉猎面好广(甚至有财经类的博客),对于Git的分支管理策略,个人觉得写得不错,很多Git书上都没讲那么清楚。Git分支管理策略
就像他讲的,分支太多,的确会让人头大,所以代码库应该有且仅有一个主分支master。对外公布的版本都可以从这个分支上取到。
除了主分支master之外,还要有一个开发分支develop,用于日常开发。
然后对于特殊情况,像功能分支、预发布分支、修补分支都可以是临时性的,用完就删,将其合并到develop或mast ...
Git可以使用HTTPS、SSH等协议。
使用HTTPS协议时,每次进行push时,都需要输入用户名及密码,很麻烦。
SSH则较方便的实现了用户登录,它采用的方式是密钥验证。
用户可以在本地主机A上使用ssh-keygen,生成私钥及公钥(这两个是一对的),私钥(独自拥有)存储在本地主机A上,公钥(可公开给其他人)可以提供给远程主机B。
验证步骤:
每次本地主机A在进行git push后,远程主机B会发一串随机字符串,本地主机A用私钥对这串字符串进行加密后,传送给远程主机B,远程主机B利用本地主机A提供的公钥进行解密,如果解密成功,那么说明是可信的,允许本地主机A进行登录。
more:
...
NodeJS之Redirect
- 博客分类:
- NodeJS
根据模块化和松耦合的思想,一个简单的http服务器可分为server.js,redirector.js,redirectHandlers.js以及launcher.js模块。
server.js文件中是非常基础的http服务器代码。
redirector.js用于对重定向的处理。
而redirectHandlers.js是对各种重定向处理函数的封装。
launcher.js用于调用应用的其他模块(比如server.js中的http服务器模块)来引导和启动应用。
上代码:
server.js
var http = require("http");
var url = ...
阿里测,没事,测测吧!
阿里测自己的blog站,应该是用wordpress建的blog站,wordpress好流行啊。
JavaScript权威指南 勘误
- 博客分类:
- JavaScript
没找到官方第6版的勘误表
《JavaScript权威指南》第6版,p147,7.3节--稀疏数组
var a1 = [,,,]
0 in a1 // => ture:a1在索引0处有一个元素(注意这里)
说:当在数组直接量中省略值时不会创建稀疏数组。省略的元素在数组中是存在的,其值为undefined。
可是在紧接着的后面的一段中又说,当省略的数组直接量中的值时(使用连续的逗号)这时得到的数组也是稀疏数组,省略掉的值是不存在的。举例:
var a1 = [,];
0 in a1 // => false:a1的索引0处没有元素(注意这里)
凌乱了,赤裸裸的矛盾 ...
JS 之 eval
- 博客分类:
- JavaScript
有代码:
var geval = eval; // 我在这里
var x = "global";
function f() {
var x = "local";
geval("x += 'changed';");
return x;
}
console.log(g(), x);
输出: local global changed。
如果是这样呢:
var x = "global";
function f() {
var geval = eval; // 我在这里
...
一、单步悔棋
考虑这样一种情况,你在工作区添加了若干个文件,且修改了若干个文件。此时,你认为工作区的内容可以提交了,于是进行了提交操作,但是,刚提交上去,发现有个文件不应该被提交,那么需要进 ...