比尔盖茨2016吓书推荐

  dojo和kata的练习记录:

     
土豪直接扣视频,视频下方是本着引进书籍的详细文字介绍。假日赶快结束了,看看盖叔去年读了什么书(比尔盖茨2015年好写推荐请点击),顺便把前年纪念读去年尚并未念之写并上上。新的平年,各位心想事成~

图片 1

1**String Theory**

  进入 http://cyber-dojo.org/

图片 2

图片 3

     
这是均等按照网球题材的题,作者(已故,原因自己查)为大卫·福斯特·华莱士(DavidFoster
Wallace),纽约时报评价他吗“有史以来,网球题材之特等作者”。

  由一个口进行 setup a default practice,然后创建:
图片 4

     
本书摘选了他最优异之五篇文章,形成了及时仍随笔集。在文中,作者以竞争对手或网球爱好者的视野,以他诙谐、讥嘲、繁复、热闹的调子描述了网球这同样亲昵爱运动,比如罗杰费德勒这样的顶级天才;对崔西·奥斯丁(前世界冠军)回忆录的浓剖析;作为一个远自律的选手,迈克尔·乔伊(莎娃的训)在数面前的艺术性抉择;抵制美网的商业化侵蚀;回忆自己之网球职业,自认为好多是一个壮烈之低档网球手。

  这里支持各种语言与各种测试框架,这里我们挑选C++和GoogleTest
图片 5

     
盖茨笑称“如果您以列车或飞机上宣读这本开,别人见面认为你最佳聪明,实际上这仍开跟物理没有半毛钱关系”。

  这里是选取一个问题进行联系,我们挑选“网球记分规则”来练。

2**Shoe Dog**

图片 6

图片 7

  成功之后,他见面于每个人都分配一个动物头像,下面的老三个绕,红色表示case执行破产,黄色代表编译失败,绿色代表case执行经。

      目前好购买至中文版,作者是Nike的开山兼CEO菲尔·耐特(Phil
Knight)。这是相同遵照坦诚之,引人入胜的回忆录,耐特第一次等同豪门大饱眼福了小卖部首那些不为人知的故事:一个骁的初创企业,如何通过自身之上扬,成为全球最富有标志性,颠覆性和扭亏品牌之一。我们看一下美亚本着本书简介:

  第一独创造的总人口,把变化的url中的http://cyber-dojo.org/kata/edit/52E43B0082?avatar=raccoon
52E43B0082” 提取出即可,这样其他人可以经过enter a practice进入:
图片 8

     
1962年,菲尔·耐特刚刚由商学院毕业,揣在打父亲那么借来之50美元创建了这家店铺,当时设法充分单纯:进口日本高格调,低本钱的运动鞋。菲尔·耐特将鞋子在那辆石灰绿轿车的后备箱里兜售,以这样的办法,第一年创利了八千美元。现在,Nike每年的销售额是三百亿,俨然成为初创公司的标杆。勾号(swoosh)商标为无人不晓,成为当今世界最具革命性,最独一无二的标志之一。但商标背后的汉子一直非常暧昧。现在,耐特首糟以回忆录的款型,从那些关键时刻开始,坦白,谦虚,无畏,诙谐的描述他的故事。当年,二十四年之他成功徒步环游世界,决定择一样久突出的征程来创造好的生意。他以及希中,不只是水到渠成的欣,还要承受众多风险和让人沮丧的挫败,耐特会在本书中细道来。文中说到他和初期搭档相识之进程,一众多不合时宜的乌合之众多最后亲自如兄弟,在一齐使命的号召下,凭借对体育精神的安稳,最终创造了Nike这个品牌。

  所有人数登后,我们得以经过首页的观望有人数的一个态:

3The Myth of the Strong Leader

图片 9

图片 10
图片 11

  每个人进去后,都是之类界面:

      作者是牛津大学资深政治学教授阿奇布朗(Archie
Brown),本书要讨论政治领导力。通常领导力会陷入到一个两难的极端分化:强弱的如何。不过还是会找到多中的方法来施展政治领导力,反之亦是如此。我们责备政客要吧经济衰退买只时,又见面称他推了严重性之社会改革。很少有人反思,究竟是啊特质让小领导干部一帆风顺,而另外领导人却难呢?作者考察百年来之莽莽资料,完成了部大著作,反驳了一个常识:只有强硬的经营管理者能够决定幕僚,影响政策制定过程,因此再也易于得逞并吃人尊重。

