从 Git 到区块链

by admin on 2020年3月14日

如果你访问下边这个 GitHub repo,会发现它记录的是一部法典:

写readme

生成 commit 文件,关联到当前目录 tree 文件,并记下父 commit

Joshua 认为,在 GitHub
上发布法律条款是一项真正的政府创新,它改变了历史,具体意义体现在这几个方面:

readme是repository里最重要的部分之一。
便于其他人阅读和使用代码。

[1] douban.com (2013-07-18). 三句话的 git internal. Retrieved
from https://www.douban.com/note/289253352.

其中,“subchapter I” 应为 “subchapter II”,于是 Joshua 提了一个 PR
更正该错误。几天后,委员会的编纂律师将其合并:

recruiter最先看的是这里,看你有多活跃,几乎每天都会coding。

生成修改过的文件

图片 1

well formatted commit messages

让别人知道,为什么这里有这样的code,何时做了怎样的修改。
方便别人解读,使用,维护你的代码。
hiring manager会看这个人有多么地擅长沟通,传递。

Udacity上的例子
http://udacity.github.io/git-styleguide/

The first line is the subject.This should be a short description of what
changed.should be 50 characters or less, with the first letter
capitalized, and end without a period. At Udacity, we also include a
short annotation about the type of the commit, if it is a bug fix, a
feature, change to the documentation, etc.

The body is next, this is where you give a more detailed description of
why you made the change. The body should typically have around 72
characters per line. This is to ensure that the message fits into a
terminal window when using git on the command line. You’ll also need to
make sure there is a blank line between the subject line and the body.

Some commits don’t require a body in the message. If you fix a typo for
example, it’s okay to only have a subject line.
You can also include a footer, typically this will be used to indicate
which issues or bugs the commit addresses.

This does come with an exception of course. If you are working on an
open source project, be sure to follow the message format for that
project. This will make the maintainers happy and increase the chance
your pull request is accepted.

从你的代码里可以看出,你是否善于协作,喜欢帮助别人,并且热爱编码。
面试官是怎么样从你的github上看出你是个好的协作者的,在一个团队里是如何表现的。
看他们参与的repo里的issue,
是否在on po requests里评论,
看他们如何与其它工程师互动。
看他们是否有耐心对待刚进入这个社区的成员,
找找是否有internet relay chat关联于这个repo,
看log,看他们是否helpful,kind,patient。

作为hiring manager,你想向new
programmer提些什么建议,关于他们在参加contribute
to很大很复杂的开源项目中。
break the ice in a new project,
找文档看,readme,clone the project,try to build it, try to get it
running, follow the steps in readme.
try to clarify some problems I have, submit a poll request with a few
changes in the readme.
just move on to fix the bugs, and maybe actually contributing the
features.


git add -A .

是的,这是一个真实而有意义 repo,它是可以通过 PR 进行更新的,最近黑客
Joshua Tauberer 
还发文介绍了他为该法典提交了一个错别字 PR
并被接受的案例。Joshua 发现条款中这句描述出现错误:

页首加了get hub page for this library。

【汇新云】为大家定期更新文章,【汇新云】IT人的产业链平台

(d) The Office of Open Government may issue advisory opinions on the
implementation of subchapter I of Chapter 5 of Title 2.

图片 2

我们来试着理解这句话。当我们在 GitHub 创建一个新项目再 git clone
到本地(当然也可以本地 git init
初始化项目),把本地的代码放到这个目录,然后我们要怎么样提交到 GitHub
呢?我们在配置相应的 SSH 公钥之后,会执行如下的几个步骤来提交到 GitHub:

自然地,DC 条款网站也自动更新了该处失误:

Udacity的Machine Learning纳米学位课程中,关于Github的笔记。

git commit -m “[Blockchain] …”

图片 3

如何为开源项目做贡献

Github
https://guides.github.com/activities/contributing-to-open-source/
找一些最喜欢的开源的library,pandas:
https://docs.google.com/document/d/1ULcO23Edlydaf82zycRdSWHKUme5pmNnC4OoMefIZ-c/pub

python: pandas, numpy, scipy, seaborn, scikit-learn, orange, nltk
r: dplyr, ggplot come to mind
also ‘stan’ for r
pymc for python as well.
http://www.datakind.org/
http://databits.io/
for data and data vis related competitions
https://www.kaggle.com/

  • Kaggle is a platform for data prediction competitions. Companies,
    organizations and researchers post their data and have it scrutinized by
    the world’s best statisticians.

读documentation,不会的问题就create issue,寻求帮助。
创建issue,这个项目的,也可以是你自己的,
要nice,都是public的,
最好的contribution方式,就是improve the documentation。

图片 4


