首页
招文桃
取消

Portainer 简单上手

Docker 单机安装 Portainer 首先在 Docker 创建一个 Volume 用来存放它的数据库: docker volume create portainer_data 然后下载并安装 Portainer Server 容器: docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always...

Spring Cloud OpenFeign 文档学习记录

本文涉及 Spring Cloud OpenFeign 的版本为 3.1.3 Spring Cloud OpenFeign 通过自动装配和绑定为 Spring Boot 应用提供了 OpenFeign 在 Spring 环境及其他 Spring 编程模型中使用的集成。 1. 声明式 REST 客户端:Feign Feign 是一种声明式 Web 服务客户端。它使得编写 Web ...

Spring 中的声明式 HTTP 客户端

如果使用 RestTemplate 的话,就太不简洁了。很多代码。 Client interface method calls ====> proxy ====> HTTP calls Feign 是其中一种解决方案。 Feign 支持多种 HTTP client 实现, 而且支持 Contracts, 支持自定义注解,参数解析 支持多种 编码器、解码器,包括 Ja...

如何在 Excel 中按列分割数据到多个工作表

假设你有个 Excel 表格有很多行数据,比如有 ”年份“,”项目部“ 和 ”金额“ 这三个列(见下图 1)。然后你想将数据按照 ”项目部“ 分割成独立工作表,即工作表 “一部” 仅包含一部的数据。可能你还想将已分割的工作表分别保存到各个独立的 Excel 文件中,下文就说明如何使用 Excel VBA 脚本完成这些操作。 首先看看表格的结构,和想要分割的效果。 图 1 接下来是 VB...

MySQL 优化策略

本文讨论 MySQL 一般优化策略 数据库层面优化 先问一下问题: 数据表结构是否合理,列是否使用的正确的数据类型,以及每张表的列数量是否合理?例如,经常做更新操作的应用通常是多表少列,而用于分析大量数据的应用一般是少表多列。 索引设置是否合理以便优化查询? 表是否采用了合适的存储引擎?事务型用 InnoDB,非事务型用 MyISAM

MySQL 文档型数据存储

本文记录使用 MySQL 作为 NoSQL 存储,主要是阅读 MySQL 8.0 Reference Manual 的 Chapter 20 Using MySQL as a Document Store 内容和练习时候的笔记。 文档型数据存储 文档型数据存储相对于传统的关系型数据存储,比较明显的区别就是文档型数据存储是不需要预先定义模式(schema)的,而关系型数据存储需要定...

播放器进度条预览实现

本文记录一种播放器进度条预览的实现方式,类似基于 vtt + 精灵图的实现,只不过是通过约定和计算公式确定所截取的雪碧图的小图位置,而不需要依赖 vtt 文件。 1. 从视频文件或播放列表按照一定时间间隔抓取图 抓取图的间隔决定了进度条预览的粒度,如果以 5s 为间隔取图,那么预览图就有一定跳跃性,最长可能要拖动进度条 5s 才会看到预览图有变化。如果每 1s 取一次图,预览时候效果就相...

在 Ubuntu 20.04 安装 ffmpeg

FFmpeg 5.0 “Lorentz” 已经发布,不过可能项目不需要用到那么新的版本,所以这里记录在 Ubuntu 20.04 安装 FFmpeg 4.4 “Rao” 的过程。 添加 PPA: sudo add-apt-repository ppa:savoury1/ffmpeg4

获取 Java thread dump

当生产环境的Java应用程序出现问题时,我们可以借助JVM提供的一些工具去分析问题根源。近期在线上环境遇到Java应用导致服务器CPU占用过高的情况,当时使用到一些JVM工具去获取线程转存, 这里记录一下排查过程和用到的命令。

安装Spring Boot应用作为系统服务

本文介绍 Spring Boot 应用打包为可执行 jar 文件,并将其安装到 Linux 系统作为 init.d 服务或 systemd 服务。 注意,系统的 Java 要安装正常,不然 systemd 不能正常识别。 以 jar 形式打包的 Spring Boot 应用可以使用命令 java -jar 运行,但也可以将它作为 Unix 环境的完全可执行文件的形式。一个完全可执...