LiJiaHao' Blog

在不断前进的求知者

sparkee-自动化monorepo管理工具

sparkee工作原理及适用场景详解

Sparkee是一个类似lerna的monorepo管理工具,但又有很多不同,本文将详细介绍本人开发sparkee的初衷以及该工具的具体使用场景。 为什么要造轮子 造轮子的初衷无非无非就是现有的工具不好用或不能满足自己的项目场景。在我自己的monorepo项目中有以下几点是lerna等monorepo工具无法解决的: pnpm局限性 项目使用pnpm自带的monorepo功能进行依赖...

pnpm在monorepo的管理之道

pnpm在monorepo项目改造的落地

前段时间对现有项目进行了改造,由原来的单仓库单包管理转换为单仓库多包的monorepo项目管理方式,采用pnpm对项目模块进行管理,本文对在项目改造过程中遇到的种种问题进行记录和分享。 项目背景 现有项目是一个提供给业务前端开发的cli工具,旨在将代码中的开发配置全部进行解耦,与常见的vue-cli不一样的是,这个cli安装在全局而不是分别安装在项目中,开发者只需全局安装一次,就可以在任...

内容寻址存储原理及实际使用场景

通过实例学习CAS

内容寻址存储(Content-Addressed Storage),简称CAS,是一种基于内容进行信息检索的存储方式,本文将对CAS进行技术简述,并通过具体的实例来解释CAS的原理和使用。 哈希表(hash table) 哈希表可以理解是使用hash作为key来指向具体value的数据结构。key具体可以通过hash的算法(CRC16\SHA256\SHA384\SHA512等)进行计...

关于module Federation的思考

webpack5新特性module Federation学习和思考

module Federation是webpack5发布的几个新特性之一,module Federation的理念是应用可以动态引用其他客户端或服务端的模块,因此这也是webpack首次官方开放微前端概念特性,接下来我们将通过一些具体例子来体会module Federation具体可以做的事和可以解决的问题。 当前前端应用开发和部署过程的痛点 一切脱离具体需求的开发特性都是纸上谈兵,为了...

postcss8插件编写指南

编写属于自己的postcss8插件

近期工作在将前端架构webpack升级到5时,一些配套模块也需要进行升级,其中包括了css处理模块postcss,旧版本使用的是postcss7,在升级至postcss8的过程中发现部分插件前置依赖还是停留在7版本,且年久失修,在postcss8中出现各种各样的问题,无奈只能研究源码将目前部分旧版本插件升级至新版本,这里将升级插件的过程进行简化和提炼,让读者自己也可以编写一个postcss8...

解读BMP图片

从底层带你了解BMP格式

最近在提取《基连的野望 阿克西斯V》的MRG文件时接触了BMP图片,于是从底层对BMP图片进行研究,学习BMP图片的显示和成像原理。 BMP图片简介 BMP图片是一种栅格图片,BMP图片的每一个像素都由一个比特位(bit)或多个比特位(bits)表示,因此BMP全称是bitmap 或 a map of bits and pixels。 BMP是Windows操作系统中的标准图像文件格式,...

谈谈RESTful API的设计

简述RESTful API设计

在前后端分离的今天,前端除了需要完成复原设计稿的任务外,还有个重要的工作,就是和后端对接好RESTful API,以将数据和UI进行绑定,从而实现UI的动态展示。RESTful API对前端而言,只是一个由XHR或fetch请求后返回的JSON数据,随后对这段JSON数据进行处理,那么对后端而言需要做的就多了,除了搭建基本后台框架,还要编写服务代码,那么如何写出一个好用且赏心悦目的RESTf...

react-native run-ios内部原理探索

通过react-native命令行学习自动化编译运行iOS项目

最近在为iOS项目开发自动化构建工具时,需要调用react-native run-ios命令,但由于项目react-native版本过低,本地xcode版本已经升至xcode11,不少目录结构和数据格式有变化,官方react-native run-ios命令执行失败,因此不得不从react-native run-ios内部研究iOS打包运行机制,自己重新编写打包脚本进而修复run-ios无法...

Android电话监听功能开发及注意事项

前段时间接到一个需求,需要在公司内部办公APP启动后自动监听来电,根据来电号码通过HTTP请求查询号码对应的员工信息,并在系统界面上显示,这个需求看似简单,但在开发过程中还是遇到了不少问题,下面就本次功能开发中遇到的问题及注意事项进行记录。 1. 电话监听初始方案 首先就是解决电话监听问题,我们需要在电话响起的时候拿到来电号码,查了下发现Android就已经提供了PhoneStateLi...

关于Rom Hacking你可以了解到的一些事

游戏汉化技术点揭秘

说到Rom Hacking可能很多人都会觉得陌生,但相信很多人都有接触过Rom Hacking的产物,比如早年在GBA、NDS、PSP大放异彩的汉化游戏,就是一个典型的Rom Hacking的产物,游戏的汉化就是一个原汁原味的Rom Hacking应用,那么Rom Hacking到底是什么,Rom Hacking对汉化有什么作用,今天这篇文章将以寓教于乐的目的来揭开Rom Hacking的神...