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

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

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

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

昨天临时简单起草了提纲,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  
justRua
    1
justRua  
   2019-06-28 12:00:07 +08:00   ❤️ 10
好了,知道你有女朋友了,下一个
EZVIK
    2
EZVIK  
   2019-06-28 12:03:11 +08:00   ❤️ 1
好了,知道你有女朋友了,下一个
sxw11
    3
sxw11  
   2019-06-28 12:03:43 +08:00   ❤️ 11
哈哈,我原来给你一样的想法,也起草了一份比你这个更详细的大纲,后来实践证明我还是自己努力多挣钱养家吧。
zacharyjia
    4
zacharyjia  
   2019-06-28 12:04:19 +08:00
@sxw11 求分享🌝
birdrally
    5
birdrally  
   2019-06-28 12:04:50 +08:00 via iPhone
就 1 条:女友学习的意愿和动力有多大
如果只是平时问你几个问题或工作上找你帮点小忙,不用系统教,交了也是半途而废
Leigg
    6
Leigg  
   2019-06-28 12:08:28 +08:00 via iPhone
课堂生动有趣,
zgqq
    7
zgqq  
   2019-06-28 12:09:00 +08:00   ❤️ 1
有什么用
metrxqin
    8
metrxqin  
   2019-06-28 12:09:22 +08:00   ❤️ 8
你怎么找到女朋友的? 机房藏娇?
dengshen
    9
dengshen  
   2019-06-28 12:14:38 +08:00 via iPhone   ❤️ 2
希望楼主连载到 GitHub 造福更多人(包括我)
ben1024
    10
ben1024  
   2019-06-28 12:16:03 +08:00
好了,知道你有女朋友了,下一个
lonelygo
    11
lonelygo  
   2019-06-28 12:18:52 +08:00
学这些目标是?
shawshi
    12
shawshi  
   2019-06-28 12:22:00 +08:00
mark 自己也学习一下
okjb
    13
okjb  
   2019-06-28 12:22:51 +08:00 via Android   ❤️ 1
