Shell 编程实践
对于习惯了使用高级语言编程的程序员来说,shell 脚本的语法实在是有点原始。但是,shell 脚本开箱即用的特点使得它尤其适合在 Linux 服务器上运行。而例如 Python、NodeJS等语言都需要宿主上安装运行环境才可以使用。
最近出于工作的需要,写了不少 shell 脚本,这里简单记录下编写 shell 过程中的一些实践。
对于习惯了使用高级语言编程的程序员来说,shell 脚本的语法实在是有点原始。但是,shell 脚本开箱即用的特点使得它尤其适合在 Linux 服务器上运行。而例如 Python、NodeJS等语言都需要宿主上安装运行环境才可以使用。
最近出于工作的需要,写了不少 shell 脚本,这里简单记录下编写 shell 过程中的一些实践。
先看下面这个例子,如果能回答出这个strings.xml最终显示的结果,本文也不用看了。
<resources> |
上面例子显示结果如下:
test1 : test string |
测试环境:
(注意,最新的GAP>=3.3.2后,用
'
转义'
不会在IDE lint中报错,但是会在mergeResources
task执行时报错)
TLDR
在android的strings.xml中的value转义规则如下
"
转义只能用\"
, 不能用"
,不转义的话不会报错,最终显示结果"
会被吞掉
'
转义既可以用'
, 也能用\'
, 不转义的话 AS lint 会报错
>
不用转义
<
必须转义为<
,不转义的话 AS lint 会报错
&
必须转义为&
,不转义的话 AS lint 会报错
@
、?
可以不用转义
Headless Fragment 的定义:没有UI的fragment。也就是说 onCreateView()
返回值为null
。通常配合setRetainInstance(true)
使用。后者可以让fragment在activity旋转重建时无需destroy。
为什么有 Headless Fragment这个概念,没有 view 的Fragment有什么功能呢?
More than one file was found with OS independent path 'META-INF/library_release.kotlin_module' |
最近在引入两个kotlin写的aar库时编译器报了这样的一个错误。说是打包时存在两个相同的文件,文件路径是META-INF/library_release.kotlin_module
。
这个文件是干什么用的呢?
本文将从以下3个方面介绍 Kotlin Coroutines
本文的实例代码基于Kotlin 1.3.0 和 kotlinx.coroutines 1.0.0。
无论是插件化开发还是热修复,都有一个绕不过的关键技术难度。那就是——如何动态加载资源?
在插件化方案中,我们可以将资源和代码一起打包在插件中,宿主工程动态加载插件中的dex和资源,宿主工程和插件工程的开发流程实现了解耦。
在热修复中,我们除了常见的代码修复,还可以修改诸如文案,图标等资源文件,甚至可以利用资源热修复的能力在native上不发版玩一些资源运营。
最近通读了一遍 vue-router 的源码,主要是想了解下面两个问题:
本文记录了如何在 iOS Simulator 和 Android 设备上调试 h5 页面,并在提供了 Alfred 脚本来便捷地管理 Simulator。