自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 Golf Range Finder 高尔夫激光测距仪和GPS测距仪

打球时, 如果知道准确的距离, 就可以根据自己的情况选择合适的球杆。 这对成绩的好坏很重要。 职业高尔夫的球童除了背包, 最重要的一项职能就是判断距离, 帮助球员选择球杆。业余选手没有那么奢华, 有专业的球童。 这样就成就了测距仪市场。 目前市场上的测距仪有两种: 激光或者GPS.激光测距仪使用很简单, 对准目标, 按下按钮, 就可以读出距离, 其原理就是利用激光或者红外线在空气中的传播速

2012-11-08 07:51:15 7556

原创 Iphone5 语言设置成英文后如何发中文短信

老革命遇到新问题:由于工作环境关系, 我的手机语言一直设置成英文。 之前用过的iphone和其他手机,在需要发送短信时可以直接选择所要输入的语言。 看似很平常的要求,在Iphone5上却遇到了新情况。 Iphone5设置成英文后, 发短信找不到中文输入的办法, 好几回都只有把语言切换到中文,然后再发送, 好不麻烦。。。秉着对苹果公司的信赖,总觉的如此的小case功能,一定可以支持。

2012-10-30 09:03:22 13954

转载 C语言和设计模式(继承、封装、多态)

记得还在我们大学C++第一门课的时候,老师就告诉我们说,C++是一门面向对象的语言。C++有三个最重要的特点,即继承、封装、多态。等到后来随着编码的增多和工作经验的积累,我也慢慢明白了面向对象的含义。可是,等我工作以后,使用的编程语言更多的是C语言,这时候我又想能不能把C语言变成面向对象的语言呢?等到后来通过思考和实践,我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现

2012-08-02 01:34:48 843

转载 C语言和设计模式(访问者模式)

不知不觉当中,我们就到了最后一种设计模式,即访问者模式。访问者模式,听上去复杂一些。但是,这种模式用简单的一句话说,就是不同的人对不同的事物有不同的感觉。比如说吧,豆腐可以做成麻辣豆腐,也可以做成臭豆腐。可是,不同的地方的人未必都喜欢这两种豆腐。四川的朋友可能更喜欢辣豆腐,江浙的人就可能对臭豆腐更喜欢一些。那么,这种情况应该怎么用设计模式表达呢?[cpp] view p

2012-08-02 01:34:01 580

转载 C语言和设计模式(状态模式)

