75年生人,程序员,在西安。

被re-frame的版本变化坑惨了

re-frame 0.7.0 方法名是

  • register-handler

  • register-sub

re-frame 0.8.0-alpha9 方法名是

  • reg-event

  • reg-sub

结果,re-frame 0.8.0 用这两个方法名报错:

console.error: "goog.require could not find: re_frame.registrar"

原来 re-frame 0.8.0 应该是:

  • reg-event-db

  • reg-sub

比喻理解 Monad

用比喻的方式来理解,Monad 就象是协调员(或者说剧务组)。

比如说有件事的目的是需要将一组人化妆好并排演个节目。

在没有协调员(或者说剧务组)的场景可能是这样的:

  • 先设定化妆组、服装组、道具组等方法。

  • 再准备好道具、服装、化妆品等物品。

  • 再将这组人、化妆品送到化妆组化妆。(需临时安排人给这些人培训纪律(不守纪律的需要辞退处理等)、编号、指定化妆师等协调工作)

  • 再将这组人、服装送到服装组穿好服装。(需临时安排人再给这些人培训纪律、编号、指定服装师等协调工作)

  • 再将这组人、道具送到道具组现场采排。(需临时安排人再给这些人培训纪律、编号、指定助手等协调工作)

  • 以上...

ES6 Generators 简单理解

ES6 Generators (点击看原文)简单理解:

function *foo(x) {

    var y = 2 * (yield (x + 1));

    var z = yield (y / 3);

    return (x + y + z);

}

var it = foo( 5 );

// note: not sending anything into `next()` here

console.log...

测试的模拟方式(Test Doubles)

参见Martin Fowler的文章《Mocks aren’t Stubs

测试的模拟方式(Test Doubles)分类:

  • Dummy 仅仅是“傀儡”,实际啥也不做,类似占位符一般,通常仅当参数传入。

  • Fake “假货”,有可执行的实现,但通常是投机取巧的,所以不适合真实生产环境使用,比如内存数据库就是个很合适的例子。

  • Stubs “存根”、“树桩”,直接给结果的模拟方式,对于当前测试以外的情况都无法正确回应,有时也记录一下请求者的信息,比如一个email网关的Stub就会记录下发送过的邮件或邮件的数量供测试使用。

  • Mocks “模仿”,...

jQuery 获取带冒号“:”或带点“.”或带中括号“[]”等ID的DOM对象的写法

昨天遇到用jQuery取个元素取不到的问题,因为那个元素的ID是“line1.1”,一般给元素ID时都会避开特殊字符,但这个元素是动态生成的,涉及其他i18n等的问题,所以必须使用这样的ID,于是出现了脚本报错,产生了bug,查了一下原来是这样

这里要说明注意的是:

Escape之后整体传入$(afterEscaped),否则会被转意而变成另一个字串。

我就是看了那篇文章后,直接加了个替换的方法:

jqEscape: function(selector) {
    return selector.replace(/(:|\.|\[|\...

给一个年轻程序员的建议

在QQ上新认识一个24岁的年轻程序员,想当领导,觉得自己的意见不被公司重视,不想学技术了,但还是喜欢技术,会 java、Android/iOS原生开发、html5开发,聊了一会说想跟我学技术,让我给他一些建议,于是建议如下:

如果不想学技术,就学英语,多练习听说能力;

如果想当个务实的领导,看看TOC管理;

如果想扩宽视野,看看经济学或罗辑思维;

如果想学编程技术,看看函数式编程,推荐Lisp语系中的Clojure;


跟我学不如跟网上学,我也是跟网上学,我水平可能还不如你,呵呵……


不要轻易放过一个容易修改的bug

有很多根本原因,是会变着法表现最终的不良现象的。如果仅靠检验,会堵了这边漏了那边,防不胜防的~


前几天我们公司的release就遇到好几个bug,其中一个分给了我,如果我目的是尽快release,那么修改方法很简单,找到的原因是字符串变成了数字,比较时不一样了,那最快的解决办法就是把数字再转成字符串就可以通过了。


然而,这个并不是根本原因,查了代码的历史记录,这几处的代码近期都没有修改过,为什么以前没出错,现在却出错了?再继续追查下去,发现是后台回传时的数据就把字串变成了数字,昨晚下班前把这个情况通报给小组,最后今天早上其他同事才发现是后台一处处理json数据的地方修改了代码,不仅...

IE 为什么还不退出历史舞台?

很多新做的网站或应用,在IE下都会遭遇Compatible兼容模式的问题,微软搞这个模式,没多少人能弄得清楚到底怎么一回事,反正是够烂的,如果你是新做的网站或应用,通常是用Chrome或Firefox测试正常的,但要测试IE那么多版本确实是个头疼的事情,那么可以尝试在<head>中第一行加上以下代码:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

这样就可以强制让IE用最新版本渲染页面了,如果能用Chrome渲染就用Chrome了,而...

程序员相关好文推荐

谈谈程序员

  1. 程序员的思维艺术

  • 抽象思维(abstract thought)

  • 逻辑推理(Reasoning)

  • 分析(Analysis)

  • 分解(Decomposing)

  • 递归(Recursion)

  • 其他:并行、异步/同步、模拟/近似、优化、分层、封装、解耦

  1. 程序员的技艺境界

  • 初窥门径。

  • 登堂入室。

  • 熟能生巧。

  • 妙不可言。 

  1. 程序员的精神素质

  • 开放。

  • 严谨缜密。

  • 完美主义。

  • 面对变化。

  1. 程序员的价值

  • 产品向好的每一步都需要借助于程序员创造力和想象力,这才是...

1 / 22

© 世风十三 | Powered by LOFTER