The Linux Command Line digest

本文是阅读 The Linux Command Line 后写成的摘要,用于自己需要用到时回忆和参考。

Learning The Shell

Read More

targetSdkVersion 杂谈

很久没有写新的博客了,原因是这一个多月以来都没想到什么合适的主题,今天就来杂谈一下 targetSdkVersion 相关的东西吧。

在我工作的第一年里,其实我并不知道 targetSdkVersion 有什么含义,查资料,看到的是类似于「代表应用针对某个 api level 完成适配了」这样的描述,这样的描述其实让我摸不着头脑。后来,我把一个小应用项目的 targetSdkVersion 升高到 api 27,这个过程才让我对 targetSdkVersion 理解比较到位了。而这时候,我发现 targetSdkVersion 的的确确如我先前查到的资料所言,表示针对某个 api level 完成适配了,这个信息是会传递给 android 系统的,android 系统依据这一信息来对应用做区别对待。

Read More

Python 也能玩跳一跳小游戏

2017年12月微信发布的跳一跳小游戏,简单却又考验人,借着腾讯一贯的好友排名机制对用户的刺激,几乎是瞬间就火起来了。手残的我,玩这个游戏最多也只有几十分。看着这款小游戏,极其简单的操作 (长按就够了)、极其简单的背景 (几乎是纯色,没有任何背景装饰物)、极其简单的元素 (长方体、圆柱体等),让我觉得应该可以用一个脚本来自动化玩这个游戏,说干就干。

Read More

MySQL 数据库支持 emoji 表情字符

兴冲冲的整个博客,死皮赖脸的叫几个同学来评论,结果评论中输入的 emoji 表情最后会变成问号,试想别人评论「写的真棒 😄」结果变成了「写的真棒 ?」,这是何其的尴尬。

继续回到这个问题本身。我登录到数据库一查,发现数据库中存的评论文本就是个问号,这说明 emoji 表情存到数据库的过程出问题了。赶紧一查,发现网上还是很容易找到了解决方法。问题的原因是 MySQL 存储文本时默认的 UTF-8 仅支持 3 个字节编码,而 emoji 是 4 字节编码的,所以存储过程出问题了。所以需要将 charset 设置为 UTF-8 的超集 UTF-8mb4,虽然我也不知道这个 UTF-8mb4 是何方神圣。

Read More

macOS 系统编译 Android 8.1.0 源码全过程

这篇文章详细记录我在 macOS 10.13 上使用 AOSP 代码编译最新 Android 8.1.0 的 userdebug 系统,并安装到 Pixel XL 手机上,最后用 AOSP 代码成功调试 userdebug 系统 (从而可以准确将电脑上的源码和设备系统代码行号对应) 的全过程。全文包括 AOSP 的获取、编译 Android 系统、使用 Intellij IDEA 打开部分源码、使用 Intellij IDEA 进行调试这样几部分。

Read More

macOS 状态栏显示网速小工具

早先我是用盗版的 iStat Menus 软件中的「状态栏显示网速」功能的,后来不再用盗版软件了,可是偶尔还是有查看网速的需求,所以我就查找 macOS 监测网速的方法,最后找到了 nettop 这个命令。

Read More

macOS 编译 Android 9 源码

环境:

macOS High Sierra 10.13.6 with 16GB RAM
XCode 9.4.1
Oracle JDK 1.8.0_181

Read More

Linux 执行远程脚本

最近工作上需要写一套跨服务器分隔数据和转移数据的脚本。经过实践,发现单纯执行在本地执行命令来操控远程服务器的数据不现实。所以需要把脚本放在远程服务器,然后本地让服务器自己去执行脚本。此外,需要使用 expect 工具来自动输入远程服务器登录密码。

先提一些 expect 的用法,即可以写成 expect 脚本形式 (即脚本以 #!/usr/bin/expect 开头),也可以写成 expect -c ‘<several_cmd>’ 的单条命令形式。后者的示例形式:

Read More

Homebrew 小结

说实话,我无法适应暗色背景的界面,比如 jetbrains 系列 IDE 的 Darcula 主题 (暗色的背景),再比如 Terminal 的一些暗色背景主题,所以我也无法直视 Homebrew 主页的背景色,看得我眼睛难受。但是,Homebrew 应该是一个很不错的工具,毕竟它几乎取代了 MacPorts。

Read More

HomeBrew Cask 加快下载的脚本

Homebrew 是个好工具,除了用它安装命令行软件外,我也会用它来安装 GUI 软件。这么做的好处是 Homebrew 会直接帮我接连链接到 GUI 软件的可执行文件的符号链接,这样,我在终端使用符号链接,就可以打 GUI 软件了。例如,Sublime Text 的符号链接是 subl,那么在终端任何目录中,一行 subl “new text.txt” 就可以用 Sublime Text 打开new text.txt了。

Read More