成为一个有价值的程序员
MVP:最有价值的程序员缩写 MVP 通常代表最小可行产品,至少如果你在软件工程领域工作。但今天我想谈谈另一种 MVP:最有价值的程序员。 就像最小可行产品一样,最有价值程序员也不是一个具体的概念。相反,它是一个你为之奋斗的目标。此外,这也不是说你要成为同事中最有价值的人。相反,它是关于成为最好的自己。让我详细说明一下…… 年轻的我有一天,我想起了大约 15 年前我与一位高级开发人员的谈话。我不记得当时脑子里是怎么想的了,但是我自己对几个大的 PHP 文件进行了 ...
进入阅读
好用的Vscode
用了 Vscode 好多年,从一开始开箱即用到现在慢慢地完善成为自己趁手的利器,我觉得有必要来建立一个文章长期完善更新我的武器。 效率插件插件 yyds,一个谁都在用的工具想要变得更加适配,符合自己的插件必不可少! Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code简单来说就是汉化包虽然英文是咱们程序员的必备选项,但是开发时候一目了然的中文也会很舒坦~ Github Copilot 插 ...
进入阅读
怎么处理React中的Errors
怎么处理 React 中的 Errors背景最近在研究如何在 React 中捕获和处理错误,try/catch和ErrorBoundary的用法、模式和警告,什么时候是可行的,什么时候是不行的,以及如何用ErrorBoundary捕获所有错误,包括async错误和来自事件处理程序的错误。 我们都希望我们的应用能够稳定,能够完美地运行,并且能够满足所有可以想象到的情况,但可悲的现实是,我们都是人类(至少我是这么认为的),我们都会犯错误,不存在没有错误的代码。无论我 ...
进入阅读
《React Query 笔记》
《React Query 笔记》要开始做请求方案的调研,第一个深入看的是 React Query(下面简称为 RQ)。本文是 Practical React Query | TkDodo’s blog 系列文章的阅读笔记。1. 为啥很多人会认为 apollo 会取代 redux?apollo 是请求方案,而 redux 是全局状态库,看起来八竿子打不着,但如果我们能在客户端通过缓存的方式访问服务端的数据,那对于 80% 的应用来说,剩下需要处理的客户端状态其实很 ...
进入阅读
gitflow 操作思考
Git Flow 的另一种思路 Master 分支 下文简称(M)Test 分支 下文简称 (T)Feature 分支 下文简称(F)Hotfix 分支 下文简称(H)Merge Request 操作请求 下文简称(MR) 高度精简为一句话:一切分支都从Master分支中拉出! 迭代开始暂定当前迭代为Vn,则上一个稳定迭代的版本为Vn-1。 首先从M -> T,作为开发过程中的测试分支。 根据产品文档等需求划分工具提示,每一位同志按照自己手头的工作进行: ...
进入阅读
React源码学习
React-dom 源码阅读react-dom-render首先 => 创建ReactDOM.render 步骤 创建ReactRoot 创建FiberRoot和RootFiber 创建更新 通过DOM Renderer.createContainer 创建了一个 FiberRoot; 接下来挂载到container._reactRootContainer上面; 然后最重要的是,调用 DOMRenderer.unbatchedUpdates(批量更新), ...
进入阅读
G6使用指南
G6 使用指南背景在吾来产品中有任务机器人的画布功能,我们在设计之初调研了众多库,最后挑选了一款将canvas和HTML DOM结合地不错的JSPlumb库,的的确确也很大程度上完成了功能的开发,在效果上也具有不错的体现,然而在后期,产品团队和设计团队想要对这个画布功能进行修改的时候便遭遇了极大困难,所以说,JSPlumb是一款起点和上限都不高的库。 于是静极思变,我们看见了现在新的库G6,作为阿里团队开发维护的库,我们决定去尝试一下。G6G6 是一个简 ...
进入阅读
使用UMI3搭建项目心得
写这一篇之前感谢子杰同学的付出,给我们搭建了一套基于umi3的框架,内置了启动配置等等耗时的基础操作,达到了快速启动项目的目的。 但是在使用中仍然需要注意几点,听我细细道来。 UMI3基础结构这个是给小白说的,虽然umi3的写法超高度类似于reactjs的写法,但是不代表你就可以不去阅读umi3的文档了。 当然阅读了文档也不代表你就全部领悟了(可能因为作者默认你是老的开发者,所以有部分change他会说是从umi2中变换而来的,想了解还是得看一眼早期文档 ...
进入阅读
吾来-画布功能要点汇总
要点汇总 画布的前身今世 技术选择 技术实现 画布的前身今世 画布是任务场景中对于对话单元的设置以及排布的区域,以下介绍对比了画布的演进历史。 DM1时代DM1(Dialog Manage 1st version)对话管理 即 任务对话管理第一版本; 现在(2019.11.25)依然呈现在项目中-任务对话-场景列表-「旧版」场景; 里面的触发器和对话单元呈现y轴排布,编辑场景对于对话单元的排布要求编辑人员有较高的水准,界面较为简陋,使用起来不是特别得心应手。 ...
进入阅读
划词标注编辑器开发之旅
技术方案类似于如何把大象塞进冰箱,句式操作页面总共分为三个大块: 初始化数据;(打开冰箱门) 编辑操作;(把大象塞进去) 存储数据;(关上冰箱门) 一、初始化步骤在一个页面中的句式或许有非常多条(例如任务对话 中的意图触发器),也可能只有一条(任务对话中的填槽句式页面),但是对于句式编辑器来说,一个编辑器对应一条句式。 那么编辑器肯定不会“无中生有”,它所要展示的内容均来自于接口传递的句式数据。这份数据结构中最重要的几个key分别是”content”、”n ...
进入阅读