V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChristopherWu
V2EX  ›  程序员

迫于女票基础太差,起草计算机提纲给她特训讲课

  ChristopherWu · 2019-06-28 11:55:39 +08:00 · 16909 次点击
这是一个创建于 1980 天前的主题,其中的信息可能已经有所发展或是发生改变。

女票是前端,非科班,基础不好,就给她做做科普讲讲课。我只会后端,前端教不了 = =

昨天临时简单起草了提纲,v 友有建议或者需要补充的吗?

Linux 基础

Bash 基础

  • 简单的 bash 脚本编写
    • greplesscatzgreptail等命令以及实际应用
  • 管道 |>
  • CTRL + r
  • 推荐使用 python 来代替 bash 写脚本
Bash 的小 tips
  • -代表上级目录
  • 使用zsh

Vim 的基础使用以及 IDE

  • vim-tutorial
  • 目的:学会基础的移动,修改,复制,粘贴;能够在 IDE 上装插件以及使用

Git 的原理以及进阶使用

  • git origin,remote, master 分别是什么意思
  • git rebase, merge 区别
  • git reflog
  • git 简单原理

深入理解计算机原理

二进制表示

  • 信息的最小单位 bit
  • 大小端
  • 字符,定点数,浮点数

计算机网络的原理与应用

  • http,https 协议
    • http 常见状态码以及出现在项目中的地方,如何 debug
      • 如何使用 curl 做简单的自测,调试
      • postman 简单使用
      • 查看 chrome 的请求,并复制 curl 命令
      • 作业:分别用 curl 以及 postman 请求一个网站,get 与 post 请求
    • Http heads 如 Host, referrer, x-forwarded-for
    • nginx 简单的搭建服务器以及设置解析
    • SSL 原理
    • 抓包的目的,如何以及为什么能抓 https 包
      • 作业:抓包一个 https 网站的请求
    • 一个 web 框架如 node 的 express,有什么东西?
      • header 解析
      • url 解析
      • json,text 解析插件
      • middleware
  • DNS 协议
    • dns 原理,/etc/hosts/etc/reslov.conf分别的作用
    • dig 工具以及解析
    • dns 污染
    • dns on http
    • Load Balance 的介绍
  • ICMP 协议
    • ping 原理
      • ping 不通就是网络不通吗?
      • ICMP 层的作用
  • TCP 协议
    • tcp 是一个怎么样的协议
  • UDP 协议
  • ssh 协议
    • ssh 是什么,能做什么
    • 公私钥是什么,RSA 算法
  • 防火墙,iptables
    • iptalbes 简单规则
    • 内网通信

现代分布式系统

Docker 以及 K8s

  • docker 是什么,原理,应用

分布式系统,节点

  • 横向拓展

paas

第 1 条附言  ·  2019-06-28 12:34:33 +08:00
只是起草,就是用 10 来分钟随意写的。。有待完善补充。

假如需要各位一起完善的话,到时会发 github 开源。

因为我觉得目前的提纲类做的不够好。
181 条回复    2019-06-30 17:16:16 +08:00
1  2  
aaahhh123
    101
aaahhh123  
   2019-06-28 15:49:40 +08:00
牛批 求放 git
Kafoul
    102
Kafoul  
   2019-06-28 16:04:48 +08:00   ❤️ 1
https://github.com/search?q=roadmap&type=Repositories
可以在 github 中搜索 roadmap 来找到很多路线图
ChristopherWu
    103
ChristopherWu  
OP
   2019-06-28 16:06:10 +08:00
@Kafoul 这个我知道,但我都不满意。。。
icharm
    104
icharm  
   2019-06-28 16:06:30 +08:00   ❤️ 9
你怕不是想分手吧
ChristopherWu
    105
ChristopherWu  
OP
   2019-06-28 16:06:37 +08:00
@shuizhengqi 了解一下,当做科普。
cece0417
    106
