今天有个学院课题项目的结题答辩会,想起了@wzpan 师兄之前留下的帖子:
关于 scnu 这个 Github 组织 - 0xFFFF

想起了之前遇到的蛮多很有意思的项目都挺缺乏维护者的,也许我们利用身边的资源,为开源社区做一些贡献也是一个不错的途径?

于是有个问题从我的脑海里冒了出来,除了发起新的项目之外,还有没有什么适合我们目前这个 level 的本科生去投入研究的开源项目呢?

一次与 龚征老师 的聊天中,老师说,研究生做研究要考虑文章发不出等的风险,而我们本科生是可以没有任何顾虑地潜下心来去投入一项东西的研究中的,而且无论结果如何,这个深挖的过程一定可以为我们带来一些价值。

一个人的视野和脑洞有限,So,大家一起来分享吧!也衷心希望有更多的新鲜血液投入开源社区!

我先来抛砖引玉一下吧,列几个我目前认为很值得投入时间研究的: ?

1. Anki

官网:https://apps.ankiweb.net/
Github:https://github.com/dae/anki

一款十分强悍的卡片记忆工具(国内具体介绍),之前在 这篇帖子 有提到过,PC端技术栈是 Python 与 Qt,Android 版主要是 Java;其中记忆卡片的部分是用 HTML+CSS+JavaScript 实现的。

目前在国内大部分都在外语学习、考研、法律、医学等等领域(甚至还有用它备战高考的成功案例),程序猿群体特别稀缺。牌组模板和插件的开发者也很少(1000多人的QQ群里面就几个在业余写着插件)。用户的出发点大都在于提高效率,精力有限。围绕着 Anki 的生态,我们是有很大的发挥空间的。

2. Moodle

官网:https://moodle.org
Github: https://github.com/moodle/moodle

这是一款开源的学习管理平台,始于2002年,运行在 LAMP/LNMP 架构,前端是 jQuery 与 BootStrap。学校的 砺儒云课堂 便是基于这个程序搭建并且二次开发的,功能十分完善,倍受世界各地的学校喜爱。
过去参加“砺儒小课堂”的开发的过程中有探索过一段时间这个平台,当时发现它因为架构的关系有一些性能瓶颈:所有的 HTTP 请求,包括静态的CSS,JS,图片,所有的课程资源等,都是经过 PHP 这一层接收鉴权并动态处理的,PHP 解析器要为每一个请求进行创建实例,初始化数据库连接等操作,加上上了小程序端以后产生的巨大访问量,服务器不堪重负,不得不靠堆机器来支撑住。探索这个平台的性能优化也是一个很不错的方向。

3. Canvas LMS

官网:https://www.canvaslms.com
Github:https://github.com/instructure/canvas-lms

与 Moodle 类似的课程管理系统,主要用 Ruby on Rails 编写,发起的时间比较晚,历史包袱应该没有 Moodle 那么重。

4. Flarum

官网:https://flarum.org
Github:https://github.com/flarum

本站使用的论坛框架,基于 MySQL 数据库用 PHP 实现的论坛程序,也是 LAMP/LNMP 架构,底层框架基于 Laravel 开发,在设计上提供了很灵活的插件机制。项目14年底发起,鸽了这么多年都还没出正式版,但站长架不住它的简洁和漂亮,所以也选了它。

5. WordPress

官网:https://wordpress.org
Github:https://github.com/WordPress/WordPress

目前最流行的博客系统,基于 PHP 和 MySQL,拥有强大的插件架构和模板系统,基本上,会开发 WordPress 插件和模板、了解它的性能等方面优化的话,是不用担心找不到一口饭吃的。

6. Typecho

官网:http://typecho.org
Github:https://github.com/typecho/typecho

个人很喜欢的一款博客程序,类似WordPress,但相比于 WordPress 更加简洁和轻量,插件和模板的生态有些匮乏,期待有人加入其中。

7. Xmind

官网:https://www.xmind.net / https://www.xmind.cn/
Github:https://github.com/xmindltd/xmind

好用的思维导图软件,可以考虑为它开发插件的~

我关注得比较多的是教育和知识管理等领域,更深一层的技术、基础设施等方面可能不是很清晰,欢迎楼下跟帖补充噢~

