每个开发都应该懂的正则表达式 发表于 2022-03-08 在日常工作中,相信每个开发都接触过一些检索、替换字符串/文本的问题。对于一些简单的问题例如查找字符串中是否存在某个子串,可能直接使用各类开发语言自带的 api 接口就可以很方便地实现。但是一旦规则复杂起来可能就会比较棘手,例如校验邮箱、手机号、版本号等,如果自行实现可能需要写不少逻辑代码,正则表达式 ... 阅读全文 »
聊聊 Android App Bundle 发表于 2021-10-10 什么是 Android App Bundle关于 Android App Bundle(下文简称 aab),引用以下官方的定义: Android App Bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。Goog ... 阅读全文 »
Git 仓库拆分 发表于 2021-03-12 方案对比subtree使用命令 git subtree split -P dirPath -b branchName 将目标文件夹的代码都保存到指定分支。试了下,该方案虽然保留了 commit,但是所有分支全都没了 filter-branchgit filter-branch --prune-emp ... 阅读全文 »
Android OpenGL ES 开发(二):绘制图形 发表于 2021-01-08 OpenGL 绘制图形步骤上一篇介绍了 OpenGL 的相关概念,今天来实际操作,使用 OpenGL 绘制出图形,对其过程有一个初步的了解。 OpenGL 绘制图形主要概括成以下几个步骤: 创建程序 初始化着色器 将着色器加入程序 链接并使用程序 绘制图形 上述每个步骤还可能会被分解成更细的步骤 ... 阅读全文 »
Android OpenGL ES 开发(一):相关概念 发表于 2020-10-11 OpenGL(Open Graphics Library) 是开放图形库,是一个跨平台的图形 API。OpenGL ES(OpenGL for Embedded System)是专为移动端提供的一个子集。目前主要版本有1.0/1.1/2.0/3.0/3.1: 1.0:Android 1.0和更高的 ... 阅读全文 »
Java 类型转换精度问题 发表于 2020-08-01 基本数据类型占用内存大小最近项目中修复了一个关于类型转换精度丢失的问题,以前对于类型转换会丢失精度只知其然,不知其所以然,这次了解了下相关原理,也分享给大家。先来回顾一下 Java 的基本数据类型中整型与浮点型及其所占用的内存大小: 整型: int:4 字节 32 位 long:8 字节 64 位 ... 阅读全文 »
认识 YUV 发表于 2020-06-20 什么是 YUVYUV是一种颜色编码格式,可以说YUV流媒体是原始流数据,大部分的视频领域都在使用。与RGB类似,但RGB更多的用于渲染时,而YUV则用在数据传输,因为它占用更少的频宽。当然,实时通讯为了降低带宽都会采用H264/H265编码。YUV的含义:Y代表亮度信息(灰度),UV分别代表色彩信息 ... 阅读全文 »
深入浅出 Git 发表于 2020-02-21 开篇你可能遇到过 如果你遇到这个场景,那你可能需要版本控制。 什么是版本控制 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协 ... 阅读全文 »
计算机编码原理 发表于 2019-07-21 码表理解计算机保存的是二进制代码,使用码表使每个二进制代码代替十进制数。这张表中规定了字符和二进制的映射关系。计算机存储字符时将字符查询码表,然后存储对应的二进制。计算机取出字符时将二进制查询码表,然后转换成对应的字符显示。 ASCII美国码表,码表中只有英文大小写字母、数字、美式标点符号等。每个字 ... 阅读全文 »
《Kotlin 核心编程》读书笔记 发表于 2019-07-17 第四章密封类 sealed密封类用来表示受限的类继承结构:当一个值为有限集中的类型、而不能有任何其他类型时。在某种意义上,他们是枚举类的扩展:枚举类型的值集合也是受限的,但每个枚举常量只存在一个实例,而密封类的一个子类可以有可包含状态的多个实例。 第五章 类型系统as 不安全的类型转换,转换失败会抛 ... 阅读全文 »