通过完成挑战来学习新知识

交通信号灯

陌生的技术

最近在一直在做pythonchallenge这个网站提供的python挑战,以一种使用使用编程来根据线索找到答案的游戏,这个挑战涉及到python技术的方方面面,包括字符串处理,正则表达式,字符串编码解码,加密解密技术,压缩解压缩,http网络技术,图像处理,音频文件处理,算法, 甚至有一道题让我使用代码走出一个复杂的迷宫。在做这个挑战之前,我没有想到,我有一天能涉及到图像处理的技术,但到现在,我对一般的python操作已经熟练掌握,能很容易的读取读片像素点,甚至能通过编程来画出新图片。

发生了什么

面对一道题,玩家首先想到的是这道题我要使用python的哪个库,找到一个新的库,再也不会像以前一样想要把这个库的方方面面都了解清楚,而是以解决一个实际的问题为出发点,这个时候的思路也是清晰的,安装这个库,快速找到能跑起来的代码,不断的尝试不同的技术点,尝试,不断尝试,直到将问题解决。

spring-framework研究

贝多芬

Gradle Spring构建工具

Groovy 入门

Apache Groovy is a dynamic programming language for the Java platform.

Groovy是一个基于jvm的动态编程语言,gradle构建工具使用groovy作为构建配置文件,而不再是xml文件。

安装Groovy
1.下载二进制文件
2.设置环境变量GROOVY_HOME,将GROOVY_HOME/bin添加到PATH
3.执行groovy -v命令测试安装结果

Gradle中如何使用Grovvy

以spring-framework中的build.gradle为例讲解Gradle的语法

spring-framework项目对于gradle的使用

Spring研究过程中出现的版本控制问题

从spring-framework远程仓库fork了代码到自己的仓库之后,我如何同步spring-framework的远程更新?

1.列出当前配置的所有远程仓库

1
git remote -v

2.增加上游

1
git remote add upstream https://github.com/spring-projects/spring-framework.git

3.测试上游增加结果

1
git remote -v

4.选择要更新的分支

1
git checkout master

5.从上游更新代码

1
2
git fetch upstream
git merge upstream/master

6.同步到自己的github仓库

1
git push

dubbo研究

黄山
今天在研究dubbo源码的时候,发现了dubbo的主要贡献者梁飞的个人博客,甚是喜欢,博客里面的俄罗斯方块代码158K,下载下来直接就能跑,很讲究。

开源项目dubbo的组成

dubbo的测试

从测试入手,研究庞大的框架。
dubbo使用的测试相关的依赖:

  • junit 4.12
  • easymock 3.4
  • jmockit 1.33

travis-ci入门

1、 授权github账号
2、 登录travis-ci仓库管理 开启你要持续集成的仓库
3、 在仓库根目录创建.travis.yml文件,文件内容以dubbo为例,其中字母区分大小写,更多构建配置

1
2
3
4
5
6
language: java
jdk:
- oraclejdk8
- openjdk7

script: mvn -DskipTests=true clean package

4、 每一次向github push代码时触发一次构建
5、 点击travis-cli右上角仓库构建状态图标,获取markdown格式的图片链接,并写到自己仓库的README.md中,便能看到构建状态的图标了,而且图标会根据构建状态动态变化。

对于telnet的支持

dubbo支持的telnet功能

内心的声音

马路

内心的声音

开心是什么,是困了可以睡觉,是安全,是饿了有吃的,是能得到自己想要的东西,是获得成就感。内心的声音,是做自己喜欢做的事情,不做自己不喜欢的事情,说自己想说的话,不说自己不想说的话,不违心捧别人的场,交聊的来的朋友,毫不理睬自己不对付的人。

孟德尔的豌豆

雪人

为什么孟德尔会选择豌豆作为实验材料

他选用豌豆为实验材料,是因豌豆的某些特性常有两两成对的情形,且易区分,如高茎和矮茎、种子有圆的和皱的;同事豌豆易于栽培,生长期短,播种后约三个月便开花结果;此外其易于杂交且杂交后结实率高产生的种子仍有生殖力。更重要的是孟德尔知道豌豆为自花受粉,可从事人工受粉的试验。

为什么孟德尔会用统计学的方式去研究豌豆?

从1851年到1853年,孟德尔在维也纳大学学习了4个学期,系统学习了植物学、动物学、物理学和化学等课程。与此同时,他还受到了从事科学研究的良好训练,这些都为他后来从事植物杂交的科学研究奠定了坚实的理论基础

有所发现后他做了什么?

孟德尔的研究支持了遗传的颗粒说,他并且把研究结果送给提出颗粒说的耐格里。

富兰克林

富兰克林

说一说

