Leasy Blog

Boilerplate of Leasy Blog

Use PostgreSQL jsonb type with ShardingSphere

Within Spring Data Jpa

“在Shardingsphere框架中使用Postgres Jsonb数据” 这篇文章介绍如何在ShardingSphere框架中使用postgres jsonb类型的数据: 经过本地验证,ShardingSphere无法支持JPA和PostgreSQL Jsonb同时使用,如果同时使用会报 Can't infer the SQL type to use for an inst...

Morris 遍历

二叉树中序遍历

“Morris 中序遍历二叉树” 这篇文章介绍一种二叉树的遍历方式,这种遍历方式可以做到以下要求: O(1)空间复杂度; 二叉树的形状不能被破坏(遍历的过程中可以有修改,遍历完成之后二叉树形状和初始相同)。 本文只介绍中序遍历的方式。 定义树的数据结构 public class TreeNode { int val; TreeNode left;...

SpringBoot项目使用异步任务

@Async 注解使用

“Spring Async功能使用” 最近在项目中需要实现一些统计的Job,因为这些Job比较耗时,而且项目还有一些Controller来接收客户端请求,每次Job执行的时候,如果这时候有请求过来,请求就会卡住直到job完成,这个体验非常糟糕。 考虑到每个Job都是独立运行的没有被其他地方依赖,所以打算将这些Job用异步调用的方式来实现。 项目是SpringBoot项目,经过调查发...

fastjson 解析double类型数字变成科学计数法的解决方法

fastjson 自定义解析格式

“fastjson解析大数字” 最近在使用fastjson的时候,发现在解析Double类型的数据时,如果数字小数点过多,fastjson会解析成科学计数法的形式。 static class Stock { private Double price; public Double getPrice() { return price; } ...

AWS Cognito不支持Okta IDP 发起的flow的解决方法

Okta cognito integration

“Okta创建Bookmark App” 我参考AWS Cognito文档 将Okta设置为SAML提供商,但是当我从Okta中发起登陆流程的时候发现会报错,错误信息是 Invalid samlResponse or relayState from identity provider 搜索了一下发现AWS Cognito目前是不支持IDP主动发起的Flow,只支持SP发起的f...

PostgreSQL分表实践

两种分表策略的使用

“PostgreSQL分表实践” 概述 分表指的是将一个大表分割成主表加上若干小的表,主表不存储数据,是逻辑表。子表是存储数据的物理表。通常在数据库表数据膨胀到一定程度的时候就需要考虑分表,尤其是经常访问的数据库表,分表可以带来以下好处: 一般情况下查询效率会提升,特别是经常访问的表被拆分成小的表之后,而且小的表索引也会变小,查询会更快; 索引变小,会提升写入,更新和...

Kibana创建图形

logstash输出自定义结构日志

“Logstash输出自定义结构数据” 背景 最近接到一个任务,需要统计数据库的业务指标,然后日志需要在Kibana上显示,并且需要根据日志内容构建图形展示。 比如日志输出的内容是 { "timestamp" : "2019-12-17T05:00:08Z", "count" : 324 } 其他字段忽略不计,我需要构建一个柱状图,横坐标是时间,纵坐标是数量。...

Customize Docker file with Rails Dependency

Install Rails for docker image

“Building a Docker image with Ruby and Rails” Recently I was working on a Rails project, the project uses Docker to build an image and deployed on somewhere. For some reason I can only use a p...

Rails应用将日志送到ELK中

Rails ELK integration

“Rails日志发送到ELK平台” 最近在研究Rails如何将日志送到ELK中,这里记录下。我会创建 使用工具 Lograge Logstash-logger Elastic search Logstash Kibana Docker 准备工作 配置ELK,我是用Docker来配置和运行ELK工具的,如何配置参考TBD 创建一个Rails项...

用Rails解析AWS Cognito JWT数据

Go Web Application With Heroku

“Decoding and verifing AWS Cognito in Rails” 这篇文章介绍一下我用Rails去解析AWS Cognito JWT数据的实践经验。 JWT JWT是JSON Web Token的缩写,是一个开放的互联网标准,在RFC 7519中有详细的定义。JWT可以用来做身份认证,比如服务端生成一个包含用户属性的token,这些属性表示用户在系统中的角...