一些提高代码健壮性的方法

发表于 | 分类于 编程技术

在过去的开发经历中处理了各种奇葩BUG,认识到代码健壮性(鲁棒性)是衡量工作效率、生活质量一个非常重要的标准,本文主要整理了提高代码健壮性的一些思考。

搭建开发流程需要的系统

发表于 | 分类于 编程技术

本文主要根据自己的工作经历,整理了一些常见内部系统的基本使用和大致实现原理,了解如何搭建一套比较规范的开发流程。

使用Electron实现一个iPic

发表于 | 分类于 客户端/桌面应用

iPic 是一个很赞的应用,可以快速将图片上传到图床上。由于非会员只能使用免费的新浪图床,因为最近新浪图床防盗链和图片有效期的缘故,因此决定自己实现一个图片快速上传的应用。

大致对比了一下Flutter DesktopPyQTElectron等框架,最后决定使用Electron,花了两三个晚上实现了将剪切板的图片快速上传到七牛上(非广告~)。

本文将回顾整个开发流程,并记录第一次正儿八经开发Electron的经验。

在Flutter中封装redux的使用

发表于 | 分类于 客户端/Flutter

最近在家办公,发现了之前没写完的一个Flutter版APP,于是打算重构并继续开发,本文主要整理在Flutter中使用redux的一些开发经验。

python基础语法

发表于 | 分类于 编程语言/Python

很早之前,曾学过一段时间Python;恰好最近工作需要,重新拾起并整理Python相关知识。

Redux源码分析

发表于 | 分类于 源码分析

本文将整理redux的源码实现。

初识Elm

发表于 | 分类于 编程语言/Elm

过年期间一直宅在家,打算学一门新语言,之前看见关注的TJ大神经常在star Elm相关的项目,因此打算尝试一下。

ReactFibler源码分析

发表于 | 分类于 源码分析

本文从源码层面学习React Fiber的原理及实现。

React源码分析

发表于 | 分类于 源码分析

本文并非按照代码运行流程解析React相关源码,而是按照常用的API去了解源码中的实现,因此章节阅读顺序可以随意切换。

如何优雅地处理loading

发表于 | 分类于 技术原理

在业务代码中,为了判断异步操作是否在运行中,往往通过额外的标志量来区分;本文将从dva-loading源码出发,分析在React项目中如何统一管理loading状态,然后给出一种在Vue项目中管理loading的解决方案。

dva源码分析

发表于 | 分类于 源码分析

dva是基于react的二次封装,在工作中经常用到,因此有必要了解一下其中的实现。本文将从源码层面分析dva是如何将reduxredux-sagareact-router等进行封装的。

在浏览器运行可交互Python代码

发表于 | 分类于 技术原理

最近研究了一些在线运行代码应用,感觉颇为有趣,在此稍作总结,并尝试实现一种在浏览器运行可交互Python代码的方案。

NodeJS中CommonJS和ESModule混用的问题

发表于 | 分类于 前端/模块化

JavaScript在过去几年飞速发展,同时也带来了很多混乱的问题,比如模块系统cjs、esm混用,或者js、ts混用的项目比比皆是。

能理解将新技术落地到项目中的心情,但同时也需要具备一些知识避免这些混乱带来的影响。

理解分辨率

发表于 | 分类于 前端/CSS

在前端、客户端开发UI的工程中,肯定绕不开分辨率这个东西。我们所说的分辨率到底是什么呢?不同的分辨率对编写代码有什么影响呢?本文将解答这些问题

从源码分析几种中间件的实现方式

发表于 | 分类于 技术原理

在前端比较熟悉的框架如expresskoareduxaxios中,都提供了中间件拦截器的功能,本文将从源码出发,分析这几个框架中对应中间件的实现原理。

将博客重构为SSR渲染

发表于 | 分类于 博客

前段时间写了一个简易的类React框架:NeZha,现在打算加上服务端渲染的功能,并准备重构整个博客的同构渲染。本文将整理SSR在框架的项目构建方面的原理,然后进行简单实现。

初识动态规划

发表于 | 分类于 数据结构和算法

动态规划是一种经典的算法。本文主要整理如何使用动态规划来解决一些问题。

VNode与Component

发表于 | 分类于 源码分析/diff算法

在前面两篇文章中,我们研究了VNode的基础知识,了解了如何使用VNode描述并渲染视图,实现了递归diff和循环diff两种方案,并在循环diff中给出了一种简单的调度器实现方案。本文将紧接上两篇文章,一步一步思考并实现将VNode封装成组件。

Fiber与循环diff

发表于 | 分类于 源码分析/diff算法

在上一篇文章VNode与递归diff中,我们了解了VNode的作用,如何将VNode映射为真实DOM,并通过递归实现了diff操作,最后研究了三种不同的diff方式带来的性能差异。

本文将紧接上文,研究如何通过循环的方式实现diff,并在此基础上实现对应的调度系统,从而理解React中的一些核心原理。

VNode与递归diff

发表于 | 分类于 源码分析/diff算法

在工作中接触VueReact大概有两三年了,最近一直在学习相关的技术原理,打算整理学习心得。本文深入研究虚拟DOMVNode相关的技术实现,了解前端框架的基础。