每天学习一个命令: Linux 查看磁盘信息命令 di

平时在 Linux 上查看磁盘信息都使用 df -lh , -l 显示本地文件系统, -h 来表示 human readable 。虽然 df 在一定程度上能够满足查询磁盘剩余空间的需求,但是这里要介绍一款强大于 df 的命令 —- di 。 使用如下命令安装 sudo apt install di di 命令是 disk information 的缩写,直接运行 di 会有如下结果 di Filesystem Mount Size Used Avail %Used fs Type / Read more ...

2017-10-16 linux , 磁盘管理 , disk , df

SonarQube continuous code quality

关键字提取,开源,代码质量管理,多语言支持。 SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages. 开 Read more ...

2017-10-11

jenkins setup and introduction

Jenkins 是什么 Jenkins 是一个独立的开源自动化服务器,可用于自动化各种任务,如构建,测试和部署软件。Jenkins 可以通过本机系统包 Docker 安装,甚至可以通过安装 Java Runtime Environment 的任何机器独立运行。 Jenkins 有什么作用 用于持续、自动构建,测试项目,监控外部任务运行等。 模板类型 新建模板类型 Freestyle project 基础功能,执行构建任务 Pipeline,真实工作环境可能会包含,代码检查,编译,单元测试,部署等等任务,这个模板就是串行执行任务 Mul Read more ...

2017-10-10 jenkins , ci-cd , ci

mockito 使用

单元测试的目的是在不涉及依赖的情况下测试代码(隔离)。一个设计良好的系统需要遵循 SOLID 原则。 (S) Single responsibility principle 单一职责 (O) Open/closed principle 开闭原则,对修改关闭,对扩展开放 (L) Liskov substitution principle 里氏替换原则,子类和父类表现一致 (I) Interface segregation principle 接口隔离原则,不要依赖不要使用的方法,或者在设计时尽量将大接口拆开 (D) Dependen Read more ...

2017-09-27 mockito , unit-test , java , mock

从 Clonezilla 恢复系统学习 Linux 启动过程

最近又一次使用 Clonezilla 来克隆系统,和以往不同的是,这一次我是备份了整块硬盘到镜像,然后从镜像恢复系统到另外一块硬盘,而不是以往是复制一个分区,所以又产生了一些问题,所以有了这篇文章,一方面来记录一下中间遇到的问题,另一方面也学习巩固一下关于 Linux 启动过程中的必要流程。 基础知识 关于最基础的计算机启动过程也就不展开说,阮一峰,和网上大部分文章已经讲的非常清晰了,这里只简单的列举一些基础名词,必须要知道的概念。 BIOS 全称是 Basic Input Output System,也就是一块被写入开机程序的只读内存,电脑通电之后 Read more ...

2017-09-25 linux , boot , mbr , uefi , bios , clonezilla

每天学习一个命令:使用 grep 查找文件内字符串

一直都知道 grep 很强大,但是一直都没有办法来定义它,直到看到 man 介绍第一行,非常简洁精炼 “print lines matching a pattern”,一下子就知道了 grep 的作用。 grep 全称是 Global Regular Expression Print。grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。 grep 可用于 shell 脚本,因为 grep 通过返回一个状态值来说明搜索的状态,如果模 Read more ...

2017-09-23 grep , linux , egrep , command , regular

jinja2 笔记

jinja2 是基于 Python 的模板引擎。 种类 注意下面的 \ 是因为模板需要转义,使用时需要去掉,另外大括号和 % 之间的空格也需要去掉。 \{\% ... \%\} Statements 控制结构,比如 if/elif/else for-loops,macros,block 等等 \{\{ ... \}\} Expressions 表达式,用来输出结果 \{\# ... \#\} Comments 注释 \# ... \#\# Line Statements 表达式及过滤器 \{\{ name \}\} 结构表示一个变量 Read more ...

2017-09-22 python , flask , jinja2 , template , web

Python 笔记之赋值语句和表达式

赋值语句比较简单,Learning Python 这本书中对赋值语句介绍比较详细,分类也讲述的比较细,这篇文章就只简单的记录一些容易混乱的知识点,并不记录所有赋值语句需要注意的点。 Augmented assignment and shared references 在之前的文章中就交代过共享引用是需要特别注意的,在 augmented assignment 中也是 >>> L = [1, 2] >>> M = L # L M 共享同一个对象 >>&g Read more ...

2017-09-20 python , notes , assignment , expression

Maven 介绍

Maven 是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。自动化构建过程,从清理、编译、测试和生成报告、再到打包和部署。Maven 通过一小段描述信息来管理项目。 Maven 安装 安装之前先把 JDK 环境配置好。 Debian/Ubuntu/Linux Mint 下 sudo apt install maven 如果要手动安装则按照下面步骤,选择一个合适的版本 下载 Maven 最新安装包,地址 http://maven.apache.org/download.cgi 比如 apache-Maven-3.3.9-bi Read more ...

2017-09-20 maven , java , build , management

IntelliJ IDEA 中使用 Resin 调试

平时开发环境使用的是 jetty,而 Java Web 有一个更好更快的服务器 Resin,这篇文章就来说一下什么是 Resin,以及在 Debug 中如何使用。 什么是 Resin Resin 是一个提供高性能的,支持 Java/PHP 的应用服务器。目前有两个版本:一个是 GPL 下的开源版本,提供给一些爱好者、开发人员和低流量网站使用;一种是收费的专业版本,增加了一些更加适用于生产环境的特性。 Resin 也可以和许多其他的 web 服务器一起工作,比如 Apache Server 和 IIS 等。Resin 支持 Servlets 2.3 标 Read more ...

2017-09-19 Resin , IntelliJ , Java

最近文章

  • Google Code Wiki:让 GitHub 仓库秒变代码百科全书 之前 Devin 团队推出了一款 DeepWiki 的网站,可以用来解释 GitHub 的代码仓库。今天偶然发现 Google 也推出了类似的产品,叫做 Code Wiki。
  • Typeless: 又一款 macOS 上的 AI 语音输入利器 看过我博客的人会发现,我在这半年的时间里面体验了非常多的语音转文字工具,可以说,这样的工具极大地提升了我的生产效率。不仅搭配 Obsidian 可以更快地写笔记,搭配 Claude Code 等编程工具也可以让我更快地输入提示词。体验到后面,遇到类似的产品,我一般也不会单独地出一篇文章,但是今天体验完了 Typeless,我觉得它值得写一篇文章,单独介绍一下。
  • Gemini CLI 使用小技巧 本文记录 Gemini CLI 使用过程中一些容易被忽略的问题,以及使用小技巧。
  • 让 AI 更懂你的工作流:Gemini CLI 自定义 Slash Commands 配置指南 看过我博客的人会发现,我过去分享了非常多 Claude Code 下的使用小技巧,Claude Code 提供了非常好用的 Clash Commands,可以让我们直接通过快捷方式调用我们预先定义好的 prompt。最近我在使用 Gemini CLI 时,也发现我需要类似的功能。但幸好,Gemini CLI 已经帮我们实现了 slash commands,我们只需要定义好一个函数,就可以非常轻松地通过斜杠命令来调用。
  • 在 Obsidian 中使用 Gemini CLI 从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。