大道至简
工作中涉及Nginx module开发,分析Nginx/tengine代码
每个 module 必须有 ngx_module_t,且在module不同生命周期都支持 hook 函数
阅读全文
salt 只用一次,用于生成 cipher,和 salt 类似的概念叫initial vector(初始化向量),可认为 salt 和 iv 是等价的概念。
从tun读出来后再写入tun,下次读还会将自己刚写入的packet读出来,如果设置默认路由是tun网卡,会导致死循环。下文会介绍解决routing loop的多种方法
将LT想象成scope不太容易理解,可以将其想象成链。标注同一个的引用必须共存亡。通过 ‘a, 多个引用链在一起。![将引用比作绳子]](https://user-images.githubusercontent.com/24750337/114650520-fb8a8c80-9d14-11eb-93a0-3ee191ff4938.png)
我概括一下,引入 Future 必须解决自引用被swap的问题
Pin通过 提供 &Self 来让编译器进行入参检查,mem::swap(& mut self) 需要 mut 类型,所以编译器类型检查失败而退出
Pin的作用是防止move,但如果程序员小心处理,那就不会出错。为什么还需要Pin呢?
目标是给 Deno 项目贡献代码,结果发现我还不会 Rust ……,所以要先啃 Rust
比如我们有个表(UserLiked)记录用户喜欢的 workspace 内容,且一个用户可以喜欢多个 workspace
前端的 UI 展现是用户点击 like 界面显示出用户全部喜欢的 workspace
现在有下面两种表结构,你觉着哪种不错?
注意,MYSQL并不支持Array类型,这里只是比较表设计。
比如如下代码
1234567891011121314
interface InputProps { label: string;}interface SelectProps { name: string;}export interface InputType { input: InputProps; select: SelectProps;}export type FormItemDefinition = { type: 'input' | 'select'; componentProps?: any}
我们明明可以在async之后直接调用dispatch,为什么又要多此一举引入中间件呢?
为什么需要中间件来处理Redux异步数据流?