cece0417  
   2019-06-28 16:06:40 +08:00
我是测试,虽然 title 是测试开发,然后我老公是写 c++的,他换了工作我都不知道他具体在做啥了。这是前提~
然后我也觉得我基础不好,让他教我,结果他教了大概两个晚上吧,教不动了,自己默默去学习了,撇下我在一旁抱着 ipad 看电视。。。。
还美其名曰每周一个什么 hello world 之夜,算法之夜~~~~执行了 2 个星期,没下文了
endershadow
    107
endershadow  
   2019-06-28 16:11:15 +08:00
为什么要 推荐使用 python 来代替 bash 写脚本
stlee
    108
stlee  
   2019-06-28 16:21:32 +08:00 via Android
等 github 地址。
Vendettar
    109
Vendettar  
   2019-06-28 16:23:07 +08:00
你这是在劝退吧
whitealbum
    110
whitealbum  
   2019-06-28 16:38:30 +08:00 via Android
前端不是播放器🐴
CEBBCAT
    111
CEBBCAT  
   2019-06-28 16:39:41 +08:00 via Android
为什么楼主你想自己开课?
CEBBCAT
    112
CEBBCAT  
   2019-06-28 16:41:41 +08:00 via Android
@justRua 技术帖下还是不要说这些打趣的东西了吧
geektony
    113
geektony  
   2019-06-28 16:47:38 +08:00   ❤️ 2
这种轮子就不要自己做了,前人已经给大家总结出整个框架了,多花点时间谈恋爱吧。

前端 2019: https://frontendmasters.com/books/front-end-handbook/2019/
系统设计方向: https://github.com/donnemartin/system-design-primer
geektony
    114
geektony  
   2019-06-28 16:48:27 +08:00
liukanshan
    115
liukanshan  
   2019-06-28 16:51:36 +08:00
既然是搞前端的 docker k8s 这些可以不用讲太深了吧 了解下就行 毕竟学起来是很枯燥的 另外最大的问题是她愿意听你说吗? 个人建议让她去慕课或者找优质的在线课堂 你可以给她一个大概的方向 最好不要自己教女朋友 不要!
liukanshan
    116
liukanshan  
   2019-06-28 16:53:24 +08:00
哈哈 这个可以
liukanshan
    117
liukanshan  
   2019-06-28 16:54:08 +08:00
@cece0417 接楼上 忘记 @
Jackxun123
    118
Jackxun123  
   2019-06-28 16:54:53 +08:00
@flyingghost 明白人
cllvking
    119
cllvking  
   2019-06-28 16:56:33 +08:00
留个脚印等链接
tison
    120
tison  
   2019-06-28 16:58:35 +08:00
列得太多了,不现实

建议不要这么做...
tison
    121
tison  
   2019-06-28 17:00:53 +08:00
@strugglexiang 确实如此...严重不看好...吃个亏对下一个女朋友好一点吧
tikazyq
    122
tikazyq  
   2019-06-28 17:01:42 +08:00
这也太离谱了吧
ty916
    123
ty916  
   2019-06-28 17:17:58 +08:00
你还不如写一个怎么找到女朋友的特训讲课
beyoung
    124
beyoung  
   2019-06-28 17:23:51 +08:00
plan B 自己更加努力 赚钱养她
hellojl
    125
hellojl  
   2019-06-28 17:25:41 +08:00
感觉很迷,科普级别的话不如买本计算机导论了,学 docker、k8s 的话,也不如花时间去看看 es6、typescript 了
wkl17
    126
wkl17  
   2019-06-28 17:30:42 +08:00 via Android
@MarginK 楼主是汉子,你想当他男朋友? python 交易?
hydyy
    127
hydyy  
   2019-06-28 17:36:00 +08:00
为啥要让女票学计算机...
dopppler
    128
dopppler  
   2019-06-28 17:37:19 +08:00