状态模式是协议交互中使用得比较多的模式。比如说,在不同的协议中,都会存在启动、保持、中止等基本状态。那么怎么灵活地转变这些状态就是我们需要考虑的事情。假设现在有一个state,[cpp] view plaincopytypedef struct _State  {      void (*process)();      stru

2012-08-02 01:33:16 650

转载 C语言和设计模式(命令模式)

命令模式的目的主要是为了把命令者和执行者分开。老规矩,举个范例吧。假设李老板是一家公司的头儿,他现在让他的秘书王小姐去送一封信。王小姐当然不会自己亲自把信送到目的地,她会把信交给邮局来完成整个投递的全过程。现在,我们就对投递者、命令、发令者分别作出定义。    首先定义post的相关数据。[cpp] view plaincopytyp

2012-08-02 01:32:36 485

转载 C语言和设计模式(解释器模式)

解释器模式虽然听上去有些费解,但是如果用示例说明一下就不难理解了。我们知道在C语言中,关于变量的定义是这样的:一个不以数字开始的由字母、数字和下划线构成的字符串。这种形式的表达式可以用状态自动机解决,当然也可以用解释器的方式解决。[cpp] view plaincopytypedef struct _Interpret  {

2012-08-02 01:31:40 411

转载 C语言和设计模式(备忘录模式)

备忘录模式的起源来自于撤销的基本操作。有过word软件操作经验的朋友,应该基本上都使用过撤销的功能。举个例子,假设你不小心删除了好几个段落的文字,这时候你应该怎么办呢?其实要做的很简单,单击一些【撤销】就可以全部搞定了。撤销按钮给我们提供了一次反悔的机会。    既然是撤销,那么我们在进行某种动作的时候,就应该创建一个相应的撤销操作?这个撤销操作的相关定义可以是这样的。

2012-08-02 01:30:54 403

转载 C语言和设计模式(观察者模式)

观察者模式可能是我们在软件开发中使用得比较多的一种设计模式。为什么这么说?大家可以听我一一到来。我们知道,在windows的软件中,所有的界都是由窗口构成的。对话框是窗口,菜单是窗口,工具栏也是窗口。那么这些窗口,在很多情况下要对一些共有的信息进行处理。比如说,窗口的放大,窗口的减小等等。面对这一情况,观察者模式就是不错的一个选择。    首先,我们可以对这些共有的object进行提炼。

2012-08-02 01:29:32 837

转载 C语言和设计模式(桥接模式)

在以往的软件开发过程中,我们总是强调模块之间要低耦合,模块本身要高内聚。那么,可以通过哪些设计模式来实现呢?桥接模式就是不错的一个选择。我们知道,在现实的软件开发过程当中,用户的要求是多种多样的。比如说,有这么一个饺子店吧。假设饺子店原来只卖肉馅的饺子,可是后来一些吃素的顾客说能不能做一些素的饺子。听到这些要求的老板自然不敢怠慢,所以也开始卖素饺子。之后,又有顾客提出,现在的肉馅饺子只有猪肉的,能

2012-08-02 01:28:46 2150

转载 C语言和设计模式(建造者模式)

如果说前面的工厂模式是对接口进行抽象化处理,那么建造者模式更像是对流程本身的一种抽象化处理。这话怎么理解呢?大家可以听我慢慢到来。以前买电脑的时候,大家都喜欢自己组装机器。一方面可以满足自己的个性化需求,另外一方面也可以在价格上得到很多实惠。但是电脑是由很多部分组成的,每个厂家都只负责其中的一部分,而且相同的组件也有很多的品牌可以从中选择。这对于我们消费者来说当然非常有利,那么应该怎么设计呢?

2012-08-02 01:28:03 545

转载 C语言和设计模式(中介者模式)

中介者模式,听上去有一点陌生。但是,只要我给朋友们打个比方就明白了。早先自由恋爱没有现在那么普遍的时候,男女之间的相识还是需要通过媒婆之间才能相互认识。男孩对女方有什么要求,可以通过媒婆向女方提出来;当然,女方有什么要求也可以通过媒婆向男方提出来。所以,中介者模式在我看来,就是媒婆模式。[cpp] view plaincopytypedef

2012-08-02 01:27:27 379

转载 C语言和设计模式(策略模式)

策略模式就是用统一的方法接口分别对不同类型的数据进行访问。比如说,现在我们想用pc看一部电影,此时应该怎么做呢?看电影嘛,当然需要各种播放电影的方法。rmvb要rmvb格式的方法,avi要avi的方法,mpeg要mpeg的方法。可是事实上,我们完全可以不去管是什么文件格式。因为播放器对所有的操作进行了抽象,不同的文件会自动调用相应的访问方法。[cpp] view pla

2012-08-02 01:26:38 829

原创 高尔夫球场难度Course rating 和斜度slope rating

在美国的高尔夫球场上, 一般都有两个数据用来说明这个球场的难易程度: 1. 斜度,或者叫坡度 (slope rating); 2. 球场难度 (Course rating). 分别说明如下:先说明两个相关名词: 零差点球员 (Scratch player)指打72杆的高手; 柏忌球员是指打90杆的球员, 既每个洞多打一杆, 英文称为为Bogey player.USGA: 美国高尔夫协会。

2012-07-28 06:08:27 7288

转载 C语言和设计模式(适配器模式)

现在的生活当中,我们离不开各种电子工具。什么笔记本电脑、手机、mp4啊,都离不开充电。既然是充电,那么就需要用到充电器。其实从根本上来说,充电器就是一个个普通的适配器。什么叫适配器呢,就是把220v、50hz的交流电压编程5~12v的直流电压。充电器就干了这么一件事情。    那么,这样的一个充电适配器,我们应该怎么用c++描述呢?   [cpp] view plain

2012-07-21 05:11:31 861

转载 C语言和设计模式(装饰模式)

装饰模式是比较好玩,也比较有意义。其实就我个人看来,它和责任链还是蛮像的。只不过一个是比较判断,一个是迭代处理。装饰模式就是那种迭代处理的模式,关键在哪呢?我们可以看看数据结构。[cpp] view plaincopytypedef struct _Object  {      struct _Object* prev;

2012-07-21 05:09:50 718

转载 C语言和设计模式(享元模式)

享元模式看上去有点玄乎,但是其实也没有那么复杂。我们还是用示例说话。比如说,大家在使用电脑的使用应该少不了使用WORD软件。使用WORD呢, 那就少不了设置模板。什么模板呢,比如说标题的模板,正文的模板等等。这些模板呢,又包括很多的内容。哪些方面呢,比如说字体、标号、字距、行距、大小等等。[cpp] view plaincopytypedef

2012-07-21 05:04:58 1708

转载 C语言和设计模式(代理模式)

代理模式是一种比较有意思的设计模式。它的基本思路也不复杂。举个例子来说,以前在学校上网的时候,并不是每一台pc都有上网的权限的。比如说,现在有pc1、pc2、pc3,但是只有pc1有上网权限,但是pc2、pc3也想上网,此时应该怎么办呢?    此时,我们需要做的就是在pc1上开启代理软件,同时把pc2、pc3的IE代理指向pc1即可。这个时候,如果pc2或者pc3想上网,那么报文会先指向

2012-07-21 05:03:56 629

转载 C语言和设计模式(外观模式)

外观模式是比较简单的模式。它的目的也是为了简单。什么意思呢?举个例子吧。以前,我们逛街的时候吃要到小吃一条街,购物要到购物一条街,看书、看电影要到文化一条街。那么有没有这样的地方,既可以吃喝玩乐,同时相互又靠得比较近呢。其实,这就是悠闲广场,遍布全国的万达广场就是干了这么一件事。    首先,我们原来是怎么做的。[cpp] view plaincopy

2012-07-21 05:01:26 797

转载 C语言和设计模式(迭代器模式)

使用过C++的朋友大概对迭代器模式都不会太陌生。这主要是因为我们在编写代码的时候离不开迭代器,队列有迭代器,向量也有迭代器。那么,为什么要迭代器呢?这主要是为了提炼一种通用的数据访问方法。    比如说,现在有一个数据的容器,[cpp] view plaincopytypedef struct _Container  {

2012-07-21 05:00:40 585

转载 C语言和设计模式(抽象工厂模式)

前面我们写过的工厂模式实际上是对产品的抽象。对于不同的用户需求,我们可以给予不同的产品,而且这些产品的接口都是一致的。而抽象工厂呢?顾名思义,就是说我们的工厂是不一定的。怎么理解呢,举个例子。    假设有两个水果店都在卖水果,都卖苹果和葡萄。其中一个水果店买白苹果和白葡萄,另外一个水果店卖红苹果和红葡萄。所以说,对于水果店而言,尽管都在卖水果,但是两个店卖的品种不一样。

2012-07-20 06:56:34 684

转载 C语言和设计模式(责任链模式)

责任链模式是很实用的一种实际方法。举个例子来说,我们平常在公司里面难免不了报销流程。但是,我们知道公司里面每一级的领导的报批额度是不一样的。比如说,科长的额度是1000元,部长是10000元,总经理是10万元。    那么这个时候,我们应该怎么设计呢?其实可以这么理解。比如说,有人来找领导报销费用了,那么领导可以自己先看看自己能不能报。如果费用可以顺利报下来当然最好,可是万一报不下来呢?那

2012-07-20 06:53:28 594

转载 C语言和设计模式(工厂模式)

工厂模式是比较简单,也是比较好用的一种方式。根本上说,工厂模式的目的就根据不同的要求输出不同的产品。比如说吧,有一个生产鞋子的工厂,它能生产皮鞋,也能生产胶鞋。如果用代码设计,应该怎么做呢?[cpp] view plaincopytypedef struct _Shoe  {      int type;      void (*

2012-07-20 06:52:16 648

转载 C语言和设计模式(之模板模式)

模板对于学习C++的同学,其实并不陌生。函数有模板函数,类也有模板类。那么这个模板模式是个什么情况?我们可以思考一下,模板的本质是什么。比如说,现在我们需要编写一个简单的比较模板函数。[cpp] view plaincopytemplate typename type>  int compare (type a, type b)

2012-07-20 06:51:08 578

转载 C语言和设计模式(之组合模式)

组合模式听说去很玄乎,其实也并不复杂。为什么?大家可以先想一下数据结构里面的二叉树是怎么回事。为什么就是这么一个简单的二叉树节点既可能是叶节点,也可能是父节点?[cpp] view plaincopytypedef struct _NODE  {      void* pData;      struct _NODE* left;

2012-07-20 06:46:45 474

转载 C语言和设计模式(之原型模式)

原型模式本质上说就是对当前数据进行复制。就像变戏法一样,一个鸽子变成了两个鸽子,两个鸽子变成了三个鸽子,就这么一直变下去。在变的过程中,我们不需要考虑具体的数据类型。为什么呢?因为不同的数据有自己的复制类型,而且每个复制函数都是虚函数。    用C++怎么编写呢,那就是先写一个基类,再编写一个子类。就是这么简单。[cpp] view plaincopy

2012-07-20 06:43:43 525

转载 C语言和设计模式(单件模式)

有过面试经验的朋友,或者对设计模式有点熟悉的朋友,都会对单件模式不陌生。对很多面试官而言,单件模式更是他们面试的保留项目。其实,我倒认为,单件模式算不上什么设计模式。最多也就是个技巧。    单件模式要是用C++写,一般这么写。[cpp] view plaincopy#include   #include     clas

2012-07-20 06:40:20 653

转载 C语言和设计模式

关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。    其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏捷吗?你写一行,我写一行。还是迭代?写三行,删掉两行,再写三行。项目的成功是偶然的,但是项目的失败却有很多原因,管理混乱、需求混乱

2012-07-20 06:02:50 1009

原创 高尔夫常用英语

--  高尔夫英语Address 瞄球,击球准备动作Advice  对别人的打法或其他技术上的事项提出建议Again 重新击球,Play again 的缩写Against logy 加一杆赛Against par 标准击杆赛,以规定击球次数作对象,来决定胜负。各球洞规定击球次数和实际击球次数之比,得胜球洞越多越好Against wind  逆风、顶风Albtross

2012-06-30 07:47:08 14478

转载 推杆如妻子,发球木如情人,短铁如父母,球道木如朋友,长铁如兄弟

多年来,高尔夫球具市场上流传着一句话,“推杆如妻子,发球木如情人,短铁如父母,球道木如朋友,长铁如兄弟。”究竟这些说法是怎么来的呢?推杆如妻子:一般不能换,如果一定要换,先想清楚。推杆是所有技术中最个性化的技术,“要知道鞋子合不合适,脚才知道”,妻子也一样,这世界上一个女人配一个男人,好不好自己知道。就算有点不满意,换了可能更糟。看看维杰·辛格和加西亚,腹式推不好,还是要换回传统式。

2012-06-09 08:41:51 2363

转载 如何选择推杆

选择一支适合自己的推杆,反复训练,掌握的它的特性,就会得心应手。千万记住不要随意更换推杆,因为每根推杆的形状、重量不同,每换一次均需要调整一次,这样下去,眼睛、手、臂、腰、腿、脑子和球杆,永远不能协同,自然也不能练成可靠的推杆技巧。以下介绍如何选择推杆:首先从外观上。推杆的杆头分为“片型”和“锤型”两种。杆头的外观对击球人的心理影响很大。推杆要有靠感觉,在视觉上如果喜欢这支杆的样式,感觉它

2012-06-09 08:38:13 1863

转载 如何选择Driver 的角度

一些球友常常会困扰要怎样选适合自己的木桿桿面角度(loft)? 因为看同组球友跟我差不多的体型,年龄,与挥桿速度,就是打的比我还要远. 以木桿角度选不对会让击出的球无法产生最好的距离与弹道,让自己每次在锎球上都吃不少亏.而有部份球友在选择木桿桿面角度有时会放大自己的使用条件与技术水平,所以选择了不适合的角度.选了不适合你的木桿桿面角度会产生怎样的结果? 要不打出的弹道太低,让整体飞行距离无法达

2012-06-09 08:37:46 1323

转载 如何选择球道木

1、角度和距离球道木有号码,不同的号码对应不同的杆面角度。一支3号木的角度就是15度,最多15.5度。13度的叫3+。选择球道木的时候,不能像选择发球木那样买打的最远的那一支,而是应该考虑一下如何让球道木和其他球杆的距离有效的衔接起来。购买铁木杆的时候不要盲目追求杆面角度小的,而是应该根据自己包里面最长的铁杆距离和角度来决定应该购买什么角度的铁木杆。如果你包里最长的铁杆是5号铁,距

2012-06-09 08:36:48 1559

转载 杆头与杆身的厂商

一、 著名的碳纤生产厂家 目前世界上只有两个厂家生产较好的高尔夫球球具的杆身用碳布,这两家分别为日本的TORAY(东丽:http://www.toray.co.jp/)和日本的MITSUBISHI RAYON(三菱:http://www.mrc.co.jp/),似乎这两家控制着世界上百分之百的杆身原料。 2006年在日本市场上杆身的价格上扬,是因为上述的两家公司把碳布供应到了其他领

2012-06-09 08:35:49 2303 1

转载 铁杆的选择

铁杆的选择也是五花八门的,但万变不离其宗,我们应当优先选择能有效的改善甚至提升打球质量的杆头设计款式。铁杆打不好的原因有很多种,基本都与挥杆动作有关,我们这里不谈动作,只谈球杆能帮你做什么。1、铁杆的类型及制造工艺铁杆从制造工艺来讲分为铸造和锻造,从设计类型来讲分为刀背、准刀背、小凹背、凹背、大凹背。不同的设计有不同的手感,且对应不同水平的选手。铸造杆的成本低,且容易成型,满足当今

2012-06-09 08:33:10 2161

转载 Open SSH 基础

SSH的英文全称为Secure Shell,是IETF(Internet Engineering Task Force)的Network Working Group所制定的一族协议,其目的是要在非安全网络上提供安全的远程登录和其他安全网络服务。 我们可以简单理解为:Rlogin和Telnet等的替代方案。SSH的使用场景如下图所示,具体请参考下文SSH的框架。  S

2012-04-21 06:14:08 1273

转载 IPSEC流程例子及两个阶段的协商过程详细介绍

IPSEC VPN两个阶段的协商过程详细介绍IPSec体系结构模型图  我们来看一个完整的IPSec体系结构模型图,以便更好地理解IPSec体系结构。  IPSec流程图SAKMP/IKE第一阶段称为ISAKMP/IKE的管理连接阶段.使用双向的UDP端口为500的数据连接,来共享IPSEC消息.第一阶段有主模式和积极模式2种

2012-02-01 02:04:15 37664 2

转载 traceroute命令略谈

traceroute命令略谈        traceroute命令是linux的一个诊断程序(windows下是tracert),该诊断使用程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP)回显数据包发送到目标,以决定从一个主机到网络上其他主机的路由。       如果有网络连通问题,可以使用traceroute命令(意思是跟踪路

2012-01-19 08:24:06 2213

转载 SVN 命令备查

生成diff文件:svn diff > xxx.diff 生成 patch:同事 A 运行如下命令生成 patch:svn diff > aaa.patch 应用 patch:同事 B 运行如下命令应用 patch:patch –p0   当他 review 完代码,想删除该 patch 时, 可运

2012-01-05 09:54:19 2487

转载 Vim+Csope 使用

Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。Cscope的主页在http://cscope.sourceforge.net/,如果你的计算机上没有cscope,你可以在此处下载它,在写本文时,它的最新版本是15.6。安装它非常

2012-01-04 02:11:03 1310

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除