刚刚是1月15日星期五,这里是一天一个想法的第26期,首先我想说一下,我是如何思考的,这个问题。我写没周的文章是有这样一个模式的,每当我有一个想法,一个灵感的时候,我就会把这个想法记录到我的笔记中去,记下一句话描述这个想法,然后当我周五的时候就统一的去看我一周的想法的记录,然后把这些想法实现成一篇文章,这样。除了这个模式,当我一个人在外面绕圈的时候,我还有一种自己指引思考方向的方法,这时候我脑子里是头绪很多的时候,或者我大脑一片空白的时候,我会用一个方法,我就告诉自己听一听自己内心的声音,想一想自己想要的时候,自己的优势是什么,自己是不是在做一件有趣的事情,自己的头在想什么,我的身体是感觉很精力充沛的,或者是感觉到疲劳了,我是开心的或者是难受的,神奇的就是每当我更深入的感受自己的想法、自己的感受、自己的状态的时候,我要想的问题就会都变得特别的清楚……
接下来是本周我翻过的一些书,和我想说的话。

富兰克林自传

夏天的时候看了一部分的富兰克林自传,动机是寻找一些问题的答案,比如一个有趣的问题,富兰克林总是要完成自己每天安排的工作内容,不管再晚也要完成;还有我在阅读的过程中想到的问题,为什么富兰克林能坚持只吃素好几年,对于我要是菜里面没有肉就会胃口不好,他当时决定吃素的时候是怎么想的。答案也许需要我思考好久才能想明白。这周在读这本书的时候,书中有一段话,我把它摘抄下来贴在了我办公室的电脑上,如下和大家分享。

因为我一直认为:一个有能力的人,只要他有周密的计划,不浪费时间,集中精力在所研究的事业上,他一定能建功立业。

刀背藏身-师父

我买的《刀背藏身》的纸质书,纸质书相比电子书就有很明显的一个特点,就是书的装帧,《刀背藏身》这本书装帧给我的感觉就是很精致,《刀背藏身》是徐皓峰的武侠短片集,243页的书中分为6篇短片小说,其中《师父》这一篇只有50页,我买这本就是因为看了《师父》这部电影。短短50页的书却是包含了能拍摄成一部精彩电影的内容,说明一个问题,书中作者惜字如金,一方面简练,一方面要表达什么意思就开门见山,不绕弯子。再说回到书的装帧,书是比一般的书要长的,书中每一篇短篇的名字专门有一页,这一页是用的区别于内容页的纸黄色的橙红色,书的第一页是一张透明纸粘了一些丝,书的第二页粘了一张箭士柳白猿的小卡片,给我的感觉就是很精致。

一篇读后感

读书

读的什么书

读的书是《重新定义公司:谷歌是如何运营的》,之前有个想法就是把握看的这本书之后留下的一些部分和大家做一个分享。分享分两个个部分,第一部分是引用书中谷歌CEO为本书做的序,第二部分讲当拉里佩奇遇到不好的搜索结果的时候的解决方式。

谷歌的“痴心妄想”-拉里·佩奇

年少时,第一次考虑到自己的未来,我决心要么当个教授,要么就创建自己的公司。我觉得,这两种职业都可以给我足够的自主权,让我去自由地从基本物理原理出发思考问题,而不必去迎合那些所谓的“世俗智慧”。
在谷歌,我们试着将这种自助思维方式推行到企业的方方面面。这种思维方式推动了我们公司最伟大的成功,也导致过一些惨痛的失败,实际上,谷歌就是基于基本物理原则起步的。一天晚上,我做了一个梦(不是梦想,是真是的梦),醒来后我想:我们能不能把整个互联网上的内容都下载下来,然后只保留链接呢?我找了一支笔,把细节信息写下来,想看看这个构想到底有没有实现的可能。当时,我压根儿也没有想过要建立什么搜索引擎。着之后又过了一段时间,我和谢尔盖才意识到通过链接来为网页排序会大大地优化搜索结果。除此之外,谷歌电子邮箱GMAIL也是在这样的“痴心妄想”中诞生的。10年前,安迪·鲁宾(Andy Rubin)开发安卓系统时,大多数人也都觉得手机行业与开源操作系统的融合简直是痴人说梦。
随着时间的推移,我意识到,实际上,想要点燃团队的熊熊野心是极其困难的。大多数人并没有接触过这种如登月般异想天开的思维方式,他们习惯用“不可能”来否定自己的想法,而不是从基本物理原则出发去探索可能性。正因为如此,谷歌才会投入大量精力去物色善于独立思考的人,并设定远大的目标。因为只要为了合适的人才和足够远大的梦想,你的目标往往就可以实现。就算跌倒了,你也可能会从失败中得到宝贵的教训。
不少企业安于现状,只求渐变,不求突破。如果只求渐变,时间一长,企业就会逐渐落伍,科技行业尤其如此,因为外界改变通常是革命性的,而不是循序渐进的。所以,你需要强迫自己着眼于未来。也是因此,谷歌才会投资无人驾驶汽车以及“热气球互联网计划”等看似高风险的领域。现在说来火雨有些难以想象,但当我们第一次提出谷歌地图的构想时,人们觉得我们制作全球地图以及为所有街道拍摄照片的构想时无法实现的。如果说历史可以预见未来,那么今天看似最冒险的赌注放在几年之后也就不会显得那么疯狂了。
我个人认为,以上几条原则非常重要,希望你们能够接受这些想法,也向不可能发出挑战。

