使用开源中国(码云)托管代码
刘未鹏(博客,微博,豆瓣)在「怎样花两年时间去面试一个人」一文中说:
我一向认为,很多时候,是否好好看完一本好书,对一个人的提升往往能达到质的区别。就算不好好看完一本好书,马马虎虎看完,只要书是真的好书,也肯定会有很大的提高。我在面试的时候就经常询问对方看过哪些技术书籍,经常上哪些网站,订哪些博客。这里头尤其数书籍这一项的区分度最高。此外,好书和坏书的差别,从本质上,就是学习效率和大方向的差别。
刘未鹏(博客,微博,豆瓣)的书单值得大家好好学习,我也有个慢慢完善的书单供大家参考。
但是光有「书单计划」还不够,因为书籍只能管基础知识这一块,一些更难以量化衡量的实战「能力」又怎么办呢?
答案是可以Social Coding的 github,使用github的好处:
真实的项目,真实的流程,真实的人名,一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察,去揣测,去花费大量的时间的同时还只能采样到几个极为有限的点。
不像象牙塔里面大作业,这里有源代码管理系统,自动化build,有check-in,有review,有分工,有合作,最重要的是——这是一个集市,一个超出象牙塔的集市,牛人相互吸引,你可以在互联网上找到和自己拥有共同兴趣的一帮人,真正做起一点事情,而不是交差,不需要受限于几十个人的一个小班级。
其实这些好处也可以体现在通过博客交作业上,「使用博客园进行学习」有总结。
对于在博客园建博客交作业,在一些微信群中,有人问为何不让学生自建博客?
邹欣老师的回应是:
在博客园,学生很容易上手,可以互相点评, 可以看到历史数据,等等。 自建博客, 大部分学生建不了,别人也点评不了,即使建好了,学期结束就消失了。 我们 2006年在微软亚洲研究院就做了教学,学生都写博客, 但是当时决定自己搭博客网站, 当时很爽。后来网站没人管了,所有资料都没了。
高手们考虑的问题,有一定的道理,但用于教学还是让学生使用博客园进行学习比较好。
github用于教学也有类似的问题,理论上github是个理想的平台,但在教育网,需要翻墙就难倒很多学生,即使是信息安全专业的学生。我们上课推荐的是开源中国的码云 Git@OSC。
注册
- 打开码云:http://git.oschina.net/,单击
加入码云
按钮,如下图:
注意:昵称要体现学号信息。
在手机上下载OSC客户端:
版本控制工具git
什么是版本控制?为什么需要版本控制?什么是git? 请参考现代软件工程讲义 源代码管理。
其他系统学习可以参考:
在Git@OSC上托管代码
安装git
Windows下安装Git,到Git for Windows下载安装Windows 版git。Git for Windows提供Git Bash,Git GUI,以及与Windows CMD集成三种使用方式。推荐使用专有的Git Bash,安装时选择「Use Git from Git Bash only」,其他的按默认选项安装就行:
安装完点击桌面上的「Gib Bash」图标或在Windows程序列表中选择「Git Bash」:
在Git Bash中可以运行Linux 命令,我们使用git --version
查看一下安装的版本,证明Git命令可用:
Windows 10现在内置Bash,参考在新版 Win10 中启用 Linux Bash 环境启用后,就可以像在Linux下一样使用git了。
Linux系统下安装git:在我们课程推荐的Ubuntu中安装,只要shell中使用sudo apt-get install git
就可以了。
苹果的macOS系统下安装git: 参考homebrew的文档安装homebrew,然后在shell中通过brew install git
命令就可以安装Git了.
使用git
使用git,常用 Git 命令清单中的几个命令就够课程中使用了:
我们课上的使用的git命令更少:git init,git add ,git commit, git push.
我们课上的git使用流程是:
建立教材(个人项目,团队项目)项目目录
git init在当前目录新建一个Git代码库(一个项目就git init 一次)
- 平时学习:编写代码,编译,运行,测试没有问题后
- git add .
- git commit -m "提交信息"
- 周末提交作业前
- git push
git commit -m "提交信息"中提交信息的写法参考Git 最佳实践:commit msg,最重要的一点是「One Thing One Commit」,不要写了一周的代码,周末提交一次,所有代码的msg都是「第XX周代码」
上课学习流程参考代码驱动的程序设计学习.
代码推送参考Ubuntu下git的安装与使用
团队项目参考使用GitHub进行团队合作.
作业
- 在Git@OSC上创建账号(最好包含自己的学号信息)
- 安装JDK
编写“Hello World程序”并编译运行,参考Java开发环境的熟悉学习在IDEA下如何调试程序。
在Git@OSC创建一个课程项目(repository),命名中体现学号信息,学习委员或课代表汇总大家的链接:
关于开源许可证,参考如何选择开源许可证?:
- 在自己的项目中加入“Hello World”程序
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”
来源:https://www.cnblogs.com/rocedu/p/5155128.html