笔记
文章平均质量分 65
程序员麻薯
扶我起来,我还能再卷一会(ง •̀_•́)ง 点关注,和我一起卷╭(′▽`)╭(′▽`)╯
展开
-
Stable Diffusion一键安装器,只有2.3M
最近AI画图真的是太火了,但是Midjourney收费之后大家就不知道去哪里能用AI画图了, Stable Diffusion很多人听过,但是安装特别麻烦。所以为大家介绍一款软件,一键安装SD。Stable Diffusion一键安装器_SD一键启动器-Stable Diffusion中文社区 (installsd.com)原创 2023-04-20 14:58:10 · 2541 阅读 · 1 评论 -
pptx即OpenXML中a:off、a:ext、a:chOff、a:chExt的计算关系
今天搞了一下午,一直偏移量计算的有问题开始认为是按照一个比例计算的,后来发现不正确谷歌搜索页查不到太多资料能够解决问题结论单组实际偏移量x = 元素a:off X + 组a:off X - a:chOff X例子:<p:grpSpPr> <a:xfrm> <a:off x="9637559" y="5172112"/> <a:ext cx="1150937" cy="309892"/>原创 2022-04-17 20:31:46 · 1146 阅读 · 2 评论 -
SpringBoot文件上传示例代码和过程解析
说明文件上传,在 PostMan 或者 ApiPost 等常用工具里面大家应该都留意过,当body是from-data(表单提交)的时候,我们可以选择文件进行上传,如下图:本文主要介绍的是使用SpringBoot后端接收这个文件。代码代码非常简单,SpringBoot项目直接拷贝即可使用@Slf4j@RestController@RequestMapping("/")public class DemoController { @PostMapping(valu.原创 2022-04-05 19:16:07 · 1520 阅读 · 0 评论 -
谨慎使用QueryParser.escape,可能导致错误转义短横线符号
在我们使用ElasticSearch查询的时候为了避免查询信息中包含特殊字符通常会使用QueryParser.escape进行文本转义;但是这可能到来错误:比如我们期望查询信息是:HELLO-123会被转义成:HELLO\-123代码如下:如果我们只是想查询HELLO-123,而不是用于排除123的含义,会导致系统错误转义最好是确定使用场景后调用对应方法!...原创 2022-01-09 14:02:48 · 1384 阅读 · 0 评论 -
MySQL多表关联on和where速度对比实测谁更快
背景今天发现有人在讨论:两张MySQL的数据表按照某一个字段进行关联的时候查询,我们使用on和where哪种查询方式更快。百闻不如一见,我们来亲自测试下。先说结论Where、对等查询的join速度基本一致,不对等查询时一般join更慢。实验1:不存在不等记录我们有两张表,分别是member和member_class,数据结构如下图,其中 member.class_id 和 member_class.id 是关联字段我们分别向两张表写入了20万条数据,其中mem..原创 2022-01-09 11:35:38 · 6880 阅读 · 2 评论 -
NoSuchMethodError collectionOf(Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType 解决
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTableServiceImpl': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean .原创 2021-11-21 11:26:42 · 1413 阅读 · 1 评论 -
MySQL InnoDB 事务begin开启后还能读到变更内容 原因及解决
先说结论执行begin之后并没有真的开启事务,事务开启是在第一次对数据表操作的时候。场景还原我们在把一张表接入binlog(MySQL的二进制日志文件)同步的时候,首次接入需要做下面这些操作:全局读锁,所有人无法写入。因为读锁了,所以所有人无法改变现状,不能写入新的内容。 开启事务 读取binlog最后位置,记录后就可以增量从这里拉取 释放全局读锁 同步全量数据,因为在事务里面,我们读取的是一份不会发生变化的快照整体解释以下,因为如果我们把一张表接入增量系统,就需要先全量初始.原创 2021-11-07 11:25:27 · 3087 阅读 · 0 评论 -
Flink CDC 如何从指定位置拉取消息
场景已知binlog的文件名和pow编号,希望从指定的位置拉消息代码在连接的时候加上这句.startupOptions(StartupOptions.specificOffset("mysql-bin.000013", 1260))原创 2021-11-01 00:19:41 · 2342 阅读 · 2 评论 -
Flink CDC2.0快速上手demo示例(Jar对接,非SQL)
重要! Flink CDC 这个名字带着Flink,但是注意!!!我们本地搭建简易demo的时候不需要下载flink环境就可以本地跑起来。 FlinkCDC本质就是一个jar包,引入后写个main方法即可展现它的简单功能。(因为需要Canal切FlinkCDC,小白的我把FlinkCDC当成了类似于ik分词的插件,居然先去下载了Flink...)准备工作您需要会使用maven ≤FlinkCDC 1.4.0版本可以用MySQL5.6+,FlinkCDC必须5.7+ F...原创 2021-10-31 23:41:02 · 11205 阅读 · 4 评论 -
取消download pre-built shared indexes自动下载
在 设置 → Tools → Shared Indexes 里面给关掉就可以。这个东西功能主要是:idea为了能够更快的使用共享索引,会下载JDK和Maven库的共享索引,给你的的项目代码构建共享索引。但是如果下载太慢等的都着急了直接关掉问题不大~...原创 2021-10-24 23:11:11 · 46465 阅读 · 0 评论 -
基于MySQL binlog日志,实现Elasticsearch近实时同步实践
本文作者本人,首发在 "便利蜂产品技术" 微信公众号。欢迎各位关注。便利蜂校招内推链接:https://app-tc.mokahr.com/m/recommendation-apply/bianlifenghr/8007?sharePageId=9193&recommendCode=NTAANCF&codeType=1&hash=%23%2Frecommendation%2Fpage%2F9193便利蜂社招内推链接:http://bianlifeng.gllue.me/por原创 2021-09-20 11:52:04 · 1043 阅读 · 0 评论 -
Java线程状态和转换关系
线程状态在了解Java线程转换关系之前我们需要先确定Java线程有哪些状态。网上有很多说法是5种状态,但是实际上并不正确。通过查看Thread类内部找到java.lang.Thread.State 这个匿名内部枚举类,其中包含了以下六种枚举:NEW 初始尚未启动的线程的状态。也就是创建了线程对象,但是还未调用线程的 start() 方法。RUNNABLE 运行可运行线程的线程状态。处于可运行状态的线程在Java虚拟机中执行,但它可能在等待操作系统的其他资源,如处理器。换句话说,Ja...原创 2021-09-12 14:32:21 · 295 阅读 · 0 评论 -
六种方式实现全局唯一发号器
概念 发号器,也就是在系统全局生成绝对唯一的唯一id生成器,比如订单号、流水号等场景。类似于身份证号,它需要保证全局唯一,尤其是在分布式机器中,不同机器不能生成一样的号牌。我们需要通过一些算法或方式实现这个小功能。雪花算法 由Twitter提出,基于对long的高低位分配实现,几乎可以理解为发号器的最优实现,目前美团、百度等开源发号器大多基于或参考了这种分配形式。 雪花算法将一个long的除符号位外63位分成了下面的三个部分:41位的毫秒时间戳(可以使用69年左右) 1...原创 2021-09-03 01:20:14 · 2815 阅读 · 0 评论 -
MVEL快速入门—MVEL流程控制和高级功能(三)
之前文章MVEL快速入门—MVEL基础语法讲解(一)MVEL快速入门—MVEL属性和文字讲解(二)流程控制 实际上MVEL的表达形式不仅仅局限于简单的表达式,他还支持流程控制。使我们能够执行高级的脚本。if - then - else MVEL支持完整的 C/Java 风格 if else 语句,比如:if (var > 0) { System.out.println("这是一个正数");}else if (var == 0) { System....原创 2021-08-26 00:47:23 · 5083 阅读 · 0 评论 -
设计 | 最新免费无版权可商用字体下载
虽然我是一个程序员,但是作为曾经的千图网特邀设计师、WPS签约独家设计师还是要给大家安利下最近这几个超级好看的无版权可商用字体!附下载链接~斗鱼追光体斗鱼追光体,是由斗鱼武汉研发部UED提供指导,品牌组设计成员主导设计的全新品牌字体。符合GB2312简体中文编码字符标准的专属品牌字体。是拥有一种标准版字重,包含6763个中文字符,100个西文及数字符号。官网下载:斗鱼追光体 (douyu.com)千图厚黑体千图厚黑体,字形笔画粗犷有力,用宽扁型的字面构建出厚重的...原创 2021-08-25 01:00:00 · 1826 阅读 · 1 评论 -
MVEL快速入门—MVEL属性和文字讲解(二)
相关文章????MVEL快速入门—MVEL基础语法讲解(一)以下为今日内容:属性信息 MVEL的属性信息保持了其他bean一般通常使用的形式,略有区别的是,MVEL为访问属性、静态信息、Map等提供了统一的访问形式Bean属性 正如我们熟悉的Java语言一样,MVEL支持我们常用的get写法,比如:student.getManager().getName(); 为了简化操作,MVEL也支持我们这样来写:student.manager.name 官方提醒:...原创 2021-08-25 00:36:47 · 2080 阅读 · 0 评论 -
MVEL快速入门—MVEL基础语法讲解(一)
概述 MVEL是从英文翻译而来的,MVFLEX表达式语言是Java平台的动态/静态混合类型的运行时可嵌入表达式语言。该项目最初是作为应用程序框架的实用语言开始的,现在已完全独立开发。MVEL通常用于通过XML文件或注释等配置将基本逻辑公开给最终用户和程序员。它也可以用来解析简单的JavaBean表达式。 在一些项目中我们需要对一些场景进行过滤并允许用户配置的时候,通常会采用MVEL表达式,比如:指定条件下更新数据;指定条件下采集数据等。相关文章????Java解析执行MVEL表达式.原创 2021-08-24 00:39:37 · 3223 阅读 · 1 评论 -
MongoDB官方下载地址 | 直链下载
最近考虑学习下MongoDB数据库,结果官网下载链接下载超级麻烦,还需要填写各种信息,试了下,官网直链可以直接下载,直接绕过信息填写5.0.2windowsmsi:https://downloads.mongodb.com/windows/mongodb-windows-x86_64-enterprise-5.0.2-signed.msizip:https://downloads.mongodb.com/windows/mongodb-windows-x86_64-enterprise-5.原创 2021-08-22 14:12:46 · 946 阅读 · 0 评论 -
Elasticsearch储存地理位置原理—GeoHash实现介绍
背景Elasticsearch是一个分布式的可支持海量数据搜索与分析的搜索引擎,在我们针对地理位置搜索的时候通常会选着使用其中的GEO类型进行存储(包含 geo_shape 和 geo_point两种),那么Elasticsearch是如何优雅的存储地理位置坐标的呢? 这里我们就需要知道一个东西——GeoHash,它是由 Gustavo Niemeyer 于2008年发明的公共领域地理编码系统,将地理位置编码为一小段字母和数字。感知 我们可以随便打开一个具备GeoHash转换...原创 2021-08-19 00:32:11 · 2441 阅读 · 0 评论 -
一个优雅安全的短网址实现原理
今天收到提(la)醒(ji)短信发现里面有一个短网址,一旦点击即可通过重定向或js跳转到对应的目标页面,那么如何优雅的实现短网址的功能呢,如何保证他的安全性以及可用性呢?把我想到的记录一下,可以一起讨论一下。实战这是一条短网址:http://adkx.net/wd1nv他本来的地址是:https://blog.csdn.net/qq_20051535打开控制台,可以发现它的实现相对简单,采用简单的302跳转形式进行跳转但是,这种短网址又是怎么生成的,它真的安全吗...原创 2021-08-10 01:19:10 · 671 阅读 · 0 评论 -
抖音链接被封杀?一行代码实现网页直接跳转抖音
背景大家可能都发现在一些APP中无法直接打开抖音的链接,就连抖音官方的分享链接在浏览器打开都无法直接唤醒APP。需要我们手动点击:在用户页面点击关注触发打开APP,视频页面点击打开看看触发打开APP。这也大大提高了用户的体验舒适度,同时避免了部分浏览器对于Schema自动唤醒的拦截。直接跳抖音如何实现我们只需要通过跳转,跳转到带有抖音Schema 标记的URI即可。直接跳转到抖音APP用户页面,只需要将下面代码打在html中即可实现:<script>window..原创 2021-02-06 02:03:39 · 18360 阅读 · 1 评论 -
Gradle笔记 | Gradle和Groovy介绍和安装方式
因为Gradle越来越常用,除了maven之外学习一下Gradle显得很有必要。项目构建历史石器时代依赖管理:最开始的时候如果需要依赖第三方的ar包需要把jar放到lib目录中,如果jar包多了不好管理很容易出现版本冲突问题每个项目需要使用到同一个jar包都得拷贝一份到项目中很占用存储空间。测试:每个功能都需要书写测试类在main中写测试非常麻烦能不写一般都是不会写,就算写了也是很简单的测试下而已。打包:通过 eclipse打包然后传递到服务器或者放入依赖的项目中麻烦繁琐上传:...原创 2021-02-03 20:47:31 · 295 阅读 · 0 评论 -
什么是serialVersionUID?serialVersionUID详解
在阅读很多开源项目中在很多类中都会发现存在一个使用static final 修饰的量,通常很大而且和代码似乎没有什么规律。比如下面的代码:public class Dml implements Serializable { private static final long erialVersionUID = 2611556444074013268L;(代码来自阿里巴巴开源项目Client Adapter)概述所述的serialVersionUID属性是用来序列的标识符/反序列化的对象原创 2021-02-03 17:36:01 · 41144 阅读 · 2 评论 -
特殊注释TODO、FIXME和XXX的用处
今天在阅读阿里巴巴开源中间件Canal源码的时候发现几个神奇的注释,在IDEA环境下还能够变色,所以就来了解了下这些特殊注释:TODO+ 说明如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME+ 说明如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX+ 说明如果代码中有该标识,说明标识处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中...原创 2021-02-01 20:11:11 · 310 阅读 · 0 评论 -
Zookeeper背景介绍和数据模型 | Zookeeper学习笔记
Zookeeper介绍Zookeep官网https://zookeeper.apache.org/ZooKeeper是用于维护配置信息,命名,提供分布式同步以及提供组服务的集中式服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时,都会进行很多工作来修复不可避免的错误和竞争条件。由于难以实现这类服务,因此应用程序通常最初会在其上跳过,从而使它们在发生更改时变得脆弱且难以管理。即使部署正确,这些服务的不同实现也会导致管理复杂。什么是ZookeeperzooKeeper由原创 2021-01-28 16:52:01 · 240 阅读 · 0 评论 -
SpringBoot接入ElasticSearch7.10.2详细教程
一、搭建项目目前时间 2021年1月27日 我们将使用当前最新版本ElasticSearch,即7.10.2版本配合SpringBoot搭建,由于新版本只有ElasticSearch官方提供了开发工具,所以我们采用官方工具。我们因为不采用Spring为我们提供的接入方式,下一步填好信息后选择不需要选NoSQL里面任何选项,选一个Web直接一路Next等待完成二、导入Maven<?xml version="1.0" encoding="UTF-8"?><pr.原创 2021-01-27 20:22:43 · 4495 阅读 · 3 评论 -
ElasticSearch学习笔记 | 分词、IK分词器和自定义分词
一个 tokenizer(分词器)接收一个字符流,将之割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens流。例如,whitespace tokenizer遇到空白字符时分割文。它会将文本 "Quick brown fox!“ 分割为 [Quick, brown, fox]。该 tokenizer(分词器)还负责记录各个term(词条)的顺序或 position 位置(用于 phrase短语和 word proximity 词近邻查询),以及term(词条)所代表的原始word(单原创 2021-01-27 16:50:10 · 796 阅读 · 0 评论 -
ElasticSearch学习笔记 | Mapping映射的创建、修改和删除
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821一、查询映射映射是定义文档及其包含的字段的存储和索引方式的过程。例如,使用映射定义:哪些字符串字段应视为全文字段。 哪些字段包含数字,日期或地理位置。 日期值 的格式。 自定义规则,用于控制动态添加字段的映射 。查询bank的映射信息GET /bank/_mapping返回结果:{ "原创 2021-01-27 16:12:32 · 938 阅读 · 0 评论 -
ElasticSearch学习笔记 | Aggregations执行聚合
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821Aggregations执行聚合聚合提供了从数据中分组和提取数据的能力。最简单的聚合方法大致等于 SQL GROUP BY 和 SQL 聚合函数。在 Elasticsearch 中,您有执行索返回 hits(命中结果),并且同时返回聚合结果,把一个响应中的所有hits(命中结果)隔开的能力。这是非常强大且有效的,您可原创 2021-01-27 15:08:28 · 625 阅读 · 0 评论 -
ElasticSearch学习笔记 | Term和Keyword精确查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821一、Term查询返回在提供的字段中包含确切信息的文档内容。您可以使用精确的值(例如价格,产品ID或用户名)利用 Term 查询查找文档。比如我们查询年龄是33岁的:GET /bank/_search{ "query": { "term": { "age": 33 }原创 2021-01-27 14:17:28 · 1390 阅读 · 0 评论 -
ElasticSearch学习笔记 | Filter过滤查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821布尔查询中的每个must、should和must not元素都称为查询子句。文档满足每个 must 或 should 子句中的标准的程度有助于文档的相关性得分。分数越高,文档就越符合您的搜索条件。默认情况下,Elasticsearch返回按这些相关性得分排序的文档。must_not 子句中的条件被视为 filter。原创 2021-01-27 13:59:49 · 543 阅读 · 0 评论 -
ElasticSearch学习笔记 | Multi_match多字段匹配、bool复合查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821一、Multi_match多字段匹配例:查询 address 和 city 中任意一项包含 mill 的结果GET bank/_search{ "query": { "multi_match": { "query": "mill", "fields": ["address"原创 2021-01-27 12:00:41 · 1162 阅读 · 0 评论 -
ElasticSearch学习笔记 | Match和Match_phrase匹配搜索
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821一、基本类型(非字符串),精确匹配查询account_number 是 20 的所有结果:GET bank/_search{ "query": { "match": { "account_number": 20 } }}返回内容:{ "took" : 6,.原创 2021-01-27 11:45:41 · 767 阅读 · 1 评论 -
ElasticSearch学习笔记 | Match_ALL进阶检索
一、导入测试数据ElasticSearch官方为我们准备了一部分测试数据供调试使用,我们可以在安装完成Kinaba后进行数据导入处理1. 获取数据打开https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json复制全部数据(点击 Raw 按钮,新页面 Ctrl + A)2. 执行批量添加打开 Kinaba :xxxx:5601/app/dev_tools#/co..原创 2021-01-27 11:26:53 · 11409 阅读 · 0 评论 -
ElasticSearch学习笔记 | 更新数据、删除数据和批量操作
一、PUT / POST更新数据POST访问地址(PUT访问提示405方法不允许):http://127.0.0.1:9200/customer/external/1/_updateBody数据:{ "doc":{ "name": "JSON D0oe" }}返回结果:{ "_index": "customer", "_type": "external", "_id": "1", "_version": 6,原创 2021-01-26 20:23:50 · 1700 阅读 · 0 评论 -
ElasticSearch学习笔记 | PUT、POST增加文档和GET搜索文档
一、catGET _cat/nodes: 查看所有节点GET_cat/health: 查看es健康状况GET_cat/master: 查看主节点GET _cat/indices: 查看所有索引 show databases二、索引一个文档(保存)保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识,在 customer索引下的 external类型下保存1号数据为PUT customer/external/1{ "name": "JSON ...原创 2021-01-26 17:59:55 · 1658 阅读 · 0 评论 -
Mac安装ElasticSearch教程详细步骤(带安装包)
一、准备工作下载 ElasticSearch7.10.2 安装包,MAC安装包下载地址(无需积分):https://download.csdn.net/download/qq_20051535/14934248二、解压缩和启动1. 解压压缩包,这个比较简单,放在一个比较方便的目录下开始操作。2. 进入安装目录下bin目录cd elasticsearch-7.10.2/bin3. 启动程序./elasticsearch安装完成,也启动好了,最新版直接就可以成功已经不需要手动原创 2021-01-26 16:42:09 · 2248 阅读 · 0 评论 -
ElasticSearch学习笔记 | ElasticSearch简介和基本概念
一、什么是 ElasticsearchElasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic St..原创 2021-01-26 15:45:17 · 3118 阅读 · 1 评论 -
Canal学习笔记 | 简单Demo获取更新插入和删除的数据
下面是一个简单Demo能够实时获取大屏增加删除和修改的数据,配合反射等操作可以实现转化为实例对象。package com.qiruipeng.canal;import com.alibaba.otter.canal.client.CanalConnector;import com.alibaba.otter.canal.client.CanalConnectors;import com.alibaba.otter.canal.protocol.CanalEntry;import com.al原创 2021-01-26 14:49:43 · 1539 阅读 · 0 评论 -
Canal学习笔记 | Canal环境部署
本文是学习Canal笔记,对应视频为:https://www.bilibili.com/video/BV1qJ411H7Pz的 4 - 5 节。使用环境:MAC MySQL8.0一、Canal搭建环境1、准备好MySQL运行环境;2、开启 MySQL的binlog写入功能,配置 binlog-format 为 ROW 模式,my.cnf中配置如下:[mysqld]log-bin=mysql-bin #开启 binlogbinlog-format=ROW #选择 ROW 模式se.原创 2021-01-26 11:26:58 · 416 阅读 · 0 评论