Actor Model 编程模型浅谈

本文转载自 http://jiangew.me/actor-model/

    阅读全文

    Redux-thunk代码分析

    下面是redux的applyMiddleware代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    export default function applyMiddleware(
    ...middlewares: Middleware[]
    ): StoreEnhancer<any> {
    return (createStore: StoreEnhancerStoreCreator) => <S, A extends AnyAction>(
    reducer: Reducer<S, A>,
    preloadedState?: PreloadedState<S>
    ) => {
    const store = createStore(reducer, preloadedState)
    let dispatch: Dispatch = () => {
    throw new Error(
    'Dispatching while constructing your middleware is not allowed. ' +
    'Other middleware would not be applied to this dispatch.'
    )
    }

    const middlewareAPI: MiddlewareAPI = {
    getState: store.getState,
    dispatch: (action, ...args) => dispatch(action, ...args)
    }
    const chain = middlewares.map(middleware => middleware(middlewareAPI))
    dispatch = compose<typeof dispatch>(...chain)(store.dispatch)

    return {
    ...store,
    dispatch
    }
    }
    }

    阅读全文

    我眼中的Redux

    现代大型React应用必须要用一个中央数据存储便于不同组件之间共享数据

    奈何本人水平太菜,接触Redux时扑面而来一堆概念,明白特地花了一张图搞明白它~~ 今后有机会一定持续更新🤣

    图中部分代码来自Redux官网 https://redux.js.org/basics/actions

    阅读全文

    读Go泛型提案有感

    原本我以为Go添加泛型就加个type注释就可以,刚读了一遍Go generic proposal,发现要考虑的很多

    提案里用C++类比,很久没写,不怎么熟悉,我用Java举例子

    如下Go代码

    1
    2
    3
    4
    5
    6
    7
    // This function is INVALID.
    func Stringify(type T)(s []T) (ret []string) {
    for _, v := range s {
    ret = append(ret, v.String()) // INVALID
    }
    return ret
    }

    这份代码问题在于,v只是T类型,编译系统无法确定T类型含有String()方法,在Go中,全部的字段都会在编译时进行解析绑定,所以Go不允许上面的写法

    阅读全文

    复习大学算法课

    挺多东西时间长了不接触都忘记了

    10÷6=1...4
    10是被除数,6是除数,1是商,4是余数

    4 == 10 % 6

    两数相除,除数变被除数,余数变除数

    设余数为x

    阅读全文

    一个简单的React模板以及一些React运作流程的简短分析

    我知道你看不懂的 😂

    阅读全文

    microsoft pinyin horizontal or vertical switcher bug fix

    如果你使用Windows 2004H版本的pinyin 输入法,那么有一定概率 horizontal/vertical 失效

    如果下图 vertical 模式,你不管点击多少次,永远不能切换成 horizontal 模式
    image

    阅读全文

    视频格式基础知识:让你了解MKV、MP4、H.265、码率、色深等等

    转载自

    https://www.4k123.com/thread-8194-1-1.html

    1、封装格式(MP4/MKV…) vs 媒体格式(H.264/FLAC/AAC…)

    MP4+MKV是你下载的视频文件最常见的种类。这些文件其实类似一个包裹,它的后缀则是包裹的包装方式。这些包裹里面,包含了视频(只有图像),音频(只有声音),字幕等。当播放器在播放的时候,首先对这个包裹进行拆包(专业术语叫做分离/splitting),把其中的视频、音频等拿出来,再进行播放。

    阅读全文

    英语思维-不断更新

    关于英语思维

    我理解英文句子的时候总是有点不对劲,但不知道具体是哪里

    翻译英文句子的时候总是对照着中文翻译,但这样的英文读起来就是中国式英语。

    英语中介词短语和从句应用非常广泛,往往一个句子首先出现的是主谓宾,然后通过whoi,where等从句进一步解释

    我需要熟练上述英语的表达方式才行

    举个例子

    阅读全文

    Nginx如何处理请求?--翻译

    本文翻译自:

    http://nginx.org/en/docs/http/request_processing.html#simple_php_site_configuratio

    基于域名的虚拟服务器

    nginx首先确定使用哪个server来处理请求。让我们看下面简单的配置,这三个server都监听80端口

    阅读全文