记住一些常用的时间操作函数能够提高 SQL 查询的效率。比如查询过去 30 天的记录,如果不清楚 DATE_SUB() 函数可能需要手动计算一下时间点再查询,但是如果知道 DATE_SUB() 函数就可以
SELECT something FROM tb_name WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= daet_col;
这个 SQL 同样会查找出来当前时间点未来的记录。
获取时间
获取当前时间
mysql> SELECT NOW();
+-------------------
Read more ...
今天想要通过 adb 将盒子中的所有 apk 备份出来,很早之前写过的文章 就提到过如何手动的备份 apk 文件,不过这样很麻烦,需要每一条都手敲,所以想到了使用刚了解到的 xargs 命令,所以想通过几个命令将文件路径全部都拷贝出来,包名也拷贝出来。然后使用 xargs 来批量执行每一行命令。
通过这个拿到所有包名
adb shell pm list packages | cut -d: -f2 | tee pkg.txt
拿到所有文件路径
adb shell pm list packages | cut -d: -f2 | xargs -I
Read more ...
修改设置
Press Ctrl+Shift+A
Enter “unused declar”
Double-click on “Unused declaration”
Settings will pop up
设置
Click on Java/Declaration redundancy/Unused declaration
on the right bottom select “On the fly editor settings”
untick check fields, …, check parameters.
Read more ...
gitlab-cli 是一个用 Javascript 所写的工具,可以用来在命令行中提交 gitlab 的 merge request 等等,作者说收到 hub 工具的启发。
Installation
npm install git-lab-cli -g
Usage
查看帮助
lab -h
通过环境变量全局配置
GITLAB_URL=https://gitlab.yourcompany.com
GITLAB_TOKEN=abcdefghijskl-1230
TOKEN 可以在 https://gitlab.yourcompany.co
Read more ...
xargs 用来把一个命令的结果传递给另外一个命令执行。这是一个日常中经常会遇到的场景。
xargs 会从标准输入读取内容,然后将内容送给其他命令构建其他可执行命令。这意味着可以从一个命令行的输出结果读取内容并作为另一个命令的输入。
xargs 默认读取时按照空白字符分割的输入,输入可以带双引号,单引号,或者反斜杠转义,xargs 也可以读取新行,然后将输入作为参数执行对应的命令一次或者多次,默认是 /bin/echo。空白行输入会被忽略。
Unix 文件系统的文件可以包含空白和新行,这个默认的行为可能造成一些问题,包含空白的文件名可能被 xarg
Read more ...
[[Tmux]] 是一个很强大的终端复用工具,下面是日常积累中记录的一些使用经验。
多 Pane 同步输入 Multiple Pane Synchronization
Tmux 一个非常著名的功能就是可以多个 Pane 同步输入,使用方式:
prefix
输入 :setw synchronise-panes on
然后在多个 Pane 中就开启了同步
同理配置 :set synchronise-panes off 就可以关闭
我在 ~/.tmux.conf 中配置了:
bind C-x setw synchronize-pane
Read more ...
D-Bus 是 Desktop Bus 缩写,是一个 inter-process communication(IPC) 和 remote procedure call (RPC) 机制,用来允许在同一台机器上进行进程间通信,它是 Linux 桌面环境中最重要的产物之一。它被越来越多地被用于应用程序间通信,也被用于应用程序和操作系统内核之间的通信。很多现代的服务进程都使用 D-Bus 取代套接字作为进程间通信机制,对外提供服务。
进程间通信
大部分 Linux 系统用它将系统事件(比如插入 USB 设备)通知给进程
D-Bus 作为 fre
Read more ...
Termux 是一个 Android 上的应用,但是这个应用是一个终端模拟器,可以完美的在 Android 上模拟一个 Linux 终端环境。甚至不需要 root 权限,正常安装即可使用。Termux 还提供了一套自己的包管理。
Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automa
Read more ...
今天逛博客偶然间见到了一款全平台开源的密码管理软件 – Bitwarden,回想 2013 年的时候曾经写过一篇密码管理的方案,一回首已经六年,而这六年间换了无数设备,换过无数密码,从最早手写,固定规则,到 KeePass,到 LastPass,还曾经买过一年的 LastPass 会员,如今稳定地用着 LastPass。也见证了 LastPass 从简陋的单纯的密码管理到 Chrome 上的自动填充,再到 Android 上的一键填充,最后 iOS 也开放了支持,所有的平台几乎 LastPass 通吃了, Auto Fill 的功能实在太贴心。
然后为
Read more ...
Magisk 通过修改启动(Boot)文件,在开机时加载 Magisk 框架,“不修改实际的系统文件”而“达到修改系统的效果”.
Magisk 在数据(非系统)分区里放置了一些修改好的系统文件 / 程序,系统启动时会加载这些修改过的文件 / 程序,而不是系统本身的文件,这样系统本身的文件并没有被实际修改,
Magisk 的另一大功能就是获取 Root 权限 / 授权(Root)管理(MagiskSU)了,在原本的 SuperSu 被国内厂家收购后就失去了大部分的支持,所以现在 ROOT 基本通过 Magisk 来实现了。
Magisk 的另一个用处
Read more ...