首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
叫我书豪就行了
掘友等级
希望能让你自由。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
16
文章 9
沸点 7
赞
16
返回
|
搜索文章
最新
热门
《Streaming Systems》读书笔记(四):Advanced Windowing
因为本书是多人合著的,所以不同的章节风格都有所不同。另外还有一个额外的好处是可以带你复习一下前面的概念。 窗口是基于事件时间模型的一等公民。对于处理时间窗口,则有两种通常的方法: 第一个就是定时触发计算,而第二个就是根据数据的到达时间来计算。这里的概念比较容易让人迷惑,主要是两…
《Streaming Systems》读书笔记(三):Watermark
感觉这一章写的……怎么说呢,都是概念,而并没有像我预期的一样,提供什么银弹。 形而上学的说,Watermark 是解决一个持续性数据处理管道何时关闭事件时间窗口的工具。之前我们可以看到,使用处理时间作为窗口的时间这种方法并不合理。这里书中还提到一种方法,是观察信息处理的速率。然…
《Streaming Systems》读书笔记(二):The What, Where, When, and How of Data Processing
在本章中主要是理解三个概念:Trigger,Watermark 和 Accumulation。这些概念的引入主要是和流处理的过程息息相关。首先以批处理为例:What 代表的是数据将得到什么样的结果,即 Transformation;Where 就是在 window上进行计算。现…
Golang 开始的函数式数据结构
这个东西有很多叫法,比如函数式(Functional)数据结构,持久化(persist)数据结构,或者不可变(Immutable)数据结构。函数式数据结构似乎最早出现在 CMU 教授Chris Okasaki的Purely Functional Data Structures文…
算法珠玑(二):栈
每种数据结构其实都有其语义。比如,树代表着均摊,而栈代表着回溯。 42. Trapping Rain Water 从图中可以看到,蓝色区域可以被划分为同样的宽度为 1 的柱子。这样,每个柱子的高度就比较容易计算了,它是左右最高的柱子当中比较小的那个,同时还要去掉它所在的位置黑色…
算法珠玑(一):并查集
本系列是来自对一个算法题库算法珠玑的模仿🤣。 我个人比较喜欢尽可能好一点的解法,因此许多问题我都会瞥一眼 LeetCode 排行里最佳的答案(一般都是屡有收获),或者看一下网上的解答。不过,也许依然不能穷尽所有的最佳解法,如有更好的思路烦请不吝赐教。 在所有题目中,并查集用不…
Princeton 算法课笔记(一)
最近打算重新过一遍算法,就把以前学习该课程时所记的顺便整理了出来。这门课真的很棒,说实话我个人甚至觉得比当初看 MIT 的算法导论体验更好,比较偏向于实用而不是理论(也可能是 MIT 的太难了)。 第一部分里涉及到的经典问题是动态连通性问题。这个安排我觉得还挺新奇的,因为以前不…
Kafka的高性能设计要点
满足顺序写的前提是追加操作占绝大多数的场景。最早从 GFS 开始,就通过剥夺随机写,即修改文件的权力,来获得更高的效率。我们在 Kafka 中看到的各种术语,比 如log,segment,compact,其实都是来源于一种叫做 LSM 树的数据结构。而设计 LSM 树的这篇文章…
从有锁到无锁(五):管程与阻塞同步
管程是一种模块化的同步方式,类似于类混合了数据和操作数据的方法。比如说生产者消费者队列,不应该由调用者来管理同步: 这样写就会给客户端造成状态管理的麻烦。显然,如果线程试图入队一个已满的队列,应该挂起(阻塞)线程直到可以插入。这里的管实际上是代为管理同步的意思。 当线程请求锁时…
从有锁到无锁(四):锁的实现
这周面试的时候被面试官问到AQS,回答得比较尴尬,所以提前把AQS相关的内容整理出来了。本来第四篇准备写一下栈或者哈希的并发数据结构…… 在介绍互斥锁的实现之前,我们需要了解一堆多线程模型的基本概念:竞态条件、临界区、忙等待、死锁、饥饿等。 在多线程模型中,由于线程之间的执行顺…
下一页
个人成就
文章被点赞
39
文章被阅读
54,195
掘力值
1,204
关注了
18
关注者
37
收藏集
0
关注标签
19
加入于
2018-06-28