Month: August 2013

  • 简易顺序执行框架attic开发笔记1

    最近业余时间在写一个叫做attic的东西。attic的灵感来自《敏捷开发》中的验收测试,比如下面的验收测试脚本: AddEmp 1429 “Robert Martin” 3215.98 Payday Verfiy Paycheck EmpId 1429 Grosspay 3215.88 这是不懂编程的人,具体来说是业务人员也能看懂的验收测试脚本。《敏捷开发》没有对脚本的执行与实现做介绍,但是我觉得我get the point了: 按照行解析执行命令(Command) 类似CSV方式解析行,因为存在空格,不能直接按照空格split 有很多命令,需要命令库或者动态加载命令 转化为程序设计就是 val context = new CommandContext file.getLines.foreach{line => createCommand(line).execute(context) } context是命令之间交互的载体,个人认为命令之间肯定存在依赖关系 createCommand完成解析和创建命令,可能是这样: def createCommand(line: String): Command = { val cmdNameAndArgs = parse(line) val cmd = Class.forName(cmdNameAndArgs.name).newInstance.asInstanceOf[Command] cmd.setArguments(cmdNameAndArgs.arguments) return cmd } 这里cmd直接用load class的方式,便于扩展。parse部分相对难一些,我暂时用空格分割实现,之后肯定要换成类似CSV解析格式。 以上就是attic开发笔记第一部分。

  • 教程:做套自己的icon font

    Part 1: Why Icon Fonts? Just because Icon Fonts are Awesome! 来谈个历史问题—— 做兼容移动设备的网页时,retina屏幕的存在导致了我们经常要为一个logo做两套图: 一套原始尺寸,另一套两倍尺寸,并且还要进行media query。 如果此时我们的logo可以随意放大缩小并且轮廓清晰的话就好了。 当然我们也可以用canvas或svg画个logo上去,但如果页面上有很多这类icon的话,这么做会累死人的…… 随着扁平化设计的流行,我们的logo、icon似乎不需要设计的那么立体化了:没有渐变没有阴影,只是单纯的纯色图形。 还记得以前在MS Word里用Wingdings字体打小图形的日子吗? ——纯色的、可缩放、轮廓清晰。 ——没错,从很早以前开始,字体就可以满足我们这个需求了。 其实Github去年就开始用icon font来做网站的icon了。 并且,github也公开了他们的octicons,供大家使用。 bootstrap开发到3.0时,也把所有的图片icon换成了icon font。 再到国内,技术龙头阿里巴巴下的一淘也公开了内部的UX图标字体库。 再根据我对淘宝的观察,他们确实也有一套自己的icon font,但是至今没有公开。 所以说,Icon Fonts已经是大势所趋了!

  • scala模拟ketama算法

    ketama是memcached客户端使用的一种一致性哈希算法。是为了解决余数实现分布不均匀的问题,在last.fm的一篇博客中首次提到。这里有一些介绍链接,其中第一篇是原博客。 http://www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_-_a_consistent_hashing_algo_for_memcache_clients http://blog.csdnnet/kangojian/article/details/6708460 http://tech.idv2.com/2008/07/24/memcached-004/ 原博客里面提到算法步骤如下: Take your list of servers (eg: 1.2.3.4:11211, 5.6.7.8:11211, 9.8.7.6:11211) Hash each server string to several (100-200) unsigned ints Conceptually, these numbers are placed on a circle called the continuum. (imagine a clock face that goes from 0 to 2^32) Each number links to the server it was hashed from, so…

  • null-safe和scala的monad

    长久以来,习惯了写如下的Java代码: User user = userService.get(1); if(user != null) { doStuff(); } 称之为null检查,亦有null != user的尤达式写法。 在学了Scala之后,知道了Option,改用如下写法:

  • 落書き20130822 – 新发型

    被某人说好久没更新博客了……于是水了一个晚上终于挤出了一张…… 上周被晾在家里了……我爸去桂林一周,某人去了千岛湖…… 于是终于有时间去烫头发了! 我敢保证,理发店的人肯定恨我,6月份我和他们说要去烫发,结果现在才去。 御用理发师不在,于是换了个人来烫,烫出来的风格也和以前差很大…… 个人觉得大概和泡面没什么太大的区别……orz 不过据说效果还好……那就还好吧…… 最近食完了《古书堂》,和文学少女比好像推理弱了点,但是很喜欢书中的氛围。 旧书店在国内见得比较少,也逛过几家,非常喜欢淘旧书的感觉~ 其实最初是有点想画翠星石的,但是没有灵感…… 我似乎是画不出同人图的人…… 最近因为物语系列有点喜欢上vofan的画,那种只用色块表达体积的方式很神奇~ 自己也瞎涂了一下,凑合凑合。

  • 千岛湖希尔顿游记

    上周六到本周一公司旅游,去千岛湖希尔顿酒店住了两天。期间没啥事情,就是在宾馆内休息放松,看看电视,游泳、健身,玩玩WII之类的。 下面这张是从四楼,也就是吃早饭的地方拍的。下面是酒店的一楼。酒店的娱乐设施基本上都在一楼,主要有三个游泳池(一个室内,两个室外),健身房,亲子乐园和两个WII(美版破解)。

  • 《七个会议》观后感

    到昨天为止,我把《七个会议》全部看完了。整体来说,题材符合我的口味,结尾发人深思。虽然可能因为集数偏少(4集)的原因,感觉人物描绘不够深入,剧情展开不足。 东山大叔在电视剧中演得,个人觉得,非常不错。特别是发型,把他在整个事件过程中的憔悴状态演绎的很好。 老实说,个人当初看《七个会议》时因为题材是公司相关的,决定追一下,同期也有一部电视剧《半泽直树》,我也是抱着同样的理由追的。但两部电视剧明显是走不同路线的,《七个会议》中作为公司机器螺丝一样存在的员工,如何处理公司的丑闻和自身价值的冲突是一个很值得人思考的问题。隐蔽虽然”保护“了公司却置大众于危险之中,追求自身价值则会导致公司的信用、经营问题甚至不复存在。 剧中东山大叔演绎的课长在两种选择之间徘徊并最终选择了后者,结果和预想一样坏,但选择的过程和《半泽直数》的名言”下属的功劳是上司的,上司的错误是下属的“、”十倍偿还“不同,个人认为是”不违背自己心里的想法,即使对公司来说是痛苦的决定“。我想这正是作为一个社会人所需要坚守的理念:与其在错误的道路上越走越远,还不如回归正途无愧于心的走下去。

  • 落書き20130808

    ミク还没画完我就开新的坑了…… 其实这张我构思了很久,最初觉得只要画出我动森里的两个造型就行了…… 但结果变成了动森里两个造型穿着泳装玩水…… 这个月动森里又换造型了,为了配合每周末的花火大会~新造型是浴衣~\(≧▽≦)/~

  • 落書き20130806

    ミクの絵また施工中……

  • 落書き20130805