拉里·佩奇会怎么做?

有一天拉里佩奇来Google上输入了一个由英文和数字组成的摩托车型号的时候,在出来的搜索结果中提供相关广告的部分出来的却不是和摩托车相关的广告,而是只和这个英文相关的广告。
在看到这里的时候,我就会想,拉里在这种情况下会怎么做呢?是不是也和其他领导一样,找到相关的领导人,然后匹配他工作没做好,让他下去立即解决好。
但是拉里没有这么做,他没有责备谁,而是把他看到的这个网页打印了出来,在下面写了一句话说这样的搜索结果太糟糕了,然后把它贴在了告示栏上。
那他这样做收到了怎样的效果呢,拉里是在周五贴的这个纸条,在周一的时候就得到了一个不相干部分的工程师的反馈,这个工程师在发现这个问题之后利用周末的时间,对拉里提出的问题找到了解决方案,并建立了模型,验证了方案的可行性,最后这个方案获得了很好的效果。

赫尔辛基

Nokia

谈一谈

我做一天一个想法之后,又想做一个项目,叫做“玩地理”,是想做什么呢,就是认识我们生活的世界,就是讲世界观的事情。一天一个想法是什么呢,一天一个想法就是做很多很多实现想法的项目,这些想法是些是些什么呢:灵感的记录与表达相关的项目啊、玩地理项目,以及我每天的胡思乱想……

灵感的记录与表达

之前的每一期一天一个想法,我都是这样:在周六到周五,有什么小想法,小灵感,就立刻记录下来,记录到笔记里,等周五的时候就过来整理这些笔记,写成文章。

玩地理

玩地理想做什么,预想的是三个方面:认识国外的城市,认识自己所在的城市,做一些和地理的应用相关的参与如自制指南针、自制地球仪、自制六分仪、自己画地图。

其他想法

还有好多想法,可以邀请自己发现的好想法的朋友把想过的问题整理出来发布在一天一个想法上。

本期重点

本期是做的玩地理项目的第一个想法,认识国外的世界。我想带大家认识的第一座城市是芬兰的首都赫尔辛基,为什么要介绍赫尔辛基呢,因为我之前看了Linux操作系统的开发者Linus的一本自传,林纳斯就是赫尔辛基人,林纳斯的外公是赫尔辛基统计学系的教授。

从书中认识的赫尔辛基(包括从网上搜集到的资料)

赫尔辛基是欧洲国家芬兰的首都。

芬兰政府一贯重视教育,向所有大学生提供免费高等教育。政府还有一套完善的助学金制度,主要包括助学金、住房补贴和学习贷款3部分. –中国教育新闻网

林纳斯在赫尔辛基大学读了好几年,赫尔辛基在北纬60度上,北纬60度的特点就是夏天的时候白天时间有十几个小时,夜晚天黑的时候只有四五个小时。

赫尔辛基是欧洲夏季旅游胜地,尤其在夏至前后的白夜期间,由于地处高纬度,夏天太阳只落下四、五个小时,但气温不高,气候凉爽,港口外几个小岛更是游泳的好地方。但冬季常为阴天,太阳仅在空中持续几个小时,可是由于大西洋暖流,气候并不寒冷。北欧几个国家统一的交通法律是,只要汽车一启动,不管白天夜晚,大灯一定要打开。 –维基百科

就是说在圣诞节的时候,冬天,赫尔辛基整个城市就是阴阴的,林纳斯闲在家里没事就写出了Linux。

赫尔辛基还有呢?

桑拿。

桑拿浴是芬兰人发明的,几乎每家在郊外的湖边都有自己的桑拿屋。 –维基百科

说说芬兰

芬兰独立于1917年。芬兰有诺基亚,Nokia是芬兰的骄傲。

约9000年前冰河末期,芬兰人的祖先从南方和东南方迁居至此。12世纪前,芬兰为原始公社社会时期。12世纪后半叶开始隶属于瑞典,1581年起成为瑞典的一个公国。1809年俄国、瑞典战争后,被俄国占领并成为沙俄统治下的一个大公国,沙皇兼任芬兰大公。1917年10月革命后,芬兰于同年12月6日宣布独立,1919年成立共和国。–商务欧洲

闷着不说

闷着不说

闷着不说

闷着不说说的是什么呢?说的是一个人做一件事,他觉得这件事能成,他隐忍,闷着不说。