Skip to content

Instantly share code, notes, and snippets.

@loskael
loskael / number_cn.js
Created July 21, 2016 14:45
number to chinese
function number_cn(num, def) {
def = def || 0;
var output = [];
var UNIT_STR = ['', '十', '百', '千', '万'];
var NUMBER_STR = '零一二三四五六七八九十';
num = Math.max(parseInt(num, 10) || def, def).toString().split('');
while (num.length) {
var val = parseInt(num.shift(), 10);
echo "======" && git log --since=2016-01-01 --until=2016-06-30 --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 } END { printf "added lines: %s\nremoved lines: %s\n",add,subs }' && git log --since=2016-01-01 --until=2016-06-30 --oneline|wc -l|awk '{print "commit counts: "$1}' && git ls-files | wc -l|awk '{print "file counts: "$1}' && find . -type f | perl -ne 'chomp;print "$_\n" if -T $_'|xargs wc -l 2>&1|tail -n1|awk '{print "line counts: "$1}' && echo "======"
1:解决中文不同的问题
function md5(str) {
  str = (new Buffer(str)).toString("binary");
  var ret = crypto.createHash("md5").update(str).digest("hex");
  return ret;
}
2:正常字符串加密
$.ajax({
type: 'HEAD',
success: function(data, state, xhr){
console.log(new Date(xhr.getResponseHeader('Date')));
}
});
@loskael
loskael / sublime-text-jshint.md
Last active August 29, 2015 14:11
sublime text 安装 jshint

首先你需要安装 node & npm & jshint

    $ npm install jshint -g

Sublime Text 安装 Package Control (略)

通过 Package Control 安装 JSHint

通过 Package Control 安装 SublimeOnSaveBuild

@loskael
loskael / sublime-text-ctags.md
Last active November 21, 2016 12:02
sublime text 中使用ctags

熟悉 vim 的人应该对 ctags 并不陌生, 首先介绍一下这货的作用:

扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来

根据这些记录, 借助sublime text 强大的插件功能, 就可以像用 eclipse 跟踪 java 代码 一样, 跟踪 javascript 代码了, 废话少说, how to do?

安装

  1. 安装 Package Control, 已安装的请忽略
  2. 通过 Package Control 中安装 ctags 插件
  3. 下载 ctags58 http://prdownloads.sourceforge.net/ctags/ctags58.zip 并解压
@loskael
loskael / http-cache.md
Last active February 18, 2022 09:29
http cache

#http cache

在调试问题时经常因为cache而导致一些问题被忽略,所以了解cache还是很有必要的

HTTP 1.0/1.1推出了Expires/Cache-Control两种策略,目前 HTTP1.0 已经很少见了,所有我们重点关注HTTP1.1的Cache-Control。

拿腾讯网为例,在浏览器输入 www.qq.com,用fiddler抓包返回:

    Cache-Control: max-age=60
    Date: Mon, 20 Jan 2014 13:12:36 GMT
@loskael
loskael / regular-expressions-lookaround.md
Last active August 8, 2018 03:10
正则匹配中的环视

正则匹配中的环视

今天在某网站订票注册填写密码的时候各种不爽,出于好奇在订完票之后打开了控制台,在表单验证的地方看到如下代码:

    // 只能为字母和数字或下划线中的两个的组合
    var regis = new RegExp("(?![a-z]+$|[0-9]+$|_+$)^[a-zA-Z0-9_]{6,}$");

匹配规则很简单字母数字下划线 至少选两个,最让人不爽的是只能是下划线,体验之差暂且不说...

@loskael
loskael / javascript-async-programming.md
Last active October 25, 2016 08:58
JavaScript 异步编程

JavaScript 异步编程

异步模式在web编程中变得越来越重要,对于Javscript来说,异步编程要解决的问题有两个:一是必须通过回调函数进行返回值的处理,另一个是复杂情况下会造成嵌套过深

目前,解决异步流程控制问题的主流方案有以下几种: ##1. 基于回调 适用于流程简单的情况,当出现过多回调的时候实现起来不是很利索,且容易使代码的可读性可维护性下降。

    var done = function(){
        console.log("done");