基础太差的情况下,这个列表可能坚持不了多久,更建议学习下前端强相关的知识比较好
superdotcom
    129
superdotcom  
   2019-06-28 17:46:21 +08:00
你写再好的教程也没有,肯定学不好
lihanyu
    130
lihanyu  
   2019-06-28 17:53:42 +08:00
坐等楼主分手
overflow99
    131
overflow99  
   2019-06-28 17:54:25 +08:00
如果一个女前端对这些感兴趣那一定基础不差
rainmakeroly
    132
rainmakeroly  
   2019-06-28 19:10:07 +08:00 via Android
清单不适用于前端。 就后端也是杂而不太系统,vim iptables 等前期不需要。
hanxiaomeng
    133
hanxiaomeng  
   2019-06-28 19:14:35 +08:00
感觉是给运维写的吧....前端就好好掌握 Windows+HTTP 就好了,其他的并没有任何屌用。
likuku
    134
likuku  
   2019-06-28 19:38:37 +08:00
技能树完全点歪了... 南辕北辙了吧。

色彩学,UI,UE,界面交互,字体设计,人机工学,用户心理学,工业设计,这些都刻意回避了啊?
itabas016
    135
itabas016  
   2019-06-28 20:08:11 +08:00 via Android
看到大家的评论我就放心了。
rus4db
    136
rus4db  
   2019-06-28 20:18:15 +08:00
楼主你辞掉你的女朋友吧
现在我是你的新女 zhuang 朋友啦~
adian
    137
adian  
   2019-06-28 20:38:59 +08:00
感觉还行啊,教的东西常见,实用,对外行来讲又装逼,挺好的。主要和女友一起学起来就很开心了。话说这种话题不应该私底下和女友交流交流嘛,这样才有火花吧。
Raisu
    138
Raisu  
   2019-06-28 20:48:45 +08:00 via Android
后段教前端。。。
mumbler
    139
mumbler  
   2019-06-28 22:00:31 +08:00 via Android
倒什么霉了,当你女朋友,还要跟你学这些
Tengdw
    140
Tengdw  
   2019-06-28 22:16:08 +08:00
计算机基础从入门到分手 滑稽~
minglanyu
    141
minglanyu  
   2019-06-28 22:20:45 +08:00 via iPhone
内容引起不适
tushile928
    142
tushile928  
   2019-06-28 22:55:23 +08:00 via Android
讲一半分手,1 个月后离职
ChristopherWu
    143
ChristopherWu  
OP
   2019-06-28 23:04:51 +08:00
@likuku 其实现在的前端尤其是面试对这没什么要求,反而要求计算机知识扎实。
ChristopherWu
    144
ChristopherWu  
OP
   2019-06-28 23:05:37 +08:00
@ mikukonai 我接受你做我的 zhuang 女朋友!加微信吧。。。
ChristopherWu
    145
ChristopherWu  
OP
   2019-06-28 23:06:02 +08:00
@liukanshan 留言中其实说了呀,讲入门知识,相当于科普。
mamahaha
    146
mamahaha  
   2019-06-28 23:21:59 +08:00
想起了那个笑话,女:你竟然拉了这么多,你不爱我~~
ilumer
    147
ilumer  
   2019-06-29 00:13:06 +08:00
好了 请在你的公众号上分享吧 我准本学习了
ChristopherWu
    148
ChristopherWu  
OP
   2019-06-29 00:44:50 +08:00   ❤️ 1
@ilumer 先关注一下 XD
Antidictator
    149
Antidictator  
   2019-06-29 00:55:09 +08:00
老哥每次都是女朋友驱动教程,哈哈哈。
ilumer
    150
ilumer  
   2019-06-29 01:05:30 +08:00
@ChristopherWu 那肯定是关注了才会这么说的呀 - -
mytsing520
    151
mytsing520  
   2019-06-29 08:23:53 +08:00