check list
https://docs.google.com/document/d/1a9AKnNyqfGgdQV5ohPCN5H9ntnEUhMptWMwVBWURCN0/pub?embedded=true

GitHub Profile Checklist

图片 5

= Optional Udaciousness
Link to associated GitHub Profile
Rubric

General
I’ve uploaded at least four projects to GitHub.
I’ve verified that my account shows knowledge about how to make
incremental commits.

图片 6

For the last two weeks, I’ve made and pushed some sort of commit, no
matter how small, to repo(s) each day.

图片 7

I have more than 2 projects on GitHub, indicating that I have uploaded
more projects than required.

图片 8

I’ve contributed to an open source project.

Personal Profile
I have a professional GitHub name. If at all possible this GitHub name
is my own name.
I have a professional profile photo (recommended to be a photo of
yourself, but could also be stylized).
My profile is up to date.
Profile includes at least one up-to-date links for: ‘URL’ and/or
‘Company’ fields and/or ‘Contact Email’ and current location.

Projects
I have starred at least one repository I’d like to keep track of.

图片 9

My projects have meaningful names.

My projects have a completed README that says what the purpose of the
project is, any instructions about how to use or view it, and what kind
of collaboration is sought.

Not all forked repos/changes require modifications to the README,
especially when contributing upstream to another’s project (would need
to be a substantial change). All changes should be documented with
commit messages to explain the changes.

The last commit I made to a project matched the commit style guide I
chose. If I did not follow the Udacity git commit style
guide,
then I have included a link to the guide I did use to show consistency.

career resource

http://career.udacity.com/resource-center/contributing_open_source.html

end

参考

几年前,DC
律师与软件工程师发现,在跟踪代码变更时,立法和软件工程有很多共同之处,于是他们决定将法律条款托管到
GitHub。他们成功实施了该计划,于是有了上边提到的这个 GitHub repo。

课程听了一半,笔记继续更新,有待排版。

题图来自: © EarlGrey / Migrate to Qcloud Git Server / codingpy.com

同时 Joshua 也希望其它地方向 DC 学习,通过开源库推进律法的发展。

点进一个最popular的contribution的repository,可以看到scott做了最多的贡献,写了大部分代码。

另外,区块链的另一个特性是不可篡改,也就是只能 INSERT。Git 呢?GitHub
托管的 repo 里的内容本身是可以修改的,然而这个 commit
历史却是无法修改的。每一次 commit 都有唯一标志,本次 commit 会有 parent
commit 的信息。Git 产生的 log 也可以通区块链数据库进行类比。

(文/开源中国)    

便于自己记忆code,回头再看看你写过的代码,你是否还记得你当时是怎么想的吗,是否还记得你当时为什么做了这些决定吗,便于别人使用,便于别人协作。


当然了,因为这是技术性错误 request,所以它可以被接受。

图片 10

图片 11

图片 12

GitHub 网站在程序员心目中的地位不言而喻,这个基于 Git
的托管网站可以说是开源的风向标。 我们 GitHub 中的 Git repo 中还可以找到
2005 年 4 月 8 日 Linus Torvalds
提交的 第一版 代码。

  • 理事会能够比以往更好、更快地公布法律。以往律法每年发布三次更新,并且可能会有五到七个月的延迟才能看到最新版本,但是,开源缩短这个过程,新的法律颁布约一个星期后民众就可以看到。

  • 这也意味着,相比以往民众能够接收到更多法律条款。

  • 法律配套发布在一个易用、现代化、可搜索、移动友好且免费的网站上,也就是上边提到的 https://code.dccouncil.us/dc/council/code。

  • 这给条件有限而没法拥有更好的工具去研究律法的民众和律师提供了更多机会。


简单讲就是,先本地提交,累积几次后再一次 push 到
remote。本次提交会关联到上一次提交,这跟区块链的 chain
是不是有些类似?比如本次提交的标志为 ab88b43,上一次提交的标志为
297f29a,那么本次提交的信息里就会有 parent commit
297f29a。这种类似链条的记录,是不是变得可追溯了啊?版本控制最重要的是什么,就是可追溯,如果某次错误提交,还可以回腿到历史版本。同样,可追溯也是区块链的重要特性。

图片 13

题目
描述:一两句,清楚并且精准地描述项目的精髓

也就是说,Git 是简化的 blockchain,用 Git
来理解区块链,这个事情是不是特别有趣?

这是美国华盛顿哥伦比亚特区(Washington District of
Columbia,WDC/DC)的法律条款,它不是法律的副本,而是一个权威的 DC
委员会存储已颁布法律的数字版本的地方,内容直接提供给理事会的 DC
条款网站:https://code.dccouncil.us/dc/council/code。

