GitHub是微软旗下的一个在线软件源代码托管服务平台,也是一个拥有八千多万开发者用户的社区。很多开发者应该对
GitHub 是好的学习平台
如果你想学一门软件开发的技术,比如学会用
学习首先是需要找一个好的教程,在
当然
找到教程学习后,接下来就是去开发一个真正的项目了。按正常的流程,我们需要在我们的电脑上配置复杂的软件开发环境,就这一步已经让很多人望而却步了。但是在
比如下面就是我在开发的一个开源项目,其是一个基于
在上图红框部分可以创建一个免费在线的开发环境,打开后就是一个网页版的
有时候当你只想阅读其他人的代码时,在.
键就会自动打开一个在线
在一个浏览器内搞定代码的搜索、阅读与开发功能,我觉得这是非常震撼的,起码在十几年前是不可能的。
如果你并不想写代码,只想写点文字,
GitHub 是好的写作平台
基于Markdown的写作一直是我推崇的,早在十年前,我在Wordpress上写作,
在
除了这种方式,还可以使用Cloudflare Pages,它可以将
如果你想要更好的写作体验,还可以使用这个vuepress-theme-hope的开源项目,它提供了非常强大的定制能力,使用方式却很简单,比如我用它在在GitHub上编辑此页
的按钮,点击后就可以直接在
由于
当然这个博客也是在
如果想给网站添加评论功能,可以使用giscus,它会自动将评论保存到
GitHub 是好的开发平台
- Jupyter Notebook:对机器学习有很好的支持,比如直接在网页执行
Notebook 内的代码并将结果渲染出来。 - GitHub Codespaces:提供一个在线的云端
IDE ,可以在浏览器里直接编辑代码,然后在云端编译、运行、调试代码,非常方便。甚至还提供了GPU 的实例,可以训练机器学习模型。 - GitHub Copilot:提供一个在线的
AI 代码自动补全功能,可以根据上下文对你的代码自动补全,甚至包括写博客! (这篇文章的一部分就是这个AI 小助手自动撰写的,你能看出来吗? ) - GitHub Actions:提供一个
Pipeline as Code 的CI/CD 服务。比如可以实现,当博客文章更新时,自动发送通知给订阅者,我的博客就实现了类似的功能,具体的实现可以看这个文件:.github/workflows/gh-pages.yml。 - GitHub Packages:提供类似
Docker Hub 的软件包管理功能。
最重要的是,这些功能很多都提供了免费的额度,足够日常使用了,你要做的就是去创作,利用技术杠杆去实现自己的想法。
利用GitHub 打造个人技术影响力
打造个人技术影响力,可能是很多开发者无偿在
在
基于GitHub 的生态
- SSO:很多技术网站都提供了
GitHub 的SSO 集成,尤其是和开发者SaaS 服务相关的网站,如果要使用这些服务,则必须要有一个GitHub 账号。 - Cloudflare:全球最流行的
CDN ,和GitHub 集成后,Cloudflare Pages 可以实现自动部署,当代码push 到GitHub 后,Cloudflare 会自动将网站发布到Cloudflare 的全球网络节点中。 - Vercel:和
Cloudflare Pages 一样,集成GitHub 后,可以自动部署网站到Vercel 的CDN 网络中。我的一些小工具就是部署到Vercel 上的。 - Railway:提供了后端服务包括数据库的托管,集成
GitHub 后,可以自动部署应用到Railway 的服务器上。
这些
GitHub Next
GitHub Next正在探索一些能影响软件开发未来的方向,目前有几个方向挺有意思的:
- AI:或者说深度学习模型,正在逐渐的改变世界,比如
GitHub Copilot 正是基于深度学习模型来实现代码自动补全的功能。未来基于GitHub Copilot 的代码重构、写自动化测试、与开发者结对编程也不是不可能的事情,当然让AI 帮我们写文章,或者合写文章也是一件自然而然的事情。 - 语音编程:如果能通过自然语言与
GitHub Copilot 沟通,那编程将会变成搭积木一样的简单,一些基本的功能就可以通过语音来实现,而不需要写代码。这事想想就觉得不可思议,甚至有种托尼· 斯塔克与贾维斯对话去制造钢铁侠战甲的感觉。 - 协作:由于疫情的出现,远程工作正变得越来越流行(或者说需要
) ,远程结对编写代码目前还没有什么比较好的方式,解决多人如何在同一个代码库实时协作是个有意思的领域。 - 可交互文档:虽然
GitHub 现在对Markdown 的支持已经非常好了,但这种支持还仅限静态的,如何让文档变得可交互,让文档更有表达性,也是一个值得进一步挖掘的方向。
虽然我注册
希望这篇文章能让读者对