- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 你的代码也是你的产品:代码的“说明书”属性
代码最常被当做“说明书”使用,所以如果想要提供好的产品体验,我们就要让代码尽可能的容易理解,并且便于阅读。
2023-08-23 00:01:09
441
原创 为什么技术人要懂一点产品?
在技术领域,程序员和产品经理之间的互动常常充满着矛盾与合作。产品sense涵盖了对产品的价值、用户需求以及设计好坏的理解,是一个容易被忽略但关键的软技能。尽管技术文章普遍关注源码、框架和原理,但单纯追求技术并不足以保证工作能顺利、高效地完成...
2023-08-19 23:41:22
122
原创 could not find implicit value for evidence parameter of type 怎么解决?—— Flink TypeInformation
could not find implicit value for evidence parameter of type —— Flink Scala API的Type Information参考:Flink docsFlink 源码Error:(.., ..) could not find implicit value for evidence parameter of type...首先,这句错误信息代表的含义是:Scala无法找到隐式转换的参数,也就是他说的evidence para
2021-01-14 22:55:11
1356
原创 流计算引擎如何同时实现高性能和状态一致性(exactly once)?谷歌DataFlow平台与Flink的实现方式
流计算引擎如何同时实现高性能和状态一致性(exactly once)?谷歌DataFlow平台与Flink的实现方式参考:《The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing》-- DataFlow的论文《Lightweight Asynchronous Snapsho
2020-12-17 15:09:15
520
原创 流计算引擎对分布式状态一致性的保证:Exactly Once, At least Once, At most once
流计算引擎对分布式状态一致性的保证:Exactly Once, At least Once, At most once流计算系统一般讨论的是端到端(end-to-end)的一致性,也就是系统内部的状态一致性,而不是输出的结果的一致性。输出结果的一致性跟数据库的一致性类似,主要由sink的输出是否支持事务(transaction)决定。分布式系统中常用这么几种语义(semantics)描述系统在经历了故障恢复后,内部各个组件之间状态的一致性,严格程度从高到低为:Exactly Once(准确一次), At
2020-12-15 09:30:16
1691
原创 Flink中的Watermark是什么原理?它有什么用?
Flink中的Watermark是什么?它有什么用?官方文档在流计算中事件的发生时间(Event time)和处理时间(processing time)是两个不同的概念。Flink假设数据到达是乱序的,这是著名流计算模型DataFlow的一个基本假设,也符合我们在分布式系统中的常识。简单地说,就是出于网络延迟等原因,数据到达算子并被处理(processing time)的顺序与数据产生(event time)的顺序不同。这就会为我们做事件时间的窗口统计(event-time windowing)带来
2020-12-11 13:22:05
1198
1
原创 旅行商问题2-OPT算法的并行与优化
旅行商问题2-OPT算法的并行与优化GCC-6.2.0OpenMPI/2.0.0OpenMp 4.5 (2015-11)介绍废话不多说,查阅下面链接。旅行商问题-百度百科2-OPT贪心算法-百度百科串行2-OPT的思路如下:假如我们有{0, 1, 2, 3, 4, 5}这5个城市,初始路线为0-1-2-3-4-5-0。我们通过两个指针i和k各指向一个城市进行遍历。每次遍历,我们会尝试对当前的**(i,k)对**做一次2optSwap(后面简称reverse),将ik之间的路线反转
2020-06-21 21:58:23
7811
原创 加餐:“私有构造函数捕获模式”是怎么被设计出来的?
加餐:私有构造函数捕获模式今天心情好,笔记的语气可能会活跃一些~《Java并发编程实战》4.3.4章,关于程序清单4-11有一个有趣的注释:如果将拷贝构造函数实现为this(p.x,p.y),那么会产生竞态条件,而私有构造函数则可以避免这种竞态条件。这是私有构造函数捕获模式(Private Constructor Capture Idiom,Bloch and Gafter, 2005)...
2020-04-12 18:30:07
599
2
原创 LRU缓存单向链表O(1)读写,JAVA实现详解
LRU(Least Recently Used) Cache的运行机制,通俗点说,就是缓存最近使用的数据,并淘汰最久没有使用的数据。LRU的核心思想是数据的时间局部性(Temporal Locality),即"一个被访问的数据,在不久之后很可能还会被再次访问"。把它反过来说就是LRU的实现方式:“最早读取的数据,它不再被使用的可能性比刚刚读取的数据大”。但是面对周期性读取的数据,如果周期大于缓...
2020-04-01 15:56:29
800
原创 LRU缓存双向链表O(1)读写,JAVA实现详解
LRU(Least Recently Used) Cache的运行机制,通俗点说,就是缓存最近使用的数据,并淘汰最久没有使用的数据。LRU的核心思想是数据的时间局部性(Temporal Locality),即"一个被访问的数据,在不久之后很可能还会被再次访问"。把它反过来说就是LRU的实现方式:“最早读取的数据,它不再被使用的可能性比刚刚读取的数据大”。但是面对周期性读取的数据,如果周期大于缓...
2020-04-01 15:01:08
662
原创 让python aiml库全面支持中文(手把手修改源代码,debug,安装。附修改后代码)
python aiml库的中文支持问题阅读源码后,我们发现问题出在将句子分词和重组的逻辑。源代码的逻辑是:在kernel学习.aiml文件(创建知识库)时会检查每一个<pattern>标签的text内容是否包含英文,如果包含英文就将text转为大写。如果text不含英文,则用' '.join()在每个字符之间都插入一个空格。匹配函数会直接使用split()用对句子分词。例:...
2020-02-26 22:03:51
2067
9
aiml中文支持.zip
2020-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人