Mingfer's Blog

久而久之,不了了之

HTTP Cache

Spring Boot 如何配置 HTTP Cache

前言 HTTP Cache 是一种提高 Web 页面资源加载效率的技术手段。具体实现为:Web 资源经过的各级系统通过存储 Web 文档,视频,网页,图片等资源的副本。在指定的条件下,前端(如浏览器)直接加载存储的副本,而无需到服务器上请求,以此减少资源请求的滞后性。 相关规范:RFC 7234 HTTP Cache HTTP Cache 的实现主要和 HTTP Header 中的几...

Spring-Boot 静态资源配置

Spring-Boot 是如何加载静态资源的

前言 当我们在发布一个非前后端分离的,带 Web 页面的应用的时候,Spring Boot 是如何识别这些静态资源的呢?我们可以做哪些客户化的定制实现我们额外的需求呢?下面我们一起探讨一下这一部分的内容。 推荐配置 在官方文档 29.1.5 Static Content 中详细介绍了 Spring Boot 是如何进行静态资源配置的。 在默认的情况下,Spring Boot 会从 S...

通往敏捷:什么是 Scrum

如何使用 scrum 方法打造一个敏捷团队

Scrum 是敏捷开发方法中比较流行的一种方法,这里简要的对 scrum 的一些阶段做一定的介绍。 什么是敏捷 敏捷的开发方法包含四个核心价值和十二条原则,是以迭代作为开发周期,以人为中心的软件开发方法。 核心价值 在核心价值中,右边的部分也是非常重要的,但是左边的部分更重要。从实践的过程中看,如果没有做好右边的事情,敏捷通常也是失败的敏捷,可以说右边的内容是敏捷团队的基础,...

如何拥有一个云端的 linux 桌面系统

基于 Docker 和 VNC 搭建远程 linux 桌面系统

当拥有一个云端服务器又没啥服务可以部署的时候,或许还可以将它作为一个远程的桌面系统使用。 前言 本文主要介绍如何构建一个在 Docker 中运行的桌面化的 CentOS7 实例,至于 Docker 位于云端还是位于本地主机上,可以根据需要自行决定。 这里我们分三个步骤完成远程桌面化 Linux 系统的搭建: 运行 CentOS 容器并安装 GNOME 桌面 搭建 V...

JWE

JSON Web Encryption

JWE 是一种 IETF 标准,为基于JSON 和 Base64 的加密数据交换提供标准化语法。 本篇博客以思维导图的方式存放在幕布网 —— JSON Web Encryption 。

JDK1.8 中的 Optional

更安全快捷的值处理接口

JDK1.8 引入了一个非常方便的值处理类 —— Optional 类,它除了用于解决臭名昭著的空指针异常,还有更多不止于此的用途。 本质上来说,Optional 是用来包装其他对象的一个包装类。通过包装它提供了空值校验,默认值设置,值转换等功能。而且搭配 JDK1.8 的函数式编程,可以帮助我们实现一些更强劲的功能。 本文代码参见:cn.mingfer.demo.utils....

Java 常用技巧

一些 Java 零碎代码片段

数据过滤 去除 List 中的 null 元素 1 2 3 4 5 6 7 8 9 10 11 12 @Test public void trimNull() { final List<String> strings = Arrays.asList("test", null, "2", "test3", null); // 串行的方式去除 null 元素 ...

Git 工作流・三

Git 常用技巧说明

git 是一个开源的分布式版本控制系统,可以有效、高速地进行很小到非常大项目的版本管理。 对于刚接触 git 的同学来说,大家更多的是将 git 当做 SVN 这样的集中式的版本控制工具在使用。当然这没什么不好的,但是 Git 显然不是这么简单的一个工具。本文将会持续的更新工作中用到的各种关于 Git 的使用技巧。 菜鸟的三板斧 建立一个本地仓库: 1 $ mkdir dem...

Linux 数据转换命令

如何实现 Base64,DER,JSON 等数据格式的解析

主要说明 Linux 下一些用于数据转换的常用命令 Base64 数据转换 一般来说 Linux 提供了 base64 命令来编解码数据,在不同的 Linux 版本中该指令提供的参数和功能可能有所区别。 在 macOS 下,base64 命令包括下面的选项: 1 2 3 4 -D, --decode 解码输入的数据 -b, --break 多少个字符进行换行...

Linux 常用命令

关于 Linux 命令的花式用法

技巧类的合集更多的是方便自己查阅所用,毕竟每次忘了都要去 google 或者 baidu 太影响效率了。 Shell 脚本 if 条件 字符串判断 1 2 3 4 5 str1 = str2 当两个字符串有相同内容、长度时为真 str1 != str2 当两个字符串不相等的时候为真 -n str 非空,当字符串长度大于 0 的时候为真 -...