Amazon 刚刚公布了最新的财报,亏损 4100 万美元.这是这家电子商务巨头连续 5 个季度以来的第 3 次亏损.但是华尔街似乎却一片叫好声,当日 Amazon 的股价也涨了近 8 个点达 359 美元.市场对 Amazon 的信心何在呢? 也许从这几点来看似乎是可以乐观的.一是与去年同期的 2.74 亿美元亏损相比 -4100 万就算是一大赚了:二是 Q3 收入 +24% 达 171 亿美元(全年估计可达 750 亿),照这种势头发展下去,Amazon 成千亿级公司指日可期:三是 Q3 的…
摘要:Hadoop已经成为大数据的代名词.短短几年间,Hadoop从一种边缘技术成为事实上的标准.而另一方面,MapReduce在谷歌已不再显赫.当企业瞩目MapReduce的时候,谷歌好像早已进入到了下一个时代.      Hadoop技术已经无处不在.不管是好是坏,Hadoop已经成为大数据的代名词.短短几年间,Hadoop从一种边缘技术成为事实上的标准.看来,不仅现在Hadoop是企业大数据的标准,而且在未来,它的地位似乎一时难以动摇.谷歌文件系统与MapReduce     我们先来探讨…
最近,有位知识星球的球友问我这么一个问题: 我做 Android 开发五年多时间了,但是最近总是很焦虑,看着人工智能越来越火,很担心 Android 要不行了,想问下,我现在要转行么?Android 还可以走多久? 这个问题我觉得还蛮有代表性的,今天就姑且给大家谈谈这个话题. 毫无疑问,人工智能是下个十年要进入的时代,而且现在已经有蓄势待发的意思,但是人工智能跟 Android 开发完全不冲突,人工智能它是一门技术与科学,它可以应用于各行各业,方方面面,同样,它也可以应用于手机端,这两年也有不少…
因为季节的原因,现在正是骑车的好时候,而且北京也开通了一条自行车的专用路.但就是在这么好的时候,我们发现,路边的小黄车却越来越少了,而且它的麻烦还不断! ofo法人被限制出境 6月12日消息,据上海市高级人民法院网信息显示,因东峡大通(北京)管理咨询有限公司不履行法律文书确定的义务,法院已依法限制其影响债务履行的直接责任人陈正江出境. 小黄车越来越少 要退的押金却越来越多 他还能挺多久? 上海市高级人民法院网截图 公开资料显示,东峡大通(北京)管理咨询有限公司系ofo小黄车的运营主体.去年10月…
在腾讯市值超越阿里巴巴后,市场分析多数认为,当年的BAT“三巨头”时代已经彻底结束,进入了“双寡头”时代了 从对外投资来看,BAT不同的投资逻辑可以推测其战略方向 撰文/梁云风 时评员,关注财经与互联网创业 8月17日,腾讯公司公布第二季度财报后,股价连续冲高,市值达到2490亿美元,超越市值2460亿美元的阿里巴巴,成为中国市值最高的科技公司.于是乎,中国互联网三巨头的排名由“BAT”彻底反转为“TAB”. 通过财报和投资的对比,将为我们还原一个怎样的BAT? 观财报:“三巨头”还是“双寡头”…
目前,CDR X6特价活动,从双十二的到18年的元旦,火热程度一直屡刷新高,究其原因,其实不是大家不需要,只是这个平面设计软件价格实在太高(CDR X8/8200:CDR 2017/9500一套),尤其是个人使用的话,真的有点承担不起,而CorelDRAW X6的特价活动,正好能够满足图文工作室和个体用户的需求. 目前CorelDRAW X6售价仅为2399元,这个举措正是对广大设计师和CDR忠粉的一个最有利的回馈.此前,限量1000套的活动,现在还在进行中...但是,情况可能会有变化,官方消息…
有很多人一直在说JAVA现在已经饱和了,已经没有必要学Java,程序员已经是严重过剩,行业人才竞争状况更是恶性的之类的云云.现实真是这样嘛? Java目前现状 首先,Java的应用可以说是无处不在,从桌面办公应用到网络数据库等应用,从PC到嵌入式移动平台,从Java小应用程序(Applet)到架构庞大的J2EE企业级解决方案,处处都有Java的身影,从银行.证劵的金融行业到阿里.京东等电商行业.移动.电信代表的通信行业至电.水.能源等公共服务行业,无一不是使用了Java来开发控制系统和相关软件.…
最近一段时间主要重心在Amazon电商数据分析上,这是一个偏数据分析和可视化的项目.具体来说就是先获取Amazon的商品数据,数据清洗和持久化存储后作为我们自己的数据源.分析模块和可视化模块基于数据进行一系列的操作. 显然,整个项目中最基本,也是最重要的就是前期数据的获取,本篇文章就是针对数据获取和清洗过程进行一个简单的介绍和总结. 整个项目我们采用了Python作为开发语言,其中可视化模块基于Django搭建,当然在数据获取,即爬虫模块,我们也是采用了Python作为我们的开发语言.  对于爬…
在Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator,或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,使用的是策略模式. 一.策略模式的定义 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 二.策略模式体现了两个非常基本的面向对象设计原则: 封装变化的概念,找出应用中可能需要变化之处,把它独立出来,不要把那些不需要变化的代码混在一起,系统会变得更有弹性. 编程中使用接口,而不是对接口的实现.…
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 环境类(Context):用一个ConcreteStrategy对象来配置.维护一个对Strategy对象的引用.可定义一个接口来让Strategy访问它的数据. 抽象策略类(Strategy):定义所有支持的算法的公共接口. Context使用这个接口来调用某ConcreteStrategy定义的算法. 具体策略类(ConcreteStrategy):以Strategy接…
什么是内存泄漏 对于不同的语言平台来说,进行标记回收内存的算法是不一样的,像 Android(Java)则采用 GC-Root 的标记回收算法.下面这张图就展示了 Android 内存的回收管理策略(图来自Google 2011的IO大会) 图中的每个圆节点代表对象的内存资源,箭头代表可达路径.当圆节点与 GC Roots 存在可达路径时,表示当前资源正被引用,虚拟机是无法对其进行回收的(如图中的黄色节点).反过来,如果圆节点与 GC Roots 不存在可达路径,则意味着这块对象的内存资源不再被…
忘忧草原创,转发请保留本人的大名,谢谢,如果需要文档的请找我索取 前言 通过组策略实现基于AD的windows验证的sharepoint站点在火狐下自动以当前域账号登录. 操作步骤-在服务器添加策略工具 我们可以通过AD组策略来管理Firefox,但需要另行下载Firefox组策略管理模板及扩展组件才可以.首先,从"http://sourceforge.net/projects/gpofirefox/files/"网址中下载最新模板文件"Firfox.adm"和扩展…
概念策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化.(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makesthem interchangeable. Strategy lets the algorithm vary independently from clients that use it.)Conte…
概述: 每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法. 而策略模式就是对算法进行包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理.策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类.用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”. 类图与实例: Context(应用场景): 1.需要使用ConcreteStrategy提供的算法. 2.内部维护一个Strategy的实例…
1.存在的问题和模型 :2014年6月       学校:廊坊师范        家:石家庄       人物:学生 又快到期末考试了.回家的节奏也奔上日程,无聊之余就想想这次回家的事儿. 对我来说回家主要有两种交通方式:1.汽车.2.火车.像飞机.高铁了什么的咱就不考虑了一个是资金匮乏.条件不同意(廊坊没飞机场吧?)外,廊坊到石家庄这么近搞那么多花样也太伤神经了(尤其对一路痴来说). 如今来一一分析下这两种方式: 1.汽车  方便省事.不用在学生大部队回家的时候操心抢不到火车票而郁闷,可是对于…
原文 第21章 策略模式(Strategy Pattern) 策略模式 导读:策略模式看完之后,大多数人都会感觉有点混了,包括我,感觉策略模式是一种OO思想的体现(纯属个人拙见). 概述:       策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 抽象策略角色: 策略类,通常由一个接口或者抽象类实现. 具体策略角色:包装了相关的算法和行为. 环境角色:持有一个策略类的引用,最终给客户端调用. 结构图:         …
概述 如果在开发过程中,出现大量的if else或者switch case 语句,如果这些语句块中的代码并不是包含业务逻辑,只是单纯的分流方法,那么,每一个语句块中都是一个算法或者叫策略. 背景 比如在最近项目中遇到的问题.一个二维码字符串解析的方法: 微信的二维码扫描结果包含"WeChat",解析规则是拿着文本到微信服务器解析,返回解析对象. 支付宝二维码扫描结果包含"Alipay",解析规则是使用"->"分割字符串得到解析对象. 最简单…
一.RDD概念与特性 1. RDD的概念 RDD(Resilient Distributed Dataset),是指弹性分布式数据集.数据集:Spark中的编程是基于RDD的,将原始数据加载到内存变成RDD,RDD再经过若干次转化,仍为RDD.分布式:读数据一般都是从分布式系统中去读,如hdfs.kafka等,所以原始文件存在磁盘是分布式的,spark加载完数据的RDD也是分布式的,换句话说RDD是抽象的概念,实际数据仍在分布式文件系统中:因为有了RDD,在开发代码过程会非常方便,只需要将原始数…
Windows2008修改密码策略简单介绍 Windows的密码策略,确实是挺繁琐的,刚接触SharePoint2010,装的windows2008 R2,就遇到了改密码策略的问题. 打开本地安全策略,找到账户策略-密码策略,点击,发现更改是灰色. 修改,打开组策略管理(管理工具),如下图,在"Default Domain Policy"上右键编辑. 在弹出的窗口上,编辑相应策略即可,如下图 编辑完成后,策略还没有被应用,还要运行一下gpupdate /force 应用一下方能生效.…
策略模式-Strategy 在策略模式中,一个类(策略使用者)可以更改自己的执行策略. 比如以排序算法为例子, 多种排序算法都归属于排序算法, 但是实现的算法细节不同, 使用者可以很轻松地替换策略, 选择其中一个来执行任务. 本文基本就是copy了一下Ilkka Seppälä(github里的iluwatar)的例子,  他的例子非常形象. 场景是这样的: 有一个屠龙勇士, 他会替换不同的装备(策略)来对抗不同的龙. 类关系图如下: 依赖关系图如下: 定义 DragonSlayingStrat…
在前两篇<撸一撸Spring Cloud Ribbon的原理>,<撸一撸Spring Cloud Ribbon的原理-负载均衡器>中,整理了Ribbon如何通过负载均衡拦截器植入RestTemplate,以及调用负载均衡器获取服务列表,如何过滤,如何更新等的处理过程. 因为,负载均衡器最终是调用负载均衡策略的choose方法来选择一个服务,所以这一篇,整理Ribbon的负载均衡策略. 策略类 RandomRule RoundRobinRule RetryRule WeightedR…
1. 概述 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 策略模式是对算法的封装,它把算法的责任和算法本身分割开,委派给不同的对象管理. 2. 应用场景 (1)多个类只区别在表现行为不同,在运行时动态选择具体要执行的行为. (2)需要在不同情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现. (3)对客户隐藏具体策略(算法)的实现细节,彼此完全独立. 3. 示例 出行旅游:我们可以有几个策略可以考虑:可…
一.前言 关于设计模式的文章,园子里实在是太多太多,而且讲解的也非常精彩,那为什么我还要在这里记录下这篇文章?本文以实际项目应用“自己动手写工具--XSmartNote”为切入点,来讲述策略模式的应用.很多初学者都有一种感觉,就是在看设计模式相关文章的时候,都看得懂,而且小Demo也是手到擒来,但是就是不知道该怎么用在实际的项目中,不管你之前有没有过这种感觉,反正我是曾经有过.在前几天Review Code的时候发现XSmartNote中的主题管理功能很适合这种模式,于是就把这块相关的代码重构了…
定义 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. UML 优点 策略模式提供了管理相关的算法族的办法.策略类的等级结构定义了一个算法或行为族.恰当使用继承可以把公共的代码转移到父类里面,从而避免重复的代码. 策略模式提供了可以替换继承关系的办法.继承可以处理多种算法或行为.如果不是用策略模式,那么使用算法或行为的环境类就可能会有一些子类,每一个子类提供一个不同的算法或行为.但是,这样一来算法或行为的使…
一.什么是策略模式 定义:定义一系列算法,把一个个算法封装成独立类并实现同一个接口,使得它们之间可以相互替换. 二.怎么使用策略模式 首先模拟一个场景:有一个用户想买车.  可以有多种方式买车: (1)我是土豪,全款买 (2)5成首付,5成贷款 (3)0首付,全贷款 抽象策略:定义一个行为接口, 接口内定义一个买车的方法 //定义一个策略行为接口 public interface IStrategy { //购车 void BuyCar() } 具体策略:把购车方式看作一个个算法封装成独立类并实…
SQL Server 2008基于策略的管理,基于策略的管理(Policy Based Management),使DBA们可以制定管理策略,并将这些策略应用到服务器.数据库以及数据环境中的其他对象上去.基于动作策略(Action Policy)的异常处理使开发人员可以为异常处理制定策略,简单的说,动作策略只是一些可重复使用的一个装饰器,可以很容易应用与方法调用. 异常处理只是一个合乎逻辑的动作策略的一部分,动作策略决定如何对异常做出处理,微软的Enterprise Library的异常处理模块试…
Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略).Strategy模式主要用来平滑地处理算法的切换 . 举个例子:假如有两个加密算法,我们分别调用他们,之前我们可以这么写 先写一个算法接口 public interface Strategy { //加密 public void encrypt(); } 再写两个对应的实现类 public class…
1.问题与模式 时间:2014年6月       学校:廊坊师范        家:石家庄       人物:学生 又快到期末考试了,回家的节奏也奔上日程.无聊之余就想想这次回家的事儿.对我来说回家主要有两种交通方式:1.汽车,2.火车. 像飞机.高铁了什么的咱就不考虑了一个是资金匮乏.条件不同意(廊坊没飞机场吧?)外,廊坊到石家庄这么近搞那么多花样也太伤神经了(尤其对一路痴来说).如今来一一分析下这两种方式: 1.汽车  方便省事,不用在学生大部队回家的时候操心抢不到火车票而郁闷,可是对于晕车…
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 抽象策略角色: 策略类,通常由一个接口或者抽象类实现. 具体策略角色:包装了相关的算法和行为. 环境角色:持有一个策略类的引用,最终给客户端调用.   Context(应用场景): 1.需要使用ConcreteStrategy提供的算法. 2. 内部维护一个Strategy的实例. 3. 负责动态设置运行时Strategy具体的实现算法. 4.负责跟Strategy之间的交…
前言 万事开头难,最近对这句话体会深刻!这篇文章是这个系列正式开始介绍设计模式的第一篇,所以肩负着确定这个系列风格的历史重任,它在我脑袋里默默地酝酿了好多天,却只搜刮出了一点儿不太清晰的轮廓,可是时间不等人,以后再多“迭代”几次吧!在前面的随笔里,我已经提到了,这个系列准备以<Head First Design Patterns>的结构为主线,所以每个模式的核心故事都是取材于此书,在此再次声明一下.不管怎样,宗旨是为了跟大家一起循序渐进地去认识设计模式. 上一篇:模式和原则,得到很多朋友的支持…