恩,要常动脑筋

September 03, 2008

恩,要常动脑筋

遇到这样一个需求:

A = 1时,B=1
A=2时:
  C(一个小时内的一个时间点)在00~29之间时、B=1。
  C在30~59之间时、B=2
A=3时:
  C在00~19之间时、B=1。
  C在20~39之间时、B=2。
  C在40~59之间时、B=3。
A=4时:
  C在00~14之间时、B=1。
  C在15~29之间时、B=2。
  C在30~44之间时、B=3。
  C在45~59之间时、B=4。

看起来一个稍复杂的需求,难道用if else或者switch? 我周围真有人这么干的。再仔细观察下,用如下程序可以解决:

int B= (C+1)/(60/A);
if((C+1)%(60/A) > 0){
  //对B取上界
  B++;
}

小聪明而已,写下这个只是想提醒下自己,在编程时”要用最少的代码最好地完成最多的事”

Implementing CorrelationID In Kafka Stream

今天在实现 `Logging Correlation ID` 的功能。理想状态下,我是期望能够在不影响业务逻辑代码的情况下,参照AOP的理念,给Topology的每个processor的增加如下行为: - 从header提取`CorrelationID`- 把`Corre...… Continue reading