北京之行记录

终于从北京回来,睡在自己的床上的感觉好幸福哦。
极客公园2014创新大会,看起来好牛逼的样子,好多牛逼的人物都有参加,如果苹果公司的联合创始人沃兹,一手打造出个人电脑时代;小米的创始人雷军,百度的创始人李彥宏,金山的CEO, 总之都是些非常牛逼的人物。
极客公园能把这些牛逼的人物请过来,极客公园的CEO,也应该是个了不起的极客。唯一有点x憾的是没有见过中国年轻人的精神教父李开复。
听很是geek的洽金说极客公园是国有控股的,但办的活动是同类活动中最优秀的,有点出奇。有订阅极客公园的RSS,所以早就报名了。如果不是洽金说这个活动不错,我是应该不会去的了,再次感谢洽金^_^
只要用心发现,总会发现与收获很多。在飞机上的路上,又认识再位good man, X蛟,上海的土著,做银行类的产品,经理级的人物。他们那边一天就干我那边一周的活,还挺聊得来的,“欣欣相惜”啊,哈哈。最后留了联系方式。小宝,都有一个bao, 做珠宝类的销售,挺好交流的哥们,还跟他一起打车到朝阳区。
北京,气侯真的是很难适应。无论是从温度,还是空气,空气污染真的是非常严重。头晚睡时,空气中很敏感地闻到臭味,那睡难以入睡。第二天去geek part时,发现附近有工厂低空排放大量污染气体,难怪。

控制计算机的本质及针对应用进行程序设计的思考

其实,计算机的本质就是计算,当然不仅仅是传统的数值计算,而的计算更多是数值计算与非数值计算机的结合使用,融合在一起。编程,其基本的流程是针对现实的事物进行抽象,在计算机中用数据结构把他们描述出来,再用计算机的逻辑对按一定结构组织的数据进行计算,最实现最终求解的目的。其中,这里面有三点是最重要的:
1. 对现实的事物进行抽象;
2. 用内存中的数据结构对现实数据进行收集;
3. 写出相应的算法,对它们进行处理。

其中,
第一点,其实是个人修养与能力最为重要的一点,而且它是可以独立与任何语言的,而且针对各种语言,也出现了很多方法论,如uml建模;
第二点,数据结构里面最典型的也是最强大的是多维数组字典是现实问题的描述,我想几乎所有的现实问题都是可以通过这样的方式进行描述的吧;
第三点,表面是处理流程,现在一般典型的组织方式是函数,如果用递归的形式对结构数据进行处理,这样可以充分利用CPU的强大。而且,我想这也是一般训练的方向。

针对应用的场景,会有各种各样的语言,上面的理念,我相信是相通的。

sinatra的基本使用

安装:
1. 安装好ruby后, gem install sinatra 把它给装好
它像ROR那里,默认是使用webrick的,
建议把高性能的thin给装上, gem install thin
它里面有eventmachine,可以支持极高的并发。

2. 刷新看代码的效果,安装shotgun
gem install shotgun
不过,它默认的端口跟webrick是不一样的。
使用: shotgun myapp.eb

基本使用:
1. 非常简洁和高效的路由
get, post, put, delete实现为类方法
路由作为它们的每一个参数,有相应的方法找解析路由
它主要的作用是把URL请求转到相应的方法去

最后作为返回値的会被输出。

2. 模板也是非常的简洁
可以选择的模板是非常多的,也可以同时使用多种模板,只要加载进来就可以了。
默认:
erb :index
erb :"hello/world"

它会找到views下面的,index.erb, hello/world.erb

ruby开发环境安装(fedora)

1. 安装ruby语言的执行环境
* 源码安装
到官方下载码,装就好编译工具,编译安装就是了。gcc make

* 二进制包安装
yum 或 apt 或 exe

2. 用gem安装必须的工具
gem是ruby内置的软件包管理器,使用它可以安装和管理ruby的所有扩展

其中,扩展包有两种形式,一种是ruby的源代码,一种是二进制文件。
前面一种直接会从官网直接下载,后面那种会调用gcc来编译出相应的二进制扩展。因此必须拥有相应的编译工具,如gcc以及对应的头文件。 

因为官方的太慢了,可以用淘宝的镜像

$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

思想快速记录的重要性

手头上带有笔和纸,随时可以记录头脑里出现的灵感。

用ruby,而不用c++都语言的原因是心理上,它们可以把个人的想法快速表达了来,这是非常重要的。

那样就可以随意的操作计算机做自己认为是很是有趣的事。

其实,编程的本质是思考,因此思想的表达是最重要的。但,思想需要太高成本去表达,会阻碍思想的快速进行。还有,一时的灵感不能表达出来,很快就会忘记的了。这些,对于创新都是很重要的。

还有交互性的编程技巧,可以极大地减少尝试的风险,可以有不断试错的机会。主要是,可以快速地实践思维里面的东西,那样思想提高很快的。编程的本质是按计算机的方式进行人脑思维的表达,但人脑的思维跟计算机的思维不是重合的,人脑里面的思维要按计算机的方式去进行表达。但人是按正常的思维去表达的,肯定不会直接按计算机的思维去思考,那样会有极大的不便和局限性。

