MySQL 日期和时间函数

记住一些常用的时间操作函数能够提高 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 ...

2019-06-30 mysql , database , sql , date , time

Linux 下执行文件中的每一行

今天想要通过 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 ...

2019-06-28 linux , bash , xargs , commands

Intellij IDEA 中删除所有未使用的类

修改设置 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 ...

2019-06-28 intellij

Gitlab 中使用命令行提交 merge request

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 默认读取时按照空白字符分割的输入,输入可以带双引号,单引号,或者反斜杠转义,xargs 也可以读取新行,然后将输入作为参数执行对应的命令一次或者多次,默认是 /bin/echo。空白行输入会被忽略。 Unix 文件系统的文件可以包含空白和新行,这个默认的行为可能造成一些问题,包含空白的文件名可能被 xarg Read more ...

2019-06-19 linux , xargs , cli , command-line , bash

一些 Tmux 使用小技巧

[[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 ...

2019-06-19 tmux , linux , commands , terminal

D-Bus 简单学习

D-Bus 是 Desktop Bus 缩写,是一个 inter-process communication(IPC) 和 remote procedure call (RPC) 机制,用来允许在同一台机器上进行进程间通信,它是 Linux 桌面环境中最重要的产物之一。它被越来越多地被用于应用程序间通信,也被用于应用程序和操作系统内核之间的通信。很多现代的服务进程都使用 D-Bus 取代套接字作为进程间通信机制,对外提供服务。 进程间通信 大部分 Linux 系统用它将系统事件(比如插入 USB 设备)通知给进程 D-Bus 作为 fre Read more ...

2019-06-18 linux , dbus , gpg , desktop

Termux app 使用记录

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

今天逛博客偶然间见到了一款全平台开源的密码管理软件 – Bitwarden,回想 2013 年的时候曾经写过一篇密码管理的方案,一回首已经六年,而这六年间换了无数设备,换过无数密码,从最早手写,固定规则,到 KeePass,到 LastPass,还曾经买过一年的 LastPass 会员,如今稳定地用着 LastPass。也见证了 LastPass 从简陋的单纯的密码管理到 Chrome 上的自动填充,再到 Android 上的一键填充,最后 iOS 也开放了支持,所有的平台几乎 LastPass 通吃了, Auto Fill 的功能实在太贴心。 然后为 Read more ...


Magisk 模块整理 For OnePlus 7 Pro

Magisk 通过修改启动(Boot)文件,在开机时加载 Magisk 框架,“不修改实际的系统文件”而“达到修改系统的效果”. Magisk 在数据(非系统)分区里放置了一些修改好的系统文件 / 程序,系统启动时会加载这些修改过的文件 / 程序,而不是系统本身的文件,这样系统本身的文件并没有被实际修改, Magisk 的另一大功能就是获取 Root 权限 / 授权(Root)管理(MagiskSU)了,在原本的 SuperSu 被国内厂家收购后就失去了大部分的支持,所以现在 ROOT 基本通过 Magisk 来实现了。 Magisk 的另一个用处 Read more ...

2019-06-11 magisk , root , android , android-dev , adb , adaway , youtube , exposed

最近文章

  • 我 Vibe Coding 了一个日本看房神器:BukkenAI 最近在东京认真找房子,每次拿到一个物件地址,我都要重复做同样一套操作:打开 [[Google Maps]] 搜地址,确认大概位置;找最近的车站,看步行距离;切到 Yahoo 地图查灾害风险图;再搜一圈附近有没有超市、医院、药局。做完一遍下来,十几分钟就过去了,物件多的时候,这些重复的信息收集工作比看房本身还累。某天做完第 N 遍之后,我决定干脆自己做一个工具,输入地址,全部自动搞定。这就是 BukkenAI 的起点。
  • Entire:让 AI 编程会话成为 Git 历史的一部分
  • Atuin:用数据库替换 Shell 历史,跨设备同步不再是难题
  • Ghostty 终端配置技巧:从入门到舒适 从 Warp 切换到了 [[Ghostty]],理由非常简单,我使用 atuin 来同步 Shell 历史,但是 Warp 不支持,外加上 Ghostty 自带 Metal GPU 加速渲染、原生 macOS AppKit 构建、启动飞快,可以让 AI 以纯文本方式配置,就果断切换了。
  • GitNexus:把你的代码库变成 AI 能读懂的知识图谱 用 AI 写代码这件事,大家都已经习惯了。但一个尴尬的现实是:AI 在修改代码的时候,经常不知道自己改的那个函数被多少地方调用、改完之后会不会连锁反应把别的功能搞崩。这不是 AI 模型不够聪明,而是它看不到代码库的全貌——依赖关系、调用链路、执行流程,这些结构性的信息在普通的文件搜索里是丢失的。