LiJiaHao' Blog

计算机爱好者的世界

macOS/Linux下maven环境及私有仓库配置折腾记

最近在接触公司内一个Maven项目需要配置公司内部的私有仓库,可以借此机会熟悉下Java开发大名鼎鼎的Maven,网上不少关于Maven的配置资料都是基于Windows环境,基于OSX和Linux的教程很少,因此在环境搭建及配置中也遇到不少问题,在成功搭建这个环境过程中也学到了不少东西,借此记录。 1. Maven安装及配置 下载Maven,将下载文件解压后得到的文件夹(apach...

从零开发一个微型Git

通过编码实战理解Git基本原理

​ Git是当今最流行的版本控制系统,git的分支切换、版本追溯等功能被大多程序员青睐,大家每天都会用git进行代码提交等工作,例如常见的git status、git add、git commit等操作,那么每次敲这些命令时,有没有想过这些命令的后面发生了什么?为了了解这些原理,你可以去查看git项目的完整源码,但是完整的源码实在是太多了,如果你想先从基础的原理进行了解,那么根本无从下手,...

开发者如何正确使用搜索引擎解决疑难杂症

教你正确使用搜索引擎对症下药

​ 身为开发者,在工作中难免会遇到各类各样的问题,比如某天本来运行良好的xcode突然报错xxx.h is not found、Android编译失败等问题都是很常见,但是不好解决,也是日常工作上最不想遇到的,那么遇到这类问题的时候该怎么解决呢,本文将介绍下自己平时使用的解决方法。 求助同事、朋友 ​ 遇到了问题,直接求助同事、朋友是最快的解决办法,也是很多刚开...

低版本react-native bundle拆包---iOS异步加载实践(三)

本文介绍iOS端下如何将拆分的jsbundle进行异步加载

本系列前两篇文章低版本react-native bundle拆包—jsbundle的拆解实践(一)、低版本react-native bundle拆包—Android异步加载实践(二)分别介绍了如何将React-native生产包拆分成基础包(common.jsbundle)和业务包(business.jsbundle)并在Android端进行业务包接入、分步加载jsbundle,本篇文章将介...

低版本react-native bundle拆包---Android异步加载实践(二)

本文介绍Android端下如何将拆分的jsbundle进行异步加载

在上一篇文章低版本react-native bundle拆包—jsbundle的拆解实践(一)已经介绍了如何通过修改react-native 0.55版本的metro实现模块ID固定并通过自定义脚本将业务代码抽离出来,从而得到基础包common.jsbundle和业务包business.jsbundle,本文将介绍如何在Android端进行改造,在原有react-native项目的基础下接入...

低版本react-native bundle拆包---jsbundle的拆解实践(一)

本文以0.55版本react-native为例,介绍拆包思路以及如何通过metro拆包

背景介绍 公司部分业务APP以react-native作为技术栈,且当前有一个完整的APP,不同的团队负责不同的业务开发,工作成果以子工程的形式加入到现有APP中,随着业务开发的迭代加快以及更多新的业务线的加入,子工程体积增加,进而主工程的体积也跟着增加,同时热更新以全量包的形式进行,也大大增加了用户更新时的流量消耗,因此业务拆包势在必行,拆包的目标如下: 减小业务打包生成的jsbu...

react-native-code-push热更新探索实录(IOS)

更详细的react-native-code-push使用实录,一步一步实现IOS下的React-native热更新。

React-native-code-push是微软针对React-native推出的热更新服务,最近的React-native项目需要对热更新进行调研,了解到微软有提供相应的热更新模块,便着手去尝试使用这个模块的使用。事实上React-native-code-push的官方文档写的十分详细,针对IOS和Android也有很详细的配置说明,网上也有很多相关的教程,但是在实际动手实现的过程中,发...

Vue1+源码-深入解析Vue的path状态机

本文将对Vue1.0.26源码的path状态机进行详细的介绍

本文将深入解析Vue源码中的path状态机,介绍path状态机如何工作,以及状态机的应用情景。 ps.我参考的是Vue 1.0.26的源码,下面将主要针对源码中/parsers/path.js和/parser/expression.js对Vue的path状态机进行说明。 什么是有限状态机 有限状态机(finite-state machine,简称FSM),是一种可以描述状态和动...

浅析WebSocket协议及其实现

本文将介绍WebSocket协议,并使用Python说明WebSocket协议在服务器端的一些实现关键点。

WebSocket简介 WebSocket是html5提出的协议规范,该协议旨在解决客户端和服务器端实时通信的问题,在WebSocket协议之前,客户端和服务器进行通信时,是由客户端先发起请求,服务器端接受到请求后作出响应,但是服务器端无法主动的往客户端发送信息。WebSocket本质上是基于TCP协议,先通过HTTP/HTTPS协议发起一条特殊的HTTP请求进行握手后创建一个用于交换数据...

webpack实践小结

本文将对webpack2在实际项目的使用进行总结

webpack作为一个模块打包器(module bundler),webpack视HTML,JS,CSS,图片等文件都是一种资源,每个资源文件都是一个module文件,webpack就是根据每个module文件之间的依赖关系将所有的module打包(bundle)起来。本文将介绍自己平时开发过程对webpack的一些实践。 ps.本人webpack的实践是配合Vue框架进行开发,故以...