民族棋机器博弈项目分为算法和平台两部分,这两部分需要的技能各不相同。
你可以只掌握其中算法和平台其中一个部分的技能,只加入其中一个部分的工作。
此部分技能所有成员都应该具备。
项目组成员使用 Git 进行协作。成员必须能熟练使用 Git 以及 GitHub 等代码托管平台,学会使用 GitHub 的 Issue、Pull Request 等功能进行协作。
项目组成员必须熟练使用至少一种主流 IDE,如 JetBrains 公司的 IDE(包括 IntelliJ IDEA、PyCharm 等)、VSCode 等。
编写代码时应该尽量遵守各个编程语言的代码规范,否则你的代码可读性会很差,并且可能引起其它组员的反感。
(非必须) 项目组成员应该学会科学上网,能使用 Google。正所谓编程不一定需要太多智商,但”搜商“一定要高。
算法部分使用 Java 和 Python 混合实现,需要学会使用 Java 和 Python 两种编程语言。
项目使用 TensorFlow、Keras 等库实现神经网络,若负责此部分必须了解这些库的用法。
(非必须) 了解机器博弈相关领域知识。
平台部分包括 ChessTerm 云棋盘平台的前端和后端两部分。
后端需要学会使用 Java 语言和 Spring Boot 框架,需要了解 HTTP、WebSocket 等网络编程概念,需要学会使用至少一种数据库(如 MySQL),需要学会使用 。
前端需要学会使用 HTML、CSS(包括 SCSS)、JavaScript(包括 TypeScript、ES6、ES7 等等)语言,需要学会使用 Node.js,能进行模块化 JS 编程,了解 Webpack的概念(不需要会用);需要能熟练使用 Vue.js(重要,包含 Vuex、Vue Router 等)、Nuxt.js 框架。