使用开源中国(码云)托管代码

使用开源中国(码云)托管代码

刘未鹏(博客微博豆瓣)在「怎样花两年时间去面试一个人」一文中说:

我一向认为,很多时候,是否好好看完一本好书,对一个人的提升往往能达到质的区别。就算不好好看完一本好书,马马虎虎看完,只要书是真的好书,也肯定会有很大的提高。我在面试的时候就经常询问对方看过哪些技术书籍,经常上哪些网站,订哪些博客。这里头尤其数书籍这一项的区分度最高。此外,好书和坏书的差别,从本质上,就是学习效率和大方向的差别。

刘未鹏(博客微博豆瓣)的书单值得大家好好学习,我也有个慢慢完善的书单供大家参考。

刘未鹏(博客微博豆瓣)在上文中还说:

但是光有「书单计划」还不够,因为书籍只能管基础知识这一块,一些更难以量化衡量的实战「能力」又怎么办呢?

答案是可以Social Coding的 github,使用github的好处:

真实的项目,真实的流程,真实的人名,一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察,去揣测,去花费大量的时间的同时还只能采样到几个极为有限的点。

不像象牙塔里面大作业,这里有源代码管理系统,自动化build,有check-in,有review,有分工,有合作,最重要的是——这是一个集市,一个超出象牙塔的集市,牛人相互吸引,你可以在互联网上找到和自己拥有共同兴趣的一帮人,真正做起一点事情,而不是交差,不需要受限于几十个人的一个小班级。

其实这些好处也可以体现在通过博客交作业上,「使用博客园进行学习」有总结。

对于在博客园建博客交作业,在一些微信群中,有人问为何不让学生自建博客?

邹欣老师的回应是:

在博客园,学生很容易上手,可以互相点评, 可以看到历史数据,等等。 自建博客, 大部分学生建不了,别人也点评不了,即使建好了,学期结束就消失了。 我们 2006年在微软亚洲研究院就做了教学,学生都写博客, 但是当时决定自己搭博客网站, 当时很爽。后来网站没人管了,所有资料都没了。

高手们考虑的问题,有一定的道理,但用于教学还是让学生使用博客园进行学习比较好。

github用于教学也有类似的问题,理论上github是个理想的平台,但在教育网,需要翻墙就难倒很多学生,即使是信息安全专业的学生。我们上课推荐的是开源中国码云 Git@OSC

注册

jrmy

signup

注意:昵称要体现学号信息。

在手机上下载OSC客户端
oscclient

版本控制工具git

什么是版本控制?为什么需要版本控制?什么是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下如何调试程序。

  • 学习使用oschina的git服务器

  • Git@OSC创建一个课程项目(repository),命名中体现学号信息,学习委员或课代表汇总大家的链接:

关于开源许可证,参考如何选择开源许可证?:

  • 在自己的项目中加入“Hello World”程序

欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!

rocedu



如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


posted @ 2016-01-24 14:38  娄老师  阅读(8822)  评论(1编辑  收藏