markdown 语法学习
概述
这篇文章主要讲解了 markdown 的语法规则、编辑器以及一些使用技巧。
在线测试一下
可以到下面这些在线网站可以在线编辑并实时预览 markdown 语法:
- Markdown 在线编辑器 - Markdown Live Preview - 打开网页后左侧编辑 markdown,右侧实时预览结果
- Dillinger - 在线 markdown 编辑器,支持导出 HTML/PDF
- jbt markdown editor - 简单的分栏在线编辑器
这篇文章主要讲解了 markdown 的语法规则、编辑器以及一些使用技巧。
可以到下面这些在线网站可以在线编辑并实时预览 markdown 语法:
本文介绍了在云服务器(Windows Server 2012)上搭建 frp 服务,以及域名 DNS 解析配置,实现内网穿透功能,使用自定义域名访问部署于内网的 web 服务。
开发过微信公众号程序的同学都知道,微信公众号的服务器配置中,需要指定服务器地址,微信平台会往这个地址推送消息。这个地址必须是公网能够访问的,我们在本地开发测试时,就需要一个地址,能够在公网中访问本地运行的程序,内网穿透就是干这个的。以前我使用的是别人的 ngrok ,但有一些问题,比如不能指定 url 前缀,使用自定义的需要交费,再比如别人服务器关了,我就要满世界去找其它的工具了。
frp 是一款开源的用于内网穿透的反向代理工具,支持 tcp、udp 协议,为 http、https 协议提供了额外的能力。

本文主要介绍了 什么是 Liquibase,以及在 SpringBoot 项目中集成使用 Liquibase 对数据库表进行管理,包括自动创建数据库表、自动初始化数据、更新表结构。
官网:Liquibase | Database Refactoring | Liquibase: http://www.liquibase.org/
Liquibase 是用于数据库重构、管理、记录变化与回滚的开源工具。
在写代码的时候,我们使用 Git 或 subversion 对代码进行版本控制,在数据库中,我们可以使用 liquibase 对数据库表进行版本控制。
本文简单介绍了 Elasticsearch 是什么,在 windows 环境下的安装 Elasticsearch,在 SpringBoot 项目中使用 Elasticsearch 对数据进行增删改查操作。

Elasticsearch(简称 ES) 是一个开源的、高扩展性的分布式全文搜索和分析引擎,能够迅速、近乎实时的对大量数据进行存储、分析、检索,可以满足应用复杂的搜索特性和需求。
官网:https://www.elastic.co/products/elasticsearch
Elasticsearch 的核心是 Lucene ,使用 Java 进行封装,隐藏了 Lucene 的复杂性,提供 Java API 和 RESTful API,方便使用。
初次接触到 JVM 调优,在本文中记录了相关的概念、方法与工具使用。
线上运行的项目,在一次版本更新时配置出错,没有开启数据消费线程,导致 Redis 消息队列中积压了超四百万条数据,修改配置后再运行时,程序自动读取消息队列中数据开始解析,结果发现服务器 cpu 占用率长时间达到 100%,消息队列中不断积压数据,后台管理页面无法访问。
当 SpringBoot 项目最初运行起来时,在控制台看到的类似下面的信息,就是 SpringBoot 的 banner。可以把项目中的 banner 换成自己公司的 LOGO,增强员工对公司的认同感。
1 | . ____ _ __ _ _ |
SpringBoot 默认寻找banner的顺序是:
最近在用 springboot 做 web 项目,其中一个实体中使用了 java8 中的 ZonedDateTime 来记录时间,但是前端页面在使用 POST 或 PUT 提交请求,出错了,错误主要提示信息如下:
1 | org.springframework.validation.BindException: |
读过错误提示后知道是在数据验证绑定时,字段的类型转换错误,前端传的是一个字符串格式的时间,格式为:yyyy-MM-dd HH:mm:ss ,后端方法接收的参数是一个对象,交由spring 自动绑定,绑定时发现参数值不是一个 ZonedDateTime 对象,所以报了类型转换错误。因此,解决思路是写一个方法来完成这个字符串格式时间 和 ZonedDateTime 对象的转换。