(一)必看导言
1.为什么要学习 Python
- 开发Agents目前主要有两种语言:
Python和TypeScript
| Python | TypeScript | |
|---|---|---|
| AI生态 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 学习内容 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 优先场景 | 服务端 | 客户端 |
Python 和 TypeScript| Python | TypeScript | |
|---|---|---|
| AI生态 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 学习内容 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 优先场景 | 服务端 | 客户端 |
SVG,Scalable Vector Graphics,可缩放的矢量图形
<img> 引入的图片,可以右键另存MVVM 是 Model-View-ViewModel 的缩写。MVVM 是一种设计思想。
在 MVVM 架构下,View 和 Model 之间并没有直接的联系,而是通过 ViewModel 进行交互, Model 和 ViewModel 之间的交互是双向的, 因此 View 数据的变化会同步到 Model 中,而 Model 数据的变化也会立即反应到 View 上。
TCP 协议通过三次握手建立可靠的点对点连接,具体过程是:
首先服务器进入监听状态,然后即可处理连接
第一次握手:建立连接时,客户端发送 syn 包到服务器,并进入 SYN_SENT 状态,等待服务器确认。在发送的包中还会包含一个初始序列号 seq。此次握手的含义是客户端希望与服务器建立连接。
第二次握手:服务器收到 syn 包,然后回应给客户端一个 SYN+ACK 包,此时服务器进入 SYN_RCVD 状态。此次握手的含义是服务端回应客户端,表示已收到并同意客户端的连接请求。
// require函数的伪代码
function require(path) {
if (该模块有缓存吗) {
return 缓存结果;
}
function _run(exports, require, module, __filename, __dirname) {
// 模块代码会放到这里
}
var module = {
exports: {},
};
_run.call(module.exports, module.exports, require, module, 模块路径, 模块所在目录);
// 把 module.exports 加入到缓存;
return module.exports;
}
exports.a = "a";
module.exports.b = "b";
this.c = "c";
module.exports = {
d: "d",
};
/*
{
d: 'd'
}
*/
面试题:vue 组件之间有哪些通信方式?
绝大部分 vue 本身提供的通信方式,都是父子组件通信
整个页面可以看做是一幅画,这幅画是由浏览器绘制出来的,浏览器绘制这幅画的过程称之为渲染。
渲染是一件复杂的工作,它大致分为以下几个过程:
如:有半杯 82 年的可乐,想分享给朋友王富贵,但已经 10 年没有联系了。要完成这件事,可能要考虑:
我用什么装可乐?
可能的方案:塑料瓶、玻璃瓶、煤气罐
怎么保证可乐始终处于低温?
可能的方案:保温杯、小冰箱、冰盒
如何保证可乐不被运输的人偷喝?
可能的方案:封条、在上面写「毒药」
如何获取王富贵的地址?
可能的方案:报案失踪、联系私人侦探、联系物流公司的朋友
如何运输?
可能的方案:自行车、汽车、火车、高铁、飞机、火箭
这就形成了一个分层结构