WebRTC(Web Real-Time Communication)
- 让浏览器和移动应用能够直接进行实时通信,而无需借助中间服务器。
- 这种通信包括视频通话、语音聊天以及文件共享等。
- WebRTC 的核心优势在于它的点对点(P2P)连接能力,这大大降低了延迟,提高了通信效率。
在核心层面上,DES 是一种将系统建模为一系列特定时间点发生的离散事件的方法。每个事件都会触发系统状态的变化,比如机器的启动或停止,顾客的到来或离开,或者信号的发送或接收。通过专注于这些关键时刻,DES 提供了对系统动态的细粒度视图,而不会在连续的时间流中迷失。
DES 在对时间和资源分配至关重要的行业展现出强大的优势。它的应用与它所仿真的系统一样多样化:
进入SimPy - 一个强大的、基于过程的、用于 Python 的离散事件仿真框架。 SimPy 提供了一种清晰简洁的方式来建模 DES 系统,利用了 Python 的简单性和多功能性。通过 SimPy,您可以定义事件、管理资源,并以直观高效的方式仿真过程,使其成为学术界和工业界的优秀工具。
在 docker-compose.yml 文件中,如果你为两个或多个服务指定了相同的 build 配置,那么每个服务都会使用相同的构建上下文和 Dockerfile 来构建镜像。这意味着它们不会共享同一个镜像实例,而是每个服务会独立地构建自己的镜像。
| 对衍生品的要求 | Apache2 | MIT | GPL | LGPL | BSD | 说明 |
|---|---|---|---|---|---|---|
| 传染性 | 不允许 | 允许 | 不允许 | 库不允许 App 允许 | 允许 | 是否允许衍生品更改 License? |
| 许可条款 | 允许 | 允许 | 允许 | 允许 | 允许 | 是否允许修改、分发原项目的源代码? |
| 保留原始版权声明 | 必须 | 无需 | 必须 | 库必须 | 各版本不一致 | 是否在修复、分发、衍生品中保留 License? |
| 开源要求 | 强制开源 | 不要求 | 强制开源 | 库强制开源 App 可选 | 各版本不一致 | 衍生代码是否必须开源? |
| 专利许可 | 授予 | 不授予 | 不授予 | 不授予 | 不授予 | 是否允许衍生品免费使用原开源项目的专利? |
| 附加条款 | 允许 | 不允许 | 不允许 | 不允许 | 各版本不一致 | 是否允许衍生品增加个性化条款? |
| 是否可商用 | 允许 | 允许 | 允许 | 允许 | 允许 | 开源都可用于商用,概念其实不相关 |
摘要:
假设一个文件中包含下面几句:
if __name__ == "__main__":
print("Hello")
exit
如果在 git master 分支中修改了一句:
print("Hello world")
另外一个分支 b1 先做了相同的修改,做了 git 提交,然后后删除了 world 回到原始状态,又做了 git 提交。
此时 merge 两个分支:

结果中 world 有?还是没有?
前天的工具优化了一下:
这里的 Web 框架不包括 Web Server(HTTP Server、CGI Server……),也不包括微服务框架,仅是 MVC 层面上的框架。
还是按 star 数量排序。
| NO | ProjectName | Star/k | Fork/k | Size/M | CreateDate | LatestPush | License | Repo |
|---|---|---|---|---|---|---|---|---|
| 1 | gin | 74.8 | 7.8 | 3.2 | 2014-06(10) | 2024-03-17 | mit | gin-gonic/gin |
| 2 | beego | 30.7 | 5.6 | 11.4 | 2012-02(12) | 2024-03-12 | other | beego/beego |
| 3 | echo | 28.2 | 2.2 | 6.4 | 2015-03(9) | 2024-03-13 | mit | labstack/echo |
| 4 | iris | 24.8 | 2.5 | 17.8 | 2016-01(8) | 2024-03-13 | bsd-3-clause | kataras/iris |
| 5 | gf | 10.7 | 1.5 | 119.6 | 2017-06(7) | 2024-03-17 | mit | gogf/gf |
| 6 | bud | 5.5 | 0.2 | 25.7 | 2022-04(2) | 2023-11-24 | mit | livebud/bud |
| 7 | hertz | 4.6 | 0.4 | 2.7 | 2022-05(2) | 2024-03-10 | apache-2.0 | cloudwego/hertz |
| 8 | algernon | 2.6 | 0.1 | 57.7 | 2015-03(9) | 2024-03-10 | bsd-3-clause | xyproto/algernon |
-------- 采样时间: 2024-03-20
最近有个新项目,要重新选型 Admin 系统,但发现 https://www.githubcompare.com/ 频频异常,就自己写了个脚本,从 https://api.github.com/repos/... 下获取数据,然后抓取出自己关心的字段,再做横向对比。
数据抓取结果如下:
ProjectName CreateDate LatestPush Star/k Fork/k Size/M License Repo
vue-vben-admin 2020-07(4) 2024-03-15 21.7 5.9 23.2 mit vbenjs/vue-vben-admin
vue-manage-system 2016-11(7) 2024-01-12 18.1 5.9 3.1 mit lin-xin/vue-manage-system
vue-pure-admin 2020-11(3) 2024-03-17 13.2 2.5 192.6 mit pure-admin/vue-pure-admin
Geeker-Admin 2022-04(2) 2024-03-04 6.1 1.3 28.5 mit HalseySpicy/Geeker-Admin
naive-ui-admin 2021-07(3) 2024-03-04 4.5 0.8 1.3 mit jekip/naive-ui-admin
yudao-ui-admin-vue3 2023-02(1) 2024-03-01 0.9 0.4 10.2 mit yudaocode/yudao-ui-admin-vue3
-------- 采样时间: 2024-03-18
将 rust 标准库中的几个常用类型的方法安装第一个入参(即:Move、借用、可变借用)分组整理,以便开发时做个参考。
| Type | (..) | (self..) | (&self..) | (&mut self..) |
|---|---|---|---|---|
| Cow | from() | into_owned() | to_mut() | |
| Cell | from()from_mut()new() | into_inner() | set()get()take()replace() | get_mut() |
| RefCell | from()new() | into_inner() | borrow()borrow_mut()take()replace() | get_mut() |
| Vec | from()new()with_capacity() | into_boxed_slice() | len()capacity()is_empyt() | insert()append()push()pop()remove()drain()clear()splice()reserve()resize()shrink_to()truncate() |
| BTreeMap | from()new() | into_keys()range() | get()len()keys()values()iter()get_key_value()first_key_value()last_key_value()contains_key()is_empyt() | insert()append()extendretain()remove()pop_first()pop_last()entry()first_entry()last_entry() |
| HashMap | from()new() | keys()into_keys()capacity() | get()len()values()iter()is_empty() | insert()extendretain()drain()remove()remove_entry()reserve()entry() |
| Box | from()new()leak()pin() | downcast()split() | borrow() | borrow_mut()consume()read_line() |