- 博客(93)
- 资源 (3)
- 收藏
- 关注
原创 分库分表解决方案-ShardingSphere-JDBC
ShardingSphere-JDBC 是一个工作在客户端的,定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。
2024-01-01 15:10:37 439
原创 dolphinscheduler docker compose安装配置
【代码】dolphinscheduler docker compose安装配置。
2023-09-05 18:41:20 736
原创 TCP和HTTP的区别
总体来说,TCP和HTTP都是协议,但是属于网络协议的不同层次,TCP属于四层,HTTP属于七层,另外HTTP是要基于TCP的,当然最新的HTTP3.0也是基于UDP的变种,不过目前还不是主流,相信未来很有可能会取代TCP称为HTTP的新宠儿。
2023-06-19 15:31:59 7421
原创 有n个数,使用加减乘除和括号,使得最终的结果等于m,请列出所有的可能性
问题有n个数,使用加减乘除和括号,使得最终的结果等于m,请列出所有的可能性Java算法import java.util.*;/** * there are some number, use + - * / and ( ), to get all the solution which can get the result target number */public class Test015 { public static void main(String[] args) {
2021-11-30 14:51:31 622
原创 SpringBoot 字节数组自动转化为Base64格式的问题
SpringBoot 字节数组自动转化为Base64格式的问题问题描述Spring Boot微服务架构,两个服务间请求数据,发现byte数组格式的字段会自动转化为Base64格式问题研究经过研究发现,这个是因为RestTemplate在发起exchange的调用时候,会把字段类型为字节数组转化为Base64格式,然后再发起请求到目标服务。代码位置:com.fasterxml.jackson.databind.ser.std.ByteArraySerializer这个类的serialize方法
2021-10-12 13:48:38 2362 1
原创 处理Spring Security在配置好csrf后接口报401问题
处理Spring Security在配置好csrf后接口报401问题现象:接口报401,csrf disable后接口正常200项目是基于Java Spring boot 2.4.4 写的,原来是csrf是disable的,项目一直跑是没有问题。有一天项目需要配置csrf,不然会有潜在的CSRF风险(跨站请求伪造攻击)。话不多说,改就完了。原有配置http.csrf().disable()修改后的配置http.csrf().csrfTokenRepository(CookieCsrfToke
2021-09-22 17:49:08 2073
转载 一次性搞懂 HTTP、HTTPS、SPDY
HTTP/0.9HTTP 的最早版本诞生在 1991 年,这个最早版本和现在比起来极其简单,没有 HTTP 头,没有状态码,甚至版本号也没有,后来它的版本号才被定为 0.9 来和其他版本的 HTTP 区分。HTTP/0.9 只支持一种方法—— Get,请求只有一行。响应也是非常简单的,只包含 html 文档本身。当 TCP 建立连接之后,服务器向客户端返回 HTML 格式的字符串。发送完毕后,就关闭 TCP 连接。由于没有状态码和错误代码,如果服务器处理的时候发生错误,只会传回一个特殊的包含问题描述信
2021-08-25 14:30:20 912
原创 容器开放接口规范(CRI OCI)比较
CRI VS OCI一、CRI - Container Runtime Interface高层次的容器运行时抽象接口,比如怎么从仓库拉取镜像,怎么管理镜像。containerd来自Docker,实现了CRI,接受上游的命令(比如Docker,K8S调度),拉取镜像,并管理镜像,然后转交给底层的运行时(比如runC)CRI-O来自Red Hat, IBM, Intel, SUSE,openshift使用的是CRI-O。CRI 接口定义// Runtime service defines the
2021-08-20 13:13:26 2356
转载 ClickHouse为什么这么快 - 减少数据扫描范围
相信看过ClickHouse性能测试报告的同学都很震惊于他超高的OLAP查询性能。于是下一步开始搜索“ClickHouse性能为什么高”看到了例如:列存储、数据压缩、并行处理、向量化引擎 等等一些关键词,对于我们一般人来说,并没有解答心中的疑惑:ClickHouse性能为什么高? 于是想写几篇博文,用通俗、简单的实例和大家一起探讨一下这个问题,希望能通过博文和大家的探讨解答这个疑惑!针对OLAP类的查询最简单的优化方式就是减少数据扫描范围,故而我们以此作为开篇。问题:有一个表(tab01)有10个in
2021-07-20 11:43:05 279
原创 Java简单版布隆过滤器
Java简单版布隆过滤器package com.cjs.sso;import java.io.Serializable;import java.util.*;/** * @author xxx */public class BF implements Serializable { private static final long serialVersionUID = -881375780720891535L; private static final int[] SE
2021-07-06 17:47:54 95
原创 Oauth vs SSO
OAuth vs SSOOAuth概念oAuth是Open Authorization的简写,分为oAuth服务端和oAuth客户端,比如Github可以允许第三方应用来使用Github快捷登录,这个属于oAuth服务端,是需要程序员自己开发的;比如我们需要开发一个应用比如叫XX,需要接入Github登录,那么就需要开发oAuth的客户端来实现Github快捷登录。SSO概念单点登录(Single Sign On),就是通过用户的一次性鉴别登录。通常用于一个大的集团内部的多个系统,统一管理鉴权和授权
2021-07-06 15:24:06 154
转载 给我五分钟,带你彻底掌握 MyBatis 缓存的工作原理
前言在计算机的世界中,缓存无处不在,操作系统有操作系统的缓存,数据库也会有数据库的缓存,各种中间件如Redis也是用来充当缓存的作用,编程语言中又可以利用内存来作为缓存。自然的,作为一款优秀的ORM框架,MyBatis中又岂能少得了缓存,那么本文的目的就是带领大家一起探究一下MyBatis的缓存是如何实现的,只需给我五分钟,带你彻底掌握MyBatis的缓存工作原理。为什么要缓存在计算机的世界中,CPU的处理速度可谓是一马当先,远远甩开了其他操作,尤其是I/O操作,除了那种CPU密集型的系统,其余大部分
2021-05-19 13:35:50 117
转载 VSCode必装Go语言以下插件
VSCode 必须安装以下插件:首先你必须安装 Golang 插件,然后再给 Go 安装工具包。在 VS Code 中,使用快捷键:command+shift+P,然后键入:go:install/update tools,将所有 16 个插件都勾选上,然后点击 OK 即开始安装。Installing 16 tools at /Users/maiyang/develop/goworkspace//bin gocode gopkgs go-outline go-symbols guru
2021-05-17 12:27:35 8640
原创 Mongo Pipeline的一个使用案例
Mongo Pipeline的一个使用案例一、背景最近在做的一个项目是工单模板,用户可以自定义工单的任意字段,自定义字段可用于渲染表单、详情、列表搜索条件、列表展示字段。这里最难的是列表搜索条件,因为用户可以自定义字段,不可能对每个字段建立索引,所以这里应用了一个类似倒排索引的方法。具体方法是建一个搜索集合(暂且命名为C),C有四个字段,分别为:_id是C的主键,field_id是自定义字段的主键id,field_value是自定义字段的值,target_id是目标文档的主键。举例如下:比如工单有两个
2021-04-02 11:51:34 570
原创 Go中interface{}转化为[]interface{}
Go中interface{}转化为[]interface{}func ToSlice(arr interface{}) []interface{} { ret := make([]interface{}, 0) v := reflect.ValueOf(arr) if v.Kind() != reflect.Slice { ret = append(ret, arr) return ret } l := v.Len() for i := 0; i < l; i++ { ret
2021-03-04 13:56:47 819 2
原创 Flink实现物联网流数据处理的一个demo
package examples;import org.apache.flink.api.common.eventtime.WatermarkStrategy;import org.apache.flink.api.common.functions.FilterFunction;import org.apache.flink.api.java.tuple.Tuple3;import org.apache.flink.streaming.api.datastream.DataStream;impo
2021-01-15 19:39:29 1037
原创 Go语言并发编程
Go语言并发编程chan实现携程之间的同步通信//示例说明如下//1. 创建了10个通道,并发起10个协程//2. 通道没有设置缓存大小,所以消息发送是会阻塞的,直到接收方准备好func Count(ch chan int, id int) { fmt.Printf("count function %v", id) fmt.Println() ch <- 1}func main() { var chs [10]chan int //chs := mak
2020-12-26 21:46:37 121
原创 大数据 - Flink与KAFKA的集成(六)
WhatFlink实现了各种类型的连接器(Connector)来实现数据在不同平台上的读写。使用Java和Scala编程支持Kafka、Twitter、RabbitMQ、ElasticSearch、Cassandra等各种组件和Flink的整合。Flink既可以把数据输出给Kafka,也可以接收从Kafka输入的数据。How(Flink -> KAFKA)环境a. KAFKA: Version2.13b. Flink: Version1.11POM配置<dependency&
2020-09-27 09:31:04 633
原创 kdevtmpfsi挖矿病毒中招与破解
一、背景1. 本人是一名程序员,主要负责后端开发,已经做了10多年程序员了。2. 本人有一台ECS服务器,在腾讯云上双11买的,2C4G + 5M带宽三年话费1000不到。3. 平时自己喜欢在上面搭建一些服务玩玩。二、发现有一天我在上面安装了hadoop玩,需要创建一个hadoop账号,并且给用户hadoop创建了一个简单的密码hadoop123(我真的是太懒了),同时开放了22端口的ssh服务(HDFS免密登录需要),第二天发现登录ECS机器异常卡顿,敲命令也延迟的厉害。直觉告诉我应该是我电
2020-09-18 09:38:19 3055
原创 大数据 - Flink安装及使用(五)
是什么Flink的前身是以构建下一代大数据分析平台为目标的大学科研项目Stratosphere。其于2014年4月被捐赠给Apache软件基金会作为孵化项目,并于同年年底升级为Apache的顶级项目。Flink是基于实时流处理的一个组件。数据流可以分为无界流和有界流。无界流(DataStream)只有开始而没有结束,比如,外汇市场的不间断交易、服务器日志的持续生成等是无界流;而统计电商网站某个注册用户一周的交易量、生成某个用户每月的话费清单等是有界流(DataSet),它定义了开始节点和结束节点,并且这
2020-09-17 11:38:29 265
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人