摘要:
为这么一个功能实现API:用户在电商网站可以点击某产品,向系统发起一个请求,系统根据商家预定的规则或者大数据,产生一个组合产品供消费者选择。用户的请求需要记录,以供以后为客户做更精准的推送。 根据需求,设计了一个RESTful风格的 API,下面的例子为方便探讨,删去了部分字段。 先后有两位同事提出 阅读全文
摘要:
好久没写代码了。最近一个POC项目的需求,找到指定产品的类型,显示对应的名称。理论上一个产品只有一种类型,如果遇到数据问题,一个产品有多种类型显示任一种就好。 最简单最直白的实现。因为if的存在,复杂度也最高。 把if语句改成或运算,看起来清爽多了。因为短路计算,只有产品没有类型的时候才会判断三次。 阅读全文
摘要:
BA在项目中负责确定做什么,和产品应该是什么样。在咨询和外包服务中,BA的作用尤其重要。以为客户构建以数据为中心的项目为例,一个BA具有的能力包括:产品/业务设计能力能准确构建业务范围,懂得需求中的Why和Who明白业务价值,具有全局观掌握客户业务的能力能挖掘潜在需求,创造新价值的能力业务和技术转换能力能做产品原型设计建立信息模型对系统架构的掌握能力数据分析处理能力文档编写能力需求文档(Use case,User story,specification)编写能力流程图制作能力电子邮件编写用户手册编写沟通交流能力表达是否有条理,清楚,重点突出,易懂且没有遗漏表达形式是否能多样化,能从多方不同角度 阅读全文
摘要:
Python的逻辑运算符如下:x and y, 如果x为False, 不计算y的值,直接返回x。否则返回y。x or y, 如果x为True,不计算y的值,直接返回x。否则返回y。not x, 如果x为False,返回True。否则返回False。在and和or运算中,python使用了短路计算。即如果x的值已经决定了结果,将不执行y。x和y可以是变量或者表达式。我们知道Python中,数字,字符串,列表等都能参与逻辑运算。0,空字符串,空列表当作False;而非空值当作True。所以需要注意的是:and和or的运算结果不一定是布尔类型!具体类型是由返回的x或y决定的。只有not操作返回的才一 阅读全文
摘要:
如何重用实现的遍历算法,这是我在面试中常问的一个问题。其实问题并不难,主要考察对语言特性的掌握,以及处理这种常见场景的经验。或许是交谈中没有实例的原因,满意的答案不多。假设用Node类来表示树形结构中的节点。 1 public class Node 2 { 3 public Node(string name) 4 { 5 this.Name = name; 6 this.Children = new List(); 7 } 8 9 public string Name { get; set; }10 public Nod... 阅读全文
摘要:
函数式编程(Functional Programming)的一大特点是不修改外部状态,仅仅产生返回值;也不依赖外部状态,函数仅依赖输入参数。换句话说不使用函数体作用域外的变量,函数有着很强的独立性。由此带来的好处包括: 易于单元测试(Unit testing) 方便调试(Debuging) 高并发(Concurrency) 热代码部署(Hot code deploy... 阅读全文
摘要:
偏函数应用指的是固化函数的一个或一些参数,从而产生一个新的函数。比如我们有一个记录日志的函数: 1: def log(level, message): 2: print level + ": " + message 3: 4: #usage 5: log("Warning", "this is one warning message") 6: log("Error", "this is one error message")在这个函数基础上我们可以固化level参数,产生新的具有特定意义的log 阅读全文
摘要:
诺基亚 920已入手3个多月。这3个多月价格从4500到跌破3000,从一机难求需排队预定到卖场立取最难买的骚黄颜色。在一片墙倒众人喊推声中,920市场表现不如期待的那么好。作为当前最好的WP手机,诺基亚旗舰机,920有一些被低估了。至少在我最关注的导航,相机和使用体验上,920是出色的。硬件这是一部诺基亚手机,抗摔是必需的。我没有贴膜没有装保护套,摔了不下7,8次。最厉害的一次在空中试图用手接了两下,最后摔在了两米开外,那也是唯一的一次摔成死机。现在有个角已经有凹陷,背面有细微划痕,但都没掉漆。毕竟专注手机这么多年,做工世界一流。这是一部诺基亚手机,虽说不能换壳了,但外观颜色相当靓丽,让人眼 阅读全文