分类
外汇获利之道

初学者微策略教程

Tips:
1. Hystrix Dashboard 服务监控台是否需要使用,一般是跟随项目要求来的,一般而言,任何一个项目都需要使用,因为不管是开发者,还是运维者,都需要在后台对服务进行监控;
2. Hystrix 初学者微策略教程 Dashboard 自带了很多我们需要用到的属性,通过查看这些属性,我们可以很清楚地了解每一个服务的健康情况,该服务监控台的使用会在后期有专门小节进行介绍,希望同学们可以持续关注。

初学者拿到2440、6410 等开发板应该怎么学习?

(因为我发现很多同志都很迷惑,所以我觉得这个帖子比较有价值,并且我对这些的认识也会不断的更新和改善,所以这个帖子我会不停地更新完善,也希望更多的人进来讨论分析,甚至提出反对批评的意见,要知道帖子的最新状态,请看这个地址:【讨论】初学者拿到2440、6410 等开发板应该怎么学习?
http://www.gooogleman.com/forum.php?mod=viewthread&tid=18881&fromuid=3

绝大部分初学者拿到2440、6410 等开发板估计都会在兴奋的同时不知道咋办。太多人问这个问题了,所以开个帖子讨论一下。以下观点仅代表我个人观点,如果说错了,欢迎指正。
一、 前提:学习2440、6410 等开发板之前必须有比较好的C语言基础,汇编得可以慢慢学习,数字电路等也得比较合格,模拟电路适当了解,至少能看懂PDF格式的开发板电路图。从这个前提看,符合条件的人,得是大二下学期以上的学生了,所以请大二以前的学生好好学习大学基础先,不要本末倒置了,不然是学不会的。

二、满足 以上前提后,开始进入正题。拿到开发板就看光盘自带的硬件手册,先熟悉一下开发板的接口功能介绍,然后选择一个系统为目标,千万不要 wince,linux ,android全搞一通,还有学android之前得有好的linux 基础,所以请不要直接android,免得吃力不讨好。选定系统方向,那么就照着该系统操作手册看看一遍,看完了就重新看,照着上面玩玩板子,搞了一两天之后就开始照着上面手册,烧写bootloader啊,烧写系统啊,学会使用这个开发板先,最后才是自己搭建开发环境,编译bootloader,系统等。搞定这些后,就照着上面的手册烧写进去,那么这个对开发板的初级认识就完成了。以后就开始尝试自己修改bootloader啊,以及开发驱动等。好好看看现成的bootloader、驱动源码。
三、我个人比较推崇开发板学习流程是:熟悉上述步骤后——》bootloader学习——》操作系统认识、学习——》系统开发的流程。在这些过程中如果发现自己很难看懂代码,那么请好好复习C语言,不然以后就不能进步的了。这个过程对大部分初学者来说很郁闷的,不断被打击的过程,理想很远大,现实很残忍,都这样,坚持半年估计就会有信心了,加油吧,各位老兄。

四、学习策略,早期多加点QQ群,越多越好,看别人里面说什么,还有也推荐几个网站,CSDN 的wince和linux 都不错,当然www.gooogleman.com也在发展中,也请各位多来捧场,嘿嘿,先这样了。good luck!

——续@2011.04.27
五、 如果发现PDF电路图都看不懂的人,那么请回去恶补电路基础以及一些电路设计规范,最好的办法就是多问做硬件设计的人;如果发现自己连 bootloader代码都看不懂,那么请回去恶补一下汇编,C语言基础以及ARM的一些体系架构知识。对于一些C语言书籍我这里有一些推荐:
——推荐C语言好书一本:C语言程序设计:现代方法(第2版) 这本书非常通俗易懂,被誉为十年来最好的C语言教程,翻译的也很到位。
——推荐一本C和C++一些经典分析的好书:高质量程序设计指南:C++、C语言(第3版) 写的很精彩的,很多面试题目都出自这里。

Hystrix 配置项讲解(一)

Tips:
1. Hystrix 初学者微策略教程 Dashboard 服务监控台是否需要使用,一般是跟随项目要求来的,一般而言,任何一个项目都需要使用,因为不管是开发者,还是运维者,都需要在后台对服务进行监控;
2. Hystrix Dashboard 自带了很多我们需要用到的属性,通过查看这些属性,我们可以很清楚地了解每一个服务的健康情况,该服务监控台的使用会在后期有专门小节进行介绍,希望同学们可以持续关注。

3.3 HystrixCommand 注解详解

@HystrixCommand 注解,是 Hystrix 注解中的核心注解,可以说,只要想使用 Hystrix 的功能特性,就必须要使用该注解。

@HystrixCommand 注解提供了丰富的属性,来让我们配置 Hystrix 的功能特性,我将经常用到的属性汇总成了一个表格,如下表所示:

我们在了解了这些属性之后,就可以使用 HystrixCommand 属性来配置 Hystrix 的功能特性了。

属性名称 属性类型 默认值 作用
fallbackMethod String 空字符串 配置服务容错机制
defaultFallback String 空字符串 配置默认服务容错机制
threadPoolKey String 空字符串 配置线程池隔离策略
threadPoolProperties HystrixProperty[] 空数组 配置线程池详细策略

fallbackMethod 属性

这里以一个简单的 helloWorld 请求为例,我们先来看正常请求。

代码解释:

第 1-2 行,我们使用 SpringBoot 中的注解,将请求暴露出去,即添加 helloWorld 请求的路径。

第 3-5 行,我们编写代码,实现 helloWorld 请求,其请求的响应结果是返回 初学者微策略教程 helloWorld 字符串。

以上代码中,我们没有添加任何 Hystrix 的注解,只是一个很普通的正常请求,我们先来看下返回结结果。

接下来,让我们模拟以下请求错误的情况,即在请求时,我们认为设置一个延时时间,来让 Hystrix 捕捉到这一异常,并应用 Hystrix 的容错机制。

代码解释:

第 3 行,我们使用 HystrixCommand 注解的 fallbackMethod 初学者微策略教程 属性来定义当请求不能正常响应时的应急方案,fallbackMethod 属性的值就是请求不能正常响应时,所返回的方法,这里的 helloFail 就是方法名。

第 5 行,我们手动加入了一个延时时间,该延时时间可以在响应请求时,延迟一秒响应,这就是我们手动实现的一个服务异常情况,该情况会被 Hystrix 的容错机制捕捉到。

第 9-11 行,我们编写代码,实现了一个当请求 初学者微策略教程 helloWorld 失败时,所返回的应急方法,该方法返回 helloFailed 字符串。

以上代码中,我们加入了 Hystrix 的容错机制,让我们来看看效果。

从上图中我们可以看到,我们还是请求的 helloWorld 请求,但是返回的确是 helloFailed ,这就表明,我们通过 HystrixCommand 注解的 fallbackMethod 属性来配置的服务容错起作用了。

defaultFallback 属性

defaultFallback 属性和 fallbackMethod 属性所实现的功能是基本相同的,只不过 defaultFallback 属性是用来配置默认的应急方法,即当我们的项目中存在多个应急方法时,我们给其中一个请求所配置的默认应急方法。

defaultFallback 属性所实现的效果和 fallbackMethod 属性是相同的,这里不再赘述。

threadPoolKey 和 threadPoolProperties属性

第 初学者微策略教程 3 行,我们使用 HystrixCommand 的 threadPoolKey 属性来配置线程池隔离,即我们将 helloWorld 请求划到了名为 HelloHystrix 的线程池下,这样就和主线程分离开了。

我们来看一下 threadPoolProperties 属性的具体用法。

代码解释:

第 4 行,我们为 threadPoolProperties 定义了几个常用的线程池隔离策略,它们分别是:核心线程数、开启最大线程数、最大线程数。至于还有哪些其他的配置项,由于不再本套课程内,同学们可以自行查阅资料了解。

Tips:
1. 在实际工作中,defaultFallback 属性相对而言很少会用到,一般会手动使用 fallbackMethod 属性来直接指定相关请求所对应的应急方法;
2. threadPoolProperties 属性经常使用,这里只是将最经常使用的几个配置策略给同学们做了介绍,剩下不常用的希望同学们可以自行查阅了解;
3. 在使用 threadPoolProperties 属性时,如果我们的核心线程数量和最大线程数量相等,此时又有超过该数量的请求来请求服务了,那么,在这种情况下,请一定要配置 Hystrix 的降级策略,否则,后台服务会直接报错。

3.4 HystrixProperty 注解详解

@HystrixProperty 注解其实是一个辅助配置注解,他的主要作用就是对参数配置场景下,对每个配置策略进行单独的声明,他的用法就是上述 threadPoolProperties 属性所配置的那样。

@HystrixProperty 注解只有两个属性,分别是 name 和 value ,name 的值是 Hystrix 官网定义好的配置项的 key ,而 value 值则是配置对应的具体参数值。

@HystrixProperty 注解中 name 属性的描述不能随意描述,要根据官网所定义的配置项来描述,不可无中生有。

3.5 HystrixCollapser 注解详解

@HystrixCollapser 注解在 Spring Cloud 中,发挥着重要的作用。我们可以把他简单理解为:它是可以进行请求合并的注解,什么是请求合并呢?

针对于上述这种再正常不过的情况,Hystrix 对此做了很好地优化。当有多个相同的请求来请求我们的服务时,Hystrix 会将这些请求进行合并,并最终实现多个相同请求请求服务,服务只接收一次请求的目的,这就是请求合并。

collapserKey 属性,即请求合并时的 key ,字符串类型,默认是 HystrixCollapser 注解所应用的方法名。

scope 属性,即请求合并的作用范围,Scope 类型,默认只作用在当前请求下,可以设置成全局响应。

collapserProperties 属性,即请求合并的详细配置策略,HystrixProperty 数组类型,其内容为 Hystrix 官网所规定内容,使用方法同上 HystrixProperty 注解使用方法。

最后,我们使用官网的一个例子,来介绍一下 HystrixCollapser 注解如何使用。

代码解释:

第 初学者微策略教程 1 行,我们使用 HystrixCollapser 注解的 batchMethod 属性,来指定需要使用请求合并的方法。

第 6 行,我们使用 HystrixCommand 注解的 fallbackMethod 属性,来指定 getUserByIds 方法请求失败时所返回的应急方法。

Tips:
1. 使用 HystrixCollapser 注解时,其注解作用的方法的返回类型,必须是 list 类型,这是 Hystrix 的规定,所以,上述代码中 getUserById 的方法的返回值是一个 User 类型的 list ;
2. 使用 HystrixCollapser 注解时,必须要搭配 HystrixCommand 注解,来配置对应请求的应急方法,这也是 Hystrix 所规定的,所以,上述代码中我们在 getUserByIds 方法上定义了应急方法;
3. HystrixCollapser 注解在实际工作中经常使用,是提升项目吞吐量最简单、最直接的配置。

本小节通过图文并茂的方式,为大家介绍了 Hystrix 整合 Spring Cloud 后的基础常用配置项,基本上,在 Spring Cloud 框架中的体现方式均已注解方式进行体现。针对在配置过程中,可能会遇到的坑,做了专门的提示;针对在实际工作中经常使用的注解,做了重点讲解和应用剖析,旨在帮助同学们能够系统性的应用这些基础注解,打好 Hystrix 的配置基础。

初学者微策略教程

Site Navigation

实用网页设计布局的最重要方面之一是直观且易于使用的导航辅助工具。当然,这从主页导航菜单开始,但它应该被推到网站所有领域的最前沿。页面顶部的“Cookie crump”导航轨迹看起来很优雅,如果读者需要快速返回特定区域,它会很有帮助。

Typography

字体至少是优秀网页设计的50%。吸引眼球的字体不会让人分心,让设计师可以用一点时间做很多事情。改变不同标题、子标题和内容的大小和字体是一种很好的方法,可以“抵消”不同的组件,以便于识别。这是一种简单的策略,可以将各个部分相互区分开来,并防止观众对您的布局感到厌倦。说到这里…

Page Layout

A整洁有序的布局确保用户不会在错综复杂的链接和相互关联的页面中迷失方向。事先勾画出你想要如何展示你的信息和媒体,以及你想要如何将它们联系在一起。在开始之前,你可以想出一个布局策略,从而节省自己的时间和精力。

User Interaction

用户交互和平滑、非噱头的界面,方便了您的网站的易用性,是当今必不可少的。滑动照片库、jQuery或MooTools支持的动画和动作以及站点上其他支持AJAX的元素允许平滑地接收数据。这些功能可以让你的读者与网站互动,而不会打断他们的阅读流或注意力。

The Color Palette

在制作一个难忘且有吸引力的网页时,颜色选择会产生巨大的差异。“冲突”的不连贯配色方案看起来很俗气,可能会阻碍观众充分享受网站提供的一切。选择与你的设计相得益彰的颜色与其说是科学,不如说是艺术,需要一段时间才能掌握,但花在掌握这项技能上的时间是值得的。

SEO Page Optimization

速度和响应能力是前端和后端的问题。Javascript加载可能会严重阻碍任何站点。难怪增长最快的浏览器,如google chrome和Safari如此关注Javascript引擎和速度。记住引用HTML文件底部的脚本。此外,PHP和数据库性能优化是快速和功能性网站的关键。

总体重点和目标

Overall Focus and Goals

实现清晰的愿景和重点很重要,因为它为您提供了如何着手设计网站的粗略总体规划。问问自己,你的网站想要实现什么,你想向你的读者传达什么信息,你就会更好地了解如何继续

德州扑克微表情分析横扫牌桌

利用前述比赛画面,我们使用Gamma微表情识别技术,识别了选手在不同情况下的面部表情特征。同样的,我们对整个比赛过程中选手所呈现出的面部表情做了解析,共计153075张选手的面部微表情,出现次数最多的10个表情和最低的10个表情统计如下,而Gamma派修炼秘诀就在这两张表里面。

初学者微策略教程 秘诀1:扑克脸必须绝对存在

高手过招,不露马脚。 出现最多的10个表情中前三位分别是 面露尬色(14.7%)心不在焉(11.91%) 和 初学者微策略教程 百无聊赖(11.71%) ,三着占比之和达到37%,也就是说有超过三分之一的时间,选手是不会表现出明显暗示当前牌局状况的情绪特征,呈现出扑克脸。

秘诀2:兴致直接反映对牌力的信心

秘诀3:低频表情的出现意味着极端事件的发生或即将发生