看到女票什么的最讨厌了~
(逃
changdy
    152
changdy  
   2019-06-29 08:48:30 +08:00
推荐 lua 代理 py 写脚本?
Takamine
    153
Takamine  
   2019-06-29 09:01:02 +08:00
《计算机基础从入门到分手》:doge:。
qY3209HZitEb5Zty
    154
qY3209HZitEb5Zty  
   2019-06-29 09:29:07 +08:00
羡慕一发
ymj123
    155
ymj123  
   2019-06-29 09:55:00 +08:00 via Android
我觉得挺好的,但是要注意方式吧。
这些算是后端运维基础的东西,前端有所了解也是应该的。
hanzichi
    156
hanzichi  
   2019-06-29 10:03:31 +08:00
我觉得把 python 改为 js 会好一点
jaky666
    157
jaky666  
   2019-06-29 10:19:25 +08:00
有这时间还不如 自己努力点 让妹子轻松点
SlipStupig
    158
SlipStupig  
   2019-06-29 11:14:20 +08:00
第一课应该讲一点操作系统原理,会好很多
BarZu
    159
BarZu  
   2019-06-29 11:29:28 +08:00
因为女票老是要我改 bug,好烦,给了她两万块钱去培训做瑜珈老师,现在没人打扰我写代码了,同事还羡慕我找了个瑜珈老师女票
way2create
    160
way2create  
   2019-06-29 11:31:00 +08:00
emm,有女朋友我就不会在家自闭写代码了
zzugyl
    161
zzugyl  
   2019-06-29 11:37:38 +08:00
学点舞蹈瑜伽乐器啥的多好
赚钱养家这事你来啊
likuku
    162
likuku  
   2019-06-29 12:15:40 +08:00
@ChristopherWu 那得看是为了面试还是为了在这行业里提高自己了。
likuku
    163
likuku  
   2019-06-29 12:18:48 +08:00
今早发现的,推荐参考:
https://www.douban.com/people/1137591/status/2541226518/

“对《 Spellbook of Modern Web Dev 》项目做简化翻译更新后的《前端技术知识图谱》”
w2cny
    164
w2cny  
   2019-06-29 12:39:32 +08:00 via Android
怎么找到的女票,我也行想要
cjh1095358798
    165
cjh1095358798  
   2019-06-29 13:30:51 +08:00
厉害啊
holong2000
    166
holong2000  
   2019-06-29 13:40:11 +08:00
我给你讲个悲伤的故事。我的一个小学初中同学,高中时和我另一个女同学恋爱了。他成绩很好,她很一般,他就高中三年倾全力给她辅导,最后两人高考都考上,不在一个学校。
结果,她一上大学马上和他分手,他受不了打击,大学退学休学了,然后一辈子(至少现在还是)混在家乡。而她利用美貌,现在和某老板移民澳洲十年了。
这就是给女朋友补课的风险。
hahaayaoyaoyao
    167
hahaayaoyaoyao  
   2019-06-29 16:39:39 +08:00 via Android
@holong2000 嗯,知道了。反正我也没有女朋友。
JaviDN
    168
JaviDN  
   2019-06-29 18:51:04 +08:00
先 mark 一个,小白慢慢学
laravel
    169
laravel  
   2019-06-29 19:36:37 +08:00
你给前端学这些?
ofooo
    170
ofooo  
   2019-06-30 11:15:07 +08:00 via iPhone
前端学这些干嘛?楼主要不就讲一些通用的计算机科学知识,要么就先自学前端再教前端知识

不要装这么生硬的 x,教前端一堆后端的东西,还以为是基础……
sleeplessy
    171
sleeplessy  
   2019-06-30 11:15:29 +08:00
上来就 Shell 相关操作没必要,毕竟前端不是非得 Linux 才能做,工具链在我印象中各大平台基本上使用体验一致,如果妹子用的是 mac 的话你稍微耗点耐心帮她配置下环境然后她之前的工具链该怎么用还怎么用

Vim 我觉得有点塞私料,是我就会先问句“想学 Emacs 吗?不想学?那你继续用 VSCode 吧”
git 基础操作可以,原理不知道你在指什么,如果是 workflow 最好还是教一下,如果你是要给她讲增量更新云云上来也没必要

nginx 意义何在?……槽点太多了
比如, [查看 chrome 的请求] 是好的教学点,但是 [复制 curl 命令并自测] 这种东西我觉得着实没有必要
如果你定位是科普的话,应当是由浅入深,从理论再到应用场景再,而不是上来就是实战,你这么搞就变成培训班而不是计科补习了。最终学出来是一堆操作,而不是一个整体的知识体系在里头了,LZ 这样就跟日本人写操作书总是厚得一匹但是不得要点是一个尿性…
sleeplessy
    172
sleeplessy  
   2019-06-30 11:20:31 +08:00
接#171 再吐槽一些
打个最简单的比方,TCP 和 UDP,各项特点啊什么的几乎是个人都会背,可是它们的各项特点就是针对它们当初被创造出来时所要解决的问题——可靠还是不可靠,流式还是报文,终究也都是针对特定的场景才最终有了的特征。
而针对这一系列的优缺点又会在实际的工程应用中诱发不同的问题,对应又有一些技法和方案来解决之……“基本上现在的成熟方案都是这么俄罗斯套娃套过来的,今后也很有可能会再被套一层”——如果你用这种思路去给一个毫无基础的人来讲,那么她所获得的知识就不会是空中阁楼,或者说不是填鸭式教育。
当知道一项技术是为了解决什么问题,同时是为了解决什么问题才有了某样什么样的特性,这些特性为什么能解决这些问题……我觉得这样才是好的“科普”。精确的工程语言、工具的使用以及 tricks 和调优,这些都是在对拥有对等前置知识,或者说至少能理解你在做什么,为什么要这么做的人交流的时候才适用的。
ChristopherWu
    173
ChristopherWu  
OP
   2019-06-30 11:32:48 +08:00
@sleeplessy 谢谢你这么长的回复与建议哈。妹子用 mac,写过 node 等有命令行基础的~

所以简单的命令如 grep, cat, less 等是有用的,尤其在看 log 时。

vim 就是塞我认为好的私料,其实我大纲写的挺明显的啊,不是说不用 ide,而是在 ide 里用 vim 的快捷键减少鼠标的移动次数。

git 的原理就是 commit,blob,tree,指针移动等。

nginx 你可以为结合 nginx 实际应用的一些配置来讲解 http 等,基本思路如: https://www.v2ex.com/t/531232 以及 https://www.v2ex.com/t/543304#reply30


》 [查看 chrome 的请求] 是好的教学点,但是 [复制 curl 命令并自测] 这种东西我觉得着实没有必要
有什么区别呢,两者都不过是实战的一些技巧而已,我反而认为这些能快速知道学会的技巧也挺重要的。

我赞同你对科普的看法,我对妹子做培训科普会 以这个为目标。

》精确的工程语言、工具的使用以及 tricks 和调优,这些都是在对拥有对等前置知识,或者说至少能理解你在做什么,为什么要这么做的人交流的时候才适用的。

是的,你给出的 TCP UDP 的例子因为我力有未逮,不能脱离网络随手写出大纲。

对比一下 github 上已有的大纲,我看看对它们有什么不满意的,到时完善大纲后放 github,大家一起维护也挺有意思的
sleeplessy
    174
sleeplessy  
   2019-06-30 11:49:20 +08:00
@ChristopherWu 我觉得 nginx 的实际配置可能意义不大的原因大概是这样
1. 如果是以工作相关的知识学习,那么 nginx 的操作对于前端而言帮助几乎不大
2. 如果是增长见识,那么好,我顶多就学会了怎么改 nginx 配置,然后呢?

如果是如你所言目的是为了学习 HTTP,我觉得既然有两个人,而重点又在于基础的话,最好的一种手段,我觉得还能虐狗一波就是由你来配置、修改 server side 的响应,niginx 也好或者其他的又或是自己写的也好,然后在她获取到的这些响应之后给她讲解各个字段的具体含义和作用,用她熟悉的前端来获得这些响应的时候会有什么不同的表现…


chrome 那个的话我是上接 shell 相关的吐槽啦。如果单纯要看报文,那么用浏览器跟 curl 没有过多的区别。

像我举例的 TCP UDP 这种,如果你不知道相关内容的话,一个是你可以通过网络手段:google youtube 等来获取相关知识(强烈推荐一个频道:Computerphile),一个是你可以看看这些技术自己特有的问题,然后去思考为什么会有这些问题的存在,为什么他们明知道会出这种问题却还是愿意用它而不是用一个不会诱发这种问题的技术…(当然如果是当前没有更合适的成熟技术那没招)

科普主要还是得让听的人感兴趣,强塞一堆知识树末端的最终产物对于初学者来说终归还是有他的缺陷的
snowy0723
    175
snowy0723  
   2019-06-30 13:29:46 +08:00
我怀疑是我科班是不是白读了
ChristopherWu
    176
ChristopherWu  
OP
   2019-06-30 14:22:13 +08:00
@sleeplessy 你提醒我了,的确我写提纲时是更偏向于后端来写的,没有考虑过前端是否真正需要的角度。
比如你说的 curl 跟浏览器,从我后端的角度认为有需要是要向自己写的 server 做一些请求又不想搭建前端的时候,以及 debug 的时候需要从 chrome 复制 curl,再改某些字段。

这方面可能我需要特地从前端开发的实用角度来看是否需要,会协调好的。

不过。。其实我妹子也用 node 写过一些东西,在我看来,去找更好的工作的时候,说不定就要求更多了,就介绍更多啦。

TCP,UDP 不是说不知道,而是不能在不看笔记的时候鞭辟入里的写提纲- -
举例子,https://www.v2ex.com/t/524599#reply46 我认为我这篇文章就属于这种范畴。
如滑动窗口,拥塞处理等等我就做不到。

我看看你说的频道哈,以前一直不怎么看视频,最近发现 b 站科普视频不错,看看计算机方面有没有时候吃饭的时候随便看的。 国外公开课太正式,我希望是有一个个概念讲解,10 分钟左右的(这是新话题了)
sleeplessy
    177
sleeplessy  
   2019-06-30 14:35:57 +08:00
@ChristopherWu 推荐的这个不是公开课频道,是一些科学家访谈还有业内人士讲解,打个比方 老博士来讲 grep 发明出来的背景以及为什么选了正则这么一种方式等等…
ChristopherWu
    178
ChristopherWu  
OP
   2019-06-30 14:40:35 +08:00
@sleeplessy 这不错~ 还有类似的频道、b 站 up 主吗?
sleeplessy
    179
sleeplessy  
   2019-06-30 15:53:43 +08:00
@ChristopherWu 我基本上不怎么看 b 站,抱歉了…
snoopy1024
    180
snoopy1024  
   2019-06-30 16:34:00 +08:00 via iPhone
@ChristopherWu 难以理解,前端新人为何需要写 bash 脚本… 建议换位思考下,女朋友工作中要用到哪些知识,最好问问她不会什么,然后再给她讲,先解决问题,再从原理上讲。楼主你教的这些,你的前端女友不会乐意听,因为貌似有很大篇幅你是站在后端的角度去讲后端需要会什么… 先吧女友工作上的难题解决了再说吧,什么 docker,bash 之类的 日后再说?
onice
    181
onice  
   2019-06-30 17:16:16 +08:00
可以参考下慕课上的课的目录: https://coding.imooc.com/class/355.html
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3642 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 04:30 · PVG 12:30 · LAX 20:30 · JFK 23:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.