页面载入中..

回到页首回到页尾

基于 ES6 Promise 的 AJAX 简单封装

momo @ 2016.02.03 [ Development ]

基于 Promise 的 ajax 请求,可以实现链式调用,使代码结构更清晰,代码如下:

预览效果 | 源码 | 参考资料


Javascript Currying

momo @ 2016.02.01 [ Development ]

当我们把一个多参数的函数,分解为若干个但参数的函数时,我们就在进行函数柯里化(Currying)。一个小例子

参考文章:尾调用优化Thunk 函数的含义和用法

PS:柯里化的对偶是反柯里化(Uncurrying),且听下回分解吧。


querySelectorAll 和 getElementsByTagName 的区别

momo @ 2016.01.05 [ Development ]

当我们通过 tag 来选取页面元素(比如 p 元素)的时候,有两种方法,document.querySelectorAll(‘p’) 和 document.getElementsByTagName(‘p’)。他们在使用时有稍许不同,querySelectorAll 返回的是一个 Static Node List,而 getElementsBy 系列的返回的是一个 Live Node List(via)。大致可以理解为,getElementsByTagName 返回的是一个可变的对象,当 DOM 刷新的时候,这个对象里面的值也会发生改变,而 querySelectorAll 返回的是一个静态的对象,其值不随 DOM 刷新而改变,所以当页面动态刷新时,两个值是不同的。见代码:

点击查看 DEMO


El Capitan 中使用 SecureCRT 访问跳板机

momo @ 2015.12.28 [ Development ]

最近做个项目需要访问跳板机(堡垒机)中的 Oracle 数据库。需要 ssh 到某一个 IP,转发到本地 127.0.0.xxx IP 中的某一个端口。

Windows 下使用 SecureCRT 进行这个操作时溜溜的,到了 Mac(10.11.2) 下面就嗝屁了,具体表现为:

1. SecureCRT 中每次连接服务器都会提示输入密码,超级麻烦;
2. 全部设置好了以后依然无法连接到跳板机。

搜索之,翻了一大圈(使用中文关键词「mac securecrt 跳板机」),出来的结果都不甚理想。后来实在不甘心,在家大便的时候使用英文关键词搜索「mac securecrt port forwarding」,终于在官网找到了答案,现整理如下:

1. 打开 SecureCRT,按 ⌘ + , 进入偏好设置, General 中去除勾选「Use Keychain」,解决连接时保存密码不成功的问题;
2. 打开终端,输入下面的命令,绑定本地 IP(根据具体需求修改 xxx 部分);

3. 选中当前连接,按 ⌘ + enter,进入 Property 设置,选中 Port Forwarding,添加相应的转发规则(方法);
4. 双击连接,成功。

PS:SecureCRT 与第三方输入法配合使用时,会出现 Console 中无法使用快捷键(比如 ⌃ + C 中断)的现象,切换为原生英文输入法就好了。


随机数求和

momo @ 2015.12.22 [ Development ]

题设:生成 N 个随机正整数,使他们的和等于某个数。JS 实现了一下,记录之:

点击查看 DEMO备用地址) | 源码调试