谢邀。题主的问题有点大,其实有很多优秀的适合大学生参与的开源项目,在这里就十分粗糙的将大学生定义为初学者好了,并分类推荐 Java / Java Web / C++ / C / C# / PHP / Android 等一语言的优秀入门项目,大家各取所需。

然后再讲讲怎么参与开源项目,其实对于大学生来说,最主要的还是夯实基础,这也是参与开源项目的首要前提。

Java

1. 项目名称:springboot-learning-example

项目简介:spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。

2. 项目名称:DockerFly

项目简介:Dockerfly是基于 Docker1.12+ (Docker API 1.24+) 开发出Docker 管理工具,提供里最基本的基于 Docker 的管理功能,目的是能够方便广大Docker初学者以及 Docker 管理员能够快速的进行Docker 容器的管理和维护。

3. 项目名称: jFinal-Paladin

项目简介:以jfinal为底层的java后台基础框架,结合了beetl、druid、shiro、ehcache; 初始目的是为了学习jfinal,最终目的形成一个工作中比较通用的基础后台框架; 希望给初学者提供些参考。

4. 项目名称:spring-authority

项目简介:是由 spring+springmvc+hibernate+spring-security +easyui +boostrap 写的一个框架集合,目前实现了一个基础的权限管理系统,权限是基于细粒度的过滤,对于初学权限设计的人来说也算是个最简洁的权限实现,基于它来做项目,它只是做了一些绝大部分项目都应该做的一些基础功能。

Java Web

1. 项目名称:分布式敏捷开发系统架构 zheng

项目简介:基于 Spring + SpringMVC + Mybatis 分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位 J2EE 企业级开发解决方案。

2. 项目名称:基于 JAVA 极速框架 JFinal

项目简介:JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 。

JFinal 有如下主要特点:MVC 架构,设计精巧,使用简单;

遵循 COC 原则,零配置,无 xml;

独创 Db + Record 模式,灵活便利;

ActiveRecord 支持,使数据库开发极致快速;

极简、高性能 Template Engine,十分钟内掌握基本用法;

自动加载修改后的 java 文件,开发过程中无需重启 web server;

AOP 支持,拦截器配置灵活,功能强大;

Plugin 体系结构,扩展性强;

多视图支持,支持 FreeMarker、JSP、Velocity;

强大的 Validator 后端校验功能;

功能齐全,拥有 struts2 的绝大部分功能;

体积小仅 580K;

3. 项目名称:分布式快速开发平台 iBase4J

项目简介:iBase4J 是 Java 语言的分布式系统架构。 使用 Spring 整合开源框架。使用 Maven 对项目进行模块化管理,提高项目的易开发性、扩展性。系统包括5个子系统:公共功能、系统管理 Service、系统管理 Web、业务 Service、业务 Web。公共功能:公共功能(AOP、缓存、基类、调度等等)、公共配置、工具类。

系统管理:包括用户管理、权限管理、数据字典、系统参数管理等等。

业务相关:您的业务开发。 可以无限的扩展子系统,子系统之间使用 Dubbo 或 MQ 进行通信。

4. 项目名称:企业应用开发框架套件 Tiny

项目简介:本项目使用灵活,可以整个使用,也可以只用其一个或几个部分。学习成本低,上手容易 核心的稳定性,核心部分使用尽量少的第三方框架及包。方便的外延性,不影响对第三方框架的使用 现有资产的可延续性,不管以前有什么软件资产,只要愿意,都可以方便的集成、复用。易于知识积累,真正做到越用越强。易于集群与水平扩展,能做到不间断提供服务。

5. 项目名称:微服务化开发平台 AG-Admin

项目简介:AG-Admin 是国内首个基于 Spring Cloud 微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Eureka、Fegin、Ribbon、Zuul、Hystrix、Security、JWT Token、Mybatis 等主要框架和中间件,前端采用 Layui 组件。

6. 项目名称:后台管理系统 Guns

项目简介:Guns 基于 Spring Boot,致力于做更简洁的后台管理系统,完美整合 springmvc + shiro + mybatis-plus + beetl!Guns 项目代码简洁,注释丰富,上手容易,同时 Guns 包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架。

Guns v3.0 新增 REST API 服务,提供对接服务端接口的支持,并利用 JWT TOKEN 鉴权机制给予客户端的访问权限,传输数据进行 md5 签名保证传输过程数据的安全性。

C++

1. 项目名称:轻量级嵌入式脚本语言 fakescript

项目介绍:fakescript 是一款轻量级的嵌入式脚本语言,使用 c++ 语言编写,语法吸取自 lua、golang、erlang,基于 flex、bison 生成语法树,编译成字节码解释执行。与 lua 相比,运行速度不相上下,更易使用,源代码可读性更强。

脚本特性:语法类似 lua。

全部为函数。

支持 array,map,可以无限嵌套。

支持 fake testfunc(param1) 产生 routine,实现假多线程效果。

支持 C 函数和类成员函数的绑定。

自带解释器,JIT 部分支持。

支持多返回值。

自带 profile,可获取脚本各个函数运行时间。

支持热更新。

支持 Int64。

支持 const 定义。

