2023

精读 Out of the Tar Pi(上)

June 04, 2023

原文地址:http://curtclifton.net/papers/MoseleyMarks06a.pdf 共12个章节,讨论复杂度性对编程的影响,论文包含66页,分三篇文章进行精读 1 Introduction…

longChain 学习

March 31, 2023

最近了解 Open AI 的过程中发现这个框架,把中文文档整理如下 LangChain 是一个使用语言模型驱动应用程序开发的框架。最强大、最具差异化的应用程序不仅仅通过 API…

2021

如何给予有效的反馈意见

November 02, 2021

如何分析问题

October 01, 2021

系统可维护到底指的是什么

January 01, 2021

在美团一些大型业务开发中,经常会出现大家觉得系统维护不下去了,一个反复被提及的词就是代码复杂度高。但是后台业务确很少有类似的声音,其实后台业务的复杂度也不低,但是为什么会有类似的情况发生呢,其实我认为对是否可维护不完全是客观的,比如考虑以下几个 case…

2020

小程序工程化思考

December 25, 2020

和传统工程化对比 先看下传统前端工程化关注的事情 (from umi) image.png image.png 小程序可做的就相对很少,源于技术本身的约束性,我们做一个对比: 框架角度:目前市面上有 kbone,taro,remax/r2m,mpvue,mpx…

使用TS 开发 JS 虚拟机

July 21, 2020

背景 在我们的小程序&低代码平台中,有需要执行动态下发代码的诉求。世面上已知的一些 vm 没有完整通过 es5 或 es2015 测试用例的,无法在生产环境使用。因此需要自研一个 JSVM 引擎。 目前已放到 github 上 :jsvm…

关于基建工作的思考

June 01, 2020

关于跨团队沟通与合作

May 04, 2020

2019

使用 完整react能力 开发小程序

November 22, 2019

最近这一年在小象负责移动端相关的架构工作,之前提到我们游戏基于 pixi 自研了一个游戏框架,成功的将 react 桥接到 pixi 上。这给了我很大的信息,开始思考是否能让 react…

前端视角支持游戏开发

November 12, 2019

最近实现了一个天天领钱 H5 游戏,一期基础场景如下 image.png 在做果园之前,我们和其他部门专职做游戏的同学充分的进行了沟通,得到很多宝贵的经验: 框架层面:了解到他们使用的是 cocos creator 框架,但是提到 cocos 框架是 c++迁移到 js…

推进工作的方法论之PDCA循环

February 13, 2019

意义 每一项工作,都是一个pdca循环,都需要计划、实施、检查结果,并进一步进行改进,同时进入下一个循环,只有在日积月累的渐进改善中,才可能会有质的飞跃,才可能取得完善每一项工作 细则 Plan:制定目标与计划; Do:任务展开,组织实施; Check…

RASCI模型

February 13, 2019

