目录
- 傲空间社区介绍
- 傲空间开源之夏任务介绍
- 实现傲空间平台侧基础服务的 Java 语言 SDK
- 实现傲空间平台侧基础服务的 golang 语言 SDK
- 实现基于 MySQL、Redis 等常用中间件的分布式锁
- GT server 与 GT client 开发 Web 管理功能
- GT server 与 GT client 连接池增加支持 QUIC,与现有的的 TCP 协议实现兼容及实现智能切换策略
- 参与方式
傲空间社区介绍
AO.space(傲空间)是一个以保护个人数据安全和隐私为核心的解决方案。通过端对端加密、基于设备认证等技术,确保用户完全掌控个人账号和数据。同时,采用平台透明转发、点对点加速、局域网直连等技术,让用户随时随地的极速访问个人数据。傲空间利用 PWA(Progressive Web App)和云原生技术,设计并打造前后端一体的应用生态。与其他解决方案中的平台不同,傲空间中的个人账号由个人设备上的服务端管理,数据只能在个人设备上解密,傲空间平台无法管理和解析个人的任何数据,实现用户的个人数据完全由用户掌控在个人设备上。
傲空间的项目任务覆盖面广,难易程度适中。傲空间团队成员来自中国科学院软件研究所,欢迎申请项目得到科研老师的指导。我们将为你提供丰富的学习资源和技术指导,通过与导师一起合作完成项目,你的技术能力将得到快速提升,成长为具有竞争力的技术人才。
傲空间现已在 GitHub、Gitee 上开源了 platfrom-base 项目 和 gt 项目,傲空间服务端和客户端即将陆续开源,敬请期待。
傲空间开源之夏任务介绍
实现傲空间平台侧基础服务的 Java 语言 SDK
- 项目描述:熟悉已发布的开源项目 ,实现 Java 语言 SDK;编写相关的测试用例;撰写相关设计、使用文档。
- 项目产出要求
- 实现 ao-space/platform-base Java 语言 SDK ,要求支持已有平台侧功能
- 编写相应的单元测试和集成测试
- 编写相应的设计、使用文档
- 代码符合规范: https://google.github.io/styleguide/javaguide.html
- 技术要求
- 熟悉 Java 语言
- 熟悉 Quarkus 框架 (加分项)
- 熟悉 MySQL、Redis 等中间件(加分项)
- 熟悉多线程编程
- 项目导师:王智创 zhichuang@iscas.ac.cn
- 项目主页: https://summer-ospp.ac.cn/org/prodetail/23c570248?lang=zh&list=pro
实现傲空间平台侧基础服务的 golang 语言 SDK
- 项目描述:为了方便对平台侧基础服务接口的调用,计划实现 ao-space/platform-base golang 语言版的 sdk 。
- 项目产出要求
- 实现 ao-space/platform-base golang 语言版的 sdk
- 编写相应的单元测试和集成测试
- 编写相应的设计、使用文档
- 代码符合规范: https://google.github.io/styleguide/go/
- 技术要求
- 熟悉 Golang
- 熟悉 http 协议
- 项目导师:余忠广 zhongguang@iscas.ac.cn
- 项目主页: https://summer-ospp.ac.cn/org/prodetail/23c570345?lang=zh&list=pro
实现基于 MySQL、Redis 等常用中间件的分布式锁
- 项目描述:熟悉已发布的开源项目 ,模仿 RedisReentrantLock 实现基于 MySQL 的分布式锁、基于 MySQL、Redis 的分布式读写锁;编写相关的测试用例;撰写相关设计、使用文档。
- 项目产出要求
- 实现基于 MySQL 的分布式锁(互斥锁):具备可重入特性;具备锁失效机制,防止死锁;具备非阻塞锁特性
- 实现基于 MySQL、Redis 的分布式读写锁:具备读锁可重入、写锁可重入特性;具备锁失效机制,防止死锁;具备非阻塞锁特性
- 编写相应的单元测试和集成测试
- 编写相应的设计、使用文档
- 代码符合规范: https://google.github.io/styleguide/javaguide.html
- 技术要求
- 熟悉 Java 语言
- 熟悉 Quarkus 框架
- 熟悉 MySQL、Redis 等中间件
- 熟悉多线程编程
- 项目导师: 郑祖岭 zuling@iscas.ac.cn
- 项目主页: https://summer-ospp.ac.cn/org/prodetail/23c570277?lang=zh&list=pro
GT server 与 GT client 开发 Web 管理功能
- 项目描述:为了提高用户体验,计划分别为 GT server 和 GT client 增加 Web 管理功能,支持:管理员登录、连接状态查看,配置管理,pprof 等。
- 项目产出要求
- 设计并实现完善的 Web 管理功能:管理员登录、连接状态查看,配置管理,pprof 等
- 编写相应的单元测试和集成测试
- 编写相应的设计和使用文档
- 注重页面用户体验、页面效果
- 代码符合规范: https://google.github.io/styleguide/go/、https://google.github.io/styleguide/htmlcssguide.html
- 技术要求
- 熟悉 Golang、HTML5、Javascript、CSS3
- 熟悉 vue3、element-ui 框架
- 熟悉前端页面适配
- 项目导师:谢德俊 dejun@iscas.ac.cn
- 项目主页: https://summer-ospp.ac.cn/org/prodetail/23c570347?lang=zh&list=pro
GT server 与 GT client 连接池增加支持 QUIC,与现有的的 TCP 协议实现兼容及实现智能切换策略
- 项目描述:目前 GT server 与 GT client 之间的连接是基于 TCP 协议实现的,为了提高在远距离,高延迟,高丢包率场景下的传输的表现(主要是跨国场景),增加支持基于 QUIC 协议的连接方式,需要考虑支持 BBR 拥塞控制算法;并可以考虑增加一定的智能切换策略,提高用户体验。
- 项目产出要求
- 设计并实现增加支持基于 QUIC 协议的连接方式,需要支持 BBR 拥塞控制算法
- 设计并实现多种连接方式在不同场景下,通过智能切换策略,提升传输效率
- 编写相应的单元测试和集成测试
- 编写相应的设计和使用文档
- 代码符合规范: https://google.github.io/styleguide/go/、https://github.com/uber-go/guide
- 技术要求
- 熟悉 Golang、C/C++
- 熟悉 QUIC 协议
- 熟悉 BBR 拥塞控制算法
- 熟悉 TCP、UDP 协议
- 熟悉使用多线程
- 熟悉高并发传输场景下代码优化
- 项目导师: 翁志艺 zhiyi@iscas.ac.cn
- 项目主页: https://summer-ospp.ac.cn/org/prodetail/23c570278?lang=zh&list=pro
参与方式
开源之夏目前正处于学生注册、沟通导师、提交项目申请阶段。
可前往 开源之夏官网 了解更多社区和项目信息。
如对傲空间项目感兴趣,欢迎加入 slack 讨论组与导师沟通交流。