07 2016 档案
摘要:调用函数可以说成是将函数应用于实参。如果传入所有的预期的参数,就完全应用了这个函数。如果只传入几个参数,就会得到一个偏应用函数。 偏应用函数是一个特殊的概念,在scala中它是使用val定义的,但是在使用时它却更像是一个函数。偏应用函数的定义更接近于python中有默认值的函数(scala实在是和python有太多相似的地方了)。 先来看一个例子: import java.util.Date d...
阅读全文
摘要:我们访问资源需要关注对资源的锁定、对资源的申请和释放,还有考虑可能遇到的各种异常。这些事项本身与代码的逻辑操作无关,但我们不能遗漏。也就是说进入方法时获取资源,退出方法时释放资源。这种处理就进入了Execute Around模式的范畴。 在scala里可以用函数值实现这种模式。下面是一个示例,使用Resource类演示了事务的开启和释放: class Resource private() { ...
阅读全文
摘要:在Scala里,下划线(_)可以表示函数值的参数。如果某个参数在函数里仅使用一次,就可以用下划线表示。每次在函数里用下划线,都表示随后的参数。 val arr = Array(1, 2, 3, 4, 5) println("Sum of all values in array is " + (0 /: arr) { (sum, elem) => sum + elem }) 上面的代码里使用了“/:...
阅读全文
摘要:函数值对消除代码重复有很大的帮助。但是像函数值这样直接将一个函数作为另一个函数的参数却不太利于函数值本身的重用。 来看一个例子: class Equipment(val routine: Int => Int) { def simulate(input: Int) = { print("Running simulation...") routine(input) } } 在...
阅读全文
摘要:在线广告的核心问题就是广告的三方——广告主、媒体和广告商——之间的博弈。 具体可以参看下图: 在线广告的计算面临的主要挑战: 大规模:媒体数量很多、面向的用户极广、高并发的投放系统、严格的低延迟要求; 动态性:用户的行为和兴趣一直在变; 丰富的查询信息(主要是针对搜索广告而言)
阅读全文
摘要:curry翻译为中文就是咖喱。意为使用curry可以让代码更有味道。 scala里的curry化可以把函数从接收多个参数转换成接收多个参数列表。也就是说我们要编写的函数不是只有一个参数列表,这个参数列表中有多个参数以逗号分隔;而是一个函数中有多个参数列表,每个参数列表中只有一个参数(当然,也可以有多个参数)。也就是说我们写的函数不再只是这样子的: def foo(a: Int, b: Int, c...
阅读全文
摘要:上一节的函数值只有一个参数。函数值当然也是可以有多个参数的。看一下下面的inject方法: def inject(arr: Array[Int], initial: Int, operation: (Int, Int) => Int): Int = { var carryOver = initial arr.foreach(element => carryOver = operation(...
阅读全文
摘要:scala的一个最主要的特性就是支持函数编程。函数是函数编程中的一等公民:函数可以作为参数传递给其他函数,可以作为其他函数的返回值,甚至可以在其它函数中嵌套。这些高阶函数称为函数值。 举一个简单的例子:从1到某个数求和。使用Java很容易实现: int sum(int max){ int result = 0; for (int i = 0; i Int): In...
阅读全文
摘要:java 的代码中多少有些不是很严谨的内容,比如下面的这段代码: public class Trouble { public static void main(String[] args) { Integer[] arr1 = new Integer[2]; arr1[0] = new Integer(1); Object[] arr2 = ...
阅读全文
摘要:Demand:需求方,可以理解为广告主,广义上指的是代表广告主利益的一方; Supply:供应方,可以理解为媒体,广义上指的是代表媒体利益的公司。 上图说明了媒体变现手段: 托管给network(网站); 托管给广告交易市场(ad exchange); 托管给SSP(Supply Side Platform)。 通常前两种方式是同时存在的。通过实时竞价的方式对接到DSP(Demand ...
阅读全文
摘要:在线广告的特色: 技术和计算导向; 可以进行准确的衡量(点击率未必是准确的衡量标准,所以出现了效果广告); 技术投放和精准定向促进了广告的标准化; “媒体”概念的差异化(如门户网站、淘宝(靠近转化端)、搜索引擎、比价网站(居中))。 几个重要的行业协会:
阅读全文
摘要:在Java中是可以使用变长参数的,如下面的方法: public void check(String ... args){ for(String tmp : args){ System.out.println(tmp); } } 在scala中也可以使用变长参数。和java一样,也是只有最后一个参数可以接收可变长度的参数。使用方式是在...
阅读全文
摘要:广告与营销的区别可以参考下图: 广告要reach的用户是潜在用户;营销的目标用户是对自己产品有明确需求的用户。 常见的渠道有硬广、SEM(搜索引擎推广)、导航网站、淘宝直通车、返利网等。 单纯比较不同渠道的ROI(收入回报的比例)意义不大,因为不同渠道在用户购买环节上所处的地位有着本质的区别。越接近demond(需求)的渠道ROI通常会越高,但是接近Supply(供应)的渠道负责的是reach潜...
阅读全文
摘要:这张图是一张对于广告过程的解读: 1曝光是广告的天然属性。在第一位决定了广告的效果。 广告策略的结果: 参考文档: http://blog.csdn.net/northstar087/article/details/8365008 http://www.lxway.com/404485181.htm
阅读全文
摘要:广告的主体:出资人(sponsor)即广告主(advertiser)、媒介(media)和受众(audience)。 广告的基础功能:借助于某种有广泛受众的媒介的力量,以较低的成本完成用户接触(reach)。 注意:完成接触后是否实现交易或其他转化不是必要条件。 广告有两大类 品牌广告:创造独特良好的品牌或产品形象,目的是提升长期的离线转化率。 效果广告:在短期内明确用户转化行为诉...
阅读全文
浙公网安备 33010602011771号