新人应该如何学习计算机编程

编程语言:php or python or ruby

视个人的学习目的而定 


操作系统: linux, 上面各种工具的使用,shell 必须要学会使用,


学习与开发平台: linux or apple


linux的发行版本推荐ubuntu.

如何要电脑还要用作娱乐,可以装双系统,先装win再装个linux. 可以在启动时选择。


找资料,解决问题 


必须学会用google:

搜技术类资料时,必须用google. 要学习爬墙。


开发的工具


版本控制: git

编辑器: vim or sublime text

项目管理工具:redmie 或 其它一些网站提供的项目管理


开源社区


疑犯追踪里面的天网

疑犯追踪里面的天网的封闭设计的理念,平衡人权与科技,因为计算时用到的大部分信息是对个人都是非常敏感,以及重要的,并不能为所有人所知,但可以计算出人们可以可以找到信息的一个索引。将人与机器之间矛盾转为人与人之间,而不是机器对人本身造成伤害。这样保证了人权,但是又利用了科技的力量为人们服务。这对系统的设计具有极大的参考价值。

自然/音乐/图/电影

理解drupal对于初创团体的意义,即使是纯粹的内容发布,也是很有意义;

对于音乐的理解超越一般人,是独一无二的

没有音乐/自然的生活是没有意义

被纯物质的消费所磨化

关注自然与人文

内心真心的方向

将自身对于技术与音乐的理解结合一块,这里面很有竞争力

现实的世界太过于丑陋了,它应该比想像中的精彩

复习传煤的力量

它的力量微弱而有限,但世界的每一个角落都会受到影响

音乐与艺术将是真正意义上重塑的机会

音乐是有这个力量,但必须与网络结合在一起,才能彻底发挥它的力量

音乐/自然给人带来的价值是无限的

这里面的机会是真实存在的

区别于传统利益的追逐,它的真正目是创造,这才是真正存在的意义

不是为了偷盗,而是为推广与展示真正的内含

面向音乐人与创作者

通过代理看外面世界

准备工具:
1. firefox + autoproxy插件
2. 国外的vps, 安装有ssh并且可以登陆
步骤:

1. 开启本地的ssh转发功能
$: ssh -i ruby.pem -D 127.0.0.1:8087 ec2-user@34.187.16.31

其中ruby.pem为登陆amazon的密钥, 
ec2-user@34.187.16.31是amazon主机上面的用户和ip
127.0.0.1:8087 是本机要监听转发的端口

将相应的信息替换, 如果不用密钥认证,则要输入密码

2.设置firefox请求本地监听的端口
在autoproxy新增一个代理,
IP: 127.0.0.1
端口: 8087
socket类型: socket5

默认代理选择这个。

3. 点autoproxy成绿色,访问http://ip138.com查看ip, 检查是否成功

Git的本地审查 | 动态生成对象 | YAML | 对象的圈

本地代码审查

到代码库的根目录: gitk . &

  • 可以查看所有分支所有的commit流
  • 可以查看diff,原文件内容或最新修改
  • 可以随意选中任意一个修改的文件,还可以按代码浏览

架构设计的一个原则 配置的项写在配置文件里面,而实际的数据保存在数据库里面。依靠开放封闭的原则,功能可以进行无限的扩展,只要把使用的功能存放在数据库中即可,可以依据类名实例出相应的行为对象。这是动态语言的一个好处,它的作用代码是可以动态生成的,是编译语言做不到的。


YAML YAML是在配置文件方面是替代xml的理想选择,可以用缩进表示无限层次的哈希表。


面向对象编程 其实可以想像成由内到外的圈子,由开放-封闭的原则构建,与函数的很大一点好处是,可以在对象的方法间共享数据,一个对象可以作为一个空间,这些空间独立。还有一点就是开放-封闭的原则,只需要知道新功能的类名,就可以直接调用来实现功能了。面向对象可以以可靠的方式进行无限扩展。

是民主? 还是应该专制?

民主与专制就是一对矛盾!

但它们是具有统一性的,可选择性与信任就是它们矛盾的统一体。西方的政治体制也是以这种方式为基础来实现的。

民主就是为了保证所有人的权利;

而专制就是做事的方式,做事时,专制是最高效的,而且有些事,专制是最高效的。例如苹果就不能由一堆人民主投票怎么做。它需要一个人对产品的理解,需要非凡的技术,并专制地引导所有人为之努力。

怎样才能不致使专制走向极端,这就需要保证所有人具有投票的能力。如果专制人不好,所有人可以拿手中的票,把它们给投下去。专制人必须由所有人给选出来,代表所有人的意志,无论是利益,还是精神方面。专制人是所有人所信任的。专制人必须带着所有人的信任上岗,这就可以使专制人的行为代表正确的方向走。因为人是不可靠的,如果人得到不到所有人的信任,就不应该上岗。就算上岗的偏离人的信任,周期性的选票可以把它们选下去,把负面影响最小化,保持社会正确的航向。

这样的制度可以保证上层社会代表所有人好的意志,向好的方向发展。这就是制度的好处。

设计的联想

由软件开发设计中,联想到设计一些好的产品。其实php也是支持动态编程的,就是说可以由函数和类都可以放到变量里面去。ruby调用方法用send,取得类用Object.const_get(var),并可依些进行实例化。这可以作为架构上设计使用。符合开放封闭的原则,按一定的模式去调用,功能的增加,只需要增加类就可以了,只要给出类名,直接调用就可以了。这就是动态语言的好处,可以在使用时,再生成程序代码,而那些类可以作为数据文件存放,只需要在使用时加载就可以了。这样,对程序功能的扩展是无限的,但并不会影响效能。

自动跟手动结合是做最好的产品的必需方式。最好的产品以及做一些做得最好,只能是人工的行为,人的思维是世界是最美的花朵。但人的控制与认识能力是有限的,从用木棒开始,人必须依靠工具才能拥有更大的创造力。工具是做一些事的前提条件,也让人类从烦杂的事中解决出来,让人拥有更强的认识与控制能力。这是人与人之间生产力最本质的差别。

页面