项目简介,Description
其它文档,Documentation
安装,Install
额外信息:Contribution,当你想让别人更方便地加入进来,或者Issue
License

大部分业内大咖的文章都存放在
GitHub,读者会被删吗?最近一天世界的一篇关于微信的文章很有趣,不妨 看看。

建立license很简单:

git push origin master

hiring manager的职责 figure out what attributes do value in engineers。


图片 14

那 Git
究竟是什么呢?简单讲就是一个 分布式版本控制软件。如果用三句话阐述什么是
Git 运行原理,那就是:[1]

Here’s a link to the basic Markdown
documentation.
You can also check out the differences in GitHub flavored Markdown
here.

再者,区块链的特性是分布式的,而 Git 天然就是分布式的,不过 Git
是依赖文件系统。GitHub 助力全球化协作,并且代码或者文档一旦提交到
GitHub,这个操作将是无法撤销的。GitHub 本身会将其网站上的 repo
利用分布式存储做好容灾;如果某程序员 clone 该
repo,只要它不删除,将会永久存储在自身的电脑,除非自身电脑文件系统崩溃;如果某程序员
fork 该 repo,只要它的账户不被删除,这个 repo
将永久保留在它的账户之下;另外,某个 repo fork、clone
次数越多,被摧毁的概率也就越低;再者,某个 repo
即使最近一次操作清空了所有的代码,还可以通过 git log
恢复。这样一分析,科学上网的 GitHub repo
将是 野火烧不尽,春风吹又生

提供一下已经知道的bug,这样用户就不用发愁为什么他的code无法成功运行。

生成当前目录 tree 文件,关联当前状态文件

图片 15

学好区块链,拥抱新未来:

https://github.com/thoughtbot/factory_girl
https://github.com/zkat/can.viewify
https://github.com/udacity/create-your-own-adventure

正是 GitHub
网站在全球的成功运营,加密数字货币开源项目才会以爆发性的增长。这个世界上最顶尖的程序员都在为这些开源项目提交
PR,这种社区式连接的力量,是无法衡量的。我们可以在 GitHub
上看到 Bitcoin、Ethereum、EOS 等项目的最新更新状态,每天都有无数的程序员为这些项目添砖加瓦。加密数字货币的共识,很大一部分来自
GitHub 社区。

第一要看的,就是活跃热图,看绿色的分布,看这个人是否热爱编程。是否经常做贡献,不需要总是在编程,但至少会有比较稳定的趋势。

区块链产品经理(点击入驻),和圈内人士混个脸熟

Paste_Image.png

This is an h2.

Working with .md
Files
Much like how your HTML files should be saved with a .html
extension, your Markdown files should be saved with a .md
extension.
Markdown itself can’t be opened in the browser like an HTML document. If
you want to preview your Markdown files,
Dillinger is a great
online resource for you to do so.
If you are using Sublime Text, there is a
plugin
you can download to let you preview Markdown files right on your
computer. If you are using Atom text editor, Markdown preview is baked
right into the program (in the ‘Packages’ menu).

Here’s a link to the basic Markdown
documentation.
You can also check out the differences in GitHub flavored Markdown
here.
To preview Markdown in the browser, try
Dillinger.

什么那个不好用,下面这个好用
http://dillinger.io/


听课范围:
Github Profile
Git 和 Github
Readme

readme需要提供给user足够的信息以便于up and running your code

看下面这个例子
https://github.com/github/ledbetter

github中常用markdown命令
加粗
Isn’t today a wonderful day?
斜体
And in that moment I thought to myself: Did I turn off the stove?
代码
You should use the strong tag.
标题

comments里面可以加入版本的说明,feature增加的说明等。

看如何使用这个code,有没有example,如果没有好的document,别人就会转向其它更方便的library,如果非要读这样的code,就会花费很多时间,

接下来看这个人建立的repository,和他贡献过的repository。
挑一个最丰富的repo,花一个小时去读他们的code,从而看出他们是什么样的工程师。
也会看他是否在其它repo中有贡献,看他怎样和别人互动,协作,讨论。

图片 16

图片 17

Installation, common Usage, known Bugs
readme的长短取决于你的项目,没有必须的要求,只需要提供给使用者必要的信息。

图片 18

照片
twiter,个人博客

图片 19

用markdown写readme,易读,而且排版容易。
Github,Stack Overflow,Slack,Reddit

show your work and how you work

图片 20

Profile
Readme
Commit
Contribute to open source community

copyright和licensing information,或者link。
下面这个网站,可以学习如何选license。
http://choosealicense.com/
这里有关于license的指南,
https://github.com/blog/1530-choosing-an-open-source-license
这里可以告诉你为什么要选license,以及不选license的情况:
https://help.github.com/articles/open-source-licensing/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图