升级 Spring MVC 3.2.x 到 4.x 注意事项

把 Spring 版本从 3.2.x 升级到了4.x ,这里记录一下。 新特性 Java 8 Support, 从 4.0 开始支持 Java 8,可以使用 lambda 表达式,等等 Java 8 的特性 Groovy DSL 新增 @RestController 注解,这样就不需要每个方法都使用 @ResponseBody 了。 更多内容可以查看: https://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/htmlsingle/#spring-whats-new Read more ...

2017-10-19 Spring , Java , Web

Linux 安装 nodejs

nodejs 安装其实非常简单,大部分情况下 Debian/Ubuntu 下只要使用包管理直接安装 sudo apt-get install nodejs sudo apt-get install npm 即可。 脚本安装 可是今天网络环境太差,不是 npm package not found 就是 update 半天不动。 官网 提供的安装方式 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs 也是网 Read more ...

2017-10-18 linux , nodejs , npm , js , javascript

使用 mutt 在 Bash 中发送邮件及附件

在编写定时备份脚本时遇到一个需求,就是在 Bash 脚本中发送带附件的邮件。于是找到了 mutt。 Mutt 是一个命令行的邮件客户端,Mutt 能够轻松地在命令行发送和读取邮件。 Mutt 支持 POP 和 IMAP 协议。 尽管 Mutt 是基于命令的,但也同样有一个友好的界面。 如果不使用界面,使用 Mutt 命令发邮件也非常方便,只需要一条命令即可发送或者批量发送邮件。 功能说明 E-mail 管理程序。 语法 mutt [-hnpRvxz][-a 文件][-b 地址][-c 地址][-f 邮件文件][-F 配置文件][-H 邮件草稿] Read more ...

2017-10-17 linux , email , mutt

Podcast 频道推荐

Podcast 作为一种特殊的借助声音传播的媒体,有着特定的适用场景和范围。对于我来说每当我需要放空我自己,而又需要使用眼睛和手的时候,比如长时间走路,开车,再比如乘坐地铁等等情况下都会不自觉的打开一集播客。对于固定时间的上下班时间会听固定时长差不多在 1h 左右的内容,而其他时刻根据不同的时长可能会有短到 10 分钟,或者长 30 分钟的内容。 拿播客跟传统电台广播相比,播客的制作可能会更加精良,主题更加集中,信息密度更大一些,大部分往往是针对某一个话题进行介绍或者讨论。 推荐使用通用性客户端订阅收听,比如 Google Podcasts,或者 P Read more ...


在 Spring Boot 中使用 Swagger 生成接口文档

在使用 Spring Boot 构建一套 RESTful 接口的时候经常需要手工维护一份接口文档以提供给不同的客户端使用,有的时候手工维护成本太高,今天发现了一套自动化生成 RESTful 接口文档的工具 Swagger 。 Swagger 能根据 Spring Controller 接口自动生成一个文档页面,在代码中使用注解将接口文档注释,非常方便。 Swagger 整合到 Spring boot 项目中也非常方便。 添加依赖 io.springfox >= 3.0 <dependency> <groupId>i Read more ...


每天学习一个命令: 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

最近文章

  • Windsurf 又一款 AI 智能编辑器 Windsurf 是 codeium 公司发布的一款 AI 辅助编程工具。
  • Flowith 基于白板的 AI 工具 Flowith 是一款基于二维画布、节点式、支持动态 UI 的 AI 内容生成工具。Flowith Oracle 想要打造一款 AI agent,自动帮助完成多个步骤,复杂的任务需求,可以自主规划、拆分和完成任务。年初的时候知道了这一款工具,但是一直没有用起来,现在就来再好好体验一番。
  • 个人订阅管理工具 Wallos Wallos 是一个强大的,管理订阅的开源工具,互联网应用发展到现在越来越多的应用从买断制转变成了订阅制,虽然这些服务给我们带来了便利,但是如何有效地管理和追踪自己订阅的内容就变成了一件相对麻烦的事情,因为有一些订阅可能是信用卡直接扣款,有一些可能是在 iOS App Store 里面管理,还有一些可能是 PayPal 订阅,Wallos 就是为了解决这个问题,提供了集中一体化追踪,管理,分析订阅的应用。
  • 另一款开源美观的稍后阅读和书签管理工具 Hoarder [[Wallabag]] 是我使用很久的一款稍后阅读应用,PHP 编写,但是整体 UI 界面都比较古老,但是整体使用上没出现什么问题,之后还陆陆续续体验过 [[linkwarden]],[[Omnivore]] ,[[Cubox]],[[Readwise]] 等等开源或商业的稍后阅读,但是最近也刚刚得知 [[Omnivore]] 被收购,服务也要停止了。
  • 全球旅行流量 Roamless eSIM 注册即送 5 美元余额 Roamless 是一个支持全球 181 个国家和地区的 eSIM 电话以及流量卡服务商,通过手机应用就可以快速安装 eSIM,并按需在全球不同国家和地区购买流量和通话,非常适合现代环球旅行或居所不定的人群。有了 Roamless 就不需要在各个国家的 eSIM 或流量卡之间进行切换,Roamless 会自动漫游当地的流量,我之前些天购买了一部支持 eSIM 的手机,并且刚好看到 Roamless 注册即赠送余额的活动就来体验一下,余额没有有效期,等以后出去旅游再用。