新手该如何使用 GitHub?
共 3358字,需浏览 7分钟
·
2022-02-09 09:04
咦,这题我会,毕竟名字带 GitHub。
不多 BB,直接上干货!当初学了三个月就找到后台开发的工作,我练手的项目都来自这里!!
GitHub 标星 1.6w+,这个神级宝藏项目,作为编程新手有福了!!
以下是正文:
虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。
后来自己花了一个星期看完了 Python 的基础知识,就想着找点项目看一看,学一学,练一练,这个时候我才真正的去了解 GitHub,开始了在 GitHub 的瞎逛之旅,在开始之初,随之而来的问题是我不知道哪些项目当时还是新手的我,哪些项目是好项目,哪些项目好玩有价值。
虽然现在我已经在 GitHub 上逛的相当流畅,但我还是想如果有一个东西可以收集这些对新手友好的东西,那么我当时可以少走更多的弯路,节省更多的时间吧。
那么有这么一个东西么?
有的,而且已经做了三年多,这就是HelloGitHub,一个分享 GitHub 上有趣,入门级的开源项目。
GitHub 网址:https://github.com/521xueweihan/HelloGitHub
在项目中,内容每月 28 号以月刊的形式更新发布,主要是面向编程新手、热爱编程、对开源社区感兴趣人群的项目。更新的内容主要包括:各种语言的流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等。
这些项目都有一些共同的特征,那就是很酷,非常容易上手的项目,编程的魅力和便捷体验起来就是这么简单。
再次给出 GitHub 地址: https://github.com/521xueweihan/HelloGitHub
下面我们就来看看,这个项目具体包括啥,我们以最新的月刊(43 期)为例。
0x00 简介
0x01 目录
0x02 内容
每个类型的项目我们挑一个来看。
C 项目
tmux:一个终端复用工具,可极大的提高工作效率。
- 提供了强劲的、易于使用的命令行界面;
- 可横向和纵向分割窗口;
- 窗格可以自由移动和调整大小,或直接利用四个预设布局之一;
- 可在多个缓冲区进行复制和粘贴;
- 可通过交互式菜单来选择窗口、会话及客户端;
- 等等。
C# 项目
BenchmarkDotNet:功能强大的用于基准测试 .NET 库。
C++ 项目
dbg-macro:打日志是 C++ 开发中必不可少的一种 debug 方式,dbg-macro 受 rust-lang 中 的 dbg 启发,提供比 printf 和 std::cout 更好的宏函数。主要有如下特点:
- 美观的彩色输出(当输出不是交互式终端时,颜色将自动禁用);
- 兼容 C++11,并且是 header-only;
- 支持基础类型和 STL 容器类型的输出;
- 除了基本信息外,还输出变量名和类型;
- 启用 DBG_MACRO_DISABLE 生成 release 版。
#include
Go 项目
go-admin:基于 Golang 语言的数据可视化与管理平台。特性如下:
- 高生产效率:10 分钟内做一个好看的管理后台;
- 主题:默认为 adminlte,更多好看的主题正在制作中,欢迎给我们留言;
- 插件化:提供插件使用,真正实现一个插件解决不了问题,那就两个;
- ✅认证:开箱即用的 rbac 认证系统;
- ⚙️框架支持:支持大部分框架接入,让你更容易去上手和扩展。
Java 项目
eladmin:基于 Spring Boot 2.1.0、Vue 的前后端分离的后台管理系统,支持数据字典与数据权限管理、一键生成前后端代码、前端菜单动态路由等。基于 Spring Boot2.1.0 框架,涉及的技术栈:非关系数据库 redis、接口测试工具 swagger、druid 数据源驱动、邮件依赖(javax.mail)、三方支付和云存储 SDK、页面模板引擎 freemarker。技术栈丰富,初学者可以作为实战项目学习和使用。
JavaScript
chart-race-react:一个简单易用的 Bar Chart Race(长条图赛跑动画) React 组件。示例代码:
import ReactDOM from 'react-dom'; import BarChart from 'chart-race-react'; ReactDOM.render(
Python 项目
TagUI-Python:一个 Python 自动化操作的库。比如:自动打开网页并截图,示例代码:
t.init() t.url('https://www.google.com') t.type('q', 'decentralization[enter]') t.snap('page', 'results.png') t.close()
Ruby 项目
shift:一个 Ruby 语言写的在线 MySQL 数据库迁移工具。
Swift 项目
Percent:让 Swift 语言支持百分比类型,消除精度缺失的烦恼。示例代码:
import Percent 10% + 5.5% //=> 15.5% -10% / 2 //=> -5%
其他
cascadia-code:微软开源的一套等宽字体,有趣的是可以组合字符创建新的字形。组合效果如下:
开源书籍
python_ebook:Python 编程相关的电子书资源集合项目。
book:(英文)《Cosmic Python》讲述如何管理复杂性的 Pythonic 应用程序结构的书籍。
教程
BigData-Notes:大数据入门教程,该教程介绍了大数据常用技术栈的基础和核心知识。内容涵盖:Hadoop、Spark、Storm、HBase、Hive、ZooKeeper、Kafka 等。
机器学习
dimensionality_reduction_alo_codes:该项目使用 Python 实现了 11 种经典的数据抽取(数据降维)算法。同时附有相关资料、展示效果,适用于机器学习初学者和刚刚入坑数据挖掘的小伙伴。
0x03 写在之后
以上,就是今天分享的内容,希望更多的人能够知道 HelloGitHub 这个项目,内容已经在这了,万事俱备,差的就是你学习的驱动力和对作者 Star 的支持了。
作者:Rocky0429
链接:https://www.zhihu.com/question/21612257/answer/928278410
分享两个 GitHub 上的优秀开源干货:
一、LeetCode-Go
截至 2020 年 11 月,该开源项目配套的网站已经有一百二十万的访问量,在 GitHub 上收获了 8500 颗小星星。
这个开源项目是@halfrost(中文名一缕殇流化隐半边冰,简称霜神)去年刷算法题时整理出的 520 题,每道题都写了解题思路,全部都是 GO 实现的,并且每题都 runtime beats 100% 了。
至于为什么要求每题都 runtime beats 100%。 霜神是这样回复的:优化到 beats 100% 才算是把这题做出感觉了。有好几道 Hard 题,可以用暴力解法 AC 了,但只 beats 了 5%,这题就如同没做一样;而且面试中如果给了这样的答案,面试官也不会满意,“还有没有更优解?”。如果通过自己的思考能给出更优解,面试官会更满意一些。 如果你把这些题解都摸透,相信在面试环节你可以从容的回答“还有没有更优解”。
作者介绍:霜神是前阿里巴巴资深后端工程师,业余时间酷爱写博客,目前他的博客已经有 300W+ 的浏览量,是 iOS 开发届的大佬级别人物,霜神为人谦和,上周六我说能不能提供一份离线电子书,方便读者阅读,他立马熬夜研究,修改了好几个版本。
离线版笔记下载地址(已获授权)链接: https://pan.baidu.com/s/1prMLkrf7MqANVyrqZjzPhw 密码: gjht
--来自百度网盘超级会员V3的分享
离线版笔记下载地址(已获授权): LeetCode - Go 电子书下载
二、leetcode_101
高畅现在是谷歌无人车部门(Waymo)的工程师,从事计算机视觉和机器学习方向。
他在美国卡内基梅隆大学攻读硕士学位时,为了准备实习秋招,他从夏天开始整理某 code 上的题目,几个月的时间,刷了几百道题目。
凭借着扎实的基础和长期的勤奋,他很快找到了如愿的工作。
入职前,闲暇的时候,他突然想到,自己刷了那么多题,而且对很多题目的解法有着总结,为何不把这些题目归纳总结一些,做成一个便于后来者阅读学习的电子书呢?
有了想法,作为行动派的他说干就干,于是这样一本制作精美且免费开源的书籍出现在大家面前。
引用他的话来说:
本书分为算法和数据结构两大部分,又细分了十五个章节,详细讲解了刷题时常用的技巧。我把题目精简到了101道,一是呼应了本书的标题,二是不想让读者阅读和练习时间过长。 这么做不太好的一点是,如果只练习这101道题,读者可能对算法和数据结构的掌握不够扎实。因此在每一章节的末尾,我都加上了一些推荐的练习题,并给出了一些解法提示,希望读者在理解每一章节后把练习题也完成。
整本书,我仔细看了一遍,并对书中的一些解题思路和代码进行校验。
来源:向谷歌工作的师兄偷师学艺 作者:公子龙
从我的直观感受来说,这是一本用心的数据结构算法类书籍,全书总共 143 页篇幅,详细讲解算法的内容有十五个章节。
每个章节都是一些重要的知识点,伴有基础讲解和例题介绍,当然,也有一些推荐的练习题。
话不多说,让我们来看一下书的目录:
第二章是讲解贪心算法的,我们摘取一些内容查看,发现对知识点的讲解介绍是细致入微的。
GitHub 地址:https://github.com/changgyhub/leetcode_101
为了方便读者,我已经将开源电子书下载后上传到百度云盘:
链接: https://pan.baidu.com/s/1OeRbS-EZTpneTDBAuS9yEA
密码: guhb