小文字 吃饭,睡觉,遛狗头


React Native启动流程

背景 本文主要针对 react-native 创建模板工过程中,涉及的一些细节流程和实现原理做分析。 启动流程分析 根据API教程示例,启动一个模板工程在Android模拟器或者真机上,只需要执行 react-native run-android 通过分析启动流程的源代码,我们得出以下流程图: 我们就从react-native和他的参数解析开始,首先需要找到react-native的真身。为什么这么说的呢? react-native 分析 一般来说某一个命令安装到本地后都会... 更多


安装包大小分析

我们已经介绍过如何使用Golang来开发脚本,并通过homebrew来发布。 在对安装包的分析的过程中发现一些比较有趣的事情,记录在此。 APK大小 在真正分析安装包之前,有必要再讲一下大小问题,下面我们通过三个计算式开始: 文件大小 磁盘大小 APK下载大小 按套路来说,这里应该只有一个磁盘大小和文件大小,为什么还有一个APK下载大小呢? 文件大小就是文件的真实字节数,比如2048bytes, 磁盘大小是指文件占用的空间; 大于文件的字节数,一般以... 更多


Golang CLI

本文介绍如何通过Golang开发自己的脚本工具,并共享给多人使用。 0x01 初识Golang 首先我们通过三个问题来简单认识下Golang: Golang是什么? 发展现状怎么样? Gopher都在使用哪些开发工具? 1)Golang是什么? 简单来说Golang是一门语言,由Google公司设计并主导的一门开源的语言,主要用于后端开发。 Golang一般也叫做Go,使用Golang的开发者一般自称为Gopher。其标识是一个类似土拨鼠的形象,至于到底是什么... 更多


GitHub/SSH 故障

背景 这两天GitHub开始抽风,稳定使用了多年的ssh配置,突然连接不上GitHub,每次同步代码有提示要输入密码,如果要手工输入密码的话,配置ssh还有什么意义? 事故时间比较巧,恰好这几天升级了系统,又适逢GitHub经历史上最强DDoS攻击(1.35T)。 故障排查 首显现确认ssh是否正常? 由于其他同样经由ssh配置的仓库任然可以正常访问,仅仅是GitHub上的所有仓库访问要求秘钥;问题可以缩小为GitHub的配置 本机为了方便,针对不同平台,配置了不同的... 更多


sleep & wait

前言 编码的时候经常会遇到sleep,比如模拟耗时,我们会写一个Thead.sleep(5*1000); 在线程同步的时候也经常用wait/notify; 很明显我们在不同场景使用了不同方法,并且习以为常了。 那么sleep和wait的区别到底是什么? sleep是怎么回事 首先sleep是Thread的静态方法,其次一定要try/catch, 因为sleep可能会抛异常,根据方法定义的说明文档,传入负数会抛出IllegalArgumentException,线程被中断会抛... 更多