获得徽章 7
MENA是“中东和北非”的缩写,指的是包括中东地区和北非地区的国家。具体国家包括但不限于:
中东:阿联酋、沙特阿拉伯、以色列、约旦、伊拉克、伊朗、叙利亚、黎巴嫩等。
北非:埃及、利比亚、阿尔及利亚、摩洛哥、突尼斯、毛里塔尼亚等。
MENA地区在地理、文化和经济上有其独特性,通常用于政治、经济和社会研究中。
中东:阿联酋、沙特阿拉伯、以色列、约旦、伊拉克、伊朗、叙利亚、黎巴嫩等。
北非:埃及、利比亚、阿尔及利亚、摩洛哥、突尼斯、毛里塔尼亚等。
MENA地区在地理、文化和经济上有其独特性,通常用于政治、经济和社会研究中。
展开
评论
1
数据库只有”悲观锁”, 悲观锁分两种,共享锁和排他锁;前者在sql语句后加lock in share mode,后者加for update
而"乐观锁”概念需自行实现(一般是通过增加version或timestamp字段来实现);
而"乐观锁”概念需自行实现(一般是通过增加version或timestamp字段来实现);
展开
1
点赞
P是在程序运行之初就创建好的,数量由GOMAXPROCS决定(最大256个),从go1.5以后默认即CPU的核数,1.5之前默认是一个。P绑定到M上执行运算,当一个OS线程也就是一个M陷入阻塞的时候,会释放出P,P转而寻找另一个M(M可能是被新创建,也可能来自于线程缓存),继续执行其他G,如果没有其他的idle M,但是P的local runqueue中仍有G需要执行,就会创建一个新的M。
展开
评论
点赞
3xx - 重定向
301 Moved Permanently:永久重定向
302 Found:临时重定向
304 Not Modified:资源未修改,使用缓存
307 Temporary Redirect:临时重定向(保持请求方法)
4xx - 客户端错误
400 Bad Request:请求语法错误
401 Unauthorized:未认证
403 Forbidden:无权限访问
404 Not Found:资源不存在
405 Method Not Allowed:方法不允许
408 Request Timeout:请求超时
409 Conflict:资源冲突
429 Too Many Requests:请求过多(限流)
5xx - 服务端错误
500 Internal Server Error:服务器内部错误
502 Bad Gateway:网关错误
503 Service Unavailable:服务不可用
504 Gateway Timeout:网关超时
301 Moved Permanently:永久重定向
302 Found:临时重定向
304 Not Modified:资源未修改,使用缓存
307 Temporary Redirect:临时重定向(保持请求方法)
4xx - 客户端错误
400 Bad Request:请求语法错误
401 Unauthorized:未认证
403 Forbidden:无权限访问
404 Not Found:资源不存在
405 Method Not Allowed:方法不允许
408 Request Timeout:请求超时
409 Conflict:资源冲突
429 Too Many Requests:请求过多(限流)
5xx - 服务端错误
500 Internal Server Error:服务器内部错误
502 Bad Gateway:网关错误
503 Service Unavailable:服务不可用
504 Gateway Timeout:网关超时
展开
2
3
**相比 HTTP/1.x,HTTP/2 在底层传输做了很大的改动和优化:**
## 单一长连接&多路复用
<br>
### 单一长连接:
> HTTP/2中,客户端向某个域名的服务器请求页面的过程中,只会创建一条TCP连接,即使这页面可能包含上百个资源。 单一的连接是HTTP2的主要优势,单一的连接能减少TCP握手带来的时延 。HTTP2中用一条单一的长连接,避免了创建多个TCP连接带来的网络开销,提高了吞吐量。
### 多路复用:
> 直白的说就是所有的请求都是通过一个 TCP 连接并发完成。HTTP/1.x 虽然通过 pipeline 也能并发请求,但是多个请求之间的响应会被阻塞的,所以 pipeline 至今也没有被普及应用,而 HTTP/2 做到了真正的并发请求。同时,流还支持优先级和流量控制。当流并发时,就会涉及到流的优先级和依赖。优先级高的流会被优先发送。图片请求的优先级要低于 CSS 和 SCRIPT,这个设计可以确保重要的东西可以被优先加载完。
HTTP1中,请求就因域名链接数已超过限制,而被挂起等待了一段时间
<br>
---
## 头部压缩和二进制格式
<br>
### 头部压缩:
> HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。而 HTTP/1.x 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源。头压缩能够很好的解决该问题。
1. HTTP/2在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键-值对,对于相同的数据,不再通过每次请求和响应发送;
2. 首部表在HTTP/2的连接存续期内始终存在,由客户端和服务器共同渐进地更新;
3. 每个新的首部键-值对要么被追加到当前表的末尾,要么替换表中之前的值。
### 二进制分帧:
> HTTP/2 采用二进制格式传输数据,而非 HTTP/1.x 的文本格式。 HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。
## 服务端推动Server Push
## 单一长连接&多路复用
<br>
### 单一长连接:
> HTTP/2中,客户端向某个域名的服务器请求页面的过程中,只会创建一条TCP连接,即使这页面可能包含上百个资源。 单一的连接是HTTP2的主要优势,单一的连接能减少TCP握手带来的时延 。HTTP2中用一条单一的长连接,避免了创建多个TCP连接带来的网络开销,提高了吞吐量。
### 多路复用:
> 直白的说就是所有的请求都是通过一个 TCP 连接并发完成。HTTP/1.x 虽然通过 pipeline 也能并发请求,但是多个请求之间的响应会被阻塞的,所以 pipeline 至今也没有被普及应用,而 HTTP/2 做到了真正的并发请求。同时,流还支持优先级和流量控制。当流并发时,就会涉及到流的优先级和依赖。优先级高的流会被优先发送。图片请求的优先级要低于 CSS 和 SCRIPT,这个设计可以确保重要的东西可以被优先加载完。
HTTP1中,请求就因域名链接数已超过限制,而被挂起等待了一段时间
<br>
---
## 头部压缩和二进制格式
<br>
### 头部压缩:
> HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。而 HTTP/1.x 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源。头压缩能够很好的解决该问题。
1. HTTP/2在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键-值对,对于相同的数据,不再通过每次请求和响应发送;
2. 首部表在HTTP/2的连接存续期内始终存在,由客户端和服务器共同渐进地更新;
3. 每个新的首部键-值对要么被追加到当前表的末尾,要么替换表中之前的值。
### 二进制分帧:
> HTTP/2 采用二进制格式传输数据,而非 HTTP/1.x 的文本格式。 HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。
## 服务端推动Server Push
展开
评论
点赞
Go 协程是否可以无限创建,怎么预估上限
不能无限创建,受限于:
内存限制:每个 goroutine 至少 2KB 栈空间
假设 8GB 内存,理论上限约 400 万个
调度开销:goroutine 过多会增加调度压力
系统资源:文件描述符、网络连接等
不能无限创建,受限于:
内存限制:每个 goroutine 至少 2KB 栈空间
假设 8GB 内存,理论上限约 400 万个
调度开销:goroutine 过多会增加调度压力
系统资源:文件描述符、网络连接等
展开
评论
点赞
我有一个服务器A和一个集群S,现在想在S上请求A的ip:port。但是现在不通。我该修改哪个安全组?
> 有一个服务器 A(它有 ip:port)
> 一个集群 S(想访问 A 的 ip:port,但是“不通”)
这说明方向是:
```
S → A
```
也就是:**S 发请求到 A**。
---
###
那么应该修改谁的安全组?
> **应该修改服务器 A 的安全组**。
理由如下:
- 服务器 A 是接收方,它的端口(如 `port`)需要**允许来自 S 的访问**。
- 集群 S 是发起方,一般默认允许出站(egress)流量,不需要修改。
> 有一个服务器 A(它有 ip:port)
> 一个集群 S(想访问 A 的 ip:port,但是“不通”)
这说明方向是:
```
S → A
```
也就是:**S 发请求到 A**。
---
###
> **应该修改服务器 A 的安全组**。
理由如下:
- 服务器 A 是接收方,它的端口(如 `port`)需要**允许来自 S 的访问**。
- 集群 S 是发起方,一般默认允许出站(egress)流量,不需要修改。
展开
评论
点赞
我想请大家思考一个问题:我们努力奋斗究竟是为了什么?很多人会说为了给孩子创造更好的条件。那么什么是"更好的条件"?是留给他们一笔钱、一套房子吗?是,但这些远远不够。
我们看过太多"富不过三代"的故事。没有驾驭财富的能力,再多的物质财富也可能被迅速消耗掉。
在我当父亲之后,我曾经想过,我的父母曾经给过我什么,我以后要传给我的孩子什么?比起一些物质上的东西,更重要的是家学传统:如何为人处世、如何学习知识、如何调节情绪、如何应对挫折、如何管理时间、如何选择伴侣、如何选择职业。
其中有一样东西非常重要,它可以形成代际复利,那就是如何投资、如何获得驾驭财富的智慧。
当你通过一生的学习和实践,形成了自己的投资体系和财富观念,你就拥有了一笔比金钱更宝贵的资产。你可以把这套智慧教给你的孩子,你可以告诉他什么是价值、什么是价格、什么是风险、什么是机会,如何看待金钱,如何通过耐心和常识让财富慢慢增长。
你传递给他的不仅仅是"鱼",更是"渔"。这种财富智慧的传承,才是让一个家族能够穿越时代剧变、"超长期复利"的基石。它能帮助你的后代建立起一个良性的财富循环,让家族的根基更加稳固。
从这个角度看,你今天开始学习投资,不仅仅是为你自己,更是为你整个家族的未来种下一颗希望的种子。这才是投资的最终意义。
---来自脑总的视频金句
我们看过太多"富不过三代"的故事。没有驾驭财富的能力,再多的物质财富也可能被迅速消耗掉。
在我当父亲之后,我曾经想过,我的父母曾经给过我什么,我以后要传给我的孩子什么?比起一些物质上的东西,更重要的是家学传统:如何为人处世、如何学习知识、如何调节情绪、如何应对挫折、如何管理时间、如何选择伴侣、如何选择职业。
其中有一样东西非常重要,它可以形成代际复利,那就是如何投资、如何获得驾驭财富的智慧。
当你通过一生的学习和实践,形成了自己的投资体系和财富观念,你就拥有了一笔比金钱更宝贵的资产。你可以把这套智慧教给你的孩子,你可以告诉他什么是价值、什么是价格、什么是风险、什么是机会,如何看待金钱,如何通过耐心和常识让财富慢慢增长。
你传递给他的不仅仅是"鱼",更是"渔"。这种财富智慧的传承,才是让一个家族能够穿越时代剧变、"超长期复利"的基石。它能帮助你的后代建立起一个良性的财富循环,让家族的根基更加稳固。
从这个角度看,你今天开始学习投资,不仅仅是为你自己,更是为你整个家族的未来种下一颗希望的种子。这才是投资的最终意义。
---来自脑总的视频金句
展开
评论
点赞