这篇博客是博主随便看看网络相关知识的随想页,不会对内容做很多的介绍,一方面因为这个教程已经很好了,不必再花时间重新整理,另一方面作为一个提要也是不错的
而且这个教程的翻译做的也很不错。
权当记录自己的随想。
log:#
- 2024年8月1日:更新了网络结构理解部分内容。
basic-knowledge:#
web,就我的感觉而言,是一种展示资源、提供交互的技术和协定。只有我们使用相同的理解方式和表达方式,才能有效交流。html规定了资源的组织形式,将想要传输的内容结构化;css给出了展示资源的具体细节,增强表现力;js则是由静态转为动态的关键一步,通过所谓“事件”来实现交互。
web 基本工具:#
html#
css#
javascript:#
主要包括 基本语法/dom/bom;
dom就是你有了对文档内的元素的控制权。
例如document.getElementById(elementId)
例如document.getElementByClassName(ClassName)
最好不要背,学会查
变量:#
js支持字符串,数字,布尔值,数组(但其实更像元组),和对象。js中一切皆对象,一切皆可存储在变量中访问。
注意var和let的区别,let比较接近以前学习的变量声明。
注释:#
等于C语言
运算符:#
除了(不)等于用(!==
)===
表示,其他暂时和C语言无异
条件:#
等于C语言
循环:#
等于cpp?
有最简单的for(int i=0),也有python那种for i in arr;还有foreach(迭代对象内置的迭代函数) 和for of(用在迭代对象中,比如新增的map和set)
函数:#
类似于变量命名,包含的是操作,比如
1 | function add(num1,num2){ |
数据类型:#
值类型和引用类型,除了object都是值类型。
对象:#
js中一切皆对象。
花括号扩起,类似于字典;
列表:#
方括号扩起,类似于列表;
事件:#
表示网站接受到的行为(可以是用户的行为,也可以是网站之间的)
jsx:#
jsx是js的扩展,其目的是方便动态对html的修改。现在动态修改比静态修改丰富太多,从以前的面向网站转向了面向动作设计。
这点好处被用在了react中。
react:#
js的框架,是用来帮助模块化构建ui界面的。使用jsx作为具体的流程描述规则。
最终react会在你给出的root下创建react文件相对应的应用。
echarts,d3,使用npm就可以拿下来。
ui组件:material ui,ant design;
网络结构理解:#
网络模型:#
用来分析网络的模型,实际不一定一样。比较接近现实的是TCP/IP模型,包括
TCP/IP:#
- 应用层
- HTTPS
- HTTP
- Cookies/Session
- SSL/TLS
- HTTP
- websocket等
- HTTPS
- 传输层
- socket
- TCP/IP
- 网络层
- 数据链路层
- MAC