自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 nginx 用于跨域,用于不同环境的切换(配合host配置)实现同一个域名不同ip的切换,方便测试

nginx 用于跨域,用于不同环境的切换(配合host配置)实现同一个域名不同ip的切换,方便测试 443是https监听端口 localcation中相同部分,截取,多出部分向下带 启动会自动在logs下生成pid---reload没有pid就重启 默认的配置文件都有模板 #user nob...

2020-05-21 11:51:50 52 0

原创 springboot集成中间件思路

整合方式的选择:根据一般的包,选择 一般中间件的整合都已一个默认的装配依赖链,不同的方式整合装配依赖链不一样,同一种整合方式由于自定义程度的不同稍有不同 自定义部分一般需要集成实现中间件默认使用的对一个的父类,然后通过显示的方式set进入中间件,用注解的时候注意先后的依赖设置 ...

2020-05-20 16:41:21 11 0

原创 解决json存储对象有转义的问题二---直接存储对象字节码

在Jedis开发中,我们很多时候希望直接把一个对象放到Redis中,然后在需要的时候取出来。Redis的key和value都支持二进制安全的字符串,存储Java对象不是问题,下面我们看一下如何来实现。 1要存储的对象 现在写一个很土的Java Bean,包含两个字段,id和name,类名叫...

2020-05-20 16:38:20 12 0

原创 一个请求各个阶段的时间都可在浏览器中有统计可以查看timing统计

一个请求各个阶段的时间都可在浏览器中有统计可以查看timing统计

2020-05-18 14:43:37 15 0

原创 nginx配置https

总括: nginx配置https会自动实现https请求在nginx层转成http,在nginx配置https,比在某一个服务配置直接配置方便,不必每个服务都配置http, 只要经过此ngix转发的服务都在接入前是https,接入后自动转 1,nginx编译ssl,模块 2,自己签证书 3,监...

2020-05-14 20:38:21 27 0

原创 hosts+nginx实现同一域名不同指向调试

同一域名不同指向调试 1,域名默认的指向 2,在本地配置host,改变此域名的指向的nginx,然后nginx代理到不同的后端 这样可以用前后端一端调试任意一端 nginx localtion匹配到会把相同部分截取,不同部分向下拼接,如果需要的被截取就在代理中加上 ...

2020-05-14 20:09:27 13 0

原创 REGEXP在mysql是用来执行正则表达式的一个函数

总括: .单个字符 *,%多个字符 []相应模糊匹配的选择范围-------^[1-5]--开始1到5任意一个 ^开始 $结束 | 或者 {n}、{m,n} {n}或{m,n}符号提供了编写正则表达式的更通用方式,能够匹配模式的多少位前述原子(或“部分”) a? ...

2020-05-14 11:52:15 18 0

转载 redis Unexpected end of stream. 异常

近期生产环境碰到不少redis的异常,有获取不到连接的,有返回资源出错,还有就是Unexpected end of stream. 这个异常。各种百度google之后发现造成这种问题的原因大致如下 1.输出缓冲区满。例如将普通客户端的输出缓冲区设置为1M 1M 60: config set c...

2020-05-12 16:21:28 51 0

原创 mybatis写的sql报错uncategorized SQLException for SQL []; SQL state [null];

AND adu.username=? ; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation : SELECT * FROM 72crm_admin_use...

2020-05-09 11:35:14 25 0

原创 断网会导致xml加载失败数据库失败,识别不了,mybatis官网

断网会导致xml加载失败数据库失败,识别不了,mybatis官网 http://mybatis.org/dtd/mybatis-3-config.dtd [E:\msteel-uniuserbd\mysteel-uniuser-provider\target\classes\config\m...

2020-05-09 11:33:34 36 0

转载 SpringBoot 远程调试

总括: 远程调试就是需要调试的程序在启动的时候开启soeckt通信,约定好通信的协议和端口,然后被调式端,编辑,同样的命令链接这个机器协议和端口(调试端口),不能和程序的启动端口冲突 在配合 QA 进行代码测试,以及处理线上 BUG 时,代码往往已经被部署于服务器端,因此服务器端程序支持远...

2020-05-06 15:11:08 44 0

原创 json反序列化成对象异常---Can not instantiate value of type no single-String constructor/factory method

一般使用redis的时候直接放一个json字符串上去再获取会再增加一层引号,此时再去反序列化成对象会报诸如此类错误 Can not instantiate value of type no single-String constructor/factory method 此时可以先把从re...

2020-04-23 10:14:19 71 0

原创 概要设计画好时序图,流程图基本可以明确分解工作包,落地