日、周、月、季、年计划有没有?学习没有目标会半途而废!关于所谓的基础?既然是前端,更多的是前端基础,例如基础语法、框架等!我觉得楼主安排有问题,web 开发者路线图( https://github.com/goodjack/developer-roadmap-chinese/blob/master/readme.md
my101du
    14
my101du  
   2019-06-28 12:28:11 +08:00 via Android
请问如何描述 plug and play 的特性?
suom
    15
suom  
   2019-06-28 12:29:31 +08:00 via Android
@sxw11 我觉得你这个想法非常对 233
loading
    16
loading  
   2019-06-28 12:30:29 +08:00 via Android   ❤️ 5
我一点进来就看到 bash,不如分手吧,这什么要求啊……
ChristopherWu
    17
ChristopherWu  
OP
   2019-06-28 12:32:50 +08:00
@birdrally 很大,只是我对她而言太亲密了不算权威而已- -
gbin
    18
gbin  
   2019-06-28 12:33:17 +08:00   ❤️ 2
这些一点都不系统,我的建议是补基础。
- 计算机网络
- 操作系统
- 数据结构和算法
- 数据库

当然,做前端的话可以侧重计算机网络,特别是 HTTP 协议。数据库和操作系统都应该简单做些了解,了解操作系统可以帮助她理解 JS 执行机制。另外,算法是每个程序员都应该重视的。
ChristopherWu
    19
ChristopherWu  
OP
   2019-06-28 12:35:30 +08:00
@okjb @loading 上面说了呀,我不教具体的前端。

你可以把这理解为大学课程+结合实际项目的科普与培训吧。
ChristopherWu
    20
ChristopherWu  
OP
   2019-06-28 12:36:20 +08:00
@gbin 算法与数据结构有的,还有刷 leetcode。只是我觉得这方面没什么好细分的,就没写了。

对,数据库我漏了。这个是必须的。还有操作系统。
Asice
    21
Asice  
   2019-06-28 12:37:03 +08:00   ❤️ 1
前端还学 bash,vim,docker,分布式,是来炫耀的吧,告辞
Mistwave
    22
Mistwave  
   2019-06-28 12:37:56 +08:00 via iPhone
想法不错,支持
bash 那里好像有点问题:
- 是上一个目录
.. 才是上级目录

别的没有细看,建议放 GitHub,方便勘误
heasy
    23
heasy  
   2019-06-28 12:38:06 +08:00 via iPhone
好了,知道你有女朋友了,下一个
ChristopherWu
    24
ChristopherWu  
OP
   2019-06-28 12:38:13 +08:00
@Asice 就简单讲讲。vim 是便于操作的快捷工具啊,有些小公司是需要用到 docker 来搞前端的,分布式你当成是小科普就好。
gbin
    25
gbin  
   2019-06-28 12:38:50 +08:00
@ChristopherWu 我倒是觉得像 Docker、K8S、Git 等这些工具类就不需要专门安排课程去讲了,需要的时候给点资料自己看就行,实在需要帮忙的时候再点播一下就行吧。
ChristopherWu
    26
ChristopherWu  
OP
   2019-06-28 12:38:53 +08:00
@Mistwave `-` 是回到上一次的目录呀。提纲中,我表达错了
ChristopherWu
    27
ChristopherWu  
OP
   2019-06-28 12:39:58 +08:00
@gbin 哈哈,你就当成有个白板,在前面讲就好。反正 k8s 与 docker 这些不会深入,就简单讲讲。git 的话,深入还是有必要的(深入也花不了多少时间)
shenyu1996
    28
shenyu1996  
   2019-06-28 12:42:23 +08:00
好好挣钱养她呀
cdwyd
    29
cdwyd  
   2019-06-28 12:42:36 +08:00 via Android   ❤️ 1
我觉得,楼主把这些删了吧。
强行交这些东西会把女朋友交没的。
learnshare
    30
learnshare  
   2019-06-28 12:44:35 +08:00   ❤️ 2
bash 和 vim 可以去掉,没必要。curl + HTTP 讲一讲就挺好了

iptable Docker ?分手吧
c4f36e5766583218
    31
c4f36e5766583218  
   2019-06-28 12:44:54 +08:00
```CTRL + r```是啥?
Ultraman
    32
Ultraman  
   2019-06-28 12:46:09 +08:00 via Android
Vim -1
okjb
    33
okjb  
   2019-06-28 12:48:00 +08:00 via Android
. 此层目录
.. 上一层目录
- 前一个工作目录
Mistwave
    34
Mistwave  
   2019-06-28 12:48:56 +08:00 via iPhone
我觉得分布式可以移除
理论基础方面就从数据结构算法和操作系统开始,网络不用太深,HTTP 先了解下,以后有必要再深入研究。
实践方面也很重要,比如提纲里的 bash git vim 就很好,磨刀不误砍柴工。
shawndev
    35
shawndev  
   2019-06-28 12:49:44 +08:00   ❤️ 2
http 需要讲。其他倒不是说不需要之道,而是有更多优先级更高的东西需要讲。

ascii,gbk,utf8 和 utf16 什么关系。

正则表达式相关。

tcp,udp,websocket。

base64 是什么,为什么需要 base64。

xsrf,xss,sql 注入,重放攻击,中间人攻击的概念与防范。
c4f36e5766583218
    36
c4f36e5766583218  
   2019-06-28 12:52:37 +08:00
@ChristopherWu https://www.v2ex.com/t/578253?p=1#r_7549574
```-```的另一个意思:man wget
-O file
--output-document=file
The documents will not be written to the appropriate files, but all will be concatenated together and written to file. If - is used as file, documents
will be printed to standard output, disabling link conversion. (Use ./- to print to a file literally named -.)
strugglexiang
    37
strugglexiang  
   2019-06-28 12:53:38 +08:00 via Android
你会后悔的
shawndev
    38
shawndev  
   2019-06-28 12:55:20 +08:00
@ChristopherWu

9012 年了,vim 能做的有哪些 vscode 做不到? vscode 能做的有哪些 vim 做不到?

我也是命令行和 vim 偏好者。但从工程实践的角度,我并不觉得 vim 仍然适合新手入门。

gcc+gdb+cmake 编写的程序一定比 visual studio 质量高吗,我看未必。只不过是有耐心学习 gcc,gdb,cmake 的人,多半已经可以编译出质量还不错的代码完成工作,才有心思和精力去学习这些工具。
uasier
    39
uasier  
   2019-06-28 12:55:24 +08:00 via Android
关注,希望出一个仓库!!!
ChristopherWu
    40
ChristopherWu  
OP
   2019-06-28 12:56:41 +08:00
@shawndev 等等。。别急。 vim 跟 vscode 或者其他 ide 不是对立的。 其他 ide 可以整合 vim 的插件,从而做到少用鼠标,给编辑带来一丝快感。

vscode 的很多东西 vim 代替不了。
xth12138
    41
xth12138  
   2019-06-28 12:56:56 +08:00 via Android
收藏,我觉得我基础也挺差的,跟着学学
ChristopherWu
    42
ChristopherWu  
OP
   2019-06-28 12:56:56 +08:00
@shawndev 所以我提纲写的是整合到 ide。
ChristopherWu
    43
ChristopherWu  
OP
   2019-06-28 12:57:38 +08:00
@c4f36e5766583218 搜索 bash 的历史命令。
ChristopherWu
    44
ChristopherWu  
OP
   2019-06-28 12:58:30 +08:00
@shawndev 加密 还有 encode 这块会结合我这篇文章说,https://yonghaowu.github.io//2016/10/15/Base-RSA-MD-SHA/
谢谢建议~
coosir
    45
coosir  
   2019-06-28 12:59:37 +08:00   ❤️ 1
好了,可以分手了,下一个
FEDT
    46
FEDT  
   2019-06-28 13:01:29 +08:00 via iPhone   ❤️ 2
喜欢把怎么找女朋友列个提纲🐶
dremy
    47
dremy  
   2019-06-28 13:02:03 +08:00 via iPhone
这些知识应该是做前端的基础吧,如果都不了解怎么做的前端,真有公司会要吗
ChristopherWu
    48
ChristopherWu  
OP
   2019-06-28 13:04:16 +08:00
@dremy 我列出的东西是超纲了。。其实很多前端都不了解吧?
AndroidEngineer
    49
AndroidEngineer  
   2019-06-28 13:07:09 +08:00
好了,知道你有女朋友了,下一个
shawndev
    50
shawndev  
   2019-06-28 13:11:06 +08:00   ❤️ 1
@ChristopherWu 没急,你的规划很大程度上不适合前端工程师,也不适合基础不牢的工程师。

比如你说学习 bash 和 python,如果不能体会当前工作使用的编程语言有哪些优势和缺陷,一味的学习新语言,并不能起到有效的效果。

举个例子,我的一个亲戚,非名校数学博士,看到算法岗位很热门,找我学编程。给自己规划的学习路径是从 c 语言入门,精通 c 语言之后开始学 python,精通 python 之后开始学 java。有必要吗?从算法的角度讲,大家都是图灵完备的语言,有必要学这么多语言吗。

基础不牢,就多看标准库,多看语言的运行时实现。而不是因为 python 的第三方库多,就去学 python。

总之,重要的是交给她学习其他知识必要的前提,而不是教给她知识。任你告诉她 vim 多么好用,跳转到首行和尾行哪个是 shift+g,哪个是 gg。d5d 删除怎么看行号,5 行是从当前行还是下一行开始。这些便捷性,对于新手而言是痛苦的。
zgpgzhangpeng
    51
zgpgzhangpeng  
   2019-06-28 13:19:34 +08:00
好了。。。
saberlove
    52
saberlove  
   2019-06-28 13:20:43 +08:00
好了,知道你有女朋友了,下一个
LicV587
    53
LicV587  
   2019-06-28 13:25:30 +08:00   ❤️ 1
Phishion
    54
Phishion  
   2019-06-28 13:27:25 +08:00
好了,知道你有女朋友了,下一个
laocp
    55
laocp  
   2019-06-28 13:35:04 +08:00
好好的不好吗?
EscYezi
    56
EscYezi  
   2019-06-28 13:37:32 +08:00 via iPhone
- 是上一次切换到的路径,..才是上级目录
forYou
    57
forYou  
   2019-06-28 13:38:29 +08:00
强行教这些东西会把女朋友交没的。
JerryCha
    58
JerryCha  
   2019-06-28 13:40:29 +08:00
知道你不是来打公众号广告的了
有的内容已经完全是运维的范畴了
WordTian
    59
WordTian  
   2019-06-28 13:40:43 +08:00 via Android
选她工作可能会涉及的讲
Caballarii
    60
Caballarii  
   2019-06-28 13:44:03 +08:00
一起做 leetcode 题挺好的,都拿自己最擅长的语言使
Mosugar
    61
Mosugar  
   2019-06-28 13:45:33 +08:00
可以连我也一起教教吗
yiyi11
    62
yiyi11  
   2019-06-28 13:45:54 +08:00
建议实事求是,你写的这些只教 HTTP 的那部分,其他的免了,写这么多也许是自己看着觉得爽而已。
flyingghost
    63
flyingghost  
   2019-06-28 13:46:16 +08:00
还列教学大纲?
你这样迟早要把女票给教没了我告诉你!

正确的做法是:
1,努力学习前端,女票日常开发有哪些可以自动化的工作,赶紧写工具,优化她的日常工作体验。
2,女票日常遇到的疑难问题随时交给你搞定。24 小时待命,任务执行时间不超过 12 小时。
3,如果女票愿意,出钱送女票去培训班、夜大、脱产成教。
4,努力赚钱养家。这是最重要的。
missnote
    64
missnote  
   2019-06-28 13:46:39 +08:00
mark,先马后看!
MarginK
    65
MarginK  
   2019-06-28 13:47:42 +08:00   ❤️ 2
楼主介意多一个男朋友吗?我想跟你学,教教我这些基础?
ChristopherWu
    66
ChristopherWu  
OP
   2019-06-28 13:48:18 +08:00
@JerryCha 我公众号都没有贴。。你这揣测得,我要是来打广告,我就是很全的大纲,再附上课程,再贴公众号,再拉群了。。。。
yiyi11
    67
yiyi11  
   2019-06-28 13:48:32 +08:00
最好教了一段时间之后来反馈下情况,我希望能打我脸(手动狗头)
ChristopherWu
    68
ChristopherWu  
OP
   2019-06-28 13:51:26 +08:00
@shawndev 都是图灵完备,但是每个语言偏向的不一样 = = 如 函数式语言( elixir, haskell, scheme ) vs 面向对象式语言(java, C++) vs python(ruby) 脚本这样的语言,学习注重的地方都不一样。

对于一个只会 node ( js )的前端,我认为学会 python 是必要的。。

而且 bash 脚本的语法以及背后的坑很多,用 py 代替 bash 写脚本也是必要的。
ChristopherWu
    69
ChristopherWu  
OP
   2019-06-28 13:52:05 +08:00
@yiyi11 一个情况没有说明,我跟女票都离职呆家里了。时间很多,教是可以的。
ChristopherWu
    70
ChristopherWu  
OP
   2019-06-28 13:53:14 +08:00
@MarginK @Mosugar 我计划买个白板然后讲,顺带录一下简单的视频。假如我分享一两个朋友觉得好的话,会分享出来 - -
darknoll
    71
darknoll  
   2019-06-28 13:53:47 +08:00   ❤️ 1
东一榔头西一棒槌
ChristopherWu
    72
ChristopherWu  
OP
   2019-06-28 13:55:01 +08:00
@flyingghost 你说的有道理,亲密的人不适合授课。不过我们都有时间,我认真准备一下,可以的。

另外我想说一下,我想教有一小部分被 https://www.douban.com/note/606247970/ 这位耐心的哥哥鼓励了。。
我对于女票,同样可以多付出一些啊。
brust
    73
brust  
   2019-06-28 13:55:30 +08:00
好了,知道你有女朋友了,下一个
Roseboy
    74
Roseboy  
   2019-06-28 14:11:17 +08:00
好了,知道你变向撒狗粮,你可以走了,下一个~
qwerrewt
    75
qwerrewt  
   2019-06-28 14:13:11 +08:00
参考:教女朋友打游戏
结论:永远不可能成功
fengfisher3
    76
fengfisher3  
   2019-06-28 14:14:00 +08:00
好了,知道你有女朋友了,下一个~~
crabtsk
    77
crabtsk  
   2019-06-28 14:17:51 +08:00
战略性 mark
我女票也是前端,前端以外的知识积累很少,我也想给她补一下
ho121
    78
ho121  
   2019-06-28 14:18:14 +08:00 via Android
Bash 的小 tips
使用 zsh

Linux 的小 tips
使用 Windows
szandy6
    79
szandy6  
   2019-06-28 14:29:42 +08:00
好了,学完就可以分手了,下一个
lllllliu
    80
lllllliu  
   2019-06-28 14:33:37 +08:00
C 语言
数据结构
C 语言实现常用数据结构
线代
C 语言实现常用算法
C 语言 socket
C 语言网络
在穿插你的那些基础知识,在过渡到其他语言。。
还要将编程思想 /模式。。。
sherryqueen
    81
sherryqueen  
   2019-06-28 14:35:12 +08:00
mark 下 自己学习. 顺便问下 哪里找女票呀
x7395759
    82
x7395759  
   2019-06-28 14:38:55 +08:00
从 0 开始呀我擦
zzl93
    83
zzl93  
   2019-06-28 14:39:38 +08:00   ❤️ 2
感觉这些都是后端需要学习的知识,前端也有很多要学习的
1.JavaScript 的核心原理、浏览器的工作原理、前端性能调优、UI 设计。
2.js 就分 ECMAScript 6.0、typescript 不同的规范
3.还有前端框架 vuejs,react.js
4.html5 和 css3 新概念,css3 引申出来的 Canvas、SVG 和 WebGL 等,css3 就可以做出很多非常丰富的渲染效果和动画效果。
额,我也是个后端,以上是根据极客时间上陈皓的专栏《左耳听风》中的程序员练级攻略的前端方向相关文章总结的。里面还有很多文章链接推荐和书籍的推荐。

最后你作为一个后端,如果不知道如何教前端女友,不如一起做一个项目呀。
szandy6
    84
szandy6  
   2019-06-28 14:40:47 +08:00
提纲可以用三本书替代:
1、鸟哥的 linux 私房菜 https://book.douban.com/subject/4889838/
2、深入理解计算机系统 https://book.douban.com/subject/26912767/
3、TCP/IP 详解 卷 1 https://book.douban.com/subject/1088054/
另外,零基础入门后端不是个好主意,要学的东西多且时间长,还是考虑前端吧。
beastk
    85
beastk  
   2019-06-28 14:41:00 +08:00 via iPhone   ❤️ 1
我媳妇当年让我教英语,只要我一开始念单车和阅读理解,她就开始困,英语没学好,睡眠倒是一直可以。
guisheng
    86
guisheng  
   2019-06-28 14:42:37 +08:00
docker 和 k8s 也要教吗?
redford42
    87
redford42  
   2019-06-28 14:43:55 +08:00
b 站
crush cousrce 计算机速成
whypool
    88
whypool  
   2019-06-28 14:52:24 +08:00
分了吧

这些对前端基本无卵用

切图仔需要二进制 buff ?
Lonfrank
    89
Lonfrank  
   2019-06-28 15:09:52 +08:00
好了,知道你有女朋友了,下一个
sheilasheila
    90
sheilasheila  
   2019-06-28 15:12:37 +08:00
等你讲完你可能就没有女朋友了
LaicZhang
    91
LaicZhang  
   2019-06-28 15:13:51 +08:00
好了,知道你有女朋友了,下一个
noobcoder1
    92
noobcoder1  
   2019-06-28 15:22:07 +08:00
估计离分手不远了。。。。。
Constellation39
    93
Constellation39  
   2019-06-28 15:23:33 +08:00
好了,知道你有女朋友了,下一个
pyfan
    94
pyfan  
   2019-06-28 15:23:48 +08:00
你这么教女朋友,会绝交
real3cho
    95
real3cho  
   2019-06-28 15:24:14 +08:00
学 vim 你怕不是想分手
ninjachen
    96
ninjachen  
   2019-06-28 15:36:54 +08:00   ❤️ 2
劝你不要这么做,曾经我有个女朋友,然后普及了下科普,也就是 cd cp mv vi 的 insert 和 quit。
现在没了。。。
ASpiral
    97
ASpiral  
   2019-06-28 15:39:37 +08:00
光看提纲看不出是给前端看的,没有针对性
你说你女朋友基础差,那她大概有哪些基础也得列出来吧
KIMMG
    98
KIMMG  
   2019-06-28 15:41:15 +08:00
实事求是,如果真的想精进,还是肯三大宝典吧。如果并不是想精进,只是想了解概念的话,直接推公众号,不少公众号有文章看个入门足够了。
shentt715
    99
shentt715  
   2019-06-28 15:41:51 +08:00
希望能再 gitbhub 上看到,毕竟我一个当会计的,发现计算机才是真爱。
shuizhengqi
    100
shuizhengqi  
   2019-06-28 15:43:38 +08:00
怎么上来就搞起来 docker 了
1  2  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4093 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 07:00 · PVG 15:00 · LAX 00:00 · JFK 03:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.