Smilingleo's Blog

JSON解析利器---JQ

3/26/2016 3:16:45 AM

在API first的时代,json作为最常用的格式,充斥着程序猿的屏幕各个角落,掌握一门解析、过滤、转换json输出的工具,已经成为程序猿们安身立命的必要技能。 这里隆重向大家介绍[jq](https://stedolan.github.io/jq/).

Function的协、逆变

2/5/2016 1:16:45 AM

泛型编程的时候,协变(covariant)还是逆变(contravariant)很重要,在设计上层API接口的时候,正确的使用协变、逆变可以更好地约束程序员的行为,让实现变得安全、一致。

用Mixin组合实现Scala中的AOP

8/13/2015 6:16:45 PM

在Java世界,AOP(Aspect Oriented Programming, 面向方面编程)是很多框架的基础。这种将关注点按照“方面”来切分的编程模型极大地简化了编程的复杂度,尤其是在多维度因子交织在一起的时候的各种场景。对于代码的可读性、可维护性、可重用性都是极大的帮助。

Scala雾里看花

4/24/2015 3:16:45 AM

Scala的学习过程中,经常会碰到一些莫名其妙的现象,很多时候,这些语言层面的“怪象”都与scala编译器或者scala的类型系统有关。本文不是对编译器和类型系统的介绍,而是重点介绍遇到这些现象的时候,用什么样的方式,拨开云雾见蓝天,通过这些工具获取一些细节帮你了解编译器和类型系统如何工作。工欲善其事,必先利其器。

MySQL Master/Slave Replication on Docker

4/21/2015 3:16:45 PM

How to setup Mysql master/slave replication.

Scala函数式异常处理

5/4/2014 3:16:45 PM

经常看到很多示例代码,简洁的让人爱不释手,可是真正自己实现的时候,不得不添加各种各样的异常处理逻辑,最后发现代码总量的80%都是再做异常处理,而真正的代码逻辑只有很少的一部分。

高种泛型 (Generics of a Higher Kind)

1/9/2014 3:16:45 AM

Generics of a Higher Kind翻译加自我理解。

map/flatMap/for in Action

12/2/2013 3:16:45 AM

前文说过了,高阶函数式函数式语言中的基石,而`map`, `flatMap`更是重要。

折纸的艺术:fold编程

11/28/2013 3:16:45 AM

Eric Meijer说:递归是函数式编程的GOTO,应该尽可能避免。如何避免,OO中我们用while循环,FP中我们用`fold`。

Monad

11/26/2013 3:16:45 PM

函数式语言与OO(确切地讲是指令式编程)的思维方式是完全不同的,很多OO中的经验在函数式语言中不是很匹配,比如设计模式,那就是一个OO中的特定术语,而在FP中,大家常谈的是对于习惯OO思维的程序员来说玄而又玄的Monad。


© Wei Liu | 2024