图片 12

     
布朗广泛阐述了二十世纪政治家们的功过得失。比如像罗斯福,林登·约翰逊(第三十六无美国总统),撒切尔这类更定义领导力的人选,或者诸如戴高乐,戈尔巴乔夫,曼德拉就看似政权更替的主任,文中描述了他们怎么当任期内盖政治方式及可行性的巅峰,通过这些内容,布朗挑战了俺们的对准政权中和政治能力之健康看法。尽管我们当学院风格过于懦弱,不待见即类似领导力,但频繁就类领袖更起合作能力,从而拥有显著的影响力。布朗的总时而持有启发,颠覆了不少传统观念,让咱们重新评估那些培训这个世界之领导人员,并重新考虑和判断那些未来就要领导我们的人。

  这虽是咱们因而来练习的IDE

4The Grid:The Fraying Wires Between American

   默认会帮你可怜成一个黄的case,我们点击上的test就会砸。

图片 13
图片 14

图片 15

      本书作者是人类文化学家格雷琴 巴克(Gretchen
Bakke),电网作为二十世纪工程界的标志性成果,很为难满足当今一代之求。这不只是电网老旧和底蕴设备保护的题材。随着我们对新能源(太阳能,风能等)的皇皇期望,在朝着能源未来之通道上,电网成了太深的遏止。如果我们想如果兑现这未来,我们要根据二十一社会风气的传统更规划电网。这是一个广阔工程,需要多面的极力,目前而言,这些极力并无明了,但改造都齐刷刷的启了。

  于是我们用改case,让它们化成功状态,变为绿色。

     
作者大都地方的介绍了美国能源基础结构,电网高峰期和平稳时刻,以及它对私有以及江山在的要作用。她以为电网是美国一模一样桩根本的人为产品,它伴随我们的成长,有有龙才科技及定点的自由创作,偶尔夹杂了片幻想的愿景,是散扩张下之结果。她阐述了当代美国改造电网的详情,有时需要进取心和光辉的期望,有时是立法还是武力示威。本文有趣而有洞察力,将电网比喻为世界上极度充分之机器:它可爱的历史,如今底问题,以及美好的前程同神秘的意。

图片 16

5The Gene:: An Intimate History

  这是自家修改成功后,点击test之后,得到了绿色的小球,然后又点击绿色小球的结果,这里可以看你每次的修改。

图片 17

  后面的流水线基本就是是描写一个case,然后还落实一个逻辑的代码,然后在run。如此频繁,我先是不善到位的时候的代码:

      本书作者是普利策奖得主,畅销书作家穆克吉(Siddhartha
Mukherjee),本书介绍了基因的瑰丽历史,对一个来源于未来底问题吃出了友好的答案:当我们掌握了读写(编辑)自己基因信息时,如何定义人类呢?

  先押测试代码:

     
穆克吉看基因是活的,杰出之,富有启发性的,通过正确,社会历史与民用叙述的接力,告诉我们基因这个当代史遭遇最要害的定义突破之一。本书介绍了人类对遗传的探赜索隐,以及它们对我们活,个性,身份,命运,抉择的惊心动魄影响。他叙述了人类在群年里对遗传的钻研与试验,从亚里士多道,毕达哥拉斯至孟德尔,达尔文,从博韦里,摩根到克里克,沃森,富兰克林,全方位的见了这些二十一世纪之创新者革命性的完成人类基因组的长河。一个纽约客评价,对一个平常读者而言,很麻烦想象市场上会生出诸如此类多的科普读物,不仅能够涵盖现代科技的具备世界,而且浅显易懂又充满豪情,这是一个了不起的做到。对任何人而言,基因知识且是必须要询问之,因为及时拉到对未来性格之概念,是这时代科学界最重点之局部。所以,不妨来听一听大师之观。

#include "hiker.hpp"
#include <gtest/gtest.h>

using namespace ::testing;

