GitHub 上有哪些适合新手跟进的优质项目?
这是我写的一个小语言,特点是所有的控制流都可以用函数来做,coroutine也可以用函数来做,而且用起来跟普通的语言一模一样,而且写起来都是一句一句的话,不像普通语言符号满天飞。然后我还在我的博客http://www.cppblog.com/vczh 上连载文章(还没写完),来通过教大家实现tinymoe,学习编译原理的基础知识。
整个编译器是用C++11和STL写的,还可以作为C++程序的参考读物谢邀。以前有篇文章提到过阅读源码的动机(记得是侯捷),写一下自己记得的:
1. 工作需要。比如需要修改开源软件的某个地方然后马上用,这种动机最强,但是用完之后就很快遗忘了
2. 兴趣。比如长期使用开源软件,某一天突然想看一下里面的构造,于是深入进去。因为很熟悉软件,所以能有所收获。比如jQuery的代码
3. 纯粹的兴趣。就是想看一下代码。。这样就需要选择了。首先要会使用软件本身,否则会被大量代码淹没。比如一个连JS都不太会的人,直接上手看jQuery就是找死了。找项目很重要,不是什么代码都值得看的
4. 做笔记。一个是代码的大概构造(除了js这种打包的之外,优秀开源项目目录都很清晰)。另一个是关键算法和代码的逻辑、数据流。
PS:优秀的代码也不用全看,看自己感兴趣的一部分。对编译原理不熟的看Lua底层会吃力,但是上层API部分就可以看~1. c/c++, Python, Java都可以,劝你还是框一个范围,因为每个范围都很大的。。。
2. Github上未必就好,每个人都有每个人的风格
3. Github还是以JavaScript居多
4. 你在项目中用到什么就深入学习一下,不要停留在API而是深入去理解作者的代码
5. 在用的时候发现不爽可以fork后pull request
6. 不过这没几年功底还是算了
7. 建议从stackoverflow开始
8. 如果英文不行,就从SG, CSDN开始
9. 都是这么过来的
Python:参见Python漫游指南中,Read Great Code 章节
http://python-guide.org
jfinal/jfinal · GitHub
JFinal / JFinal
JFinal首页、文档和下载
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、 python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
JFinal有如下主要特点:- MVC架构,设计精巧,使用简单
- 遵循COC原则,零配置,无xml
- 独创Db + Record模式,灵活便利
- ActiveRecord支持,使数据库开发极致快速
- 自动加载修改后的java文件,开发过程中无需重启web server
- AOP支持,拦截器配置灵活,功能强大
- Plugin体系结构,扩展性强
- 多视图支持,支持FreeMarker、JSP、Velocity
- 强大的Validator后端校验功能
- 功能齐全,拥有struts2的绝大部分功能
- 体积小仅218K,且无第三方依赖
以下是JFinal实现Blog管理的示例:
1:控制器(支持FreeMarker、JSP、Velocity、JSON等等以及自定义视图渲染)
@Before(BlogInterceptor.class)
public class BlogController extends Controller {
public void index() {
setAttr("blogList", Blog.dao.find("select * from blog"));
}
public void add() {
}
@Before(BlogValidator.class)
public void save() {
getModel(Blog.class).save();
}
public void edit() {
setAttr("blog", Blog.dao.findById(getParaToInt()));
}
@Before(BlogValidator.class)
public void update() {
getModel(Blog.class).update();
}
public void delete() {
Blog.dao.deleteById(getParaToInt());
}
}
2:Model(无xml、无annotation、无attribute、无getter、无setter、new Blog()这行代码也不是必须)
public class Blog extends Model {
public static final Blog dao = new Blog();
}
3:Validator(API引导式校验,比xml校验方便N倍,有代码检查不易出错)
public class BlogValidator extends Validator {
protected void validate(Controller controller) {
validateRequiredString("blog.title", "titleMsg", "请输入Blog标题!");
validateRequiredString("blog.content", "contentMsg", "请输入Blog内容!");
}
protected void handleError(Controller controller) {
controller.keepModel(Blog.class);
}
}
4:拦截器(在此demo中仅为示例,本demo不需要此拦截器)
public class BlogInterceptor implements Interceptor {
public void intercept(ActionInvocation ai) {
System.out.println("Before invoking " + ai.getActionKey());
ai.invoke();
System.out.println("After invoking " + ai.getActionKey());
}
}
虽然这个问题是几年前出现的,但 GitHub 上适合新手的优质项目一直层出不穷,今天就给大家分享一个自然语言处理方面的项目。
为什么说它优质呢?
因为它能让你用任何文本数据训练你自己的文本生成神经网络,而且模型大小和复杂程度由你说了算。
为什么说它适合新手呢?
因为连美国的中学生都能看懂它并学会用它。例如美国得州奥斯丁中学的学生用它做了个很好玩的项目——根据现在的各种冰淇淋口味,让模型为新的冰淇淋口味起名字。
只需几行代码,你就能上手实践文本生成项目。
不卖关子了,这个项目在 GitHub 上叫 textgenrnn。它是一款基于 Keras/TensorFlow 的 Python 3 模块,可以用来创建字符级的循环神经网络。它有以下几个亮点:
- 能够训练或生成字符级和词汇级的文本。
- 能够配置 RNN 大小、RNN 层级数量,决定是否用双向 RNN。
- 能够用任何输入文本文件训练,包括大型文件。
- 能够在 GPU 上训练模型,然后在 CPU 上用它们生成文本。
- 能够用上下文信息标签训练模型,使模型更快的生成更好的结果。
在这个 Colaboratory Book(https://drive.google.com/file/d/1mMKGnVxirJnqDViH7BDJxFqWrsXlPSoK/view)上,你可以免费使用一个GPU,用textgenrnn训练任何文本文件。
示例
from textgenrnn import textgenrnn
textgen = textgenrnn()
textgen.generate()
[Spoiler] Anyone else find this post and their person that was a little more than I really like the Star Wars in the fire or health and posting a personal house of the 2016 Letter for the game in a report of my backyard.
使用新的文本就能很容易的训练内置的模型,哪怕输入数据只传入了一次,模型也能生成恰当的文本。
textgen.train_from_file('hacker-news-2000.txt', num_epochs=1)
textgen.generate()
Project State Project Firefox
模型权重很小(硬盘 2M),可以很容易的保存和加载入新的 textgenrnn 实例。
textgen_2 = textgenrnn('/weights/hacker_news.hdf5')
textgen_2.generate(3, temperature=1.0)
Why we got money “regular alter”
Urburg to Firefox acquires Nelf Multi Shamn
Kubernetes by Google’s Bern
用法
可以通过 pip 从 pypi 处安装 textgenrnn:
pip3 install textgenrnn
你可以从这个 Jupyter Notebook 上查看常见特征和模型配置选项的演示:
https://github.com/minimaxir/textgenrnn/blob/master/docs/textgenrnn-demo.ipynb
- /datasets 包含用于训练 textgenrnn 的来自 Hacker News/Reddit 的样本数据集。
- /weights 包含用前面提到的能够加载入 textgenrnn 的数据集所训练的预训练模型。
- /outputs 包含上面的预训练模型生成的文本样例。
textgenrnn 架构与实现
Textgenrnn 基于人工智能大神 Andrej Karpathy 研发的 char-rnn 项目,并略作了改进,比如能够处理非常小的文本序列。
注意:
- 生成的文本不会非常完美,即便是使用了训练程度非常高的神经网络。
- 用不同的数据集生成的结果会相差很大。因为预训练的神经网络相对较小,没法和 RNN 存储一样多的数据。最好使用至少有 2000-5000 文件的数据集。如果数据集很小,需要延长训练时间,将 num_epochs 参数调高。
- 再训练 textgenrnn 并不需要 GPU,但是在 CPU 上训练时间会长很多。如果你使用 GPU,建议增加 batch_size 参数的值,以更好的利用硬件。
未来优化计划
- 推出更多的正式文档。
- 增加监督式文本生成模式。
- 能让模型架构用于聊天机器人的聊天。
- 增加能调整更长字符序列、更深入理解语言、生成更好的文本的预训练神经网络。
Textgenrnn 在 Github 上地址:
https://github.com/minimaxir/textgenrnn
或许你还喜欢:
GitHub 上有些什么好玩的项目?参考资料:
https://github.com/minimaxir/textgenrnn
http://aiweirdness.com/post/173797162852/ai-scream-for-ice-cream
http://weixin.qq.com/r/80QiOi3EDnBxrWlZ9xHh (二维码自动识别)
建议题主可以先从国内的开源项目入手,在学习中有遇到任何问题,也可及时反馈并获得帮助。以下为题主推荐一些在国内平台和 Github 上都可以找到的开源项目,希望能够帮助到题主和对此感兴趣的朋友。
1、项目名称:基于JAVA 的社交管理系统
项目简介:JEESNS是一款基于JAVA企业级平台研发的社交管理系统,依托企业级JAVA的高效、安全、稳定等优势,开创国内JAVA版开源SNS先河。数据库使用MYSQL,全部源代码开放。
应用场景:
- JEESNS是一个企业级的开源社区系统,是一个可以用来搭建门户、群组、论坛和微博的社区系统。
- JEESNS是将SNS社会化网络元素,人和群组结合在一起的新型的社交系统。
- JEESNS以人为中心,通过用户的需求和行为将最有价值的信息得以不断整合。
- JEESNS是一个稳定、安全、可扩展的社区系统,可以帮您搭建与众不同的交流社区。
- 如果您要需要搭建一个论坛,那么您可以用JEESNS
- 如果您需要一个群组,那么您可以用JEESNS
- 如果您需要因为某个话题来汇聚人群,那么您可以用JEESNS
码云项目地址:https://gitee.com/zchuanzhao/jeesns
GitHub 地址:https://github.com/zchuanzhao/jeesns
2、项目名称:阿修罗监控系统
项目简介:阿修罗监控,最好用的分布式开源监控系统,运维工作中自己开发的linux监控系统,功能强大灵活,系统安装简单,配置简单。
相比zabbix, nagios,cacti,小米监控等都使用相当简单。只需要会写脚本,语言不限就可以实现任意监控需求。
码云项目地址:https://gitee.com/asuramonitor/monitor
GitHub 地址:https://github.com/AsuraTeam/monitor
3、项目名称:分布式微博爬虫
项目简介:抓取内容包括微博用户资料、微博信息、评论信息和转发信息。目前专注于微博数据抓取本身,正在快速迭代。
功能全面:包括了用户信息抓取、指定关键字搜索结果增量抓取、指定用户主页所有微博抓取、评论抓取和转发关系抓取等
数据全面:PC端展现的数据量比移动端更加丰富。并且相比于其它同类项目对微博的简单分析,本项目做了大量细致的工作, 比如不同domain
不同用户的解析策略、不同domain
不同用户的主页分析策略等
码云项目地址:https://gitee.com/resolvewang/WeiboSpider
GitHub 地址:https://github.com/ResolveWang/weibospider
关注码云微信公众号:mayunOSC
发现更多优质开源项目:最新推荐 - 码云 - 开源中国
让团队流畅、高效开发:码云企业版 - 码云 - 开源中国
项目名称:ZKEACMS
也叫纸壳CMS,是一个可视化设计的CMS系统(内容管理系统)。看完这个系统,会让你对前端,后端,数据库有一个全新的认识。
在线编辑导航样式演示https://www.hg-daigou.com/video/1046522221404758016页面布局
页面布局是可以直接在线设计的:
页面
页面也是可以在线设计,编辑的:
显示模板
模板是可以直接在线编辑的:
可视化样式编辑
样式是可视化直接编辑的:
编辑指定元素样式:
设置背景:
添加内容板块
直接从现有板块中快速添加:
项目地址
SeriaWei/ZKEACMS.Core如果喜欢,点个star吧
APIJSON。
自动将前端传的 JSON 参数转为 SQL 语句执行并返回结果,
期间自动校验权限、结构、内容,自动防 SQL 注入。
还有自动化的各种JOIN(INNER, LEFT, RIGHT等)解决N+1问题。
还支持多字段排序order by,多字段分组group by,聚合函数having
等几乎所有MySQL的常规功能。
通过自动化 API,前端可以定制任何数据、任何结构!
大部分 HTTP 请求后端再也不用写接口了,更不用写文档了!
前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!
后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!
在线解析:
自动生成文档,清晰可读永远最新
自动生成请求代码,支持 Android 和 iOS
自动生成 JavaBean 文件,一键下载
自动管理与测试接口用例,一键共享
自动校验与格式化 JSON,支持高亮和收展
对于前端:
不用再向后端催接口、求文档
数据和结构完全定制,要啥有啥
看请求知结果,所求即所得
可一次获取任何数据、任何结构
能去除重复数据,节省流量提高速度
对于后端:
提供通用接口,大部分 API 不用再写
自动生成文档,不用再编写和维护
自动校验权限、自动管理版本、自动防 SQL 注入
开放 API 无需划分版本,始终保持兼容
支持增删改查、模糊搜索、正则匹配、远程函数等
后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构!
创作不易,GitHub 右上角点 Star 支持下吧,谢谢^_^
https://http://github.com/TommyLemon/APIJSON
新手么,搞web应用的话,可以看看“the mother of all demo apps”
自己挑喜欢的框架,也可以横向对比一下。
纯前端也可以看看类似的
HNPWA中文编程GitHub讨论组中的项目很多使用中文命名, 可读性强且上手较易. 相较绝大多数英文命名的项目, 在代码阅读方面对新手较友好. 讨论组成员的母语都是中文, 组内技术交流学习气氛浓厚.
项目范围很广, 欢迎各种兴趣方向的开发者. 有入门语言/框架教程, 偏实用的例程, 公开发布的中文API, 浏览器插件, 加强中文代码支持的IDE插件, 新创的中文语法编程语言原型等等. 另外还有对现有编译器源码进行修改实现关键词汉化. 下面是部分(完整索引在中文编程专栏目录, 初衷和希冀):
- 入门教程(例程使用中文命名): Java, Python, TypeScript, VueJS
- 实用例程或工具(使用中文命名): Spring Boot系列, 臺灣言語工具
- 中文命名的Java API(已发布到Maven): 中文简繁转换库, 英汉词典库, 中文版JUnit4
- 对现有编程语言的汉化(通过修改编译器源码): ,C, Python, TypeScript, Java. 详见索引"汉化现有编程语言"部分
- 中文语法编程语言(多数使用中文命名): Agda原生实现中文语法, JS实现LOGO子集, Java+Antlr4实现简单语言, Z语言, 无空格设计. 更多请见索引"语言/IDE设计, 实现, 与推广"部分.
最近的源码命名英汉翻译项目(即针对源代码的机器翻译)刚刚启动, 牵涉技术较多. 包括源代码分析和生成, 自然语言处理(命名翻译), 前后端开发(服务和网页界面)等等. 现在仅实现了Java代码的初步翻译. 最新进度请见此贴.
如果你也在实践用中文编写代码或者相关工具/开发中文编程语言, 或是有兴趣参与, 非常欢迎加入.
小项目入门,中华诗词:michaelliao/shici
Java / SpringBoot2
零配置,运行简单
网站:https://www.shi-ci.com
2019-11-12 UPDATE
如何阅读大型项目的代码?选择项目之后下一个问题就是新手如何阅读优质项目的代码了,刚好最近写了一个相关的回答,贴上链接。
2019-04-18 ORIGIN
优质项目一般都是 layout 清楚,代码整洁,文档丰富,社区活跃度高的。
项目大是没关系的。小的项目例如 LineNoise,一会就看完了,功能也做完了,除了 bugfix 基本上不可能有更新了,你去看又有什么的意义呢?
对于新手来说,实际上去看较大的项目是有帮助的。因为一个 promising 的项目,如果你在它还小的时候去看它,反而容易因为自己菜而看不穿简陋原型后面的设计思路。项目在这个时候往往是大牛们集中爆发 commits 的时候,你几乎跟不上项目的变动,而且因为不能从高层面去把握,看着高速增长的 commits 找不到重点而非常挫败。
因此,可以选择一个体量较大的项目,先 focus 在某一个模块,模块内看代码实现,模块外看接口通信。从小处能锻炼代码能力,掌握细节;从大处能看到项目结构和代码之间的关联,熟悉架构和设计。这种自由的切换和探索空间对新手来说是更有裨益的。
但无论如何,看懂项目或者说深入参与到一个项目的开发中去,必然是需要一段时间的。特别是完全没有经验的人一开始,很有可能看了几个月大半年都不知道代码在干嘛。这个没有关系。坚持下去,总会有一个打通脉络的尤里卡时刻。在有过这样的经验后,再去琢磨其他的项目代码,就能显著的缩短这个『懵逼』的时间。
首先,这个神仙项目请你pick:
https://github.com/sindresorhus/awesome
各领域各语言资源大合集
另外,可以关注GitHub的每日榜单,看看大家都在关注些什么(虽然有国外小哥吐槽榜单上都是中文哈哈
https://github.com/trending/python?since=daily
推荐不同语言的几个项目:
Python :
youtube-dl
这个程序是一个开源的python项目。支持MacOS、Linux和Windows平台,可以在官网直接下载编译好的程序。可以用来下载YouTube视频,国内的一些视频站也可以进行下载。
interview_internal_reference:总结了2019年最新的阿里,腾讯,百度,美团,头条等技术面试题目以及答案,分析汇总。
sherlock:高级机器视觉软件,可以用于广泛的自动化检测应用。它提供了最大的设计灵活性,丰富的已验证的工具和功能。
DeepFaceLab:这是一个github上的开源项目,所有人都可以查看源代码也能免费使用。个人认为这个项目的最大优点就是安装超级简单,几乎是无需安装,使用过程也不复杂
Manim:解释数学视频的动画引擎。可以用来创建精确的2D动画。
XSStrike:XSStrike是一个Cross Site Scripting检测套件,配备四个手写解析器,一个智能有效载荷生成器,一个强大的模糊引擎和一个非常快速的爬虫。
XSStrike不是像其他工具一样注入有效载荷并检查它的工作原理,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效载荷。
f="https://github.com/wangshub">Douyin -Bot:抖音机器人。是用于机器人算法的Python代码。教你如何在抖音上找到漂亮小姐姐~~
Photon:快速抓取工具,可以提取网址,电子邮件,文件,网站帐户等等。
google-images-download:可以实现搜索和下载数百个Google图像的Python脚本到本地。
faceswap
是个基于dlib的换脸程序。模型训练速度较快,同样配置下更快的到达低loss值,而且有gui界面版本。
you-get
you-get 是py上一个方便的下载工具。这个爬虫神器能爬取视频网站和图片网站,你不用写任何代码就能很容易的把你喜欢的视频或者图片甚至音频文件给扒下来。而且支持腾讯、搜狐、新浪、B站、央视网、芒果TV,乐视网、优酷、熊猫斗鱼等等大多数的国内主流视频网站。
Java:
advanced-java: Java工程师进阶知识扫盲,适合系统学习。
vhr:一个前后端分离的人力资源管理系统,采用SpringBoot+Vue开发。这个项目的权限管理模块已经开发完成,其他模块还在开发当中。可以管理角色和资源的关系,管理用户和角色的关系。
cat:作为服务端项目基础组件,cat提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
jeecg-boot:一款基于代码生成器的JAVA快速开发平台!全新架构前后端分离:SpringBoot 2.x,Ant Design&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码,绝对是全栈开发的福音!!
interviews:软件工程技术面试个人指南。可以这里找到针对很多面试问题的视频解决方案以及详细说明。
p3c:是阿里巴巴p3c项目组进行研发。根据《阿里巴巴Java开发规范》转化而成的自动化插件,并且实现了部分自动编程。
SpringAll:包括了Spring Boot,Spring Boot&Shiro,Spring Cloud,Spring Boot&Spring Security&Spring Security OAuth2等系列教程。
toBeTopJavaer:Java工程师成神之路。总结的很好,直接理解学习就完了。
JavaScript:
quasar:Quasar Framework是MIT许可的开源项目。能在记录时间内构建高性能VueJS用户界面
Daily-Interview-Question:前端大厂面试题汇总
next.js:一个基于React的一个服务端渲染简约框架。它使用React语法,可以很好的实现代码的模块化,有利于代码的开发和维护。
javascript-algorithms:这个存储库包含许多流行算法和数据结构的基于JavaScript的示例。每个算法和数据结构都有自己独立的自述文件,包含相关说明和链接,供进一步阅读
baidu-netdisk-downloaderx:一款图形界面的百度网盘不限速下载器,支持Windows,Linux和Mac。重点在不限速!
其他好玩的项目~
ChineseBQB:国内表情包大集合~~
komeiji-satori/Dress:女装大佬项目,一张图你就懂了
chinese-poetry
最全的中文诗歌古典文集数据库.包含5.5万首唐诗、26万首宋诗和2.1万首宋词。唐宋两朝近1.4万古诗人, 和两宋时期1千多位词人。
thefuck
该项目的主要作用是,在terminal 里输错命令之后无需修改,fuck 一下,自动帮你更正命令,既解气又实用。
很多人都有同感,GitHub不缺牛逼的项目;但很多牛逼的项目,我们往往很难插手,原因不外乎这三个:
1. 项目过于复杂,代码量太大,无法消化,就不更不要说修改或直接贡献代码了
2. 英语:很多开源项目的沟通方式是英文,这里不仅是语言问题,更是文化差异,所以,即使想作一些issue的提交,也存在一些问题
3. 跟主要开发人员无法随时沟通,qq,微信这些东西都是不可能的
这里厚脸皮推荐一下自己的开源GUI库:GuiLite
idea4good/GuiLite特点也只有3个:
1. 代码只有5千行代码,有丰富的文档和精彩实例(每个实例代码都控制在100行左右);有多精彩?不好说,但项目上线不到两年,在GitHub有3k star,Gitee上有1k star
2. 中国人自己的项目,大家交流起来没有压力,不论是点赞还是吐槽,都在大家熟悉的文化氛围中
3. 群主nice,能够积极把大家零散,随意的想法总结起来,不断推出新的特性
当然,争议也不少,具体有下面3点:
1. 5千行能作什么?100行能写出什么实例?能跨平台,还能用在单片机和苹果手表上?
2. 不如Qt,MFC这些大型软件独立;除了独立运行外,还可以嵌入在Qt,MFC中,能为独立子系统;避免大家推倒Qt,MFC
3. 不甘心作继续作一个2D界面库,不务正业的进行3D探索
废话不说了,直接上效果图吧(谢谢邀请,不喜勿喷哈)
我先主动交代,这个答案的内容来自一个德勤工作的工程师,爱尔兰小帅哥,Shmavon Gazanchyan。
他整理了一个比较详细的GitHub新手项目。我借花献佛,顺手翻译了一下。这个目录包括了如下的分类:
- .NET
- C
- C++
- Clojure
- ClojureScript
- Dart
- Elixir
- Go
- Java
- JavaScript
- Julia
- Kotlin
- Perl
- PHP
- Python
- Ruby
- Rust
- Scala
- TypeScript
下面开始了:
.NET
- Shouldly (label: Jump-In)
Should testing for .net - the way Asserting Should be! - MvvmCross (label: first-timers-only)
用于跨平台解决方案的.NET MVVM框架,包括Xamarin.iOS,Xamarin.Android,Windows和Mac。
C
- Neovim (label: good first issue)
Vim-fork专注于可扩展性和敏捷性。
C++
- electron (label: good first issue)
使用JavaScript,HTML和CSS构建跨平台桌面应用程序 - Godot Engine (label: junior job)
2D和3D跨平台游戏引擎。还有C#和Python代码。 - tensorflow (label: stat:contributions welcome)
使用数据流图进行可扩展机器学习的计算 - projectM (label: good first issue)
使用OpenGL和GLSL的音乐可视化工具库。有使用Qt5,SDL,emscripten,iTunes,Kodi的应用程序。 - Roc (label: help wanted)
用于通过网络进行实时音频流传输的工具包。
Clojure
- Alda (label: low-hanging-fruit)
音乐家的音乐编程语言。
ClojureScript
- LightTable (label: good first issue)
一个涵盖Dart语言和公共库的网站,适用于Dart库,Web应用程序,服务器端代码和移动(Flutter)应用程序的开发人员。
Dart
- dart.dev (label: beginner)
A website covering the Dart language and common libraries, for developers of Dart libraries, web apps, server-side code, and mobile (Flutter) apps.
Elixir
- Elixir (label: Level:Starter)
Elixir是一种动态的功能性语言,专为构建可扩展和可维护的应用程序而设计 - Ecto (label: Level:Starter)
Ecto是Elixir的数据库包装和语言集成查询
Go
- Moby (label: exp/beginner)
开源应用程序容器引擎 - Hugo (label: exp/beginner)
一个快速灵活的静态站点生成器,在GoLang中充满了爱 - CockroachDB (label: E-easy)
可扩展,可生存,非常一致的SQL数据库 - Helm (label: good first issue)
Kubernetes包装经理 - Mattermost (label: Up For Grabs, Difficulty/1:Easy, Tech/Go)
开源Slack替代Golang和React - Docker/CLI (label: exp/beginner)
The Docker CLI - Kubernetes (label: good first issue)
生产级集装箱调度和管理系统
Java
- Strongbox (label: good first issue)
Strongbox是一个用Java编写的工件库管理器。 - TEAMMATES (label: d.FirstTimers)
TEAMMATES是一个免费的在线工具,用于管理同学评估和学生的其他反馈路径。 - elasticsearch (label: good first issue)
开源,分布式,RESTful搜索引擎。 - JabRef (label: good first issue)
桌面应用程序从SWING转移到JavaFX。专注于代码质量:使用代码质量工具,如CodeCov和Codacy。每个Pull Request都由两位开发人员审核,以提供高质量的反馈并确保高质量的新贡献。 - Wikimedia Commons Android App (label: beginner friendly)
允许用户将图片从Android手机/平板电脑上传到Wikimedia Commons。 - XWiki (label: Onboarding)
XWiki是一个用Java编写的免费wiki软件平台,其设计强调可扩展性。初学者应该遵循入职维基。 - zerocode (label: good first issue)
没有编码的API自动化,简单的JSON响应断言,测试REST,SOAP,Kafka和Java / DB API,CI / Jenkins友好。
JavaScript
- name-suggestion-index (label: good first issue)
OpenStreetMap的典型通用品牌名称 - iD (label: good first issue)
JavaScript中易于使用的OpenStreetMap编辑器。 - missioncontrol (label: first-timers-only)
Mission Control是一个自由开放的市场,将自动驾驶汽车(例如无人驾驶飞机)与寻求包裹递送等服务的用户联系起来。 - missions (label: first-timers-only)
Missions是一个移动网络应用程序,用于连接DAV用户,这些用户希望使用自主无人机发送包裹,以便在开放和自由的市场中寻找工作。 - annyang (label: first-timers-only)
一种流行的语音识别库,用于与从网站到智能镜像到飞行无人机的所有内容进行通信。 - Clementine.js Boilerplate (label: beginner)
优雅轻巧的全栈JavaScript样板。 - PouchDB (label: first time only)
PouchDB是一个袖珍数据库。 - Leaflet (label: good first issue)
适用于移动设备的交互式地图的JavaScript库。 - Dragula (label: first-timers-only)
只是拖拽这么简单。 - UI.Layout directive (Angular UI) (label: first-timers-only)
允许你拆分的Angular指令! - history (label: good-for-beginner)
JavaScript的最小功能历史库。 - TodoMVC (label: first time contributor)
通过在许多Javascript应用程序中实现Todo,帮助您选择MV *框架。 - Adobe Brackets (label: starter bug)
一个用于Web的开源代码编辑器,用JavaScript,HTML和CSS编写。 - AVA (label: good for beginner)
未来的测试跑步者。 - Kinto.js (label: easy-pick)
利用Kinto API进行远程数据同步的脱机优先JavaScript客户端。 - ESLint (label: good first issue)
一种完全可插入的工具,用于识别和报告JavaScript中的模式。 - Webpack (label: D0: My First Commit (Contrib. Difficulty))
用于javascript和朋友的捆绑器。 - Tessel 2 CLI (label: contribution-starter)
Tessel 2的命令行界面。 - Ember.js (label: Good for New Contributors)
用于创建牛X的Web应用程序的JavaScript框架。 - Ember.js Data (label: Good for New Contributors)
Ember.js的数据持久性库。 - FreeCodeCamp (label: first timers welcome)
开源代码库和课程。学习编码并帮助公益组织。 - Ghost (label: good first issue)
只是一个博客平台 - eslint-plugin-unicorn (label: good for beginner)
很棒的ESLint规则。 - Hyper (label: good first issue)
JS / HTML / CSS终端 - pdf.js (label: 5-good-beginner-bug)
JavaScript中的PDF阅读器 - Moment.js (label: Up-For-Grabs)
一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期。 - serverless (label: help-wanted-easy)
无服务器框架 - Hoodie Camp (label: first-timers-only)
Hoodie Camp是一个新的和现有的贡献者的空间。 - React (label: good first issue)
用于构建用户界面的声明性,高效且灵活的JavaScript库。 - React Native (label: Good first issue)
使用React构建本机应用程序的框架。 - React server (label: good-first-contribution)
React框架与服务器呈现,用于快速页面加载和浏览器中页面之间的无缝转换。 - Yarn (label: good first issue)
快速,可靠,安全的依赖管理。 - pixi.js (label: Difficulty: Easy)
2D JavaScript渲染器 - Next.js (label: good first issue)
通用服务器呈现的React应用程序的简约框架 - keystonejs (label: good first task)
用于在Node.js中开发数据库驱动的网站,应用程序和API的开源框架。基于Express和MongoDB构建。 - Semantic-UI-React (label: good first issue)
使用JavaScript,HTML和CSS构建跨平台桌面应用程序 - electron (label: good first issue)
使用JavaScript,HTML和CSS构建跨平台桌面应用程序 - Botpress (label: good first issue)
唯一理智的方式来建立伟大的机器人。 - Atom (label: beginner)
hackable文本编辑器 - cdnjs (label: BEGINNER)
最好的FOSS网络前端资源CDN - Video.js (label: first-timers-only)
播放器框架 - stryker (label: beginner friendly)
JavaScript变异测试框架 - Kap (label: good first issue)
使用网络技术构建的开源屏幕录像机 - Reddit Enhancement Suite (label: help wanted)
一种浏览器扩展,用于增强Reddit浏览体验。 - Brave Browser (label: good first bug)
用于macOS,Windows和Linux的桌面浏览器。 - Fastify (label: good first issue)
快速和低开销的Web框架,用于Node.js. - Node.js core (label: good first issue)
基于Chrome的V8 JavaScript引擎构建的JavaScript运行时 - Jest (label: good first issue)
一个完整且易于设置的JavaScript测试解决方案。 - Mattermost (label: Up For Grabs, Difficulty:1/Easy, Tech/JavaScript)
开源Slack替代Golang和React - p5.js (label: good first issue)
p5.j??s是一个客户端JS平台,它使艺术家,设计师,学生和任何人都能够学会在网络上创造性地编码和表达自己。 - squirrelly (label: good first issue)
Squirrelly是一个轻量级模板引擎,支持帮助程序,过滤器,局部数据等。 - NativeScript (label: good first issue)
NativeScript是一个开源框架,用于使用JavaScript构建真正的本机移动应用程序。使用Web技能,如Angular和Vue.js,FlexBox和CSS,并在iOS和Android上获得原生UI和性能。 - Gatsby.js (label: good first issue)
使用React构建超快速,现代的应用程序和网站。 - Vue.js (label: good first issue)
使用React构建超快速,现代的应用程序和网站。 - md-page (label: good first issue)
创建一个只有降价的网页。 - Check It Out (label: good first issue)
Check It Out是一个类似ncurses的CLI,让用户以交互方式导航并选择要检出的git分支。 - nuclear (label: good first issue)
多平台音乐播放器,源自免费资源。
Julia
- Julia Language: Help wanted (label: help wanted)
“像Python一样移动,像C一样运行” - 一种全新的技术计算方法! - Julia Language: Good first issue (label: good first issue )
“像Python一样移动,像C一样运行” - 一种全新的技术计算方法!
Kotlin
- Atrium (label: good first issue)
Kotlin的多平台断言库
Perl
- Ravada (label: good first issue)
远程虚拟桌面管理器。
PHP
- phpMyAdmin (label: newbie)
用PHP编写的MySQL管理界面。 - Deployer (label: good for beginner)
一种用PHP编写的部署工具,支持开箱即用的流行框架。 - Matomo (label: help wanted)
Matomo是领先的Free / Libre开放式分析平台。 - OrgManager (label: beginners-only)
Supercharge your GitHub organizations! - PHP Censor (label: good-for-beginner)
用于PHP项目的开源自托管持续集成服务器。
Python
- catapult (label: Good First Bug)
Catapult家用于演奏工具。 - CiviWiki (Good First Issue)
为互联网时代建立更好的民主 - Python Babel (label: difficulty/low)
Python国际化库。 - Kinto (label: easy-pick)
具有同步和共享功能的轻量级JSON存储服务。 - BorgBackup (label: easy)
使用压缩和经过身份验证的加密对备份程序进行重复数据删除。 - scrapy (label: good first issue)
Python的快速高级Web爬行和抓取框架。 - mitmproxy (label: good first contribution)
一个支持交互式TLS的拦截HTTP代理,用于渗透测试人员和软件开发人员 - Mailpile (label: low hanging fruit)
一个免费和开放的现代,快速的电子邮件客户端,具有用户友好的加密和隐私功能 - coala (label: difficulty/newcomer)
一个统一的命令行界面,用于绘制和修复所有代码,无论您使用何种编程语言。 - jarvis (label: difficulty/newcomer)
基于命令行界面的Linux个人助理。 - Pybee/voc (label: first-timers-only)
一种将Python代码转换为Java字节码的转换器。 - Pybee/batavia (label: first-timers-only)
Python虚拟机的Javascript实现。 - JARVIS-on-Messenger (label: Low-Hanging Fruit)
一个社区驱动的python bot,旨在尽可能简单地为人们提供日常任务http://m.me/JARVISon.Messenger - Pytest (label: status: easy)
pytest框架可以轻松编写小型测试,然后进行扩展以支持复杂的功能测试。 - Fabric (label: Low-hanging fruit)
Pythonic远程执行和部署。 - Jupyter notebook (label: good first issue)
Jupyter互动笔记本。 - Concept to Clinic (label: good first issue)
旨在开发肺癌检测的端到端应用程序,将机器学习的预测能力与针对错误测试的功能软件和专注于临床使用的干净用户界面联系起来。 - Zulip (label: good first issue)
强大的开源群聊。 - cookiecutter (label: low-hanging-fruit)
一个命令行实用程序,用于从cookiecutters(项目模板)创建项目。例如Python包项目,jQuery插件项目。 - django cookiecutter (label: django hacktober special)
用于后端Web开发的Python实现。 - wemake-python-stylegide (label: level:starter)
有史以来最严格,最自以为是的python linter! - Ansible (label:easyfix)
一个简单的IT自动化平台 - opsdroid (label: good first issue)
一个开源的聊天操作机器人框架。 - pandas (label: good first issue)
灵活而强大的Python数据分析/操作库,提供类似于R data.frame对象,统计函数等的标记数据结构
Ruby
- JRuby (label: beginner)
Java虚拟机上的Ruby实现。 - Sinatra (label: good first issue)
优雅的网络开发穿着DSL。 - Goby (label: beginner)
开发文本RPG的框架。 - Hanami (label: easy)
Ruby的现代框架。 - Operation Code (label: good first issue)
一个致力于让退伍军人编码的开源社区。 - chef (label: Type: Jump In)
系统集成框架,旨在为整个基础架构带来配置管理的优势 - ohai (label: Type: Jump In)
Ohai描述您的系统并发出JSON - PublicLab.org (label: first-timers-only)
一个用于环境项目的开源发布平台。 - Discourse (tag: #starter-task)
文明的讨论平台。请参阅“如何为话语做出贡献”。 - osem (label: good first issue)
开源事件管理器。为自由和开源软件会议量身定制的事件管理工具。请参阅“如何为osem做出贡献” - open-build-service (label: good first issue)
一种通用系统,以自动,一致和可重现的方式从源构建和分发包。请参阅“如何为打开构建服务做出贡献” - bolt (label: Beginner Friendly)
Bolt是一个Ruby命令行工具,用于使用SSH和WinRM在远程系统上执行命令,脚本和任务。
Rust
- Servo (label: E-easy)
一种浏览器引擎,专为嵌入式应用程序而设计。 - Rust-Clippy (label: good first issue)
一堆lints来捕捉常见的错误并改进Rust代码 - Rustfmt (label: good-first-issue)
根据样式指南格式化Rust代码的工具。 - Iron (label: easy)
Rust的可扩展并发Web框架
Scala
- Twitter Util (label: good first issue)
来自Twitter的精彩可重用代码 - playframework (label: good first issue)
High Velocity Web Framework
TypeScript
- TypeScript (label: good first issue)
JavaScript的超集,用于编译以清理JavaScript输出。 - Visual Studio Code (label: good first issue)
一种新型工具,它结合了代码编辑器的简单性和开发人员对其核心编辑 - 构建 - 调试周期所需的内容。 - tslint-eslint-rules (label: nice first contribution)
TSLint的ESLint规则。
转载参考:https://github.com/MunGell/awesome-for-beginners
看完点赞+收藏的人,今年的所有代码免调试一次过。
这几个建议你一定看一看,非常实用
1.first-contributions
https://github.com/firstcontributions/first-contributions
这是一个GitHub教程,旨在帮助指导并简化初学者实现第一次项目贡献的过程,诸如如何创建一个分支,如何提交更改等。
2.JavaGuide
https://github.com/Snailclimb/JavaGuide
Java学习+面试指南:一份涵盖大部分Java程序员所需要掌握的核心知识。
3.100-Days-of-ML-Code
https://github.com/Avik-Jain/100-Days-of-ML-Code-Chinese-Version
GitHub上爆火的机器学习教程,通过100天的学习拿下机器学习,重点是还有中文版哦!
4.Python-100-Days
https://github.com/jackfrued/Python-100-Days
Python – 100天从入门到精通,通过100天的学习拿下Python。
5.system-design-primer
https://github.com/donnemartin/system-design-primer
该项目是关于如何设计大型系统,以及如何应对系统设计面试。系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。这个仓库就是这些资源的组织收集,它可以帮助你学习如何构建可扩展的系统。
6.Tensorflow
https://github.com/tensorflow/models
一个 Tensorflow 库,里面包含 使用 TensorFlow 构建的模型和示例的教程,旨在更好的维护,测试,并与最新的 TensorFlow API 保持同步最新。
TensorFlow实现模型:https://github.com/tensorflow/models/blob/master/research
TensorFlow教程:https://github.com/tensorflow/models/blob/master/tutorials
7.proxyee-down
https://github.com/proxyee-down-org/proxyee-down
proxyee-down 是一个开源的下载神器,也可以说是百度云下载神器,不过,它需要安装证书、设置代理,初次使用会略显繁琐,但带来的速度提升也是显而易见的。
参考:一些实用的GitHub项目 | | LouisvV's Blog
可能会有不少人想问:能否给初步接触 GitHub 的用户,推荐几个比较实用、容易看懂,无需具备太多专业知识便能上手使用的项目呢?
答案是:完全可以。
今天,我们就来聊聊 GitHub 上有哪几个质量相对较高,对新手比较友好,开箱即食的开源项目吧。
文件加密分享神器
我们都知道,作为一个专业的老司机,手上肯定都握着一大堆优质的资源。有时候,我们会把手里的资源分享给其它用户,恩泽大众。这时,一款私密性强、分享速度快、可配置性高的文件分享神器应该就是你梦寐以求的了。
今天,在这里给大家分享下由 mozilla 开源的一款文件分享工具:Send。该工具可支持设置分享文件的下载次数、有效天数,并可对文件进行加密。
mozilla/send
用起来有点像是加强版的阅后即焚应用,强烈建议各位水友马住收藏,以备不时之需!
老司机福利,来自 Mozilla 开源的加密文件分享工具!
GitHub 通知客户端
对日常工作一直离不开 GitHub 的你来说,及时收到 GitHub 的消息推送,快速响应处理问题,可算是颇为重要的一件事。
下面,给你们推荐一个类似 TweetDeck 的 GitHub 消息客户端:DevHub。这是一款跨平台的 GitHub 通知管理客户端,适用于 macOS、Windows、Linux 等主流操作系统。其目的主要在于帮助开发者更好的收集、整理、查看 GitHub 消息。
devhubapp/devhub
如果你一直没有找到满意的 GitHub 消息客户端,不妨试下这个。
迅雷替代品
之前在微博分享过一款开源的下载工具,后面被粉丝疯狂转发,这款工具便是 Motrix。
它的定位是全能的下载工具,支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。
agalwood/Motrix
颜值颇高,支持三大主流操作系统。不过有人使用后反馈,该软件中看不中用。具体效果如何,还是得等你自己体验过后才能知晓。
视频编辑
近几年,像 Vlog 这样的短视频记录方式开始火遍大江南北。不少有才艺、有技术的 Vlogger 也都开始借着这个风口疯狂吸金,赚了不少钱。
而对于这些 Vlogger 来说,一款优质、趁手的视频编辑工具无疑能极大提升生产力。
下面,就给大家推荐一款视频编辑神器:olive。
这是一款开源的非线性视频编辑器,致力于帮助用户以更迅速,更便捷的方式完成视频编辑工作。
olive-editor/olive
值得一提的是,该软件目前任处于测试版本,但每天会不定时更新一些新特性,喜欢尝鲜的同学可以试试下。
推荐阅读:
推荐两个 GitHub 上开源的视频编辑神器
在线像素风绘图
聊了这么多,最后给大家分享个轻松有趣的工具吧。
这个工具叫 Pixel Art to CSS,是一个像素风图形生成器。
jvalen/pixel-art-react
你可以在上面通过鼠标绘制一些可爱的图形,也可以自定义格子颜色、大小与动效时长。
完成之后,你还可以将其导出成 CSS,挂自己网站上进行展示,亮瞎其他人的眼 ? 。
————————————————
回答内容选自CSDN博主「程序员lamed」的博文,侵删
废话不多说,直接上干货。
Python
1.用少于 500 行的 Python 代码,你可以写出什么东西?相信你看完这个项目,会学到很多(每个项目的作者都是业内大神写的)
英文版:500lines
中文版(翻译未完成):HT524/500LineorLess_CN
2.100天从入门到精通的 Python 学习项目。
Github地址:jackfrued/Python-100-Days
3. Python 实现各种常用算法的项目。
Github地址:TheAlgorithms/Python
4. Scrapy :爬虫库,快速高级Web爬行和抓取框架,数据采集利器。
Github地址:scrapy/scrapy
5.Pytest:测试框架,轻松编写小型测试,然后进行扩展以支持复杂的功能测试。
Github地址:pytest-dev/pytest
Java
1.一份涵盖 Java 学习和面试指南的核心知识内容项目,作为新手的学习指引很有帮助。
Github地址:Snailclimb/JavaGuide
2.Springboot 项目大盘点,具体内容查看下面这篇文章。
Github 上 10 个值得学习的 Springboot 开源项目HelloGitHub
star:19k
Python,Java,PHP,C++,go,swift等各种编程语言的项目都有,每月28号更新发布(持续更新中)。这些开源项目大多都是非常容易上手,适合新手。
接下来按分享几个Python和Java相关,有趣又优质的项目。
Python:
faceai
star:5.5k
入门级的人脸、视频、文字检测以及识别的项目。功能包含人脸监测、轮廓识别、头像合成、性别识别、图片修复等。
21个深度学习项目合集
star:3.7k
做这些项目,你可以在动手实验的过程中,比较轻松地掌握深度学习和TensorFlow的使用技巧,并且能完整地做出一些有意思的项目。主要包括CNN,GAN,RNN,LSTM,强化学习相关项目等。
learn_python3_spider
star:1.8k
从0到1学习python爬虫,包括:浏览器抓包,手机APP抓包,如 fiddler、mitmproxy;各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy等,以及IP代理,验证码识别,Mysql,MongoDB数据库的python使用,多线程多进程爬虫的使用,css 爬虫加密逆向破解,JS爬虫逆向,分布式爬虫,爬虫项目实战实例等。
语音对话机器人
star:1.5k
开源中文语音对话机器人/智能音箱项目。功能包含:
cnn_captcha
star:1.1k
这个项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。项目封装了比较通用的校验、训练、验证、识别、API模块,极大的减少了识别字符型验证码花费的时间和精力。
提醒一下,在做这些项目之前,如果没有打好Python基础,做起来可能会遇到一些困难。所以,你最好先学习一遍Python基础,以达到事半功倍的效果:
基础算法(Python 3)
Java:
shopping-management-system
star:2.9k
是多个小项目的集合(持续更新中)。内容有类似淘宝、京东等网购管理系统以及图书管理、超市管理等系统等,非常适合Java从基础到入门的爱好者。
Vue-Meizi
star:1.3k
基于vue2的实战项目,适合新手进阶。代码简单易懂,注释很多。实现了移动端使用最多的无限滚动、图片加载、左右滑动等。
Guns
star:2.4k
基于SpringBoot 2,整合了springmvc + shiro + mybatis-plus + beetl。这个项目代码简洁,注释丰富,上手容易,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!
spring-boot-demo
star:7.5k
用深度学习并实战spring boot的项目,目前总共包含63个集成demo。
HenCoder筹划1练习项目
star:1k
是一个可以直接运行的Android App项目,是HenCoder Android的配套练习项目。
最后,再分享一个Java学习资源,打好基础,能帮助你有效率地完成以上项目:
Java基础入门知识讲解
戳链接免费试听后加微信jiuzhangsuanfa5,发送课程试听截图+【货源通Java】,还能免费获取Java大礼包哟~