在快速发展的过程中,会不时的冒出一些之前没有明确界定的事情,往往产生一些看似大家都在负责,事实上无人负责的事情。RACI 模型对快速发展的我们的最重要的启发是:每件事都要尽早确定谁负责,也就是确定主 R。 谁负责(R = Responsible…

MECE-金字塔原理

February 12, 2019

image.png 7个问题理解《金字塔原理》: 什么是金字塔原理? 一件事情可归纳出一个中心论点,而这个中心论点可以由3-7个论据进行支撑; 每一个论据本身又可作为一个论点,同样被3-…

SWOT分析法

February 12, 2019

SWOT 分析是一种战略规划方法,用于帮助个人或组织识别其优势(Strengths)、劣势(Weaknesses)、机会(Opportunities)和威胁(Threats…

5WHY分析法

February 11, 2019

简介 COE复盘时经常会提到5why分析法,又称“5问法”,其实就是对一个问题点连续以5个“为什么”来自问,以追究其根本原因。 虽为5个为什么,但使用时不限定只做“5次为什么的探讨”,主要是必须找到根本原因为止,有时可能只要3次,有时也许要1…

2018

24点

May 07, 2018

题目 从 1~13 任取四个数字,通过+,-,* ,/和() 来计算 24 点 其实这个是算法分析里面提到过的一个标准做法,使用的方式是逆波兰表达式,也就是后缀表达式 首先把全部运算情况的逆波兰表达式穷举出来,采用逆波兰表达式是因为不用考虑操作符的优先级. 2…

螺旋化

May 06, 2018

原题如下 Your task, is to create a NxN spiral with a given . For example, spiral with size 5 should look like this: and with the size 10: Return…

小程序实时日志

May 01, 2018

背景 小程序开发的过程中,我们遇到一个比较麻烦的问题,在真机调试的时候是看不到日志的。本来我们只需要支持美团小程序,这个情况还可以通过VConsole来处理,但是后面我们开始支持美团小程序开发的时候,因为机制问题没有支持service…

DI&IOC基本概念

May 01, 2018

DI 和 IOC 的关系 DI(依赖注入)和 IOC(控制反转)是两个相关但不完全相同的概念。 控制反转(IOC)是一种设计原则,它强调将控制权从应用程序代码中转移到外部容器或框架中。根据 IOC…

2017

实时协作-yjs和ShareDB对比

April 30, 2017

两个方案都在脑图的协作中尝试了一下,大体总结如下: Yjs (基于 CRDT 算法) 和 ShareDB (基于 OT 算法) 是两种流行的实时协作编辑解决方案,每种都有其优点和缺点。 Yjs (基于 CRDT 算法) 的优点: 离线支持和冲突解决: CRDT…

实时协作-yjs基本理解4-Ytext

April 12, 2017

Yjs 中的 Y.Text 是一种特殊的 CRDT (Conflict-free replicated data types),它是用于处理分布式环境中的实时合作文本编辑的数据结构。Y.Text 允许多个用户同时在文本的任何位置进行插入和删除操作,无需担心冲突或数据不一致。 Y…

实时协作-yjs基本理解3-操作日志

April 12, 2017

在 Yjs 中,操作日志(Operation Log)被用于记录对数据的所有修改操作,这包括插入字符、删除字符等。每个操作都包含有关操作的信息,如操作的类型(插入或删除)、操作的位置、操作的内容,以及操作的唯一标识符(包含用户 ID…

实时协作-yjs基本理解2-向量时钟

April 12, 2017

向量时钟(Vector Clock)是分布式系统中用于记录和比较事件发生顺序的一种数据结构。每个节点都维护着一个向量时钟,向量时钟是一个列表,每个元素对应一个系统节点的逻辑时钟值。逻辑时钟值是一个非负整数,表示一个节点已经发生的事件的数量。 在 Yjs…

实时协作-yjs基本理解

April 11, 2017

Yjs 是一个开源的 JavaScript 库,它实现了一种称为 CRDT(Conflict-free Replicated Data Type)的数据类型,这是一种可以在多个副本之间无冲突地复制和合并的数据类型。Yjs…

实时协作-CRDT基本理解(2)

April 10, 2017

在现实中,CRDT 的实现需要考虑更多的细节,比如并发操作和网络延迟。为了处理这些问题,一种常见的 CRDT 用于协作编辑的类型是 LSEQ tree。然而,这个类型的数据结构非常复杂,因此在这里,我们将使用一种简化的数据类型——列表 CRDT…

实时协作-CRDT基本理解

April 10, 2017

CRDT(Conflict-free Replicated Data Types)通过合并策略和操作转换来保证两个端之间的实时协作最终一致性。下面使用一个简单的文本编辑器的例子来建立一下体感: 假设我们有两个端 A 和端 B,它们同时编辑同一个文本。现在我们进行如下操作: 端 A…

摘录 林彪

January 10, 2017

杨成武回忆:1936年1…

没事刷刷题之-数组列表中的最大距离

January 01, 2017

题目 给定 m 个数组,每个数组都已经按照升序排好序了。现在你需要从两个不同的数组中选择两个整数(每个数组选一个)并且计算它们的距离。两个整数 a 和 b 之间的距离定义为它们差的绝对值 |a-b| 。你的任务就是去找到最大距离 代码

2016

2016总结

December 24, 2016

201…

德州牌型概率

August 10, 2016

结论 德州扑克的牌型,从高到低排序如下: 皇家同花顺(Royal Flush)概率是 ,约每649,739次有一次。 同花顺(Straight Flush)概率是 ,约每72,193次有一次 四条(Four of a Kind)概率是 ,约每4,165次有一次。 葫芦(Full…

IM 消息文件实现

July 23, 2016

背景: 之前负责的云盘业务和 内部使用的大象 IM 融合,云盘需要负责大象日常 im…

轻OA 的一些思考

July 11, 2016

任何信息化系统,从技术角度看过去,都是流程,表单和角色。 从业务的角度看过去,会有所不同,比如 ERP 关注的物质资产,HR 系统关注的是人力资产,CRM 关注的是外部客户资源等等。 轻 OA 来讲的话,关注的应该是事务性的工作,比如周报,日程,TODO…

nodejs addon 结合 libuv 使用经验

April 20, 2016

最近在基于 electron 做客户端相关工作,需要写 nodejs 的 addon 以便拓展 electron 相关功能,涉及到一些高级东西,写下相关经验。 一:asynchronous addons 在开发过程中,我们一定会遇到需要在 c…

2015

2015总结

December 31, 2015

总的来说,这世界是个好地方,值得为它奋斗。

云盘点击热点图

November 12, 2015

最近在云盘中实现了热点上报系统,方便 UED 同学进行针对性的设计,最后成品如下: image.png 实现 采集上报 实现思路很简单,因为云盘使用 react 框架,常规的业务事件都由 react 合成事件代理。所以热点 sdk 可以直接将 在 document…

云盘服务端从nodejs 专项 java 相关复盘

September 24, 2015

说明 这里是对云盘 node.js 转向 java 做的一个客观总结,个人平时也会经常使用 nodejs,go,python,C#,java 进行开发,比较熟悉各个工具链,所以也并没有语言,框架上面的歧视。 云盘 web 前后端,服务端开发是我在…

spring aop 权限拦截

September 23, 2015

在云盘服务端 java 化的进程中,我们选择使用了在 header 中添加认证头信息的方式进行权限校验,这样就触发了一个问题,spring mvc 中如何完成这个认证过程。里面有一个难点就是如果请求 body…

dozer使用

September 23, 2015

在进行云盘项目开发的时候,经常会遇到将领域模型转化为业务模型,或者将业务模型转化为符合要求的JSON格式,这里面就涉及到大量的 Java Bean to Java Bean…

使用v8与js做交互,理解node基本原理

April 28, 2015

前阶段刚说到全栈的问题,到底要多深,多后期才能算是全栈每个人心中都有自己的看法,我自己感觉多学一些总不是坏事。 最近用 node 遇到了一些障碍,在看 node 的源码了解一下,然后想到网上现在还没有相关的分析,大多数都是开发 addons,而且中途 v…