TEST(Hiker, player0_0)
{
    ASSERT_EQ("Love-All", score(0, 0));
}
TEST(Hiker, player1_1)
{
    ASSERT_EQ("Fifteen-All", score(1, 1));
}
TEST(Hiker, player2_2)
{
    ASSERT_EQ("Thirty-All", score(2, 2));
}
TEST(Hiker, player0_1)
{
    ASSERT_EQ("Love-Fifteen", score(0, 1));
}
TEST(Hiker, player1_0)
{
    ASSERT_EQ("Fifteen-Love", score(1, 0));
}
TEST(Hiker, player1_2)
{
    ASSERT_EQ("Fifteen-Thirty", score(1, 2));
}
TEST(Hiker, player3_1)
{
    ASSERT_EQ("Forty-Fifteen", score(3, 1));
}
TEST(Hiker, player0_3)
{
    ASSERT_EQ("Love-Forty", score(0, 3));
}
TEST(Hiker, player4_4)
{
    ASSERT_EQ("Deuce", score(4, 4));
}
TEST(Hiker, player5_4)
{
    ASSERT_EQ("Advantage Player1", score(5, 4));
}
TEST(Hiker, player4_5)
{
   ASSERT_EQ("Advantage Player2", score(4, 5));
}
TEST(Hiker, player6_4)
{
   ASSERT_EQ("Win for Player1", score(6, 4));
}
TEST(Hiker, player4_6)
{
   ASSERT_EQ("Win for Player2", score(4, 6));
}

图片 18

  再拘留事情代码

#include "hiker.hpp"

string score(int p1, int p2)
{
    string so[4]={"Love","Fifteen","Thirty","Forty"};

    cout<<p1<<p2<<endl;
    if (p1 < 4 && p2 < 4)
    {
        if (p1==0 && p2==0)
        {
            return "Love-All";
        }
        else if (p1==1 && p2==1)
        {
            return "Fifteen-All";
        }
        else
        {
            return so[p1]+"-"+so[p2];
        }
    }
    else
    {
        if (p1==p2)
        {
            return "Deuce";
        }
        int cha = p1-p2;
        if (cha>0 && cha<2)
        {
            return "Advantage Player1";
        }
        else if(cha>1)
        {
            return  "Win for Player1";
        }
        else if(cha<0 && cha>-2)
        {
            return  "Advantage Player2";
        }
        else if(cha<-1)
        {
            return  "Win for Player2";
        }
    }
    return "hello world";
}

  是无是圈起逻辑好乱啊。没错我吧是如此的发,特别想重构,一般说及重构,很多总人口心有余悸,没涉及,我们出测试用例不用操心。 

  重构完成的代码和测试用例:

#include "hiker.hpp"

string score(int p1, int p2)
{
    string s_score[4]={"Love","Fifteen","Thirty","Forty"};
    string s_same[4]={"Love-All","Fifteen-All","Thirty-All","Deuce"};
    map<int,string> m_res;
    m_res.insert(pair<int, string>(1, "Advantage Player1"));
    m_res.insert(pair<int, string>(2, "Win for Player1"));
    m_res.insert(pair<int, string>(-1, "Advantage Player2"));
    m_res.insert(pair<int, string>(-2, "Win for Player2"));

    cout<<p1<<p2<<endl;

    // 处理相等的情况
    if (p1 == p2) 
    {
        if (p1 > 2)
            return s_same[3];
        return s_same[p1];
    }

    // 处理赢球数都在3以下的情况
    if (p1 < 4 && p2 < 4)
    {
        return s_score[p1]+"-"+s_score[p2];
    }

    // 处理赢球数都在3以上的情况
    else
    {
        return m_res[p1-p2];

    }
    return "error";
}

  可以望自身总共付出了48差
图片 19

  大家的结果 http://cyber-dojo.org/dashboard/show/D9D934A59E:

图片 20

 

  通过这次Dojo Coding,总结如下:

    1、先勾勒case,再落实代码;

    2、每实现一个职能,run一不好测试代码;

    3、重构的早晚,每个微的单元重构一糟糕,run一蹩脚测试代码。

  这样就算可管,你以重构完成之后,所有的效果是足以经的。也就是TDD的想想。