支持包。

支持 struct。

支持打包 bin 文件或可执行文件。

自带 gdb 风格的命令行调试器,以及 vs 风格的可视化编辑调试ide。

可在 C 里直接通过接口调用,开始命令行调试。

2. 项目名称:基于 C++11 的轻量级网络框架

项目简介:本项目是一个基于 C++11 的轻量级网络框架,基于线程池技术可以实现大并发网络 IO。

网络库tcp/udp 客户端,接口简单易用并且是线程安全的,用户不必关心具体的 socket api 操作。

tcp 服务器,使用非常简单,只要实现具体的 tcp 会话(TcpSession 类)逻辑,使用模板的方式可以快速的构建高性能的服务器。

对套接字多种操作的封装。

线程库:使用线程实现的简单易用的定时器(AsyncTaskThread)。

读写锁。

信号量的封装(ios下用条件变量实现)。

自旋锁。

线程组。

简单易用的线程池,可以异步或同步执行任务,支持 functional 和 lambad 表达式。

3. 项目名称:轻量级开源词典软件 AlphaDict

项目简介:它是一个轻量级的开放词典格式的开源词典软件,你可以制作自己的词典, 也是一个跨平台的软件支持 linux, unix and windows。

功能特性:支持大量第三方词典格式:cedict,startdict,dicts,info,IDP,etc。

屏幕取词功能。

生词本。

容易制作自己的词典。

C

1. 项目名称:IP地址定位库 ip2region

项目简介:准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java、php、c、python、nodejs、golang查询绑定和Binary,B树。内存三种查询算法,妈妈再也不用担心我的ip地址定位。

C#

1. 项目名称:轻量级的代码生成工具 CodeBuilder