包括参与吗?如果只是研究的话能列很多,架构的 nginx / redis / mongodb ,前端的 vue / react / postcss / webpack ...

    刚刚想起一个:

    Docker

    官网:https://www.docker.com
    Github:https://github.com/docker

    这是一款工作在 Linux 上的软件抽象层,主要用 Go 语言实现,可以实现将某种配置好的运行环境打包成轻量的容器,让项目代码基于容器之上运行,解决项目开发和部署过程中要手动花大量时间配置环境的痛点问题。

    Docker 的理念有点类似于集装箱与轮船,系统的底层只需要安装 Docker 这一个软件,具体我们要部署什么应用、要安装什么、怎么配置环境,在这个集装箱(容器)里面自由发挥即可,对外交付的是这个集装箱。对轮船的要求也只需要匹配集装箱的尺寸和规格,能带它跑起来就好了。

    这种方案相比于虚拟机更加高效灵活,节约再运行一层操作系统的无谓开销,这几年也是十分火热。目前 Docker 已经在各种云计算平台,DevOps 流程已经有了非常广泛的应用,我们学院好像也有老师在研究这个东西。

      hsxfjames 对呀,我觉得主要就是参与,发起的门槛可能高了~开本帖主要是想通过介绍一批不错的项目,让大家知道其实某些可能感觉高大上的名词实际上是触手可及的 ?

      1. 容易参与

      1. TiKV 分布式k-v数据库 看起来高大上 我也被吓到了 但是, 参与到其中并没有想像中困难, 这里许多issues都被打上了tag, 其中就包括了解决issue的困难程度, 新手可以很容易找到一个Easy/Mentor的下手.

        里边的mentor都很nice, 假若你有任何疑问, 都可以提出, 他们也会给你十分耐心的解答!
        基本上是秒回 (GitHub当IM 2333)

      2. 适合研究

      大的可能都不知道从何下手吧, 很容易就会管中窥豹, 个人陋见, 找些不太大的看看人家的代码还是不错的

      1. https://github.com/DaGenix/rust-crypto 密码学算法大集合!
      2. https://github.com/tokio-rs/tokio 异步设施运行时...
      3. https://github.com/rcore-os/rCore 铁锈味的清华ucore

        想请问一下有用python作为服务器的项目介绍吗

          JunZ
          Python 个人没怎么玩过,具体有什么应用不太清楚,不过作为 Web 服务器的话,我想到了两个比较著名的框架,简单地搜索了一下下,整合总结如下:
          一个是 Flask,轻量级的框架,可以快速搭起一个 Web 服务。
          另一个是 Django,全能型的重量级选手,把它的源码研究透应该可以学到很多。

          Python 作为 Web 服务器的时候,请求是遵循 WSGI 标准 工作的,框架自带的 wsgi 实现本身比较弱,所以在生产环境中一般要配合一些专门的 wsgi 实现来部署,主要有 GunicornuWSGI

          然后有更高要求的时候,通过 gevent 把工作模式变为异步非阻塞的模式,提高网站能承受的并发数。

          参考:
          部署 Flask 应用时,为什么会需要 gunicorn 或 uWSGI? - 知乎
          菜鸟世界 -用gevent部署flask应用
          flask 实现异步非阻塞----gevent - 北漂的雷子 - 博客园
          做python Web开发你要理解:WSGI & uwsgi - 简书

          • JunZ 回复了此帖

            0x0001 十分感谢哇?
            昨晚匆匆回帖好像违反了社区规范。?
            其实我这里只需要连接一个客户端,然后可能是为了开发方便老师才决定用python。
            所以我才问一下用python做服务器。按照你说的,我想我们只要用Flask搭建一个最简单的就行了。
            要求只需要能通信就行。
            还是十分感谢你哇?

              JunZ 并没有违反什么啊,不过还是希望尽量让回帖给自己与他人带来信息量吧,这个过程对提问和回答的人都可以很有帮助 ?

              安全学课程project,https://crypto.stanford.edu/~dabo/cs255/hw_and_proj/proj2.pdf 。这当然不是我的。我相信我们的同学通过努力也是可以做出来的,只是打算花时间去做的同学会很少,不是难不难的问题,很可能一看上去就天然有抗拒心理,不怎么愿意做。

              与之相比,为什么那么多同学会认为自己适合做人工智能呢?最近审的研究生论文99%是机器学习。你会发现,所谓“适合研究”就是,“我感兴趣!很热门!有前(钱)途”。不适合的大概就是,“不感兴趣!冷门!太难!没前途!” 这些论断客观吗?准确吗?我不知道,最好大家可以多思考,给自己一个客观准确的论断。

              我推荐一个参与开源的好机会,本身就有很多好项目:Google Summer of Code

                1 年 后
                1 个月 后

                hsxfjames
                昨天一个老师还建议我学Go容器管理,学一下Docker源码(ε=ε=ε=┏(゜ロ゜😉┛大二狗震惊

                  © 2018-2025 0xFFFF