Appearance
BBFM
BinBat 实习生一个月强制自学内容 BBFM(BinBat First Month)
为了保障所有的沟通都是有效的,项目沟通,过于基础的知识将不会解释
比如:任何项目再沟通时是不会去解释私有 IP 地址和公有 IP 地址区别,这些默认内容你已经知道
BBFM 完成时间时间为一个月,考虑部分有实习生还有其他事情,最长不得超过三个月
超出未完成被视为不适合在这个领域发展
第一周:Linux 基础
读书和实践:《鸟哥的 Linux 私房菜(基础篇)》
测试标准:自己编译 Linux 内核
- 现场讲解自己编译内核的可重现式操作笔记
- 使用自己编译的内核启动
TIP
可重现式操作笔记要保障,其他人拿到你的笔记可以完整复现你的状态
第二周:服务器
读书和实践:《鸟哥的 Linux 私房菜(服务器篇)》
测试标准:自己搭建 www 服务器,并用 PHP 写一个文件上传和下载功能
Secure Shell (SSH)
使用 SSH 连接远程服务器
第三周:编程基础
我们目前主要用着三种语言:Golang,Typescript,Rust
- Golang (Web 后端,数据库)(默认:如果你不知道选什么,那就选这个)
- Typescript (Web 前端,用户界面,可视化)
- Rust (系统,考虑到 Rust 自身的复杂性,默认禁止选择这项)
读书:《Go 语言设计与实现》
实践:自己找资料实现 Web 应用
TIP
如果没有任何想法,那就去实现一个 Blog
测试标准:现场功能演示
第四周:代码管理和协作
使用 git bisect
找出问题,购买域名。配置 https 指向上周开发的网站。给开源项目提交 PR (Pull Request)
TIP
为了让自己的代码尽快被合并,开发首先要学会写优雅的代码。
其次要提高 PR 的可读性(写的时候尽可能拆成多个独立的可被 review 的 commit,写之后为 PR 认真写 description)。
最后是估时必须加上 PR 和提测(如有)的时间,而不是以“明天要上线了”为理由逼迫 reviewer 合并。
测试标准:
- 现场演示有 https 到站点
- PR (Pull Request) 被 merged
WARNING
按照一般情况,等很多天,反复修改,甚至 PR 并不一定会被合并,在开源项目里属于非常常见情况
所以要尽可能多提 PR 和尽早提 PR,这样才可能在时限内完成
GitHub 和 PR
Commit message 和 Change log 编写指南
git bisect
二分查找引入问题的 commit