关于大数据,运维,可视化及硬件结合的糊思乱想

1. 运维检测的本质是对类生命事物的状态检测和对其环境变化的监测,及分析;

2. 数据获取的前提是,对监测对象进行个体的建模,而且监测对象的数量足够大,而且这个数据模形是有价值的;

3. 大数据的目的是对数据进行收集和存储,最有价值的是共享,让大多人利用,但纯数据是没有价值,需要按一定的模形,转换为信息。

4.进行数据分析与可视化作为职业规划是非常棒的,数据视化模式分析的价值直接为决策提供参考,直接影响决策,可以产生直接的价值,待偶及可增长性是有的。而且数据分析直接接触业务模形及数据分析的算法,从中可以得到很有价值的知识。问题,怎么获取那么多的数据,怎么存储和分析。

5. goolge是对www的数据进行抓取,分析处理后,转换为信息,放给大众使用,从而产生价值,再而获得体现自身价值的财富。而www数据,只是广大数据的其中一个方面。

6.对自然数据的最可能运用,是对生物生命运动状态的检测,及对自然条件变化的监测。

7. 业务模式可类似google, 开放底层的硬件终端,让广大用户使用,让用户产生数据,从数据里面得到业务模形,再从中获利,其实这才是最有潜力获利,最有眼光的一招。相信高德导航免费开放其搜索也这么一会事。他们要把市场做大,再考虑挣钱的事。google的安卓开发,也是这么一会事。

网络创业与它的奇趣之处

一开始技术含量不高,但因为加上网络这个神奇的魔法,它会让一切变得与众不同。

幽灵公主,里面的动物和森林因为受到神灵的光环,它们会变得异常的奇异与强大。而网络就是就是我们现实社会神奇的光环,一些很简单的应用,只要打上网络的光环,它会散发出它异样的光样,它会变得很强大的。这就是网络的力量。

在应用里面,其实主要就两个功能,一个是post, 另一个get。 就是一边上传信息,另一边下载信息。 在一般的web开发中,一般的工作就是做这两个。提交的工作就是制作与处理表单,最后处理数据。在制作表单前,要对存储的数据进行建模。查看下载的工作就是内容的展示与分发。这两个是重要的,但没有什么技术含量的工作,最重点是对数据库进行建模。在提供一定数据的基础上,收集用户的信息建模进行分析,获取用户的需求,再提供最高质量的内容(如最好看的电影,最好的书)。这些,都是需要在统计分析真实的用户数据的基础上,才能分析出来的。

现在做网络应用最好的方面是,做用户共需的,专注于某一小方面,但把它做到极致,做到独一无二。拥有最广大的用户群,用户在这方面的数据都是保存在这里面的,用户在这里面可以交流与分享这方面的知识,还有依据用户的内容,可以更进一步掘出用户需求,进一步把产品做好。形成一个良性循环。

学习的方法

专注(attention)

认识学习对象存在的客观性,是学习的前提条件,也是最重要的。这需要专注与经验。

获取高质量的资料,是最重要的。如果是人造的东西,最好的方式是制造它的人直接告诉你。

语言的学习,是学习技能,而不是知识。技能与知识的学习,是完全不一样,但他们也是有相关的。必须在学习时,就把他们给区别出来。

学习一门语言,无论是编程语言,还是现实中的语言。都应该是当做技能来学习,而不是知识。这时,强调的不是知识点,而是对众多小知识点的综合运用。只要了解那些知识点,有印象就可以了,其它的放在实践中检验,在实践中活学活用。这样就可以达到融汇贯通的目的。而且可以深深地记住知识点。

但,对知识点的理解,是学习的前提条件,是形成点 线 面的前提条件。对知识点的获取与理解是最重要的。

其次,记忆是重复的。其中,能过实践来达到融汇贯通也是通过这种方式去实现的,实践中重复遇到的知识点会牢记在头脑中。对特别抽象的知识点,但也是特别重要的知识,要运用重复的方式去记忆。

通过git把网站上drupal的代码保持最新的状态(即升级)

git的解决代码问突时,强制使用它人的方案

原本是会创建冲突文件的,然后手动解决提交。

git merge -Xtheirs

example:
git merge -Xtheirs [tag]
or
git merge -Xtheirs [branch]

取得drupal官方的最新代码:
git remote add drupal http://git.drupal.org/project/drupal.git
git remote update

创建临时分支用于升级(如果分支出现问题,可以马上切回master分支)
git branch upgrade
git chekcout upgrade
git merge -Xtheirs 7.26 # 7.26 is target tag

然后,http://domain/update.php 更新数据库

drupal与git的结合,实现查看和升级代码

clone第一手代码的地址: http://git.drupal.org/project/drupal.git
其中,drupal.git可以换成为其它项目仓库。

web上,查看项目仓库的信息: http://drupalcode.org/project/drupal.git
其中,也是drupal.git可以换成为其它项目仓库。它是用gitweb来实现的。

其中,取得代码是用第一个来实现,查看代码是通过第二个来实现。

参考链接:
1. Contributing to Drupal core with Git
https://drupal.org/node/1137316

页面