Something to think about

作者:JerryXia | 发表于 , 阅读 (7)
Something to think aboutThere are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies; the other is to make it so complicated that there are no obvious deficiencies.
Success in life is a matter not so much of talent and opportunity as of concentration and perserverance.
From A Byte of Python
Saturday, Jul 20th, 2013...阅读全文

[译] 使用 bash shell 编写脚本的快速指南(翻译中...)

作者:JerryXia | 发表于 , 阅读 (24)
[译] 使用 bash shell 编写脚本的快速指南(翻译中...)原文链接:A quick guide to writing scripts using the bash shell
简单的 shell 脚本一个简单的 shell 脚本只是一点点按顺序执行的命令列表。通常,一个 shell 脚本应该从如下面的一行开始:
#!/bin/bash这表示脚本应该在 bash shell 中运行,无论用户选择了哪个交互式 shell。这是非常重要的,因为不同 shell 的语法可能有很大差异。
简单的例子这是一个非常简单的 shell 脚本示例。 它只是运行一些简单的命令:
#!/bin/bashecho "hello, $USER. I wish to list some files of yours"echo "listing files in the current directory, $PWD"ls  # list files首先,请注意第4行的注释。在一个 bash 脚本中,任何一个 #(除了第一行的 shebang之外)都被视为注释。 即 shell 解释器会忽略它。...阅读全文

使用 GitHub Comments 替换多说评论

作者:JerryXia | 发表于 , 阅读 (17)
使用 GitHub Comments 替换多说评论最近多说评论要关闭了,放在 GitHub Pages 上的静态博客需要新的评论功能了。之前有想法使用 GitHub Issues API来实现一个评论系统,目前 GitHub 已经有类似实现了,有兴趣的可以尝试一下。
GitHub Comments在看到一篇 Replacing Disqus with GitHub Comments文章之后,觉得这个思路更是简单可行。于是动手给博客主题加了一个 GitHub Comments:
首先在博客的 GitHub repo 上为文章创建一个 issue,比如为这篇文章创建的一个 issue所有的评论都是在 issue 里面发布在博客的文章页面添加一些 JavaScript 代码通过 GitHub API 获取到指定 issue 的所有评论并展示好处是显而易见的:
可以使用 Markdown进行评论,支持插入代码,图片,列表等等可以使用 GitHub 消息通知来及时回复评论对于访问博客的读者来说,几乎没有任何追踪代码了可以过滤一部分垃圾评论最重要的是你不需要申请任何 API 权限去读取 Gi...阅读全文

一个 JavaScript 控制台错误

作者:JerryXia | 发表于 , 阅读 (17)
一个 JavaScript 控制台错误Web 浏览器中的开发者工具都会提供一个控制台(或者也叫命令行)。在调试 JS 时,在控制台中打印变量或者测试代码片段都很方便。某日,在调试 JS 代码中,在控制台打印一个变量却出现ReferenceError: varialbe is not defined错误,令我感到迷惑不解。场景大致如下:
var getSth = function (key) {$.ajax({url: '/echo/json',type: 'GET',data: {key: key},dataType: 'json'}).done(function (data) {console.log(key)})}AJAX请求成功执行匿名回调函数时,console.log语句会正常打印key值。但将console.log(key)改为 console.log(data),通过开发工具在此处设置一个断点,代码执行在断点处时在控制台中打印key,则会报错ReferenceError: key is not defined。
一开始想当然的认为key变量是通过查找作用域链获得,反复调...阅读全文

基本的命令行编辑技巧

作者:JerryXia | 发表于 , 阅读 (19)
基本的命令行编辑技巧GNU Bash shell 提供了 Command line editing功能,它是由 Readline library实现的。Python 交互式命令行和 Node.js REPL等程序都实现了类似的命令行编辑功能。Command line editing 支持 Emacs-style 和 Vi-style 的命令风格,默认的是 Emacs-style。
命令行编辑基本上,Unix/Linux 系统默认就支持 Command line editing,所以打开终端,或者在终端运行 Python interactive 或者 Node REPL,都可以马上使用常规的 Emacs 的控制字符集 Control-* 了。
C-a (Control-a)移动光标到行首C-e 移动光标到行尾C-b 将光标往左移动一个位置C-f 将光标往右移动一个位置Backspace 你懂得C-d 删除光标右边的一个字符C-k 删除光标右边所有的字符C-y 拉回最后一次删除的字符C-_ 撤销最后一次操作历史替换历史替换(History Subsititution)的工作原理如下。所...阅读全文