递推算法与递推套路(算法基础篇)

首图

默认标题_公众号封面首图_2021-10-12+15_47_48

联系我们有道技术团队助手:ydtech01 / 邮箱:[ydtech@rd.netease.com]

相信了解算法同学经常会说动态规划太难了,看到题目完全不知从何下手,或者是说“一看题解就会,一看题目就废”这样的一个状态。本质上是由于学习动态规划的时候,学习方法不对,最终导致南辕北辙,没有掌握其中精髓。而动态规划与递推算法又有着暧昧不清的关系,我们选择先从递推算法入手,一步一步揭开动态规划的神秘面纱。

阅读全文
玩转TypeScript工具类型(下)

首图

封面3

联系我们有道技术团队助手:ydtech01 / 邮箱:ydtech@rd.netease.com

本文是《玩转TypeScript工具类型》系列的最后一篇,包含了如下几部分内容:

  • ThisParameterType
  • OmitThisParameter
  • ThisType

快捷跳转

阅读全文
玩转TypeScript工具类型(中)

首图

封面2

本文是《玩转TypeScript工具类型》系列的第二篇,包含了如下几部分内容:

  • 必读:extends条件运算符
  • Exclude<Type, ExcludeUnion>
  • Extract<Type, Union>
  • NonNullable
  • 必读:tuple type元组类型
  • Parameters
  • ConstructorParameters
  • ReturnType
  • InstanceType
阅读全文
玩转TypeScript工具类型(上)

首图

封面

联系我们有道技术团队助手:ydtech01 / 邮箱ydtech@rd.netease.com

随着前端项目的规模不断变大,多人协同开发已经成为了前端开发的标配,随之而来的就是 TypeScript 被越来越多的项目所使用,这种变化并不是对技术的盲目追求,而是业务驱动下的技术进步,TypeScript 通过对原生 JavaScript 提供强类型加持,在很大程度上提升了代码质量,大大降低了多人协同场景下不同模块接口相互调用可能出现的隐性 bug。本系列分享来源于我日常开发中对 TypeScript 工具类型的一些学习和使用体会,本系列文章分为上中下三篇,通过本系列分享,希望可以达到如下几个目的:

  • 从源码的角度理解每一种工具类型的实现机制
  • 通过一两个简单的例子了解每一种工具类型的基本用法
  • 与此同时加深对 TypeScript 的理解
  • 最终实现可以在实际工作中举一反三
阅读全文
有道词典 Flutter 架构与应用

首图

封面

联系我们有道技术团队助手:ydtech01 / 邮箱ydtech@rd.netease.com

在 18 年 Flutter 发布正式版 1.0 版本以来,有道 Luna 团队保持持续的关注,在不少业务上进行大量的尝试,Flutter 本身统一 Skia 引擎带来的跨平台特性和一致的体验,AOT 下高性能,JIT 下热重载带来提高开发效率等特性,都让人们保持极大的热情和持续的投入,其生态社区也在快速增长。

从实际表现上来看,整个技术栈设计很好。上层 Flutter Framework 引入 Widget/LayerTree 等概念自己实现了界面描述框架,下层Flutter Engine 把 LayerTree 用 OpenGL 渲染成用户界面。

长期来看,用 Flutter 来替代 Native ,实现双端代码统一,节约人力开发,也是我们持续探索的方向。

阅读全文
你真的了解二叉树吗?(手撕算法篇)

首图

封面1

联系我们有道技术团队助手:ydtech01 / 邮箱ydtech@rd.netease.com

前言

本文属于系列文章《你真的了解二叉树吗》的第二部分——手撕算法篇。

如果你还没有看过第一部分《你真的了解二叉树吗(树形结构基础篇)》的话,强烈建议先看一下第一部分的内容,这样你在解题时会更加如虎添翼。很多第一篇里面已经讲过的内容,在这里将不再赘述。

阅读全文