概要设计画好时序图,流程图基本可以明确分解工作包,落地 1,jwt生成+密钥对 1d 2,登陆接口存入redis,返回权限信息,返回给网关 2d 3,用一个系统做验证,能否根据传入的token,权限,完成内部的鉴权 6d 4,sso验证并刷新redis有效时间,对比redis 1d 5...

2020-04-14 15:18:35 152 0

原创 行转列,并在某一列值加基数

SELECT "注册来源", ( case when( "注册来源"='客户端')then "数量"+50+668+549 else "数量" end ) AS "数量" ...

2020-04-01 14:55:36 15 0

原创 sql结果集合并用union all 不同表的列合并用join

结果集合并用union all 不同表的列合并用join SELECT "模块名", "事件编码", "点击数量", "使用时长(单位:分)" FROM (SELECT T.fun_name as "模...

2020-03-31 09:58:13 137 0

原创 去重统计求和

一部分相同的字段通过max结合group by去重,然后再统计 SELECT T.fun_name as "模块名", T.event_code as "事件编码", SUM(click_records) as "点击数量", rou...

2020-03-19 09:57:02 103 1

转载 基于消息的分布式事务设计

基于消息的事务和两阶段,三阶段提交为了减小消耗可以不设置补偿接口, 基于消息的事务---异常超过重试次数人工干预 两阶段,三阶段提交----由于全部提交前是在内存中,所以可以全部回滚相当于代码补偿回滚 最终一致性 最终一致性指的是两个系统的状态保持一致,要么都成功,要么都失败。当然有个时间...

2020-03-18 14:19:03 67 0

原创 异构系统间的消息同步或分布事务的思想

1,支付异步通知接口 2,轮询(推)可用消息监听/监听者模式(拉)代替----类似触发器机制的都可用 不同的的业务触发用不同的队列 //支付主动轮训 改变支付状态较传统的掉回调接口好,可以结合使用 用ack机制可以很好处理异构系统的状态回调同步问题--同理基于消息的分布式事务 ...

2020-03-18 14:11:17 72 0

原创 跨系统见的认证和授权除了用cas外

权限的控制1,框架,2代码实现思路类似 token的设计: 1,已进入页面所有的按钮都在客户端,服务端存有token,一旦点击了就删除后台的token,第二次就匹配不上,就不可请求 2,用户id和盐值生成固定的token----带有时效,用于不同系统之间的身份验证 token的设计和权限的...

2020-03-18 09:51:17 68 0

原创 sql中的统计完全按照group by 的粒度统计

sql中的统计完全按照group by 的粒度统计,前面的字段多粒度就细,想要更粗的粒度可以再外面包一层字段少的,粗粒度的聚合 davinci中只选一个粗粒的维度相当于外包一层见粗粒度示例---维度就是聚合的粒度,维度越多,结果集基础上聚合越细 细粒度: SELECT T.fun_name ...

2020-03-17 15:51:37 26 0

原创 类似枚举,数字转文字,转的文字用单引号''

类似枚举,数字转文字,转的文字用单引号'' SELECT (case when( event_property_value='0' )then '客户端' when (...

2020-03-17 14:02:08 49 0

原创 聚合函数理解

所有的聚合函数都是依照group by 去计算在组内中所有元素行 SELECT "部门", toInt64(multiIf(isNull("最大数量"),0,"最大数量")) AS "最大数量","统计类型...

2020-03-16 15:57:21 32 0

原创 行转列中对应单位列的处理

行转列中,列名对应的单位可以固定的写在原始的列名上 例如: 原油:WTI:期货价格:美利坚合众国(日度)(美元/吨) sql: select * from (select D.DATA_DATE AS "日期", max((case w...

2020-03-16 15:50:31 115 0

原创 报表开发

https://www.jianshu.com/p/be2cb8880df6 报表有参考,一步一列出

2020-03-12 14:18:32 32 0

原创 行转列的应用合并多行综合定位

行转列的应用: 可以利用行转列把一个事件的多行属性放在一行,和事件关联,综合定位事件,不必像之前一样放在一个综合属性,|分隔然后用数组切分函数 原sql 可以利用行转列把一个事件的多行属性放在一行,和事件关联,综合定位事件 SELECT event_id, "1&qu...

2020-03-12 09:58:52 61 0

原创 行专列效果

示例: 原表: SELECT * FROM demo_test 查询结果: 统计需求: SELECT project, N,Y , Y/(N+Y) FROM ( SELECT project, max(cas...

2020-03-11 10:50:59 60 0

原创 综合性的环比报表sql

10: 1,取整或者固定小数round(AVG(click_records),0) 2,any(today())聚合函数避免聚合列结合排序就是分组序列第一个的值----------聚合函数的聚合字段,算的级别根据此字段在group by 中位置,越在前,聚合的维度粒度越大 3,用CAST做类...

2020-03-03 20:35:08 30 0

原创 davinci筛选问题

1,sql中筛选 。0 的不显示 SELECT "用户对象", "二级部门", "总人数", "总注册量", "当日注册量", multiIf(isNull("月活账号数量"...

2020-02-27 09:41:55 122 0

原创 davinci sql表达式可以用字段运算

SELECT T.dept_one as "用户对象", AVG(( CASE WHEN (server_time >=toDate($g$)) THEN member_count ELSE NULL end )) as "总人数", ...

2020-02-27 08:41:37 152 0

原创 互斥两行统计结果按照主键拼接到一起

用left join连接两个结果集,最后以此为结果集,将主键(可以是联合主键),和连接两侧特有列查出 SELECT "指标代码", "指标名", "所属库", "所属部分",T1."提取量", ...

2020-02-26 17:05:17 43 0

原创 davinci指标排序的bug以及数据库关键字,别名加引号的说明

在指标排序的时候,会报错,维度排序可以,因为指标字段选入之后,davinci会自动加上sum,avg,count,max等然后程序用正则匹配 public static final String REGEX_SQL_AGGREGATE = "sum\\(.*\\)|avg\\(....

2020-02-21 16:18:59 141 0

原创 davinci仪表盘输入框配置

输入框设置的前提式sql中有变量但是没关系----配置好后可以删除变量 配置控制器的时候自动让你选择再sql中的那维度一个字段过滤 SELECT "日期" , sum("月活账号数量") AS "sum(月活账号数量)",sum(&qu...

2020-02-20 15:53:54 193 0

原创 davinci统计sql去除null数据项,以及统计时null变为0

去除null,以及null显示0 1,去除nullx "日期" IS NOT null 2,统计null变为0 外面再包一层sql用 multiIf(isNull("月活账号数量"),0,"月活账号数量") AS "月活...

2020-02-19 15:47:44 55 0

原创 davinci可钻取图形

1,仪表盘dashbord中的图形才可支持 2,选中一级中的条形后,右键选择额外维度(维度多一点可钻取的选择就多),单独一级的只有103条 3,sql语句在为了增加钻取维度,在groupby后增加可能会增加结果集行数,如果我们widget中选择的只是一级维度(还涉及二级维度),此时得到的结...

2020-02-12 15:45:06 398 0

原创 clickhouse函数数组实践

一个字段值按照一个标记拆分成数组,然后用函数从数组中获取数据 如果依赖java程序解析字段,字段一般存json,如果依赖sql解析一般字段存a|b|c标识分割,用函数变成数组获取 原始数据: 用|分割--不会丢失行 统计:哪个库导出指标量,库属于哪个部分 SELECT &...

2020-02-10 14:31:56 393 0

原创 es的简单查询和聚合查询用法说明

1,es:报表统计用法:类似报表统计sql,聚合列就是查询列 //数据库表 SearchRequest request = new SearchRequest(indexName).types(typeName); //返回列(聚合列(group by的列需要聚合函数运算,就叫聚合列)) ...

2020-01-20 14:51:50 189 0

原创 运算精度,日期计算工具类

Java表达式运算用AviatorEvaluator,BigDecimal可以设置运算精度,结果精度 //5位精度运算 结果保留2位小数 BigDecimal formulaStrValue = new BigDecimal(AviatorEvaluator.execute(fo...

2020-01-20 14:29:26 63 0

原创 git切换分支之前要下提交

git切换分支之前要下提交,否则会自动合并不同分支未提交部分,会导致冲突或被自动合并

2020-01-19 16:25:06 82 0

转载 clickhouse之函数(二)数组

字段分隔,数组操作示例: SELECT arrayElement(splitByChar(',',colleague),1)FROM daily_new_clientrpt_master WHERE colleague != '' ORDER BY co...

2020-01-19 10:00:36 178 0

转载 ClickHouse函数整理(详细)

1、日期类函数 1.1 时间或日期截取函数(to)—— 返回非日期 函数 用途 举例 结果 toYear() 取日期或时间日期的年份 toYear(toDateTime('2018-12-11 11:12:13')) toYear(toDate('2018-12-...

2020-01-19 09:47:28 1052 0

提示
确定要删除当前文章?
取消 删除