项目简介:CodeBuilder 是一款简单易用且轻量级的基于数据库物理模型的代码( C# / java / ruby / php / xml 等)生成工具。

PHP

1. 项目名称:轻量级通用后台 lyadmin

项目简介:lyadmin 是一套轻量级通用后台,采用 Bootstrap3 制作,自带权限管理,模块化开发。

2. 项目名称:轻量论坛社区系统 StartBBS

项目简介:StartBBS(起点开源社区系统)是一个基于 CodeIgniter 框架开发的 PHP 新型社区系统,她轻量小巧、简单易用、强大高效,又简称 ”STB(烧饼BBS)”

Android

1. 项目名称:基于环信的轻量级 IM

项目简介:Android 轻量级 IM 开源项目,基于环信 Sdk3.x 版本。项目中基础架构类似 MVP,但不是按照安卓官方标准来的,而是在自己的理解上精简了部分,且没有做整体的 MVP 封装,但是应该不会影响代码理解。

主要功能:聊天模块,包含文字聊天、语音聊天、发送图片、短视频、实时音频通话、实时视频通话。

通讯录:可获取系统通讯录,和环信好友关系整合。

拨号器:自定义的简单拨号盘,方便老人直接拨打电话。

IOS

1. 项目名称:轻量级日志打印工具类 xxlogger

项目简介:xxlogger 是日志打印工具类,提供对 java,object-c,c 的支持。xxlogger 中的 xx 指某种语言。

关于如何加入:

1. 在加入一个开源项目之前,明确动机。

大部分同学在参与开源项目之初,更多的肯定是兴趣和热情,有可能觉得自己的程序比别人写得好,更好用;有可能觉得能够在某些空白领域给人提供帮助;等等。

其实做专业有关还是纯兴趣,这个不重要,对于一个开源项目来说,关键是你要对这个方面有专业性的知识,并且有足够的场景和资源去验证你的想法。

大量的开源项目在几个版本之后就被放弃,甚至这其中有很多非常前途的项目,是非常可惜的。

2. 参与开源项目的方法。

参与开源项目需要付出相应的时间、精力以及耐心,毕竟除了大神们的开源项目,多数开源项目早期,都是很冷清和孤独的,大学生们也要在完成自己课业的前提下再参与。首先是选择开源项目,主要根据自己的能力、时间、擅长的领域,有空缺的事情。

其次是入手实践,从小的issue讨论,和pull request做起。

最后是精通使用,发展到Contributor,到Committer,逐步提高在项目中的位置。

这中间要克服的主要有几个客观因素:是否有足够的运用场景,让你深度运用并熟悉这个开源项目。

项目原创团队以及PMC团队,是否保持项目的开放。开源不等于开放。接受pull request也不等于开放。是否允许参加核心功能的贡献,以及接口、路标的设计。

你的诉求是否符合项目的路标和创建初衷,是否为定制化需求。这里有一个重要的论点,回调钩子也属于这个核心功能,这方面原创团队会异常谨慎,任意的钩子都意味着后期维护和兼容性保障,所以,要求项目提供钩子,不是一个简单的讨论和pull request。

语言表达能力和沟通能力。特别很多高级项目都是国外项目,你的英语能力,逻辑性,都是国外团队非常看重的。

更多参与、运营、打造开源项目品牌文章请查看:

如何参加java开源项目_有哪些适合大学生的开源项目?怎么参与?相关推荐

  1. 通过python各种开源库,开发一个适合大部分公司测试项目框架,确定名字AutoTestProjects

    通过python各种开源库,开发一个适合大部分公司测试项目框架,确定名字AutoTestProjects 一,简介 1.目前市场上的框架一般都需要码农进行编写,对测试小白非常的不友好,而且现在整个IT ...

  2. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  3. webstorm怎么跑项目_快讯!明年厦门中考体育项目定了!初三家长抽的!其他地市抽到啥?...

    刚刚 市教育局采用现场抽签的方式 进行2021年厦门市体育中 考抽考.抽选考类项目抽选工作 这也是体育中考第一次采用抽考和抽选考方式 之前都是学生自选 上午抽签采用现场直播, 可以从以下链接进入↓ 明 ...

  4. 程序开源与不开源区别_如何在公司中启动开源程序

    程序开源与不开源区别 许多互联网规模的公司,包括Google,Facebook和Twitter,都建立了正式的开源程序(有时也称为开源程序办公室,简称OSPO),这是公司内部支持开源消费和生产的指定场 ...

  5. 一图读懂开源协议_一张经典图,开源协议比较

    部分内容来自维基 MPLMozilla公共许可证 版本 2.0 发布日期 2012年1月3日 是 是 (MPL 2.0預設與GPL 2+.LGPL 2.1+.AGPL 3+相容) 与其他协议代码链接 ...

  6. eclipse如何导入一个项目_如何建立一个完美的 Python 项目

    当开始一个新的 Python 项目时,大家很容易一头扎进去就开始编码.其实花一点时间选择优秀的库,整合进项目将为以后的开发节省大量时间,并带来更快乐的编码体验. 在理想世界中,所有开发人员的关系是相互 ...

  7. 学python编程能做什么项目_十个Python练手的实战项目,学会这些Python就基本没问题了...

    python项目练习一:即时标记 这是<python基础教程>后面的实践,照着写写,一方面是来熟悉python的代码方式,另一方面是练习使用python中的基本的以及非基本的语法,做到熟能 ...

  8. 搭建项目_跟着团子学SAP PS:项目模版搭建

    项目结构是整个PS模块最为核心的主数据,因为项目结构的搭建体现了企业管理项目的思路(按什么维度分解WBS等)以及颗粒度(WBS的层级,活动的多少等),而最终我们会将讨论成型的项目结构在SAP中以模版的 ...

  9. c++小项目_编程初学者的练手小项目(Pythonamp;C/C++)

    老是有一些刚接触编程的小伙伴问,怎么样才能快速提高编程能力?"一切不写代码的学编程,都是瞎搞!",想要提高编程能力,当然是写代码.写代码.写代码.在不断做项目的过程中,加强基础语法 ...

最新文章

  1. centos7.0 lamp mysql_CentOS7 yum安装LNMP以及LAMP
  2. 编程之美-快速寻找满足条件的两个数方法整理
  3. 实现一个简单的HTTP
  4. mysql 限制单个用户资源_限制MySQL数据库单个用户最大连接数等的方法
  5. Java小游戏 超级玛丽源码分享
  6. python字体描边_使用 python 将文泉驿字体导出为 fnt 格式的bitmap font
  7. Linux下的编曲软件,在Linux下可用Wine运行编曲软件FL Studio,也可用LMMS替代
  8. java调用ip138接口查询ip地址,iP查询接口Javascript代码示例 iP地址查询接口Javascript代码示例 iP138查询网...
  9. 项目方案宣讲应该注意的内容
  10. 不良资产证券化未来推进需跨越的障碍
  11. python爬虫实战---网易云音乐评论抓取
  12. Google手机操作系统Android将100%开源
  13. [行人重识别论文阅读]Fine-Grained Shape-Appearance Mutual Learning for Cloth-Changing Person Re-Identification
  14. John McAfee:杀毒软件已死
  15. 【评论,赢萌宠护眼小台灯】HMS Core Insights第四期,我们来聊聊:机器学习,推开AI应用的门
  16. STM32 ADC多通道规则采样和注入采样
  17. CJ20N/CN21/CN22/CN23 - 网络屏幕增强(SMOD: CNEX0016)
  18. ubuntu mysql 删除_ubuntu 彻底删除MySQL数据库实操
  19. opencl.dll丢失怎么办?为什么会丢失?
  20. 如何将jpg转换成PDF转换器教程

热门文章

  1. 怎么用计算机把浓度转换成PH,ph浓度换算(ph怎么换算OH浓度)
  2. 为什么转置一个512x512的矩阵,会比513x513的矩阵慢很多?
  3. python全角数字_python 半角全角的相互转换
  4. 3dMAX安装异常 - 安装程序无法确定您当前的图形卡。这通常是由于通过远程桌面进行安装,或使用虚拟化软件所致。
  5. PCB设计——Altium Dsigner18之PCB与原理图交互式布局设计
  6. Attention-GAN
  7. Redis过期策略,如何找到redis中所有过期的key
  8. 求最小公倍数与最大公因数的三种算法
  9. java 百度ocr识别身份证,营业执照流程
  10. 在Windows10操作系统中任务栏的网络图标消失不见了该怎么办呢