SkioFox Blog

Thinking will not overcome fear but action will.

了解DDD思想

了解DDD思想

一、什么是DDD? DDD(Domain Driver Designer)领域驱动设计是基于领域知识解决复杂业务的方法论。 主要做什么 1) 开发与领域专家统一”通用语言”并对业务划分领域 2) 利用设计模式,将领域模型注入到程序模型中 优势 1) 促进团队沟通、理解领域知识 2) 服务间职责分明,更专于核心业务上 劣势 1) 学习成本高, 2) 需要领域专家参与,否则很难划分...

microApp微前端下sdk隔离

microApp微前端下sdk隔离

背景 sdk 作用是什么? 给用户提供一组可以简单调用的基础api,方便用户直接使用,降低使用难度 一般为了考虑sdk的的维护性与易用性,直接提供通过外链引入的sdk的方式,而这种外链sdk一般是umd的模块结构,也就是说最终加载完成之后,会在window上挂载一些属性 以百度地图sdk 3.0版本为例 <div id='baidu_map'></div> ...

microApp介绍

microApp介绍

前言 MicroApp是一款基于类WebComponent进行渲染的微前端框架,不同于目前流行的开源框架,它从组件化的思维实现微前端,旨在降低上手难度、提升工作效率。它是目前市面上接入微前端成本最低的框架,并且提供了JS沙箱、样式隔离、元素隔离、预加载、资源地址补全、插件系统、数据通信等一系列完善的功能。MicroApp与技术栈无关,也不和业务绑定,可以用于任何前端框架和业务。 本篇文章...

前端到gRPC 框架

前端到gRPC 框架

RPC 是什么? RPC 英文全称是 Remote Procedure Call 既远程过程调用,维基百科中给的定义是一个计算机调用了一个函数,但这个函数并不在这台计算机上,这种远程调用方式程序员无需关注到底怎么远程调用,就像是本地执行一个函数一模一样。 听着很高大上,我们要实现一个求和的例子: function sum(a, b) { return a + b } 作为客户端,...

TypeScript 高级使用技巧

TypeScript 高级使用技巧

函数 获取函数参数类型 获取 foo 函数的第二个参数的类型: // 函数 const foo = (input: string,next: number) => {} // 获取 foo 函数的参数 type FooParams = Parameters<typeof foo> // foo 函数第二个参数类型 type SecondParamType = Fo...

TypeScript 配置详解

TypeScript 配置详解

简介 当目录中出现了 tsconfig.json 文件,则说明该目录是 TypeScript 项目的根目录。tsconfig.json 文件指定了编译项目所需的根目录下的文件以及编译选项。 JavaScript 项目可以使用 jsconfig.json 文件,它的作用与 tsconfig.json 基本相同,只是默认启用了一些 JavaScript 相关的编译选项。 使用 在调...

Webpack 5 之 模块联合 (Module Federation)

Webpack 5 之 模块联合 (Module Federation)

微前端 在了解 webpack 中 模块联合的之前,我们先了解一下微前端,如果你对微前端不了解可以查阅之前在这里两篇文章《微前端 (一) - 理念篇》和《微前端 (二) - 实现篇》来熟悉它的基本概念。 通常我们的微前端的模型如下: 在微前端中,会存在一个容器应用,它的任务就是加载各个微应用。 微应用需要做一些事: 提供两个方法:一个是挂载方法,容器将调用它来渲染微应用。...

Andorid 的 Gradle 构建及优化

Andorid 的 Gradle 构建及优化

前言 Android 应用是基于 Gradle 作为其构建工具,所以对于 Android 构建知识内容基本都来自于 gradle,因此你可以去这里查看官方用户指导文档。 构建生命周期 Gradle 的核心是一种基于依赖 (dependency) 的编程语言,它可以用来定义任务和任务之间的依赖关系。 任务是 Gradle 的一个核心概念,后面都将使用 Task 表示中文含义的任务...

Android adb 命令行工具的使用

Android adb 命令行工具的使用

介绍 Android 调试桥 (adb) 是一种功能多样的命令行工具,可与设备进行通信。 adb 命令可用于执行各种设备操作 (例如安装和调试应用) ,并提供对 Unix shell (可用来在设备上运行各种命令) 的访问权限。它是一种 C/S 程序,包括以下三个组件: 客户端:用于发送命令。客户端在开发计算机上运行。你可以通过发出 adb 命令从命令行终端调用客户端。 守护...

Redis基础

Redis基础

Redis的背景 2008年,Redis的作者SalvatoreSanfilippo(Antirez)在开发一个叫LLOOGG的网站时,需要实现一个高性能的队列功能,最开始是使用MySQL来实现的,但后来发现无论怎么优化SQL语句都不能使网站的性能提高上去,再加上自己囊中羞涩,于是他决定自己做一个专属于LLOOGG的数据库,这个就是Redis的前身。后来,SalvatoreSanfilip...