树莓派中安装MySQL 5.7

最近用到 MySQL 5.7 把所有设备上的 MySQL 版本都升级到了最新,在 Ubuntu/Debian 上升级MySQL 5.7 的内容可以在之前的文章看到。现在记录一下树莓派中升级 MySQL 的步骤。使用到 MySQL 5.7 主要也是因为其支持的新数据类型,之前项目用到了,迁移的时候会遇到问题。在网上寻找解决方案的时候遇到了一个和我遭遇差不多的,需要使用到 MySQL 5.7+ 才支持的 JSON data-type。 在 respberry pi 官方的源中,只有稳定版的 5.5 MySQL,如果要用到最新的版本只能够自己手动编译更新安装 Read more ...

2017-07-23 MySQL , Linux , RespberryPi

每天学习一个命令:使用 rsync 增量同步备份文件

rsync 全名 Remote Sync,是类 UNIX 系统下的数据镜像备份工具。可以方便的实现本地,远程备份,rsync 提供了丰富的选项来控制其行为。rsync 优于其他工具的重要一点就是支持增量备份。 rsync - a fast, versatile, remote (and local) file-copying tool rsync 是一个功能非常强大的工具,其命令也有很多功能选项,它的特性如下: 可以保持文件原来的权限、时间、所有者、组信息、软硬链接等等 可以从远程或者本地镜像保存整个目录树和文件系统 无须特殊 Read more ...

2017-07-22 linux , rsync , scp , sync , command

终端复用工具 Tmux 使用介绍

Tmux 是一个很棒的终端复用工具,和 screen 命令类似,但是 Tmux 终极的分屏功能要比 screen 强大很多,当然入门也比 screen 要高很多。如果你长时间在终端进行编程或者操作,或者你陷入无数的 Tab 而无法自拔,那么你应该需要开始了解一些 Tmux 的基本使用。 本文会从如下几个方面对 Tmux 进行介绍: Tmux 基本使用 Tmux 的基本模块 Windows Panes Sessions Tmux 主要包括以下几个模块: session Read more ...

2017-07-21 tmux , linux , command , screen , terminal

将 MySQL 升级到 5.7

这些天折腾 Django 的时候用到了 MySQL,然而本地和VPS 上使用的版本不一致,本地使用了 5.7 版本,而 VPS 上使用了 5.5 的老版本,在数据迁移的时候遇到了 5.5 版本下不支持 DATETIME(6) 这样的数据类型。 DATETIME(6) 用来保存精确到微秒的时间。 环境: 系统:Debian 7, 按道理 Ubuntu/Debian 系应该都可以 无奈只能升级 MySQL 到 5.7 , 结果也比较顺利,官方有很详细 的升级说明: wget http://dev.mysql.com/get/mysql-apt-con Read more ...

2017-07-20 MySQL , Linux

Java 查漏补缺之 class

Java 程序在运行时,Java 运行时系统一直对所有的对象进行所谓的运行时类型标识。Class 类封装一个对象和接口运行时的状态,当装载类时,Class 类型的对象自动创建。 Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个 Class 对象。 虚拟机为每种类型管理一个独一无二的 Class 对象。也就是说,每个类(型)都有一个 Class 对象。运行程序时,Java 虚拟机 (JVM) 首先检查是否所要加载的类对应的 Class Read more ...

2017-07-17 java , linux , class , reflection

Docker 入门

Docker 是一个能够把开发环境的应用程序自动部署到容器的开源引擎。该引擎的目标是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 Docker 使用客户端 - Read more ...

2017-07-16 docker , linux , 容器 , 虚拟化

Google Guava 库学习笔记

Guava 是 Google 开源的 Java 核心类库,包含了 Java 开发中众多的核心功能,其中最著名最好用的也就是合集和缓存相关的工具了。 Guava 有很多学习材料,比如官方 Wiki https://github.com/google/guava/wiki 源码包的简单说明:   com.google.common.annotations:普通注解类型。   com.google.common.base:基本工具类库和接口。   com.google.common.cache:缓存工具包,非常简单易用且功能强大的 JVM 内缓 Read more ...

