Decorative image frame
ocean

梦翼坊

给梦想一双翅膀

梦翼坊

qiankun 微前端方案适配 HashRouter 模式及 TypeScript 项目

微前端的概念在近几年不断“升温”,越来越多的公司尝试通过微前端方案来解决“巨石”应用(Frontend Monolith)的问题。微前端的六种常见实现方案不是本文的讨论点,感兴趣的朋友可以阅读微前端在小米 CRM 系统的实践这篇文章。在比较文中的各类实现方案后,我确定了使用 Qiankun 来实现前端微服务化,但在实现过程中遇到了一些困难,本文主要描述问题及解决方案。

阅读全文...

Vue 中的 AST 与虚拟 Dom

在 Vue 的概念中有两个最基础也最难理解的概念 AST 与虚拟 Dom。总有很多新手把这两个概念搞混,以为 AST 就是虚拟 Dom,或认为虚拟 Dom 的结构才叫 AST,这其实都是错的。网上有不少半壶水的专家,张口闭口,三句不离这两个词汇,但他们真正能说明白的少之又少,说错的更不在少数…我不敢保证我的解答都是正确的,但我能保证在讲述过程中有查阅过相关资料,本文仅供参考。

阅读全文...

vue 项目极限优化,提升首屏访问体验

自从带队开发公司的运营类项目的开发,这半年来似乎一直在关注 vue 项目的性能优化。作为公司的用户引流项目,活动的首屏加载时间长短会对用户转换率产生一些”蝴蝶效应“。该影响对于弱网络的用户群体的影响尤为明显。如果一个页面白屏时间超过 2.5s,那么用户很可能会认为页面存在问题而关闭页面,从而导致用户流失。

阅读全文...

前端开发人员学习路线

最近 Github 上有一个非常热门的有关学习路线的仓库,这仓库的名字叫做 developer-roadmap,其包括的学习路线涵盖:前端、后端、DevOps、Android、React、PostgraSQL DBA。另外,测试的学习路线还在路上。目前已经在 Github收获了 131 k+ star,Star 数量在 Github 所有仓库中排名第 9。虽然这个火爆程度有点让人匪夷所思…但文章内容还算比较靠谱,大家还算可以了解一下的。

阅读全文...

算法学习笔记 — 数学领域

在做算法时,可能需要运用一些数学知识。数学也是计算机的基础,但大部分算法只涉及到高中以下的知识,因此不需要过于担心能否看懂题目。

阅读全文...

Markdown 语法简明指南

Markdown 是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以 HTML 格式发布。通过简单的标记语法,它可以使普通文本内容具有一定的格式。相比所见即所得(WYSIWYG)编辑器,Markdown 可以让使用者摆脱排版的困扰,专心于写作。当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、掘金等。

阅读全文...

算法学习笔记 — 数字与字符串处理

算法并不是什么高深的领域内容,我们平时在项目开发中几乎都有涉及,比如翻转字符串、字符串截取,这些熟悉的函数方法你一定有所接触。

阅读全文...

算法复杂度

算法是指用来操作数据、解决程序问题的一组方法,而算法复杂度是考评算法执行效率和资源消耗的一个重要指标。

算法优劣主要从「时间」和「空间」两个维度去考量。

时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。
空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。

在符合算法本身的要求的基础上,编写的程序运行时间越短,运行过程中占用的内存空间越少,意味着这个算法越“好”。

阅读全文...

让 Hexo 支持 LaTeX 公式

通常情况下,你并不会去使用 LaTex 公式,但当你文章涉及数学公式时,你往往会在第一时间想到 $ LaTex $ 公式。网上有比较多的文章告诉你如何在 Hexo 里使用 $ LaTex $ 公式,但大部分都是推荐使用 hexo-math 插件来实现,但 hexo-math 的兼容性并不好,并且和 Hexo 内置的 MarkDown 渲染引擎存在冲突。因此我推荐使用另一种实现方案:通过增加 Hexo 主题脚本片段的方式实现 $ LaTex $ 语法高亮。

阅读全文...

利用 Node.js 中间层进行高效的敏捷开发思考

在项目敏捷开发的过程中,经常会遭遇 Api 联调导致项目开发周期紧张的情况。目前国外很多大型互联网公司流行全栈开发概念,所谓全栈开发即一个项目的前后端逻辑都由一个人来完成。这种模式是的好处是基本上在开发环境没有联调的概念只有 Api 调试的概念。但在目前国内大环境背景下,全栈开发无疑是动了前端或后端工程师的“蛋糕”,所以全栈开发在国内依然是以概念的形式存在。如果前端开发人员利用中间层来处理这个问题,那么是否是一种新的解决思路呢?

阅读全文...