Files
zfoo/doc/video-tutorial.md
2024-03-26 11:44:55 +08:00

136 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 软件下载地址
- 百度网盘
```
链接:https://pan.baidu.com/s/1TMLtNiNz0aLpgnZkkMNB-g
提取码:zfoo
```
### [15分钟学会zfoo](https://www.bilibili.com/video/BV1TL4y1z7oy?spm_id_from=333)
- 主要就是快速学习zfoo的每一个模块,想深入学习的话,还是得看下面的详细教程
### [第一讲](https://www.bilibili.com/video/BV1Mf4y1b7xA) [第二讲](https://www.bilibili.com/video/BV1J64y1b7Px)
- 主要就是环境搭建,软件安装,代理设置,git使用
- 知识点
```
oracle和openjdk的区别
jdk11的优势
```
### [第三讲](https://www.bilibili.com/video/BV1LU4y1V7QD)
- event原理讲解
- 知识点
```
maven本地仓库,maven远程仓库,idea的工程管理
spring自定义标签
spring生命周期,对应的事件
spring自带事件的优先级通过Ordered接口指定
javassist字节码增强,asmcglibByteBuddy,了解
```
### [第四讲](https://www.bilibili.com/video/BV1Aw411Z7ic)
- storage原理讲解
- 知识点
```
通过spring的PathMatchingResourcePatternResolver扫描excel文件位置,有方法可以直接获取Resource
spring的Resource抽象,spring对文件的抽象
apache的poipoi可以解析excel
通过spring的ConversionService去解析excel单元格的内容,通过ConditionalGenericConverterConverter接口自定义解析规则
```
### [第五讲](https://www.bilibili.com/video/BV1Xv411H7Qo)
- Tank项目的运行
### [第六讲](https://www.bilibili.com/video/BV1to4y1C77Y)
- scheduler原理讲解
- 知识点
```
cron表达式的用法
spring自带的Scheduled和zfoo的Scheduler
java的线程池,SingleThreadScheduledExecutorSingleThreadExecutor
通过spring自带的CronExpression计算下一次cron表达式要执行的时间
```
### [第七讲](https://www.bilibili.com/video/BV1rL411W7bo)
- orm原理讲解
- 学习MongoDB优先看官方的文档,https://docs.mongodb.com/manual/
- B站有个稍微权威一点的MongoDB视频教程,https://www.bilibili.com/video/BV13a4y1J7L6
- 知识点
```
Mysql中的数据库,表,一条数据,在Mongodb分别叫做,数据库,集合,文档
Elastic Search的全文搜索引擎
mongodb的map reduce操作
分布式唯一Id,Java自带的UUID,雪花算法(SnowFlake),Redis分布式唯一Id实现,Mongodb分布式唯一Id实现,Zookeeper分布式唯一Id实现
```
### [第八讲](https://www.bilibili.com/video/BV1JL411W7Eo)
- protocol原理讲解
- 知识点
```
netty的ByteBuf
java的序列化和反序列化
kryo的使用,注意不是线程安全
protobuf的使用
juc的CountDownLatch
Zigzag算法压缩,varint数据压缩算法,优先kryo的实现
Javassist字节码增强序列化函数比反射快非常多
```
### [第九讲](https://www.bilibili.com/video/BV1ch411a7GY)
- net原理讲解
- 知识点
```
netty的nio,epoll
同步和异步通过CompletableFuture去实现的
一致性hash算法的负载均衡
zookeeper的用法
```
### [第十讲](https://www.bilibili.com/video/BV13U4y137G7)
- 综合实战
### [第十一讲](https://www.bilibili.com/video/BV1i44y1177r)
- 云服务器部署
- [tank-game-server](https://github.com/zfoo-project/tank-game-server) 网络游戏《进击的坦克(The Fight of Tanks)》
- 快速体验,tank游戏入口 [tank.zfoo.net](http://tank.zfoo.net)
- 快速体验,tank后台入口 [tank-admin.zfoo.net](http://tank-admin.zfoo.net),账号:a,密码:a
```
云服务器的安全组策略
java的安装
zookeeper的安装
mongodb的安装
用maven打包项目的流程
nohup java -XX:InitialHeapSize=300m -XX:MaxHeapSize=300m -XX:+HeapDumpOnOutOfMemoryError -Djdk.attach.allowAttachSelf=true -Dspring.profiles.active=pro -Dfile.encoding=UTF-8 -jar home-1.0.jar >/dev/null 2>&1 &
sh /deploy.sh stopUpdateStart /usr/local/tank/admin/admin-1.0.jar /usr/local/tank/admin
sh /deploy.sh stopUpdateStart /usr/local/tank/single/single-1.0.jar /usr/local/tank/single
sh /deploy.sh stopUpdateStart /usr/local/tank/admin/admin-1.0.jar /usr/local/tank/admin
sh /deploy.sh stopUpdateStart /usr/local/tank/cache/cache-1.0.jar /usr/local/tank/cache
sh /deploy.sh stopUpdateStart /usr/local/tank/gateway/gateway-1.0.jar /usr/local/tank/gateway
sh /deploy.sh stopUpdateStart /usr/local/tank/home/home-1.0.jar /usr/local/tank/home
```