From 20dee20016fd3235964961946a28a49add5084c0 Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:30:47 +0000 Subject: [PATCH 1/7] update README.md. --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a879fba..a5570db 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,22 @@ > 不同的分支为不同的学习方向,目前已添加的分支 [rCore-Tutorial](https://gitee.com/Mind-IO/os-tutorial/tree/rCore-Tutorial/) -#### rCore-Tutorial +#### golearning -1. https://gitee.com/Mind-IO/os-tutorial/tree/rCore-Tutorial/ +1. https://gitee.com/Mind-IO/os-tutorial/tree/golearning/ -注意: 为及时了解学习和实践情况并推动相互帮助,本次活动要求把每日学习实践的过程记录(Markdown格式)放在github/gitee上自己的公开repo中。可参见每日学习实践的[具体例子](https://github.com/yunwei37/os-summer-of-code-daily/blob/master/README.md)。请参加者把记录每天的进展的git repo网址 更新到 https://gitee.com/Mind-IO/os-tutorial/issues/I3ZVUK 中。要求每位同学在自己的git repo中记录自己的每天进展,其他同学也可以参考学习。 +go语言爱好者周刊:https://github.com/polaris1119/golangweekly + +基于go1.13的runtime简述: + - 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA + + - 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA + + - go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ + + - 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ + + - timmer调度:https://mp.weixin.qq.com/s/iseiQ20eIUR9i02fy1tFhg -- Gitee From 97a7a45c5514c636a652009032420c0a9b2363d2 Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:31:34 +0000 Subject: [PATCH 2/7] update README.md. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a5570db..57b7600 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ go语言爱好者周刊:https://github.com/polaris1119/golangweekly 基于go1.13的runtime简述: + - 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA - 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA -- Gitee From 9e34af3989837bd0c39babe206a0923020e89b4c Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:32:30 +0000 Subject: [PATCH 3/7] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57b7600..4d45e14 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ go语言爱好者周刊:https://github.com/polaris1119/golangweekly 基于go1.13的runtime简述: - - 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA + - [图解go gc内存标记法](https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA) - 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA -- Gitee From 6d44ded4463beaf9514db2be0fa4006dd84f4d08 Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:33:17 +0000 Subject: [PATCH 4/7] update README.md. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d45e14..96d7b78 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ go语言爱好者周刊:https://github.com/polaris1119/golangweekly 基于go1.13的runtime简述: - - [图解go gc内存标记法](https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA) + - 图解go gc内存标记法:[https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA](http://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA) - 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA -- Gitee From 8bf0bf16ae00fd3cadd8096f5b489525f3f7d672 Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:35:36 +0000 Subject: [PATCH 5/7] update README.md. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 96d7b78..e1a3656 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,11 @@ go语言爱好者周刊:https://github.com/polaris1119/golangweekly 基于go1.13的runtime简述: - - 图解go gc内存标记法:[https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA](http://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA) +- 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA - - 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA +- 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA - - go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ +- go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ - 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ -- Gitee From a7c43bd5031f06be793bf50dad2c7b0b9e2b291d Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Tue, 13 Jul 2021 12:35:52 +0000 Subject: [PATCH 6/7] update README.md. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1a3656..895f198 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ go语言爱好者周刊:https://github.com/polaris1119/golangweekly - go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ - - 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ +- 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ - - timmer调度:https://mp.weixin.qq.com/s/iseiQ20eIUR9i02fy1tFhg +- timmer调度:https://mp.weixin.qq.com/s/iseiQ20eIUR9i02fy1tFhg -- Gitee From d3556f07bf4ee1af815825367d749abc2b4330f9 Mon Sep 17 00:00:00 2001 From: gitee-yzh Date: Thu, 10 Nov 2022 14:27:34 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 159 +++++++++++++++++++++++++++++++++--- examples/chapter1/hello.go | 5 ++ examples/chapter10/.gitkeep | 0 examples/chapter11/.gitkeep | 0 examples/chapter12/.gitkeep | 0 examples/chapter13/.gitkeep | 0 examples/chapter2/.gitkeep | 0 examples/chapter3/.gitkeep | 0 examples/chapter4/.gitkeep | 0 examples/chapter5/.gitkeep | 0 examples/chapter6/.gitkeep | 0 examples/chapter7/.gitkeep | 0 examples/chapter8/.gitkeep | 0 examples/chapter9/.gitkeep | 0 my.md | 29 +++++++ 16 files changed, 182 insertions(+), 12 deletions(-) create mode 100644 .gitignore create mode 100644 examples/chapter1/hello.go create mode 100644 examples/chapter10/.gitkeep create mode 100644 examples/chapter11/.gitkeep create mode 100644 examples/chapter12/.gitkeep create mode 100644 examples/chapter13/.gitkeep create mode 100644 examples/chapter2/.gitkeep create mode 100644 examples/chapter3/.gitkeep create mode 100644 examples/chapter4/.gitkeep create mode 100644 examples/chapter5/.gitkeep create mode 100644 examples/chapter6/.gitkeep create mode 100644 examples/chapter7/.gitkeep create mode 100644 examples/chapter8/.gitkeep create mode 100644 examples/chapter9/.gitkeep create mode 100644 my.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/README.md b/README.md index 895f198..d6b78e9 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,164 @@ -# OS-Tutorial +### 学习材料地址 -#### 介绍 +教程地址: -每日打卡, 学习OS技能,定一个方向,每天刷新进展 +go官方基础知识介绍及在线编码环境:https://tour.go-zh.org/welcome/1 -> 不同的分支为不同的学习方向,目前已添加的分支 [rCore-Tutorial](https://gitee.com/Mind-IO/os-tutorial/tree/rCore-Tutorial/) +mastering go: https://github.com/hantmac/Mastering_Go_ZH_CN -#### golearning -1. https://gitee.com/Mind-IO/os-tutorial/tree/golearning/ +其他参考资料: + +视频学习go编程基础:https://github.com/unknwon/go-fundamental-programming + +雨痕大神的go程序设计:https://www.yuque.com/qyuhen/go + +golang电子书合集:https://github.com/0voice/Introduction-to-Golang/tree/main/%E7%94%B5%E5%AD%90%E4%B9%A6%E7%B1%8D + + + +感兴趣可以了解: go语言爱好者周刊:https://github.com/polaris1119/golangweekly -基于go1.13的runtime简述: +里面有每期一题、最新资讯、专题文章、开源项目介绍等 + + + +### 计划日历 + + + +*十一月* + +| Mon | Tues | Wed | Thur | Fri | Sat | Sun | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | ---- | ---- | +| | | | | | | | +| | | | 10[Day 1](#day1) | 11[Day2](#Day2-&-Day3) | 12 | 13 | +| 14[Day3](#Day2-&-Day3) | 15[Day4](#Day4-&-Day5) | 16[Day5](#Day4-&-Day5) | 17[Day6](#Day6-&-Day7) | 18[Day7](#Day6-&-Day7) | 19 | 20 | +| 21[Day8](#Day8-&-Day9) | 22[Day9](#Day8-&-Day9) | 23[Day10](#Day10-&-Day11) | 24[Day11](#Day10-&-Day11) | 25[Day12](#Day12-&-Day13) | 26 | 27 | +| 28[Day13](#Day12-&-Day13) | 29[Day14](#Day14-&-Day15) | 30[Day15](#Day14-&-Day15) | | | | | + + + +*十二月* + +| Mon | Tues | Wed | Thur | Fri | Sat | Sun | +| ---- | ---- | ---- | ---------------- | ---------------- | ---- | ---- | +| | | | 1[Day16](#Day16) | 2[Day17](#Day17) | 3 | 4 | +| 5 | 6 | 7 | 8 | 9 | 10 | 11 | +| | | | | | | | +| | | | | | | | +| | | | | | | | + + + +### Day1 + +- hello world +- 基础介绍 +- 环境搭建 + +1. 查看https://tour.go-zh.org/welcome/1 网站学习go官方提供的基础知识介绍,可以在线编码、调试 +2. yum install golang安装go,下载安装GoLand或者vscode等编辑器,在编辑器上编写并运行Hello world +3. 可以复制上述网站的代码,在本地运行试试 + +### Day2 & Day3 + +- Go 基础知识 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter3 + +1. 阅读Mastering go 的**第3章节**,包括 循环、切片、常量、指针、时间日期格式 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 3.9章节的练习 + - 1:使用iota编写常量生成器表示数字0-4 + - 2:使用iota编写常量生成器表示一周的天数 + - 3:编写程序将数组转为map + +### Day4 & Day5 + +- Go 基础知识2 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter4 + +1. 阅读Mastering go 的**第4章节**,包括 组合类型、结构体、元组、字符串、正则 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 4.10章节的练习 + - 1:写一个Go程序,识别无效的IPv4地址 + - 6:使用math/big包计算高精度平方根,算法自选 + - 8:写一个正则表达式匹配200-400之间的整数 + + + +### Day6 & Day7 + +- go中的数据结构 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter5 + +1. 阅读Mastering go 的**第5章节**,包括 二叉树、哈希表、链表、队列、栈、容器 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 5.12章节的练习 + - 2:修改 `queue.go` 的代码使其能够存ۘ浮点数而不是整数。 + - 9:实现 `linkedList.go` 中缺失的删除节点的功能 + +### Day8 & Day9 + +- package、函数 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter6 + +1. 阅读Mastering go 的**第6章节**,包括 package、函数 等内容 +2. 在本地创建目录,编写本章代码并运行 + +### Day10 & Day11 + +- 类型方法、接口、反射 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter7 + +1. 阅读Mastering go 的**第7章节**,包括 类型方法、接口、反射 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 7.8章节的练习 + - 1:编写一个接口,并在另一个Go程序中使用它。然后说明你编写的接 + 口的作用 + - 4:编写一个使用反射的例子 + +### Day12 & Day13 + +- 并发、channel和pipeline +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter9 + +1. 阅读Mastering go 的**第9章节**,包括 goroutine、channel、管道 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 9.7章节的练习 + - 2:创建一个管道来计算给定范围的所有自然数的平方和 + - 5:修改 `pipleline.go` 代码来找出当您忘记关闭 first() 函数中的 + out 通道会发生什么 + + + +### Day14 & Day15 -- 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA +- 并发进阶讨论 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter10 -- 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA +1. 阅读Mastering go 的**第10章节**,包括 调度器、select、重温channel、context包 等内容 +2. 在本地创建目录,编写本章代码并运行 +3. 做 10.9章节的练习 + - 1:使用缓冲通道实现一个并发版本的 `wc(1)` 。 + - 2:接着,使用共享内存实现一个并发版本的 `wx(1)` 。 + - 3:最后,使用监视 goroutine 实现一个并发版本的 `wx(1)` 。 -- go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ +### Day16 -- 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ +- unix系统编程 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter8 -- timmer调度:https://mp.weixin.qq.com/s/iseiQ20eIUR9i02fy1tFhg +1. 阅读Mastering go 的**第8章节**,包括 flag包、io、文件处理、strings包、bytes包、UNIX信号 等内容 +2. 在本地创建目录,编写本章代码并运行 +### Day17 +- go网络编程基础 +- https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter12 +1. 阅读Mastering go 的**第12章节**,包括 net、http、获取dns、web服务器 等内容 +2. 在本地创建目录,编写本章代码并运行 \ No newline at end of file diff --git a/examples/chapter1/hello.go b/examples/chapter1/hello.go new file mode 100644 index 0000000..6cc6a9a --- /dev/null +++ b/examples/chapter1/hello.go @@ -0,0 +1,5 @@ +package main + +func main() { + println("hello world") +} diff --git a/examples/chapter10/.gitkeep b/examples/chapter10/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter11/.gitkeep b/examples/chapter11/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter12/.gitkeep b/examples/chapter12/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter13/.gitkeep b/examples/chapter13/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter2/.gitkeep b/examples/chapter2/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter3/.gitkeep b/examples/chapter3/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter4/.gitkeep b/examples/chapter4/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter5/.gitkeep b/examples/chapter5/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter6/.gitkeep b/examples/chapter6/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter7/.gitkeep b/examples/chapter7/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter8/.gitkeep b/examples/chapter8/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/chapter9/.gitkeep b/examples/chapter9/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/my.md b/my.md new file mode 100644 index 0000000..895f198 --- /dev/null +++ b/my.md @@ -0,0 +1,29 @@ +# OS-Tutorial + +#### 介绍 + +每日打卡, 学习OS技能,定一个方向,每天刷新进展 + +> 不同的分支为不同的学习方向,目前已添加的分支 [rCore-Tutorial](https://gitee.com/Mind-IO/os-tutorial/tree/rCore-Tutorial/) + + +#### golearning + +1. https://gitee.com/Mind-IO/os-tutorial/tree/golearning/ + +go语言爱好者周刊:https://github.com/polaris1119/golangweekly + +基于go1.13的runtime简述: + +- 图解go gc内存标记法:https://mp.weixin.qq.com/s/t3SffaVmHUb_vqB9pn5yqA + +- 图解go逃逸分析:https://mp.weixin.qq.com/s/80pv2gpnbKMPNLDr3dnSCA + +- go调度器的任务窃取:https://mp.weixin.qq.com/s/trBAi976eaaTDcSzpAqPkQ + +- 图解go内存分配:https://mp.weixin.qq.com/s/bMr4lZgf-Fn1oaOSPPSDIQ + +- timmer调度:https://mp.weixin.qq.com/s/iseiQ20eIUR9i02fy1tFhg + + + -- Gitee