一键去除网易云音乐广告

前提条件 Android 手机 root 权限 Root Explorer 打开目录 /data/media/0/netease/cloudmusic/ 看到 AD 目录,去除写入权限即可。 Root Explorer 如果打开的是 /sdcard 下面的目录可能无法设置权限。 Read more ...

2019-07-09 netease , music , ads

Spring 自定义 namespace and handlers

自定义 namespaces 可以让用户有一种更方便的方式来定义 Bean。 Spring 提供了一些开箱及用的方式,比如 <mvc:annotation-driven/> 可以参考这篇文章 来查看该配置的作用。 Spring 从 2.0 开始可以支持自定义扩展 XML Schema。 XML Schema-based configuration 在了解自定义 XML Schema 之前首先要熟悉一下 Spring 的 XML Schema 配置。最简单的配置 <?xml version="1.0" encoding="UTF- Read more ...

2019-07-05 spring , java , java-web , spring-mvc

shell script idiom

Bash 命令中一些常见的习惯。 > file redirects stdout to file 1> file redirects **stdout** to file 2> file redirects **stderr** to file &> file redirects stdout and stderr to file /dev/null is the null device it takes any input you want and throws it away. It can be used to Read more ...

2019-07-03 bash , shell , stdout , stderr , pipeline

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

最近文章

  • Readdy:AI 驱动的交互设计工具 Readdy 是一款可以自然语言交互的 AI 建站工具,通过对话时设计,可以实现零代码快速生成网站,还可以直接发布到 Figma,或者是一键导出代码进行进一步的编辑。 在我之前的文章和视频中,我也介绍过如何使用 Claude,Vercel 的 [[v0.dev]],还有 Google 的 [[Stitch]],[[lovable]],[[bolt new]],[[Replit]] 等等非常多通过自然语言来生成代码的工具。
  • 简洁高效的开源网络终端 Next Terminal 我个人一直都是使用本地的 SSH Config 来管理我的 SSH 连接,虽然这个方案有自身的优点,就是安全,易配置,我所有的连接都只允许使用 SSH Key 访问,关闭了用户名密码,另外所有的配置都通过 assh 一键配置,我给所有的节点都配置了昵称,所以我只需要输入 ssh alias 就可以连接到任何我想连接的机器。
  • ChatWise 本地多模型支持的 AI 客户端 在我之前的视频里面当时介绍了三款不同的本地 AI 客户端,[[Cherry Studio]],[[Chatbox]],ChatWise,每个客户端都有自身的优缺点,前两款也还是开源的,但是今天要介绍的 ChatWise 是一款更轻量的,更强大的 AI 客户端,包括一些个人觉得非常好用的功能,比如本地联网搜索,MCP 支持,Artifacts 等等使用起来都非常方便。
  • Alist 风波以及在 K3s 中部署 OpenList 在我的待办事项和视频评论下方很多人提到过 Alist,虽然我自己也有搭建一个 Alist,但实际上并没没有真正使用起来,所以待办事项中的「编写一篇文章介绍一下 Alist」 也就一直延误了,我个人似乎并没有太多 Alist 使用的强需求,虽然 Alist 可以用来挂在很多的网盘,但是如果看过我之前的文章,我现在越来越多的避免将大量的数据存储到云端,也不再大量的使用网盘,所以很多人用 Alist 来挂在网盘并接入 VidHub,Plex,Emby 等来观看高清视频的需求其实我本地一台 Ubuntu(NAS) USB 挂在一块大硬盘,局域网 SMB 共享给 Apple TV 就已经解决我了 99% 的使用场景。
  • 利用 SpecStory 记录每一次和 AI 的对话 今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。

赞助