2017-07-13 google , guava , java , java-lib , lib , utils

Spring MVC 处理文件上传

Spring MVC 处理文件上传 添加Maven依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> &l Read more ...

2017-07-11 SpringMVC , Java , Web , File

Maven 插件学习之:Versions maven plugin 版本管理插件

Versions Plugin 该插件用于需要管理项目 用来设置版本号 mvn versions:set -DnewVersion=1.0.1 如果需要回滚 mvn versions:revert 确认则使用 mvn versions:commit reference http://www.mojohaus.org/versions-maven-plugin/index.html Read more ...

2017-07-09 maven , versions , maven-plugin

每天学习一个命令:使用 nethogs 查看每个进程流量

在 Linux 上查看系统流量有很多命令,平时一直使用 iftop 来查看单块网卡或者系统整体的流量,iftop 可以查看 TCP 链接的流量情况,分析出流量连往的 IP 地址。但是 iftop 无法做到查看系统中单个进程的网络流量情况。所以 Google 一下之后发现了 nethogs 。 nethogs 自己的介绍 NetHogs is a small ‘net top’ tool. Instead of breaking the traffic down per protocol or per subnet, like most such Read more ...

2017-07-09 linux , nethogs , network , command

最近文章

  • Surfingkeys:比 Vimium 更强大的浏览器键盘控制扩展 最早接触 [[Vimium]] 是在学习 Vim 编辑器之后,那种能用键盘完全控制浏览器的感觉确实让人着迷。不用频繁移手到鼠标,链接跳转、页面滚动、标签切换全用键盘搞定,效率提升的体验是实实在在的。用了几年 Vimium 之后,我开始接触到 [[Surfingkeys]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。
  • Denote 介绍 Emacs 下基于文件名的笔记系统 最近在 GitHub 上闲逛的时候,我发现了 [[李继刚]] 整理的一批 [[Claude Skills]],出于好奇就 clone 下来翻了翻仓库。打开目录一眼扫过去,几乎所有 Skill 输出的文档文件名都长得很特别,大致是这样的形式: 20260527162000==z--投资分析-ajinomoto-2802。这种带着长串数字时间戳、夹杂 == 和 – 分隔符的写法,一眼看上去既不像我熟悉的 [[Jekyll]] 那种 YYYY-MM-DD-title.md,也不像 [[Obsidian]] 里常见的中文标题直接做文件名,反而有种”工程化”过头的味道。
  • Ghostty 和 xterm-ghostty 是什么 最近我在 macOS 上重新整理终端工具链的时候,又一次认真看了 [[Ghostty]]。很多人第一次接触 Ghostty,会先被它的界面、速度或者作者背景吸引,但只要打开 Shell 跑一个 echo $TERM,很快就会看到一个更陌生的名字:xterm-ghostty。这个名字看起来像是传统 xterm 的变种,实际上它背后代表的是 Ghostty 对终端兼容性的一整套设计思路。很多人把它当成一个无关紧要的环境变量,但如果你经常使用 [[SSH]]、[[tmux]]、[[Vim]]、[[Neovim]]、[[less]] 或者各种 TUI 工具,理解 xterm-ghostty 会让你少踩很多坑。
  • 终端开发的新范式:从 Gemini CLI 到 Antigravity CLI 终端智能体的新旅程
  • Antigravity CLI:Google 推出的下一代终端 AI 编程智能体 最近在关注 Google I/O 2026 的动态时,看到了一个让我颇感兴趣的发布——[[Antigravity CLI]],Google 官方宣布用它来取代已经积累了超过 10 万 GitHub Stars 的 [[Gemini CLI]]。这个时机有点微妙:个人版 Gemini CLI 用户必须在 2026 年 6 月 18 日前完成迁移,否则将失去模型访问权限。作为一个长期在终端里工作、也在持续关注 AI 编程工具演进的开发者,我觉得有必要认真研究一下这个新工具到底带来了什么改变。