<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_QQ天堂</title><subtitle type="text">QQ天堂的BLOG(每天灌水一点点，长此以往，大海将会出现！)</subtitle><id>http://feed.cnblogs.com/blog/u/41936/rss</id><updated>2012-04-07T17:32:43Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/41936/rss"/><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/11/25/2263215.html</id><title type="text">安卓手机如何获得Root权限</title><summary type="text">使用SuperOneClick获取手机Root权限：Z4Root、Universal Androot和SuperOneClick是安卓手机系统中获取Root权限最常见的三款工具。其中以SuperOneClick应用最多，评价最好。本文就详细介绍用SuperOneClick一键获取Root权限的过程。</summary><published>2011-11-25T06:31:00Z</published><updated>2011-11-25T06:31:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/11/25/2263215.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/11/25/2263215.html"/><content type="html">&lt;p&gt;&lt;span style="margin: 0px; font-family: inherit; color: #0000ff; font-size: 12px; vertical-align: baseline; border-width: 0px; padding: 0px;"&gt;&lt;strong&gt;使用SuperOneClick获取手机Root权限&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;：&lt;/strong&gt;&lt;br /&gt;&lt;a style="margin: 0px; font-family: inherit; color: #428ce7; font-size: 12px; vertical-align: baseline; text-decoration: none; border-width: 0px; padding: 0px;" title="一键Root工具z4root v1.3.0汉化版" href="http://www.androidba.net/z4root-android-root/" target="_blank"&gt;Z4Root&lt;/a&gt;、Universal Androot和SuperOneClick是安卓手机系统中获取Root权限最常见的三款工具。其中以SuperOneClick应用最多，评价最好。本文就详细介绍用SuperOneClick一键获取Root权限的过程。&lt;/p&gt;&lt;p&gt;一、安装前，注意事项：&lt;br /&gt;1、Windows XP需要安装Microsoft .NET Framework 2.0＋；&lt;br /&gt;2、在手机 设置&amp;mdash;应用程序&amp;ndash;开发&amp;mdash;USB调试 里将USB调试模式打开；&lt;br /&gt;3、电脑需要安装手机的USB驱动程序（可根据具体手机型号到网上下载）；&lt;br /&gt;4、在设置选项里将SD卡卸载。&lt;/p&gt;&lt;p class="imgbox" style="text-align: left; margin: 0px 0px 1em; font-family: inherit; color: #777777; font-size: 12px; vertical-align: baseline; border-width: 0px; padding: 0px;"&gt;二、下载SuperOneClick程序包：&lt;a href="http://dl.dbank.com/c0qjxa0ghq" target="_blank"&gt;dbank&lt;/a&gt;&lt;em&gt;&lt;span style="font-family: inherit; color: #428ce7;"&gt;&lt;span&gt;&lt;a href="http://dl.dbank.com/c0qjxa0ghq" target="_blank"&gt;网盘&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;。&lt;/em&gt;解压后，双击SuperOneClick.exe运行SuperOneClick，并点击Root，直到出现Device is rooted! 恭喜你，此时你的手机已经获得Root权限了。&lt;em&gt;&amp;nbsp;&lt;/em&gt;如下图所示，&lt;br /&gt;&lt;img src="http://hi.csdn.net/attachment/201111/11/0_1320977536tMGf.gif" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;官方网站：http://shortfuse.org/&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div id="content" style="margin: 0px; font-family: inherit; font-size: 12px; vertical-align: baseline; border-width: 0px; padding: 0px;"&gt;&lt;p&gt;&lt;span style="margin: 0px; font-family: inherit; color: #0000ff; font-size: 12px; vertical-align: baseline; border-width: 0px; padding: 0px;"&gt;&lt;em&gt;&lt;strong&gt;相关知识&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;strong&gt;：&lt;/strong&gt;&lt;br /&gt;一、下载Root权限是什么？&lt;br /&gt;Root是安卓手机系统中的超级管理员账户，Root权限（即底层权限）和我们在Windows系统下的Administrator权限类似。默认状态下，为了防止系统文件被更改，安卓系统并没有把Root账户开放给用户。&lt;/p&gt;&lt;p&gt;二、为什么要获得Root权限？&lt;br /&gt;获得Root权限后，手机用户便可以方便地对系统的部件进行更改或删除。比如对于玩家而言，最大的诱惑是在于&amp;ldquo;刷机&amp;rdquo;，只有获得Root权限，我们便可随心所欲地对自己的手机进行&amp;ldquo;重新包装&amp;rdquo;，感受新版本软件的优点。具体优点如下：&lt;br /&gt;1. 可以删除系统自带的软件，比如定制手机里带的很多陷阱收费应用，或者手机刷国行后自带的一些无用软件（如 五子棋）；&lt;br /&gt;2. 获得一种莫名的自由感，再也不受手机的条条框框的限制；&lt;br /&gt;3. 可以对系统进行更改，比如刷新的安卓手机系统；&lt;br /&gt;4. 可以安装更多的软件，有些软件一定要有Root权限才能安装。&lt;/p&gt;&lt;p&gt;三、怎么查看手机是否获得Root权限？&lt;br /&gt;验证手机是否已经获得Root权限的方法有很多。最简单的方法就是通过安装一些软件进行验证，比如360手机卫士、R.E.文件管理器Root Explorer。&lt;/p&gt;&lt;p&gt;当然，在这里我比较建议大家安装&lt;a style="margin: 0px; font-family: inherit; color: #428ce7; font-size: 12px; vertical-align: baseline; text-decoration: none; border-width: 0px; padding: 0px;" href="http://dl.dbank.com/c0id96rl4b" target="_blank"&gt;Root Explorer&lt;/a&gt;。作为安卓系统中最强大的Root管理器，Root Explorer能够删除系统自带的程序；而如果要想删除系统自带程序，手机首先就要获取Root权限。因此，R.E.文件管理器Root Explorer是最好的验证手机是否已经获取Root权限的应用了。&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/2263215.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/11/25/2263215.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/11/16/2250997.html</id><title type="text">反面模式（Anti-pattern）</title><summary type="text">design pattern是设计模式，通常是前人在软件开发过程中积累出来的解决一些问题的现成套路，按它们来做可获益无穷。anti-pattern也是一些现成的套路，但它们是现成的错误套路，避免它们则亦可获益无穷。在软件工程中，一个反面模式（anti-pattern或antipattern）指的是在实践中明显出现但又低效或是有待优化的设计模式。</summary><published>2011-11-16T03:48:00Z</published><updated>2011-11-16T03:48:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/11/16/2250997.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/11/16/2250997.html"/><content type="html">&lt;p&gt;[前言]&lt;/p&gt;&lt;p&gt;design pattern是设计模式，通常是前人在软件开发过程中积累出来的解决一些问题&lt;br /&gt;的现成套路，按它们来做可获益无穷。anti-pattern也是一些现成的套路，但它们是现成的&lt;br /&gt;错误套路，避免它们则亦可获益无穷。本文译者Korner Hill的更多其它翻译和原创文章可&lt;br /&gt;在blog上找到&lt;a href="http://blog.csdn.net/KornerHill"&gt;http://blog.csdn.net/KornerHill&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;计算机领域内的很多词汇都缺少公认的中文翻译，anti-pattern也是如此，这里译为反面模&lt;br /&gt;式，乃是因为它本身是作为反面教材使用的模式。其实直接用&amp;ldquo;反面教材&amp;rdquo;更通俗易懂，但&lt;br /&gt;这里为了保持它与设计模式之间的内在关联，而使用了&amp;ldquo;反面模式&amp;rdquo;一词。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;来自Wikipedia, 自由百科全书&lt;/p&gt;&lt;p&gt;在软件工程中，一个反面模式（anti-pattern或antipattern）指的是在实践中明显出现但&lt;br /&gt;又低效或是有待优化的设计模式。&lt;/p&gt;&lt;p&gt;Andrew Koenig在1995年造了anti-pattern这个词，灵感来自于GoF的《设计模式》一书。而&lt;br /&gt;这本书则在软件领域发明了&amp;ldquo;设计模式&amp;rdquo;（design pattern）一词。三年后antipattern因&lt;br /&gt;《AntiPatterns》这本书而获得普及，而它的使用也从软件设计领域扩展到了日常的社会互&lt;br /&gt;动中。按《AntiPatterns》作者的说法，可以用至少两个关键因素来把反面模式和不良习惯&lt;br /&gt;、错误的实践或糟糕的想法区分开来：&lt;/p&gt;&lt;p&gt;* 行动、过程和结构中的一些重复出现的乍一看是有益的，但最终得不偿失的模式&lt;br /&gt;* 在实践中证明且可重复的清晰记录的重构方案&lt;/p&gt;&lt;p&gt;很多反面模式只相当于是错误、咆哮、不可解的问题、或是可能可以避免的糟糕的实践，它&lt;br /&gt;们的名字通常都是一些用反话构成的词语。有些时候陷阱（pitfalls）或黑色模式（dark&lt;br /&gt;patterns）这些不正式的说法会被用来指代各类反复出现的糟糕的解决方法。因此，一些有&lt;br /&gt;争议的候选的反面模式不会被正式承认。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1. 已知的反面模式]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.1 组织结构的反面模式]&lt;/p&gt;&lt;p&gt;* 从天而降的责任（accidental ownership）：雇员们接手了一个与当前系统完全无关的系&lt;br /&gt;&amp;nbsp; 统，在没有合适的训练、学习或关心下就得维护它（在90年代的电话-&amp;gt;网络管理员中很常&lt;br /&gt;&amp;nbsp; 见）&lt;br /&gt;* 分析麻痹（Analysis paralysis）：在项目的分析阶段付出的努力太少&lt;br /&gt;* 引擎室里的船长（Captain in the engine room）：团队带头人把时间和精力全花在技术&lt;br /&gt;&amp;nbsp; 问题上，没有人开船&lt;br /&gt;* 摇钱树（cash cow）：盈利的老产品通常会导致对新产品的自满&lt;br /&gt;* 持续退化（Continuous obsolescence）：不成比例地投入精力把系统移植到新环境下&lt;br /&gt;* 经费转移（Cost migration）：项目经费转移到弱势的部门或商业伙伴那里&lt;br /&gt;* 危机模式（Crisis mode）或救火模式（firefighting mode）：硬是等到火烧屁屁的时候&lt;br /&gt;&amp;nbsp; 才去解决问题，结果是每个问题都成了危机问题&lt;br /&gt;* 委员会设计（Design by committee）：很多人同时进行设计，却没有统一的看法&lt;br /&gt;* 委员会扩张（Escalation of commitment）：明知错了还不能收回之前的决定&lt;br /&gt;* 英雄模式（Hero-mode）：长期依赖成员的英雄式的努力来满足不可能的任务期限，同时&lt;br /&gt;&amp;nbsp; 又忽视从一开始就没有注重软件品质带来的损失&lt;br /&gt;* 我早就说过（I told you so）：某人之前的警告没得到重视，事后又被人发现是正确的&lt;br /&gt;&amp;nbsp; ，并引起了关注&lt;br /&gt;* 主观管理（Management by hope）：认为平静的表象就代表一切顺利&lt;br /&gt;* 通过忽视的管理（Management by neglect）：过多地委任&lt;br /&gt;* 用数字管理（Management by numbers）：过于关注非本质而又不易取得的数字指标&lt;br /&gt;* Perkele管理（Management by perkele）：用完全听不进异议的独裁作风进行管理&lt;br /&gt;* 思考管理（Management by wondering）：希望一个团队定义自己的目标，然后考虑他们&lt;br /&gt;&amp;nbsp; 要做什么&lt;br /&gt;* 精神危险（Moral hazard）：不让做决定的人知道他的决定会带来什么结果&lt;br /&gt;* 蘑菇管理（Mushroom management）：有事也不通知雇员或是错误地通知（像种蘑菇一样&lt;br /&gt;&amp;nbsp; 放在黑地里施肥）&lt;br /&gt;* 不是这里发明的（Not invented here）：拒绝使用组织外的主意或方案&lt;br /&gt;* 精益求精（Polishing the polish）：把已经完成的项目交给下属去做，禁止他们做其它&lt;br /&gt;&amp;nbsp; 的事，又报怨他们低效率&lt;br /&gt;* 规模爬行（另外两个类似的词是复杂度陷阱和功能主义者）：不适当控制项目的规模的增&lt;br /&gt;&amp;nbsp; 加&lt;br /&gt;* 烟囱（Stovepipe）：结构上支持数据主要在上下方面的流动，却禁止平行的通信&lt;br /&gt;* 客户套牢（Vendor lock-in）：使一个系统过于依赖外部提供的部件&lt;br /&gt;* 小提琴弦组织（Violin string organization）：高度调整和裁减却没有灵活性的组织&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.2 项目管理的反面模式]&lt;/p&gt;&lt;p&gt;* 死亡征途（Death march）：除了CEO，每个人都知道这个项目会完蛋。但是真相却被隐瞒&lt;br /&gt;&amp;nbsp; 下来，直到大限来临&lt;br /&gt;* 拖后腿的无知（Heel dragging blindness）：项目经理的无知拖了后腿。出于某些动机&lt;br /&gt;&amp;nbsp; ，员工趋向于减少努力来延长项目时限。例如，他们是按时间（而非结果）付费，又没有&lt;br /&gt;&amp;nbsp; 能顺利转移过去的后续项目&lt;br /&gt;* 烟和镜（Smoke and mirros）：展示还没完成的函数会是怎样&lt;br /&gt;* 软件膨胀（Software bloat）：允许系统的后续版本使用更多的资源&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.3 团队管理的反面模式]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;* 缺席的经理（Absentee manager）：经理长时间不出现的情况&lt;br /&gt;* Cage match negotiator：经理用&amp;ldquo;不惜一切代价也要取胜&amp;rdquo;的方式来管理&lt;br /&gt;* Doppelganger：某些经理或同事刚才还平易近人，过了一下就变得难于相处&lt;br /&gt;* 无底洞（Fruitless hoops）：经理在做出决定前要求大量的（通常是无意义的）数据&lt;br /&gt;* 黄金小孩（Golden child）：依据人情而不是实际的表现，特殊的责任、机会、认可、奖&lt;br /&gt;&amp;nbsp; 励被给予团队成员&lt;br /&gt;* 无头苍蝇（Headless chicken）：经理总是处于恐慌中&lt;br /&gt;* 领导而非经理（Leader not manager）：经理是一个好的领导，却缺乏行政和管理能力&lt;br /&gt;* 管理克隆（Managerial cloning）：经理对所有人的雇佣和指导的方法都是一样的：像他&lt;br /&gt;&amp;nbsp; 们的老板&lt;br /&gt;* 经理而非领导（Manager not leader）：经理能胜任行政和管理职责，却缺乏领导能力&lt;br /&gt;* 指标滥用（Metric abuse）：恶意或是不适当地使用指标&lt;br /&gt;* 好好先生（Mr. nice guy）：经理想成为每个人的朋友&lt;br /&gt;* 鸵鸟（Ostrich）：有些人员整天做些空洞的事情却忽视那些需要在最后期限前被解决的&lt;br /&gt;&amp;nbsp; 事情还以为会没事，通常更希望看起来很忙，但实际上会浪费和用尽时间&lt;br /&gt;* 平民英雄（Proletariat hero）：口头上称赞普通员工技术如何如何之牛，实际上管理层&lt;br /&gt;&amp;nbsp; 只是把他们当成棋子，目的是有借口更多的摊派任务以及增加生产目标&lt;br /&gt;* 得势的暴发户（Rising upstart）：指这样一些潜在的新星，他们急不可耐地想要爬上去&lt;br /&gt;&amp;nbsp; ，不愿花费量些必要的时间去学习和成长&lt;br /&gt;* 海鸥管理（Seagull management）：飞进来，弄得鸡飞狗跳、一片儿狼藉，然后就拍拍屁&lt;br /&gt;&amp;nbsp; 股走人&lt;br /&gt;* 懦弱的执行者（Spineless executive）：管理者没有勇气来面对当前形势、来承担责任&lt;br /&gt;&amp;nbsp; 、或是来保护自己的下属&lt;br /&gt;* 三个脑袋的骑士（Three-headed knight）：没有决断力的管理者&lt;br /&gt;* 终极武器（Ultimate weapon）：有些人完全依赖自己的同事或是组织，好像他们自己只&lt;br /&gt;&amp;nbsp; 是一个导体，把问题全部传给别人&lt;br /&gt;* 热身状态（Warm bodies）：指有些员工几乎不能达到工作的最低要求，因此不断地从一&lt;br /&gt;&amp;nbsp; 个项目转到另一个项目，或是从一个团队换到另一个团队。&lt;br /&gt;* 只会说是的人（Yes man）：指一些管理者当面对CEO说的每句话都说是，CEO不在的情况&lt;br /&gt;&amp;nbsp; 下他可能说的又是另一回事&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.4 分析方式的反面模式]&lt;/p&gt;&lt;p&gt;* 尿布说明（Napkin specification）：把给开发团队的功能或技术说明写在尿布上（即是&lt;br /&gt;&amp;nbsp; 说，不正式，又缺乏细节），和根本就没有说明一样&lt;br /&gt;* 假需求（Phony requirements）：所有的需求都是通过网络会议或是电话通知给开发团队&lt;br /&gt;&amp;nbsp; 的，没有任何功能、技术上的说明或其它说明文档&lt;br /&gt;* 火箭说明（Retro-specification）：在项目已经启动之后才开始写技术、功能说明&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.5 通常的设计反面模式]&lt;/p&gt;&lt;p&gt;* 抽象倒置（Abstraction inversion）：不把用户需要的功能直接提供出来，导致他们要&lt;br /&gt;&amp;nbsp; 用更上层的函数来重复实现&lt;br /&gt;* 用意不明（Ambiguous viewpoint）：给出一个模型（通常是OOAD，面向对象分析与设计&lt;br /&gt;&amp;nbsp; ）却没有指出用意何在&lt;br /&gt;* 大泥球（Big ball of mud）：系统的结构不清晰&lt;br /&gt;* 斑点（Blob）：参考上帝对象（God object）&lt;br /&gt;* 气体工厂（Gas factory）：复杂到不必要的设计&lt;br /&gt;* 输入问题（Input kludge）：无法指出和实现对不正确的输入的处理&lt;br /&gt;* 接口膨胀（Interface bloat）：把一个接口做得过于强大以至于极其难以实现&lt;br /&gt;* 魔力按键（Magic pushbutton）：直接在接口的代码里编写实现，而不使用抽象&lt;br /&gt;* 竞争危机（Race hazard）：无法知道事件在不同顺序下发生时产生的结果&lt;br /&gt;* 铁轨方案（Railroaded solution）：由于没有预见和在设计方面欠缺灵活性，提出的方&lt;br /&gt;&amp;nbsp; 案即使很烂，也成了唯一选择&lt;br /&gt;* 重复耦合（Re-coupling）：不必要的对象依赖&lt;br /&gt;* 烟囱系统（Stovepipe system）：根本就不能维护的被病态的组合在一起的组件&lt;br /&gt;* （Staralised schema）：指这样的数据库方案，包含了两种用途的表，一是通用的，另&lt;br /&gt;&amp;nbsp; 一种是有针对性的&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.5.1 面向对象设计的反面模式]&lt;/p&gt;&lt;p&gt;* 贫血的域模型（Anemic Domain Model）：仅因为每个对象都要有属性和方法，而在使用&lt;br /&gt;&amp;nbsp; 域模型的时候没有加入非OOP的业务逻辑&lt;br /&gt;* （BaseBean）：继承一个工具类，而不是代理它&lt;br /&gt;* 调用父类（Call super）：需要子类调用父类被重载的方法&lt;br /&gt;* 圆还是椭圆问题（Circle-ellipse problem）：基于变量的子类化关系进行子类化（原句&lt;br /&gt;&amp;nbsp; 是Subtyping variable-types on the basis of value-subtypes）&lt;br /&gt;* 空子类的错误（Empty subclass failure）：创建不能通过&amp;ldquo;空子类测试&amp;rdquo;的类，因为它&lt;br /&gt;&amp;nbsp; 和直接从它继承而来没有做其它任何修改的子类表现得不同&lt;br /&gt;* 上帝对象（God object）：在设计的单一部分（某个类）集中了过多的功能&lt;br /&gt;* 对象粪池（Object cesspool）：复用那些不满足复用条件的对象&lt;br /&gt;* 不羁的对象（Object orgy）：没有成功封装对象，外部可以不受限制地访问它的内部&lt;br /&gt;* 幽灵（Poltergeists）：指这样一些对象，它们唯一的作用就是把信息传给其它对象&lt;br /&gt;* 顺序耦合（Sequential coupling）：指这样一些对象，它们的方法必须要按某种特定顺&lt;br /&gt;&amp;nbsp; 序调用&lt;br /&gt;* 单例爱好者（Singletonitis）：滥用单例（singleton）模式&lt;br /&gt;* 又TMD来一层（Yet Another Fucking Layer）：向程序中添加不必要的层次结构、库或是&lt;br /&gt;&amp;nbsp; 框架。自从第一本关于编程的模式的书出来之后这就变得很普遍。&lt;br /&gt;* 唷唷问题（Yo-yo problem）：一个结构（例如继承）因为过度分裂而变得难于理解&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.6 编程方面的反面模式]&lt;/p&gt;&lt;p&gt;* 意外的复杂度（Accidental complexity）：向一个方案中引入不必要的复杂度&lt;br /&gt;* 积累再开火（Accumulate and fire）：通过一系列全局变量设置函数的参数&lt;br /&gt;* 在远处行动（Action at distance）：意料之外的在系统分离的部分之间迭代&lt;br /&gt;* 盲目信任（Blind faith）：缺乏对bugfix或子函数返回值的正确性检查&lt;br /&gt;* 船锚（Boat anchor）：在系统中保留无用的部分&lt;br /&gt;* bug磁铁（Bug magnet）：指很少被调用以至于最容易引起错误的代码，或是易出错的构&lt;br /&gt;&amp;nbsp; 造或实践&lt;br /&gt;* 忙循环（Busy spin）：在等待的时候不断占用CUP，通常是因为采用了重复检查而不是适&lt;br /&gt;&amp;nbsp; 当的消息机制&lt;br /&gt;* 缓存失败（Caching failure）：错误被修正后忘记把错误标志复位&lt;br /&gt;* 货运崇拜编程（Cargo cult programming）：在不理解的情况下就使用模式和方法&lt;br /&gt;* 检查类型而不是接口（Checking type instead of interface）：仅是需要接口符合条件&lt;br /&gt;&amp;nbsp; 的情况下却检查对象是否为某个特定类型。可能导致空子类失败&lt;br /&gt;* 代码动力（Code momentum）：过于限制系统的一些部分，因为在其它部分反复对这部分&lt;br /&gt;&amp;nbsp; 的内容做出假设&lt;br /&gt;* 靠异常编程（Coding by exception）：当有特例被发现时才添加新代码去解决&lt;br /&gt;* 隐藏错误（Error hiding）：在显示给用户之前捕捉到错误信息，要么什么都不显示，要&lt;br /&gt;&amp;nbsp; 么显示无意义的信息&lt;br /&gt;* 异常处理（Expection handling）：使用编程语言的错误处理系统实现平常的编程逻辑&lt;br /&gt;* 硬编码（Hard code）：在实现过程中对系统环境作假设&lt;br /&gt;* 熔岩流（Lava flow）：保留不想要的（冗余的或是低质量的）代码，仅因为除去这些代&lt;br /&gt;&amp;nbsp; 码的代价太高或是会带来不可预期的结果&lt;br /&gt;* loop-switch序列（Loop-switch sequence）使用循环结构来编写连续步骤而不是switch&lt;br /&gt;&amp;nbsp; 语句&lt;br /&gt;* 魔幻数字（Magic numbers）：在算法里直接使用数字，而不解释含义&lt;br /&gt;* 魔幻字符串（Magic strings）：直接在代码里使用常量字符串，例如用来比较，或是作&lt;br /&gt;&amp;nbsp; 为事件代码&lt;br /&gt;* 猴子工作（Monkey work）：指在一些代码复用性或设计上很差的项目中的反复出现的支&lt;br /&gt;&amp;nbsp; 持性的代码。通常会被避免或是匆忙完成，因此易于出错，有可能会很快变为bug磁铁。&lt;br /&gt;* Packratting：由于长时间不及时释放动态分配的内存而消耗了过量的内存&lt;br /&gt;* 类似保护（Parallel protectionism）：随着代码变得复杂和脆弱，很容易就克隆出一个&lt;br /&gt;&amp;nbsp; 类似的的结构，而不是直接往现有的结构中添加一些琐碎的属性&lt;br /&gt;* 巧合编程（Programming by accident）：尝试用试验或是出错的方式解决问题，有时是&lt;br /&gt;&amp;nbsp; 因为很烂的文档或是一开始就没把东西搞清楚&lt;br /&gt;* 馄饨代码（Ravioli code）：系统中有许多对象都是松散连接的&lt;br /&gt;* 软代码（Soft code）：在配置文件里保存业务逻辑而不是在代码中&lt;br /&gt;* 面条代码（Spaghetti code）：指那些结构上完全不可理解的系统，尤其是因为误用代码&lt;br /&gt;&amp;nbsp; 结构&lt;br /&gt;* 棉花里放羊毛（Wrapping wool in cottom）：常见的情况是某些类的方法只有一行，就&lt;br /&gt;&amp;nbsp; 是调用框架的代码，而没有任何其它有用的抽象&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.7 方法学上的反面模式]&lt;/p&gt;&lt;p&gt;* 拷贝粘贴编程（Copy and paste programming）：拷贝（然后修改）现有的代码而不是假&lt;br /&gt;&amp;nbsp; 造通用的解决方案&lt;br /&gt;* 拆除（De-factoring）：去掉功能，把它转化成文档的过程&lt;br /&gt;* 黄金大锤（Golden hammer）：认为自己最喜欢的解决方案是到处通用的（见：银弹）&lt;br /&gt;* 未必有之事（Improbability factor）：认为已知的错误不会出现&lt;br /&gt;* 低处的果子（Low hanging fruit）：先处理更容易的问题而忽略更大更复杂的问题。这&lt;br /&gt;&amp;nbsp; 个问题有些类似于这种情况：科学、哲学和技术上的发现在早期都比较容易得到，一旦问&lt;br /&gt;&amp;nbsp; 题已经被人研究过了，再要有所创新就难了&lt;br /&gt;* 不是这里做的（Not built here）：见&amp;ldquo;重新发明轮子&amp;rdquo;、&amp;ldquo;不是这里发明的&amp;rdquo;&lt;br /&gt;* 不成熟的优化（Premature optimization）：在编码的早期追求代码的效率，牺牲了好的&lt;br /&gt;&amp;nbsp; 设计、可维护性、有时甚至是现实世界的效率&lt;br /&gt;* 转换编程法（Programming by permutation）：试图通过连续修改代码再看是否工作的方&lt;br /&gt;&amp;nbsp; 式来解决问题&lt;br /&gt;* 重新发明方的轮子（Reinventing the square wheel）：已经有一个很好的方案了，又再&lt;br /&gt;&amp;nbsp; 搞一个烂方案来替代它&lt;br /&gt;* 重新发明轮子（Reinventing the wheel）：无法采纳现有的成熟的方案&lt;br /&gt;* 银弹（Silver bullet）：认为自己最喜欢的技术方案能解决一个更大的问题&lt;br /&gt;* 测试人员驱动开发（Tester driven development）：软件工程的需求来自bug报告&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.8 测试反面模式]&lt;/p&gt;&lt;p&gt;* 敌意测试（hostile testing）：对抗实际的开发方案，使用过量的测试&lt;br /&gt;* 自身测试（Meta-testing）：过度设计测试过程以至于它本身都需要测试，也被称为&amp;ldquo;看&lt;br /&gt;&amp;nbsp; 门人的看门人&amp;rdquo;&lt;br /&gt;* 移动标的（Moving target）：连续修改设计和实现从而逃避现现有的测试过程&lt;br /&gt;* 奴隶测试（Slave testing）：通过发匿名电邮或贿赂的方式控制测试人员，从而达到股&lt;br /&gt;&amp;nbsp; 东的要求&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[1.9 配置管理反面模式]&lt;/p&gt;&lt;p&gt;* 依赖的地狱（Dependency hell）：需要的产品的版本导致的问题&lt;br /&gt;&amp;nbsp; * 路径地狱（Classpath hell）：和特定库有关的问题，例如依赖关系和要满足程序运行&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 所需的版本&lt;br /&gt;&amp;nbsp; * 扩展冲突（Extension conflict）：苹果系统在Mac OS X版本之前的不同扩展的问题&lt;br /&gt;&amp;nbsp; * DLL地狱（DLL hell）：不同版本带来的问题，DLL可见性和多版本问题，在微软的&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows上尤为突出&lt;br /&gt;&amp;nbsp; * JAR地狱（JAR hell）：JAR文件不同版本或路径带来的问题，通常是由于不懂类加载模&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 型导致的&lt;/p&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/2250997.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/11/16/2250997.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/10/25/2223545.html</id><title type="text">[程序员]多些时间思考 少写些代码[转自CSDN]</title><summary type="text">聪明的程序员使用50%-70%的时间用来思考，尝试和权衡各种设计和实现，而用30%–50%的时间是在忙碌着编码，调试和测试。聪明的老板也会让团队这样做。而愚蠢的老板，愚蠢的程序员会拿出来100%-150%的时间来忙着赶进度，返工，重构，fix大量的bug…所以，越差的团队一般会越忙，而且还忙不完。</summary><published>2011-10-25T02:59:00Z</published><updated>2011-10-25T02:59:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/10/25/2223545.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/10/25/2223545.html"/><content type="html">&lt;p&gt;&lt;strong&gt;导读：作者陈皓在微博上说过这样一段话：&amp;ldquo;聪明的程序员使用50%-70%的时间用来思考，尝试和权衡各种设计和实现，而用30%&amp;ndash;50%的时间是在忙碌着编码，调试和测试。聪明的老板也会让团队这样做。而愚蠢的老板，愚蠢的程序员会拿出来100%-150%的时间来忙着赶进度，返工，重构，fix大量的bug&amp;hellip;所以，越差的团队一般会越忙，而且还忙不完。&amp;rdquo;文中作者就此观点进行阐述。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;文章内容如下：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在现在这个浮躁的时期，再加上敏捷咨询师们念的歪经，他们让人感觉上就像是软件产品是可以在很短的时间内高质量的完成的，这令那些管理者们很兴奋，就像巴甫洛夫的条件反射实验中的狗看到了肉就像流口水那样兴奋。他们使用TDD，快速迭代，不断重构，持续集成直至持续部署的方法在进行软件开发。&lt;/p&gt;&lt;p&gt;软件开发真是这样的吗？难道不需要花时间去思考吗？对此，有些观点在Todd的《&amp;ldquo;品质在于构建过程&amp;rdquo;吗？》以及《Bob大叔和Jim Coplien对TDD的论战》中谈到过了。我只想想表达下面的观点：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;软件的精髓在于设计，设计是一件很费大脑的事件&lt;/strong&gt;。对于软件来说，设计没有完美的，它总是一件需要取舍需要权衡的事，比如：时间换空间，空间换时间，TCP或UDP，同步还是异步，数据冗余还不冗余等等。那怕是一个小小的observers模式是pull方式还是push方式都需要仔细讨论。这些的东西需要时间和做前期尝试。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;TDD&lt;/strong&gt;、&lt;strong&gt;快速原型和迭代可能会对软件和团队产生负面影响&lt;/strong&gt;。在一开始，你需要花很大的精力来让你的软件从无到有（做过软件的人都知道，从零开始写代码是很痛苦的事），但是因为你没有想好，先做再说，所以，后期你会面临更多的质量问题而让你需要花更多的时间精力。当然，那些咨询师会让你用持续集成和持续部署这样的方法。但我想告诉你，这并不解决你软件设计的缺陷。举个例子&amp;mdash;&amp;mdash;TDD、迭代、原型只关注功能性需求，其不会关注非功能性需求，比如性能问题，高可用性问题，系统维护问题（模块的耦合问题），等等。而这些问题往往都可以让你的软件设计重新来过。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;重构是恶梦，重构应该越少越好&lt;/strong&gt;。当你维护一个复杂的系统时你会知道重构是一件多么恐怖的事情（参看《&lt;a title="重构代码的7个阶段" href="http://sd.csdn.net/a/20110816/303125.html" target="_blank"&gt;重构代码的7个阶段&lt;/a&gt;》）。如果一开始没有想好，你要面临的不单单是re-design, re-architect，还要面对时间和人力成本的增加，最难的是你还要面对的是团队士气因为不断的rework而逐渐低落并产生厌倦和懈怠情绪。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;所以，如果你能有多一些时间去和客户讨论一下需求和未来可能的变化，去调查一下实现的技术难点和细节，去和其他有经验的人讨论并推敲一下架构和设计，去思考设计上的缺陷，那么，你的coding会变得非常地直，直到你一眼就看到尽头，你的测试案例也会写得非常地好，你会几乎不需要重构，于是，你会在未来少写很多代码，从而你的软件开发会越来越轻松，直到技术开始换代。&lt;/p&gt;&lt;p&gt;我现在在做的项目，花了几乎4个月的时间来做设计，在这个过程中，我们反复思考、讨论和权衡若干种实现方法，并尽可能地穷举所有的场景和细节以及未来可能的变化（那怕是那些简单的模块），有个模块被重写了至少三次，每次都是写到一半就被推翻重写，我们整个团队不断地在和其它团队讨论，并在对系统不断地认识中对系统进行简化和优化，并力求达到完美。现在看来，没有贸然使用Scrum是明智的。&lt;/p&gt;&lt;p&gt;这就好像我们修路造桥一样，我们需要花大量的时间勘测地形地质，分析数据，思考可能出现的各种问题（各种自然灾害），评估不同的设计方案，而不是先尽快建好再说。&lt;/p&gt;&lt;p&gt;所以，&lt;strong&gt;多一些时间，不是让你多做几次迭代，多完成几个模块，而是可以让你少写一些代码，更快的交付一个更好的产品&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;我相信你会有很多疑问，下面是我觉得你可能会有下面的一些观点，让我一条一条来回复：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;首当其冲的一定会是项目的deadline，或是那种你没有活语权的项目。&lt;/strong&gt;比如做那种&amp;ldquo;甲乙方合同式的项目&amp;rdquo;，我把这种项目统一认为是&amp;ldquo;外包项目&amp;rdquo;，在这种项目性质下，你很难有话语权。对此，我觉得，1）作为乙方的你还是应该和甲方在项目计划上争取一下，晓之以情，动之以理。2）如果不行，只能在时间、需求范围和质量上做一个权衡。另外，&lt;strong&gt;在这种情况下你要找一个方法，把你的压力和痛苦分担给用户和领导。&lt;/strong&gt;（找到这个方法的前提需要你找到用户和领导他们害怕什么，嘿嘿）&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;过度设计和纸上谈兵&lt;/strong&gt;。有人说会不会设计太多，造成过度设计，或是在设计上花太多的时间。这有可能。我上一家公司的一个项目团队就花了1年多的时间来不停不停的开会和做设计，结果release的时候还有1000多个bug。这个问题的原因是，这个团队的设计是在纸上谈兵，开会是开神仙会，讨论的设计都是浮云。所以，&lt;strong&gt;设计并不是讨论和思考，还需要去尝试，&lt;/strong&gt;我认为当你的设计完成的时候，你的骨干核心代码都基本完成了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;我的团队成员水平太差，不会思考&lt;/strong&gt;。首先，先恭喜你找到一堆码农，当然，这不怪你，这是中国教育和大环境的问题，让人不会思考。对于这样的情况，我有两个建议，1）量力而行，使多大的碗就吃多少饭。2）鼓励思考，那怕那些想法很不靠谱，因为如果不开始，那么将永远不会思考。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;必需使用快速迭代&lt;/strong&gt;。很多公司都在强行上敏捷，他们希望产品越快release越好，而没有充分的时间思考和讨论。对于这种项目，我的建议是，1）找有丰富经验的人来做。2）迭代过程中力求架构和程序逻辑的简单，简单，再简单，力求代码间的高内聚，低耦合。不然，重构的时候你就好玩了。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;创业团队必需要快&lt;/strong&gt;。做得快就是做得好吗？很多时候，不是谁快谁就能笑到最后的。这样的例子太多了。第一个做出来的人并不一定就会占领市场，其很有可能会成为先驱。&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;有钱的公司才会让团队用更多的时间去思考&lt;/strong&gt;。错了，你们没有见过有钱的公司，有钱的公司可以招一堆干不成活的人，可以把事搞乱了再新来过，甚至可以把做失败的项目换个名字再重新立项。这些真正的有钱的公司只求快，只求人多，不怕做错决定。像我们这些没钱的人，干什么事都是小心翼翼地，生怕做错决定。&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/2223545.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/10/25/2223545.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/04/15/2017000.html</id><title type="text">从零开始破解WEP、WPA无线网络</title><summary type="text">近些年无线技术发展迅速，越来越多的用户开始使用无线网络，最近新搬到一小区没有安装网络，后面想到以前出差时在机场用过无线网络，小区内是否也有无线网络呢？随便一搜，果然有几个无线网络信号，于是打起了免费蹭网的主意，但信号最好的几个网络的WEP或WPA密码成为了一个门坎，于是在公司上网查到相关资料，通过几天的学习+实践，终于破解了小区内的几个无线网络。</summary><published>2011-04-15T04:42:00Z</published><updated>2011-04-15T04:42:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/04/15/2017000.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/04/15/2017000.html"/><content type="html">以前出差时在机场用过无线网络，小区内是否也有无线网络呢？随便一搜，果然有几个无线网络信号，于是打起了免费蹭网的主意，但信号最好的几个网络的WEP或WPA密码成为了一个门坎，于是在公司上网查到相关资料，通过几天的学习+实践，终于破解了小区内的几个无线网络。&lt;p&gt;破解过程中虽然有了各位前辈的经验，但一些前辈的经验过于笼统、专业，细节的地方比较少。我就是在破解过程中走了不小弯路，还好本人学习和总结能力还可以 (谁扔的鸡蛋)，现主要就自己破解过程中的一些注意事项和细节从头介绍无线网络的破解过程。&lt;/p&gt;&lt;p&gt;本文只是对前辈们经验的一点补充，我的文章离不开前辈们的经验。套用最新的流行语:)感谢anywlan论坛、感谢haohamaru、感谢zero老大、longas老大、感谢ggdlyg、感谢liyg、感谢所有帮助我的朋友、感谢cctv、感谢mtv&amp;hellip;&amp;hellip;&lt;/p&gt;&lt;p&gt;第二章　破解前的准备&lt;/p&gt;&lt;p&gt;一、无线网络加密的方式和破解方法原理 (看不懂没关系)&lt;/p&gt;&lt;p&gt;　1、WEP加密 - 破解方式：收集足够的Cap数据包 (5万以上~15万)，然后使用aircrack破解。&lt;/p&gt;&lt;p&gt;可以在无客户端情况下采用主动注入的方式破解&lt;/p&gt;&lt;p&gt;　2、WPA加密 - 破解方式：收包含握手信息的Cap数据包，然后使用aircrack破解。&lt;/p&gt;&lt;p&gt;必须在合法的客户端在线的情况下抓包破解。可主动攻击合法客户端使其掉线，合法客户端掉线后再与AP重新握手即可抓到包含握手信息的数据包。或可守株待兔等待合法的客户端上线与AP握手。&lt;/p&gt;&lt;p&gt;二、硬件准备、网卡选择&lt;/p&gt;&lt;p&gt;工先利其事，必先利其器。一个好的无线网卡可以大大提高破解的效率，少走很多弯路，笔者之前就是没有一个好的无线网卡连WEP加密都没破开一个，后面换了网卡很快搞定。&lt;/p&gt;&lt;p&gt;　1、网卡芯片选择&lt;/p&gt;&lt;p&gt;现在主流的无线网卡芯片有以下四个品牌：Intel Pro、RaLink、Broadcom、Atheros。&lt;/p&gt;&lt;p&gt;Intel芯片主要集成在迅驰系统中，市场上很多主流的迅驰笔记本电脑都装的这种芯片的无线网卡，遗憾的是现在主流的破解工具BackTrack3对Intel芯片支持不是太佳。&lt;/p&gt;&lt;p&gt;RaLink、Broadcom、Atheros系列大部份芯片BackTrack3支持较好，具体支持的型号可以参考本站相关的帖子。比较有代表性的是芯片型号是Realtek RT73和RaLink 2500，坛子里使用的人最多，完美支持注入攻击。本站就有销售采用RT73芯片的无线网卡。&lt;/p&gt;&lt;p&gt;　2、无线网卡接口方式的选择&lt;/p&gt;&lt;p&gt;无线网卡主要有MINI-PCI内置型无线网卡 (迅驰系列)、台式机专用的PCI接口、笔记本电脑专用的PCMICA接口、USB无线网卡几种形式。&lt;/p&gt;&lt;p&gt;推荐使用USB接口无线网卡，支持VM虚拟机下使用。其他几种接口都不支持虚拟机下使用。&lt;/p&gt;&lt;p&gt;台式机专用的PCI接口无线网卡有较多可以外接天线的型号供选择。外接天线可以加强信号，信号的强度是破解成功与否的关健。这是笔者印象最深刻的经验，笔者就是把手提电脑搬到厨房才把一个&amp;ldquo;顽固&amp;rdquo;的无线AP给破解的，这是笨办法，手中暂时没有信号好的网卡，所以一个信号好的网卡才是正道。&lt;/p&gt;&lt;p&gt;　下面推荐三个USB接口无线网卡：&lt;/p&gt;&lt;p&gt;LINKSYS WUSB54G v.4 - RT2571芯片，注意要是V4版的，而且不是LINKSYS WUSB54GS型号，GS型所用芯片不同。LINKSYS WUSB54G v.4淘宝上有改装过可以外接天线的卖，加上一个高DBI的天线，肯定很爽。笔者现在用的就是这个没有改装的，下一步打算再入手一个改装的，加个7DBI的天线。&lt;/p&gt;&lt;p&gt;Sparklan (速连) WL-685R - RT73芯片&lt;/p&gt;&lt;p&gt;Sparklan (速连) WUBR-101 - RT73芯片&lt;/p&gt;&lt;p&gt;三、破解软件的选择&lt;/p&gt;&lt;p&gt;　1、WINDOWS系统软件&lt;/p&gt;&lt;p&gt;WinAirCrack下载地址如下：http://www.demonalex.org/download/wireless/aircrack/WinAircrackPack.zip&lt;/p&gt;&lt;p&gt;WINDOWS下的破解软件，更新很慢，支持的网卡型号少，不推荐使用，具体的破解步骤可以参考网上相关WINDOWS下破解的相关文章。&lt;/p&gt;&lt;p&gt;　2、Linux系统&lt;/p&gt;&lt;p&gt;很大黑客工具都在Linux系统下有很好支持，破解无线网络的Linux系统有BackTrack、wifiway等Linux LIVE CD。&lt;/p&gt;&lt;p&gt;BackTrack是基于Slackware和SLAX的自启动运行光盘，它包含了一套安全及计算机取证工具。它其实是依靠融合Auditor Security Linux和WHAX (先前的Whoppix) 而创建成的。其中包含AirCrack等无线网络破解工具，当然无线网络破解只是这个CD的一小部份功能。本文后面的介绍以本BackTrack3下操作为主。Wifiway或其它Linux LIVE CD下的破解可以参考BackTrack3的操作。&lt;/p&gt;&lt;p&gt;四、软件准备&lt;/p&gt;&lt;p&gt;BackTrack CD下载。BackTrack最新的版本是3.0版，网上很多无线网络的破解教程都是以2.0版为基础的，那是因为BackTrack3是去年底才更新，支持更多的无线网卡，建议下载。&lt;/p&gt;&lt;p&gt;光盘版：http://backtrack.mick27.info/bt3b141207.iso&lt;br /&gt;U盘版：http://backtrack.mirrors.skynet.be/pub/backtrack/bt3b141207.rar&lt;/p&gt;&lt;p&gt;建议使用迅雷下载。我使用的光盘版。&lt;/p&gt;&lt;p&gt;BackTrack3光盘下载后可以直接刻录使用，也可以在VM虚拟机下使用。下面介绍如何设置使BackTrack3光盘可以启动虚拟机，从而实现在虚拟机上破解无线网络。&lt;/p&gt;&lt;p&gt;　1、安装VMware Workstation，然后建立一个虚拟机，虚拟机配置为&amp;ldquo;典型&amp;rdquo;，客户机操作系统为Linux，版本为&amp;ldquo;Other Linux 2.6.x Kernal&amp;rdquo;，虚拟机名称和位置自便，网络连接如果想通过主机的网卡共享上网的话，选择使用桥接网络，磁盘大小建议分配不少于3G (后面用到的是bt3的real安装，就是全功能安装，所以空间要比较大)；&lt;/p&gt;&lt;p&gt;　2、对刚建立的虚拟机设置进行编辑，主要是对CD-ROM进行编辑，选择&amp;ldquo;使用ISO镜像&amp;rdquo;，找到BT3光盘镜像ISO文件所在的位置，然后确定；效果如图：&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627520.jpg" /&gt;&lt;p&gt;　以上只是设置从虚拟机使用光盘启动BackTrack3，当然你也可以把BackTrack3直接安装到你的虚拟机硬盘里。具体的方法见Asasqwqw的帖子：http://www.anywlan.com/bbs/dv_rss.asp?s=xhtml&amp;amp;boardid=15&amp;amp;id=7488&amp;amp;page=5&lt;/p&gt;&lt;p&gt;第三章　破解过程&lt;/p&gt;&lt;p&gt;步骤一、启动BackTrack3系统&lt;/p&gt;&lt;p&gt;现网上主流破解无线网络的BackTrack3启动方式有以下几种：&lt;/p&gt;&lt;p&gt;①直接启动&lt;br /&gt;A、USB引导启动 - 方法：需要制作下载USB版BackTrack3制作相应U盘，电脑设成从U盘引导。&lt;br /&gt;B、光盘引导启动 - 方法：下载光盘版，刻录光盘，电脑使用光盘引导&lt;br /&gt;C、硬盘安装版启动 - 方法：使用光盘引导，然后安装BackTrack3到硬盘里。得到可以启动BackTrack3的硬盘版。&lt;/p&gt;&lt;p&gt;②虚拟机启动&lt;br /&gt;A、虚拟机USB引导启动 - 方法：需要制作下载USB版BackTrack3制作相应U盘，虚拟机设定成从USB引导。&lt;br /&gt;B、虚拟机光盘引导启动 (推荐) - 方法：见第二章节&lt;br /&gt;C、虚拟机硬盘安装版启动 (推荐) - 方法：具体的方法见Asasqwqw的帖子&lt;/p&gt;&lt;p&gt;下面以虚拟机光盘引导的方式为例来继续后面的讲解 (当然，使用别的方式启动BackTrack3系统除了启动过程不同，其它基本相同，只有USB接口的网卡才支持虚拟机下破解)&lt;/p&gt;&lt;p&gt;打开虚拟机电源，选择第一项就可以 (或直接20秒后系统自动选择)&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627521.jpg" /&gt;&lt;p&gt;然后出现一堆乱七八糟的字符，进入直接进入到可爱的图形界面 (硬盘安装版要输入用户：root，密码：toor登录后，输入：startx命令才能进入图形界面)。&lt;/p&gt;&lt;p&gt;步骤二、想方设法得到破解所需的Cap数据包文件&lt;/p&gt;&lt;p&gt;想方设法得到破解所需的Cap数据包文件，就是不管你用什么方式得到破解所需的Cap数据包才是正道 (去偷去抢也行，~~呵呵)。&lt;/p&gt;&lt;p&gt;对于破解WEP加密和WPA加密所需要的Cap数据包要求是不一样的，这已经在第二章提到，所以这两种数据包的获取方式也是不一样的。下面分别就两种数据包的获得说明 (每个步骤后面都有常见问题分析，请参考)：&lt;/p&gt;&lt;p&gt;1、关于WEP数据包的获取&lt;/p&gt;&lt;p&gt;①加载无线网卡驱动&lt;/p&gt;&lt;p&gt;打开一个新的Shell窗口 (晕，不会不知道什么是Shell窗口吧？那你到处找找吧！)&lt;br /&gt;输入：ifconfig &amp;ndash;a&lt;/p&gt;&lt;p&gt;查看自己的无线网卡的接口名，我的USB网卡的接口名是rausb0，所以以下的说明都是以我的网卡接口rausb0为例，使用时请按你自己的接口名输入。&lt;br /&gt;命令：ifconfig &amp;ndash;a rausb0 UP&lt;br /&gt;加载无线网卡驱动完成。&lt;/p&gt;&lt;p&gt;常见问题：驱动无法加载&lt;br /&gt;a、检查你的接口名是否输入错误&lt;br /&gt;b、你的网卡芯片是否光盘所支持的&lt;/p&gt;&lt;p&gt;②激活网卡的Monitor模式&lt;/p&gt;&lt;p&gt;命令：airmon-ng start rausb0 6&lt;br /&gt;后面的6是你要破解AP的工作频道，根据实际，换成你破解的AP的实际工作频道 (下同)。&lt;br /&gt;这样网卡将启动监听模式，系统将反馈 (mode monitor enabled)。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627532.jpg" /&gt;&lt;p&gt;可以输入命令：iwconfig&lt;br /&gt;检查网卡的状态。&lt;/p&gt;&lt;p&gt;常见的问题：网卡不能启动正常的监听模式。&lt;br /&gt;a、请检测你所用的网卡是否是BackTrack3反支持的。笔者笔记本电脑内置的3945无线网卡在BT3下就不能正常监听，这是由于BT3下3945的驱动兼容性所致。Wifiway对3945网卡的支持要好些。&lt;br /&gt;b、检测输入的命令是否有误。&lt;/p&gt;&lt;p&gt;③开始抓取CAP数据包&lt;/p&gt;&lt;p&gt;命令：airodump-ng -w name -c 6 rausb0&lt;/p&gt;&lt;p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627533.jpg" /&gt;&lt;/p&gt;&lt;p&gt;其中的name是你抓包存储的文件名，你也可以起你自己个性的名字。这样，你的窗口将显示一个工作站，可以看到你要破解的AP的ESSID和MAC。AP的ESSID和MAC在下一步的攻击中会用到，与AP连接的合法客户MAC也可以看到，合法客户的MAC在WPA破解中有用。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627544.jpg" /&gt;&lt;p&gt;其实到了这一步，你的抓包工作已经开始。其中的Data数据量的多少是破解WEP密码的关健。当然如果你的足够的耐心，只要一直开着这个窗口，等上一个月，不用你进行下面的操作，你就能收集到足够的数据包 (在有客户端活动的情况下~~)。&lt;/p&gt;&lt;p&gt;为了快速得到需要的大量数据包，你可以进行第四步的攻击操作。当然你必须一直保持此窗口的打开，才能一直获取数据包。&lt;/p&gt;&lt;p&gt;常见问题：请不要关闭这个窗口，直接破解完成。&lt;/p&gt;&lt;p&gt;④采用注入攻击的方法使AP产生大量CAP数据包&lt;/p&gt;&lt;p&gt;a、使用aireplay-ng来获得PRGA&lt;/p&gt;&lt;p&gt;这是非常关键的一步。为让AP接受数据包，你必须使网卡和AP关联。如果没有关联的话，目标AP将忽略所有从你网卡发送的数据包，并发送回一个未认证消息 (DeAuthentication packet)，IVS数据将不会产生从而导致无法破解。&lt;/p&gt;&lt;p&gt;命令： aireplay-ng -1 0 -e ESSID &amp;ndash;a AP's MAC -h 网卡's MAC rausb0&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627545.jpg" /&gt;&lt;p&gt;如不是以上提示，请检查：&lt;br /&gt;a.1、命令是否输入错误&lt;br /&gt;a.2、目标AP做了MAC地址过滤&lt;br /&gt;a.3、你离目标AP物理距离太远&lt;br /&gt;a.4、对方使用了WPA加密&lt;br /&gt;a.5、网卡不支持注入&lt;br /&gt;a.6、网卡、AP可能不兼容,网卡没有使用和AP一样的工作频道&lt;br /&gt;a.7、输入的ESSIDt或MAC拼写有误，请注意检查&lt;/p&gt;&lt;p&gt;你可以根据命令反馈消息来判断原因来尝试解决问题，比如获得一个合法的MAC并伪造MAC、使用-o参数设置发送包的个数、设置网卡到一个较低的rate、到离目标AP更近一点的地方^_^，但是请注意：如果这一步不能成功，下面的步骤请不要再尝试，都是无用功！&lt;/p&gt;&lt;p&gt;b、使用fragmentation attack来获得PRGA&lt;/p&gt;&lt;p&gt;这里的PRGA并不是wep key数据，并不能用来解密数据包，而是用它来产生一个新的数据包以便我们在后面的步骤中进行注入。&lt;/p&gt;&lt;p&gt;命令: aireplay-ng -5 -b AP'sMAC -h 网卡'SMAC rausb0&lt;/p&gt;&lt;p&gt;如果一切顺利，系统将回显 Use this packet?&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627556.jpg" /&gt;&lt;p&gt;输入y回车，将得到一个至关重要的xor文件。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627557.jpg" /&gt;&lt;p&gt;常见问题：反复出现Use this packet?的提示&lt;br /&gt;以笔者的经验，这是信号不好的问题，请移动的网卡位置。如果是笔记本电脑可以拿着电脑到房间内别的位置试下。我有次就是拿着电脑从卧室跑到厨房才成功的。经验是PRW(信号值)在40以上才能比较容易通过此步。Xor文件的名字一般和日期时间有关。可以用ls命令查看，请记下产生的文件，以备后面使用。&lt;/p&gt;&lt;p&gt;c、使用packetforge-ng来产生一个arp包&lt;/p&gt;&lt;p&gt;可以利用这个PRGA (xor文件) 来产生一个注入包，其工作原理就是使目标AP重新广播包，当AP重广播时，一个新的IVS将产生，我们就是利用这个来破解。现在，我们生成一个注入包。&lt;/p&gt;&lt;p&gt;命令：packetforge-ng -0 -a AP'SMAC -h 网卡'MAC 5 -k 255.255.255.255 -l 255.255.255.255 -y 文件名.xor -w myarp&lt;/p&gt;&lt;p&gt;最后的myarp是生成的注入包文件名，可以取你自己个性的名字。&lt;/p&gt;&lt;p&gt;系统回显： Wrote packet to: myarp&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627568.jpg" /&gt;&lt;p&gt;常见问题：-l千万不要写成-1了，是L的小写，笔记就犯了这个低能的错误，差点卡在这步。&lt;/p&gt;&lt;p&gt;d、注入ARP包&lt;/p&gt;&lt;p&gt;命令：aireplay-ng -2 &amp;ndash;r myarp -x 1024 rausb0&lt;/p&gt;&lt;p&gt;读取上面生成的arp文件，发包攻击。其中，-x 1024 是限定发包速度，避免网卡死机，我选择的是1024，你也可以放大数值。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img200905131627569.jpg" /&gt;&lt;p&gt;系统提示： Use this packet?&lt;/p&gt;&lt;p&gt;输入y回车&lt;/p&gt;&lt;p&gt;攻击开始。&lt;/p&gt;&lt;p&gt;这时候回头看下第③你一直打开的抓包窗口，Data数据是不是飞速上涨？&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275710.jpg" /&gt;&lt;p&gt;当Data值达到5W左右时你就可以进行下一步破解了。&lt;/p&gt;&lt;p&gt;常见问题：-l千万不要写成-1了，是L的小写，笔记就犯了这个低能的错误，差点卡在这步。&lt;/p&gt;&lt;p&gt;2、关于WPA数据包的获取&lt;/p&gt;&lt;p&gt;①~③步与WEP数据包获取的步骤相同。&lt;/p&gt;&lt;p&gt;④进行Deauth验证攻击&lt;/p&gt;&lt;p&gt;这里为了便于WPA握手验证包的获取，必须进行Deauth验证攻击，这个对于采用WPA验证的AP攻击都会用到，可以迫使AP重新与客户端进行握手验证，从而使得截获成为可能。&lt;/p&gt;&lt;p&gt;命令： aireplay-ng -0 10 -a AP's MAC -c Client's MAC rausb0&lt;/p&gt;&lt;p&gt;解释：-0指的是采取Deautenticate攻击方式，后面为发送次数，-a后面跟上要入侵的AP的MAC地址，-c这个后面跟的是监测到的客户端MAC地址 (注意不是你自己的MAC地址，而是与AP联接合法用户MAC，这个数据可以在抓包窗口看到)。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275711.jpg" /&gt;&lt;p&gt;这里注意，Deauth攻击往往并不是一次攻击就成功，为确保成功截获需要反复进行，需要说明的是，攻击期间很可能会导致该AP的其它无线客户端无法正常上网即断网频繁，如下图所示，而且对于一些低端AP严重会导致其无线功能假死，无法ping通，需重起。&lt;/p&gt;&lt;p&gt;是否获得包含WPA握手验证包的Cap文件，需要在破解时进行验证，以上Deauth攻击几次后可以做破解尝试。WPA破解不用等到数据Data达到几万，只要有包含WPA握手验证包的Cap文件就可以。&lt;br /&gt;通过上面的方法我们已经获得破解WEP或WPA所需的cap文件。即可进行下一步的破解。&lt;/p&gt;&lt;p&gt;步骤三、用Cap数据包爆力破解&lt;/p&gt;&lt;p&gt;从破解难度上讲WEP是很容易破解的，只要你收集足够的Cap数据包就肯定可以破解。但WPA的破解需要有好的密码字典配合才能完成，复杂的WPA密码可能几个月也破解不出来。&lt;/p&gt;&lt;p&gt;　1、WEP数据Cap破解&lt;/p&gt;&lt;p&gt;命令：aircrack-ng -z -b AP's MAC name*.cap&lt;/p&gt;&lt;p&gt;Name是步骤三③中输入的文件名。系统会自动在你输入的文件名后加上-01、-02 (如果数据包太多，系统会自动分成几个文件存储并自动命名，可以使用ls查看)，输入name*是打开所有name开关的cap文件。&lt;/p&gt;&lt;p&gt;常见问题：步骤三③收集数据包已达30W，无法破解密码&lt;/p&gt;&lt;p&gt;可能系统自动分成了几个文件贮存cap包。如输入name-01.cap破解可能导致破解不成功，建议使用name*.cap，我就被这个问题搞了一个多小时。&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275812.jpg" /&gt;&lt;p&gt;下面是破解成功的界面：&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275813.jpg" /&gt;&lt;p&gt;　2、WPA数据Cap破解&lt;/p&gt;&lt;p&gt;命令：aircrack-ng &amp;ndash;w password.txt -b AP's MAC name*.cap&lt;/p&gt;&lt;p&gt;Password.txt是你事先准备好的字典。WPA密码破解必须使用字典破解模式。&lt;/p&gt;&lt;p&gt;技巧：可以在windows下使用下载的字典工具生产字典，再在BackTrack3下拷贝到/root下 (aircrack默认的工作目录在/root)。&lt;/p&gt;&lt;p&gt;请确认你的cap包是否包含有握手验证信息。如下图显示：&amp;ldquo;WPA (1 handshake)&amp;rdquo;&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275914.jpg" /&gt;&lt;p&gt;破解完成界面：&lt;/p&gt;&lt;img small="0" border="0" src="http://www.cbifamily.com/hard/harddim/h002/h69/img2009051316275915.jpg" /&gt;&lt;p&gt;请注意，破解WPA密码的时间取决于密码难易程度，字典包含程度，内存及CPU等，一般来说，破解WEP加密的时间最快可在1分钟左右，但破解WPA-PSK除非字典确实很对应，最快的1分钟内即可，但绝大多数情况下都是要花少则20分钟，多则数小时。如上图就花费了40分钟，毕竟，不是所有人都使用类似test、admin123之类密码的。&lt;/p&gt;&lt;p&gt;第四章　破解注意事项&lt;/p&gt;&lt;p&gt;一、信号问题&lt;/p&gt;&lt;p&gt;好的信号可以加大破解的成功机率。为了破解成功笔者就是拿着笔记本满房间跑。下一步打算入手一个改装过可以加天线的LINKSYS WUSB54G v.4，加个天线。&lt;/p&gt;&lt;p&gt;二、网卡兼容性问题&lt;/p&gt;&lt;p&gt;请看我关于破解硬件准备章节的内容&lt;/p&gt;&lt;p&gt;三、文件保存、交换问题&lt;/p&gt;&lt;p&gt;使用光盘启动的方式不管是直接启动或是在虚拟机下启动，所有得到的cap文件重启电脑后都会消失。因为光盘方式启动，所有数据只存在内存中，你看到的/root下的文件只是BackTrack3虚拟的一个分区。只有使用Real方式安装到硬盘模式启动时/root下文件才会在重启后保存。&lt;/p&gt;&lt;p&gt;BackTrack3已经支持硬盘的读取，但在虚拟机下好像无法安装VMware Tools，所以无法直接和主系统交换数据。临时的解决办法是使用U盘在虚拟机和主系统间交换文件。&lt;/p&gt;&lt;p&gt;四、命令&lt;/p&gt;&lt;p&gt;BackTrack3下命令的参数太多，输入命令时注意命令的所有字符是否输入正常。建议建立一个文本文件，把所有的命令输入到文件文件中。在shell窗口输入命令采用粘贴的方法输入命令。&lt;/p&gt;&lt;p&gt;五、结语&lt;/p&gt;&lt;p&gt;无线破解由于环境，所用网卡等因素影响可能不会一次成功。有问题多上论坛学习，平时多总结，会提高破解的成功机率。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/2017000.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/04/15/2017000.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/03/08/1977404.html</id><title type="text">群雄逐鹿的移动互联网时代【转载】</title><summary type="text">互联网时代经历了两次变革。第一次变革是门户时代（以新浪、搜狐、网易等网站为代表），它彻底颠覆了互联网发布信息和用户获取信息的方式；第二次变革是搜索引擎时代，它进入了以内容为王的时代，要求搜索引擎搜索的内容精确准，能接近用户的想法。谷歌的核心商业模式是网络广告。在移动互联网时代，也在激荡着影响深远的变革。移动互联网从开始的以运营商为主导，到运营商被边缘化，到谷歌打造的Android联盟。Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系，希望借助建立标准化、开放式的移动电话软件平台，在移动产业内形成一个开放式的生态系统。谷歌Android联盟里便包括了华硕、英特尔、Nvidia、ARM、东芝、中国移动、摩托罗拉等PC品牌、芯片巨头、运营商、手机OEM.</summary><published>2011-03-08T08:45:00Z</published><updated>2011-03-08T08:45:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/03/08/1977404.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/03/08/1977404.html"/><content type="html">2007年11月5日，谷歌正式推出旗下首款基于Linux平台开源手机操作系统Android，该平台由操作系统、中间件、用户界面和应用软件组成，号称是首个为移动终端打造的真正开放和完整的移动软件。谷歌向产业链伙伴描述的是这样一幅蓝图：手机企业研发和出售终端不用缴纳授权费，运营商可以收取更多的流量费，操作系统企业能大力推广移动搜索、移动地图等移动互联网业务，应用开发者可以从运营商那里获得越来越多的收入分成。在2009年，谷歌中国首次公开在移动互联网领域的技术战略目标&amp;mdash;&amp;mdash;让手机超越PC。围绕着这一战略目标，谷歌分别推出了整合搜索、谷歌手机地图以及基于Android应用开发平台。由于谷歌手机地图涉及到国家安全，谷歌目前并未获准在中国从事地图和定位服务。在中国，搜索也不是谷歌一家独有。由于搜索内容敏感，已被中国逐出中国的市场。摩托罗拉此前也宣布，将使用百度作为其在 Android手机中的默认搜索引擎。谷歌的移动互联网战略看似堪忧。 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; 互联网时代经历了两次变革。第一次变革是门户时代（以新浪、搜狐、网易等网站为代表），它彻底颠覆了互联网发布信息和用户获取信息的方式；第二次变革是搜索引擎时代，它进入了以内容为王的时代，要求搜索引擎搜索的内容精确准，能接近用户的想法。谷歌的核心商业模式是网络广告。在移动互联网时代，也在激荡着影响深远的变革。移动互联网从开始的以运营商为主导，到运营商被边缘化，到谷歌打造的Android联盟。Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系，希望借助建立标准化、开放式的移动电话软件平台，在移动产业内形成一个开放式的生态系统。谷歌Android联盟里便包括了华硕、英特尔、Nvidia、ARM、东芝、中国移动、摩托罗拉等PC品牌、芯片巨头、运营商、手机OEM. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3G时代信息的载体是智能手机，智能手机的灵魂是手机操作系统。谁能在移动互联网市场抢得先机，那么就有成为移动互联时代的主流。Android是谷歌移动互联网关键战略之一。目前就已经获得全球59家运营商、21家 OEM厂商、60款终端的支持，吸引的应用开发者数量超过18万，基于Android开发的应用程序也超过5万个。从全球看，终端厂商的支持使得 Android手机的种类已经大为丰富，如HTC、三星、LG等原来支持WM的厂商都开始生产Android手机，摩托罗拉这个坚定的WM支持者甚至完全放弃WM而转向Android。可以说谷歌的android战略实施的相当成功。从内容为王的时代必定走向以应用为王的时代。 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 谷歌并不在意依靠Android直接获益，而是希望越来越多的终端企业和运营商选择Android，这样它就可以通过Android发挥其在移动互联网领域的优势，通过搜索、地图、导航、音乐等业务赚取源源不断的利润.据李开复介绍：&amp;ldquo;移动搜索的盈利模式和基于PC的互联网搜索引擎相类似，主要基于关键词的广告.谷歌总部已开始与部分应用程序开发商合作，测试应用程序内置广告。 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Android是一个对第三方软件完全开放的平台，开发者在为其开发程序时拥有更大的自由度。Android 操作系统提供了一个跨设备性的通用结构，使众多的软件应用程序开发人员能为 Android 编写应用软件。Android也已经向其他消费类电子应用伸出触角，除了上文提到的MID，还有家庭媒体播放器（HMP）、机顶盒、电视和网络电话等等。android提供应用也与我们的日常生活密切相关，比如：通过语音搜索，手机可以帮助你找到最近的加油站、银行等信息；手机可以随时随地通过扫描商品条形码，帮助寻找该产品的相关信息；通过&amp;ldquo;谷歌纬度&amp;rdquo;产品，能帮助你确定所有朋友所在地方&amp;hellip;&amp;hellip;。 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Android战略实施成功，则android无所不在。在平时，android可以为我们的生活带来极大的便利。可是一旦发生战事，my god,只有祈求神的保佑了 &lt;br /&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/1977404.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/03/08/1977404.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2011/01/27/1946078.html</id><title type="text">B2B，B2C和C2C的区别</title><summary type="text">电子商务发展至今，已经有十余年了，但是对于电子商务的概念，还没有一个统一的说法。接触电子商务的人想必脑海中肯定会产生这样的疑问：电子商务和网络购物是一码事，还是两个概念？当下盛行的淘宝，当当之类的网购网与阿里巴巴，中国制造&amp;中国创造，慧聪等这些网站的区别是什么？就目前的发展情况来看，业界对于各个电子商务形式没有明确的区分，像淘宝之类的网站是电子商务平台，像京东商城，中国创造，阿里巴巴等这些也同样是电子商务网站，并没有给每个类型设定一个独特的名称加以区分。所以，人们以及新闻媒体都将所有的在互联网上进行商业交易的称为电子商务网站或者电子商务平台。</summary><published>2011-01-27T03:53:00Z</published><updated>2011-01-27T03:53:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2011/01/27/1946078.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2011/01/27/1946078.html"/><content type="html">&lt;p&gt;电子商务发展至今，已经有十余年了，但是对于电子商务的概念，还没有一个统一的说法。接触电子商务的人想必脑海中肯定会产生这样的疑问：电子商务和网络购物是一码事，还是两个概念？当下盛行的淘宝，当当之类的网购网与阿里巴巴，中国制造&amp;amp;中国创造，慧聪等这些网站的区别是什么？就目前的发展情况来看，业界对于各个电子商务形式没有明确的区分，像淘宝之类的网站是电子商务平台，像京东商城，中国创造，阿里巴巴等这些也同样是电子商务网站，并没有给每个类型设定一个独特的名称加以区分。所以，人们以及新闻媒体都将所有的在互联网上进行商业交易的称为电子商务网站或者电子商务平台。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 那么，电子商务是有分类的，淘宝，京东，阿里巴巴这三个其实并不是很相似，反而相互差别很大，呈现一个从易到难，由轻到重的发展格局。电子商务目前主要可以分为三大类，分别是：B2B，B2C和C2C。b的英文是Business，c是consumer，2则是发英文to（two）的音，这三者分别表示的是企业对企业，企业对消费者（个人）以及消费者（个人）对消费者。企业相对于个人来说则显得正规，规模大，交易量大，责任重大等一些特点，所以就导致了这三个分类必然存在着很大的不同之处。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt; B2B&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 企业与企业之间的交易，就像我们生活中的企业之间的交易一样，将其放到互联网上则使这种企业之间的交易的某些特性加深了，比如诚信度，安全性，复杂性等都被提升了一个档次。由于目前电子商务发展的还不是很完善，尤其是针对于企业与企业这一块，显得很不健全以及不规范。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 现在，面对企业之间交易的电子商务平台主要提供的是信息的获取和沟通，广大的企业将自己的产品信息，企业信息以及图片等展示内容放置到电子商务平台上展示。通过互联网推广，被越来越多的人关注，进而产生交易对象或者潜在客户群并进行谈判合作，直到双方达成协议。至于在资金和物流这两个方面，目前许多电子商务平台还没有提供这类服务，资金和物流就需要交易双方自行协商处理。因此，这也是目前B2B电子商务平台发展不完善的两个地方。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 电子商务是包含有信息流，资金流和物流这三者，缺一不可，但是目前的电子商务平台仅提供给企业一个互联网上展示的平台，也就是企业网站，以及网络推广，将企业网站推广出去，为企业带来更多的客户和潜在消费群。不过，虽然如此，却大大降低了企业的宣传成本，并且获得的宣传效果也很不错，所以电子商务仍需继续努力，在开发&lt;a target="_blank" href="http://labs.chinamobile.com/go.php?url=http%3A%2F%2Fwww.madeinchina.cn%2F"&gt;电子商务&lt;/a&gt;服务的同时，也要在物流和资金流这两个方面加强建设。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp; B2C&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 相对于纯粹的企业与企业之间交易的B2B，以及个人与个人之间交易的C2C，B2C是结合了两个的服务对象的企业与个人之间的交易。据了解，目前B2C的平台，相对于另两个来说比较少。最主要的原因就是，做电子商务所要求的条件还是很高的。首先，在互联网上建企业网站，开发网络产品，网站维护以及网络推广等等，都是一笔笔不小的开支，一般的中小企业是没有足够的实力去为自身企业开发一个电子商务平台的，都是选择加盟别的电子商务平台。电子商务行业是一个花费开销很大的行业，甚至于短时间内实现不了盈利，据有关资料显示，我国绝大部分的B2B电子商务平台还没有实现盈利，可见做电子商务是需要雄厚的基础的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 因此，在B2C这一块，基本上都是大型的有实力的企业在做，比如京东商城等。除了网站建设，网络推广等一些花费之外，B2C平台还必须重视物流和资金这两块的建设。目前第三方支付系统越来越规范，很大程度上解决了电子商务中资金流的问题。但是物流业却显得乱七八糟，毫无规范。而物流方面引发的问题将直接影响到电子商务平台的运行，因此，物流这一块必须处理。当然，如果物流管理日趋成熟之后，那么将会大大加快电子商务发展的步伐。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;C2C&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2C应该说是最早出现的电子商务代表，最初的&lt;a target="_blank" href="http://labs.chinamobile.com/go.php?url=http%3A%2F%2Fwww.madebychina.cn%2F"&gt;电子商务&lt;/a&gt;就是主要服务于广大的消费者，并没有涉及到企业。所以说，电子商务发展到今天应该感谢C2C，是它一步一个脚印带领着电子商务不断向前发展的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 相对来说，个人之间的交易显得稍微的容易，简单一些。就以淘宝为例，它降低了创业做生意的门槛，任何人只需在网站上注册申请之后就可以拥有一个属于自己的网店，网站负责规范一些运行规则，比如搜索设置之类的。而个人需要像对待实体店一下，认真的打理自己的网站，自己做推广。淘宝好比是一个个大市场的负责人，而淘宝店就好比是大市场里的每个店铺，只不过开网店是不需要交相关费用和走一些法定程序的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;网上开店确实实现了很多人做老板的梦想，开店成功的人也不在少数。而资金流方面因为第三方支付的出现变得方便起来，只是仍然存在物流方面的问题。不过，只要物流进一步规范起来，上纲上线，那么基本上物流也不会有多大影响。最主要的问题仍然是，电子商务平台的走向，随着网店越来越多，如果将自己的网店推广出去，如何吸引广大的网络用户，如何提高自身网店的成交量是各个淘宝店主需用心琢磨的事情。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/QQParadise/aggbug/1946078.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/QQParadise/archive/2011/01/27/1946078.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2009/06/12/1501906.html</id><title type="text">什么是负载均衡？</title><summary type="text">网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长，其处理能力和计算强度也相应增大，使得单一设备 根本无法承担。在此情况下，如果扔掉现有设备去做大量的硬件升级，这样将造成现有资源的浪费，而且如果再面临下一次业务量的提升，这又将导致再一次硬件升 级的高额成本投入，甚至性能再卓越的设备也不能满足当前业务量的需求。于是，负载均衡机制应运而生。 </summary><published>2009-06-12T02:35:00Z</published><updated>2009-06-12T02:35:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2009/06/12/1501906.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2009/06/12/1501906.html"/><content type="text">网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长，其处理能力和计算强度也相应增大，使得单一设备 根本无法承担。在此情况下，如果扔掉现有设备去做大量的硬件升级，这样将造成现有资源的浪费，而且如果再面临下一次业务量的提升，这又将导致再一次硬件升 级的高额成本投入，甚至性能再卓越的设备也不能满足当前业务量的需求。于是，负载均衡机制应运而生。 </content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2009/05/20/1467435.html</id><title type="text">HTTPS、WTLS和SSL</title><summary type="text">SSL 的英文全称是 “Secure Sockets Layer” ，中文名为 “ 安全套接层协议层 ” ，它是网景（ Netscape ）公司提出的基于 WEB 应用的安全协议。 SSL 协议指定了一种在应用程序协议（如 HTTP 、 Telenet 、 NMTP 和 FTP 等）和 TCP/IP 协议之间提供数据安全性分层的机制，它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。</summary><published>2009-05-20T03:22:00Z</published><updated>2009-05-20T03:22:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2009/05/20/1467435.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2009/05/20/1467435.html"/><content type="text">SSL 的英文全称是 “Secure Sockets Layer” ，中文名为 “ 安全套接层协议层 ” ，它是网景（ Netscape ）公司提出的基于 WEB 应用的安全协议。 SSL 协议指定了一种在应用程序协议（如 HTTP 、 Telenet 、 NMTP 和 FTP 等）和 TCP/IP 协议之间提供数据安全性分层的机制，它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。</content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2009/03/08/1406084.html</id><title type="text">对比Spring 1.0与2.0的事务配置方式</title><summary type="text">Spring 1.0的标准事务配置 先定义一个baseTxService进行基本的事务定义，类型为TransactionProxyFactoryBean。如果service没有基于接口，使用cgilib来实现AOP，定义 实际的Manager类设置parent=baseTxService，target 为匿名的实际Manager类。如果需要定义特殊的事务，利用merge=true的属性，在manager的transactionAttributes节点进行新事务的定义。 </summary><published>2009-03-07T16:56:00Z</published><updated>2009-03-07T16:56:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2009/03/08/1406084.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2009/03/08/1406084.html"/><content type="text">Spring 1.0的标准事务配置 先定义一个baseTxService进行基本的事务定义，类型为TransactionProxyFactoryBean。如果service没有基于接口，使用cgilib来实现AOP，定义 实际的Manager类设置parent=baseTxService，target 为匿名的实际Manager类。如果需要定义特殊的事务，利用merge=true的属性，在manager的transactionAttributes节点进行新事务的定义。 </content></entry><entry><id>http://www.cnblogs.com/QQParadise/archive/2009/02/24/1397242.html</id><title type="text">JPA(Java Persistence API)</title><summary type="text">JPA全称为Java Persistence API ，Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口。JPA吸取了目前Java持久化技术的优点，旨在规范、简化Java对象的持久化工作。 Sun引入新的JPA ORM规范出于两个原因：其一，简化现有Java EE和Java SE应用的对象持久化的开发工作；其二，Sun希望整合对ORM技术，实现天下归一。</summary><published>2009-02-24T06:50:00Z</published><updated>2009-02-24T06:50:00Z</updated><author><name>QQ天堂</name><uri>http://www.cnblogs.com/QQParadise/</uri></author><link rel="alternate" href="http://www.cnblogs.com/QQParadise/archive/2009/02/24/1397242.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/QQParadise/archive/2009/02/24/1397242.html"/><content type="text">JPA全称为Java Persistence API ，Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口。JPA吸取了目前Java持久化技术的优点，旨在规范、简化Java对象的持久化工作。 Sun引入新的JPA ORM规范出于两个原因：其一，简化现有Java EE和Java SE应用的对象持久化的开发工作；其二，Sun希望整合对ORM技术，实现天下归一。</content></entry></feed>
