- 博客(120)
- 资源 (2)
- 收藏
- 关注
原创 我们一起做一个可以商用的springboot脚手架
这里写自定义目录标题系统介绍新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入系统介绍TBOOT平台专业版,springboot基础架构, 包含工作流引擎,权限认证,搜索平台,多租户管理,支付平台等等一系列专业功能的开发平
2021-06-28 09:40:34 533 1
原创 virtualenv虚拟环境安装
使用python命令安装pip install virtualenv注: 豆瓣镜像地址:https://pypi.douban.com/simple/如果上面的命令过慢可以使用python的豆瓣源pip install -i https://pypi.douban.com/simple/ virtualenv使用 virtualenv 命令创建虚拟环境语法 virtualenv -p python.exe的目录 文件名 这果就可以指定使用哪一个版本的python环境, .
2022-04-24 08:48:57 1939
原创 生活富能量第六期
为什么人类的烹饪文化中,盐是主要调味品,而不是糖?有三个主要原因,第一个可以提味增鲜, 第二个易于提取保存,“煮海为盐”我想大家都听过。 第三个我认为也是最重要的一个原因就是盐对于人体机能的重要性和不可替代性。 不吃盐会严重影响人类的身体健康。盐的主要成分氯化钠对人体维持健康至关重要。 它是人类饮食中钠离子和氯离子的主要来源。 钠对神经和肌肉功能至关重要,并参与体内液体的调节,促进消化液分泌、维持胃蛋白酶作用环境等。 钠还在身体控制血压和容量方面发挥作用。另外,盐还参与了胃酸的形成,还是胰液、胆汁、汗
2022-02-14 09:12:55 462
原创 MySQL出现Access denied for user ‘xxx‘@‘%‘ to database ‘xxxx‘问题
新添加数据库后,需要给非root账户添加权限才可以访问GRANT ALL PRIVILEGES ON mydb.* to 'myuser'@'%';ALL代表所有权限,也可以选择增删改查等权限,小项目嫌麻烦,所以选择ALLmydb是数据库的名称,您可更改为你自己数据库名称myuser是数据库用户,您可更改为自己的数据库用户%代表所有IP都能访问,您可更改为某个IP才能访问...
2021-12-28 16:08:21 18040
原创 MySql日志RedoLog和BinLog思维导图
MySql日志RedoLog和BinLog思维导图MySql日志RedoLog和BinLog思维导图这个图是我自己画的并总结的,如果错误欢迎大家指证。ProcessON连接猿来衣舍这是博主开的淘宝小店,主要经营舒适保暖的服饰,有袜子、主题卫衣、保暖衣。欢迎大家选购。猿来衣舍打开淘宝搜索 “猿来衣舍”这四个字就可以搜到小店,希望大家多多支持。...
2021-11-23 11:37:42 654
原创 springboot脚手架Tboot开发搜索引擎(一)--创建索引并修改索引字段
创建ES索引技巧并修改索引字段1. 我们最终实现的效果2.技术先型3.索引创建-首先把创建的索引先凑合用,聊一下索引索引的技巧,后马上就要更改他3.1首先把创建的索引先凑合用3.2 索引已经凑合创建了,我们来聊一下创建的是一个什么东西吧1. 我们最终实现的效果借鉴效果这里我们要实现的效果是一个法律搜索引擎,因为法律搜索引擎都是比较专业的,要想找到想要的内容需要添加使用搜索条件,实现这样的一个搜索引擎对Elasticsearch的使用技术是一种挺大的考验的。我们并不会完全的实现他们的效果,只是会参照
2021-07-27 11:03:37 841 1
原创 springboot脚手架Tboot开发搜索引擎--springboot整合JestClient
1.首先我们来看最终效果整合完成JestClient,查询出ES中所有的索引。2.首先我们来看一看什么是JestClientJest 是ElasticSearch 的java Http Rest 客户端。他主要是让我们更在使用java执行es语法的时候更方法,他给我们很多的封闭。3.整合JestClient3.1 老套路添加依赖 <dependency> <groupId>io.searchbox</groupId>
2021-07-08 11:12:49 355 2
原创 近两年工作复盘
2019年-到2020年近工作总结进入北京时间点2019年四月刚进入北京的时候,是做大巴车来的。当时心气特别高。总觉得自己水平不错,希望能够找一份好工作。这可能也注定我接下来的路会非常不好走。租房子是在朋友那里借住的刚开始在朋友那里借住的,后来一起整租。过程当中会有一些不愉快,不过更加深了彼此的了解。都是一些人品很好的人。希望我们的友谊会一直延续下去。找工作最终入职现在的公司找工作找了两周,面试的第一家公司就过了,让我感觉有点飘。 我拒绝了这家公司,然后又收到offer了,我又拒绝了。 随
2021-02-08 11:06:01 302
原创 定制化分词器
ES提供给了一些自带的分词器,如标准分词器,空格分词器,对中文支持不好。 因此也就有了一些第三方的分词器。 如ik分词器,这里用着还不错, 不过有的时候还是不能满足我们工作中的需要,因此就需要在现成的分词器上加一些定制化的改造。 有点像设计模式中的装饰模式。这里选用的分词器是IK分词器。扩展新词进入 ik分词器的配置文件目录,创建new_dict.dic文件,并在里面添加自己想的词。然后在修改IKAnalyzer.cfg.xml 配置文件。指定扩展词文件的路径。里面的还可以配置停用词,还远程扩展词
2020-08-26 08:54:19 379 1
原创 将查询出来的结果重新构建索引
在ES中如果更新了词库,就需要对已经存在的索引重新构建。POST /shop/_update_by_query{ "query": { "bool": { "must": [ {"term": { "name": { "value": "南" } }}, { "term": { "name": {
2020-08-24 08:16:14 313
原创 电商搜索实战二 ES高级搜索
带上距离字段查询“script_fields” 意思是说通过脚本可以得到一个定制化的字段 “lang”: “expression” 为固定写法,表示这是一个表达式。GET shop/_search{ "query": { "match": { "name": "凯悦" } }, "_source": "*", "script_fields": { "distance": { "script": { "source
2020-08-19 07:57:36 995
原创 电商搜索实战一 索引构建示例
索引定义思路定义字段, 就是说有哪些字段需要保存到es中。定义字段类型,哪些字段做分词,哪些字段做排序还有一些像地理信息等复杂类型的定义。定义字段的分词器创建索引PUT /shop{ "settings": { "number_of_shards": 1, "number_of_replicas": 1 }, "mappings": { "properties": { "id":{ "type": "integer"}, "nam
2020-08-14 15:59:28 543
原创 IK分词器基础安装入门
安装进入到elasticsearch的安装目录下, 找到bin目录。 执行里面的elasticsearch-plugin 命令,这个命令是管理es中的插件的。 ik分词器就是一个插件。执行下面这个命令就可以安装成了, 注意IK分词器的版本要和es的版本一致才行。 具体哪个版本可以去github中去找。bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/downloa
2020-08-14 08:49:54 321
原创 ES相关度评分
算法介绍relevance score(相关度得分)算法:简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度Elasticsearch 使用的是 term frequency/inverse document frequency 算法,简称为 TF/IDF 算法TF/IDF 有以下三个组成Term frequency(词的频率)搜索文本中的各个词条在 field 文本中出现了多少次,出现次数越多,就越相关比如:搜索请求:hello world,肯定是 doc1 中得分
2020-08-11 14:02:16 1940 1
原创 ES 基础语法 CRUD
以下语法是在ES7中测试的,低版本可能会有不兼容的问题创建索引PUT /article{ "mappings": { "properties": { "title":{ "type": "text", "analyzer": "english" } } }}添加数据POST article/_doc/1{ "title":" a dog"}_doc: 是固定写法查询所有GET /article/_s
2020-08-10 19:20:13 1191
原创 The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true
在给ES7手动创建索引的时候,会出现 这个异常。代码如下PUT twitter{ "mappings": { "_doc": { "properties": { "type": { "type": "keyword" }, "name": { "type": "text" }, "user_name": { "type": "keyword" }, "email": { "type": "keyword" },
2020-08-10 17:28:56 12111 5
转载 新概念英语的学习方法
王江涛大神的英语速成六大步骤1. 步骤一:中译英。先不看英文原文,按照自己的理解把新概念的中文译文译为英文,练习写作及翻译,译完之后不看原文。2. 步骤二:听写。网上下载英式或美式MP3录音,听四遍全部写下来,基础薄弱的同学听一句写一句,基础较好的同学听一段写一段,练习了听力。3. 步骤三:仔细对比原文。对比两篇文章。一是自己中译英的文章与新概念的原文对比,提高了写作和翻译;二是自己听写的文章与原文对比,提高了听力,然后跟读模仿听写错误之处。4. 步骤四:跟读模仿。一周模仿一课,务求惟妙惟肖,练习了口语。5
2020-08-10 08:00:53 476
原创 CountDownLatch源码解析加流程图详解--AQS类注释翻译
功能定义这个类是一个叫名Doug Lea的java 并发大神开发的。 是在jdk1.5中添加的。其官方解释为:A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.他的意思是CountDownLatch是一个同步工具,他的功能是允许一个或多个线程处于等待状态,直到其他的线程执行完成一组操作
2020-08-07 17:53:01 464
原创 分布式限流实战--redis实现令牌桶限流
这篇文章我们主要是分析一下分布式限流的玩法。 因为限流也是一个经典用法了。1.微服务限流随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。缓存的目的是提升系统访问速度和增大系统能处理的容量,而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开,而有些场景并不能用缓存和降级来解决,比如稀缺资源、数据库的写操作、频繁的复杂查询,因此需有一种手段来限制这些场景的请求量,即限流。比如当我们设计了一个函数,准备上线
2020-08-03 13:51:40 9725 5
原创 Redis分布式锁接口封装实现
说在前面,Redis分布式锁的实现已经烂大街了。 很多人都写过博客,也有写的非常非常好的。 我这里纯属为了自己学习整理一下。 而且现在redis有一个超级牛逼的客户端 Redisson原理主要是通过redis的nx自增来实现的。下面就直接上代码添加依赖 <dependency> <groupId>org.springframework.integration</groupId> <artifactId&g
2020-07-31 09:55:38 915 3
原创 Oauth2方式实现单点登录
下面先简单介绍一下Oauth2的原理Oauth2是什么?Oauth2是一种授权机制,用来授权给第三方应用,获取用户数据。Oauth2是什么的解释 这是阮一峰老师的解释,因此解释的比较好了,就不在此重复了。Oauth2 的原理Oauth2 有四种授权模型 授权码,隐藏式,密码式,凭证式 目前主流的形式是授权码方式。 我们项目中使用的也是授权码方式。 这里就只介绍一下授权码方式 。授权码方式这块的内容完全是引用于Oauth2原理 只是为了方便大家截阅读不用在来回跳转。 其他的几种方式可以去这
2020-07-30 11:18:48 16740 4
原创 Activiti工作流会签二 启动流程
上一篇文单中简单说了一下工作流中流程定义,下面面我们在简单聊一聊启动流程。启动工作流在我的项目中启动一个工作流调用本地的API有点多,这里就只把核心的代码帖出来。public String startProcess(ActBusiness actBusiness) { String userId = securityUtil.getCurrUser().getId(); // 权限判断 ActProcess actProcess = actProces
2020-07-23 17:40:07 915 1
原创 Activiti工作流会签一 部署流程
这里使用的方式是和springboot整合的activiti工作流5.22.0版。 并且是在线编辑流程图的,关于整合请自动百度,我应该在后面也会写一篇文章。创建模型**ActModelController.java**首先在自定义的controller类中注册下面两个Bean对象:repositoryService的主要作用是管理流程仓库,例如部署,删除。 repositoryService详细介绍ObjectMapper 是fastjson的Bean,主要作用是对一些内容进行json转
2020-07-22 17:42:51 2280
原创 手写RPC基于Netty含源码
计划写一个RPC用于把学到的一些理论实践一下。下面记录每天干的事情和用到的知识点。2020-06-18 项目初始化在gitee上创建了一个项目,为什么不在github上呢?因为连接速度慢。为什么不提高一下速度呢?因为翻墙还得花钱。为什么不花钱呢?因为工资低,为什么工资低呢?因为技术太差。怎么样才能技术好呢? 写一下RPC吧。RPC地址 请各位START。 非常感谢。目前用到的知识点Java SPI。...
2020-06-18 17:28:03 342
原创 RPC核心原理
这里写目录标题什么是RPCRPC通信流程RPC中的协议什么是RPC当一个系统并的庞大的时候就会对服务进行拆分。假如一个电商系统就会给拆分为用户服务,订单服务,商品服务等。而在给用户提供服务的时候这些服务之间经常会需要协作,需要传递一些数据。有很多种解决方案,而RPC是一种使用非常广的方案。一句话概括,RPC就是一种解决服务之间协作,用来传递消息的一种技术方案。RPC通信流程RPC分为服务...
2020-05-08 14:02:03 1779
原创 MySQL只学有用的--给字符串添加索引,order by性能优化, count()性能优化
MYSQL只学有用的--给字符串添加索引 order by性能优化 count性能优化 怎么给字符串字段添加索引二级目录三级目录怎么给字符串字段添加索引根据前一篇文章我们知道,两个概念:索引的长度不宜过长索引有最左匹配原则根据这两个概念,我们在给字符串字段设置索引的时候就可以设置索引的长度。如果不设置,默认索引会包含整个字符串。举个例子select table user add...
2020-04-12 08:55:22 1274
原创 MySQL只学有用的--MYSQL索引原理及创建技巧
索引的基础理解索引是数据库系统里面最重要的概念之一,索引就是为了提高数据查询的效率,就像书的目录一样。一个字典如果想找其中的一个字的解释,如果不借助目录的情况下,那估计要找很长一段时间了。索引就是数据库的目录。 我们学习索引就像是在学校查字典。索引的常见模型(字典目录的编写形式)下面我们介绍三种常见的数据结构:哈希表、有序数组、搜索树1. 哈希表哈希表是一种以键-值(key-value)...
2020-04-07 16:26:29 278
原创 MySQL只学有用的--你知道自增ID会用完吗?
MySQL里的自增ID是定义了初始值,然后不停地加步长。我们在创建这个字段的时候会给指定一个字节长度。这个字节长度就是这个ID的上限。比如:无符号整型(unsigned int)是4个字节,上限就是 232=12^{32}=1232=1既然有上限,那么就有可能用完? 下面我们就来聊一聊自增ID用完了怎么办?下面我们会通过几种不同的自增ID,来分析一下它们的值达到上限以后的情况。表定义自增值 ...
2020-03-27 10:03:01 1963
原创 服务化拆分-Gateway服务网关
前言知识让生活更具能量。希望我们在以后学习的路上携手同行。您的点赞、评论和打赏都是对我最大的鼓励。一个人能走多远要看与谁同行,希望能与优秀的您结交。Gateway 简介Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和 Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一...
2020-02-20 10:30:00 443
原创 Docker | installation failed: one pre-requisite is not fullfilled
解析:Docker 支持 WIN10 的专业版,如果使用家庭版则会造成系统版本冲突了!解决办法:伪装成专业版系统,通过 Docker 的系统检测。用管理员权限开启运行「cmd」命令开启命令行,然后输入如下指令:REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T...
2020-02-03 11:43:09 11099 7
原创 数据结构与算法四:链表 如何基于链表实现 LRU缓存淘汰算法呢?
链表这种数据结构一个经典的应用场景就是LRU缓存淘汰算法。 缓存空间如果满了的话就需要对空间进行优化,清理一些不要的数据。常见的有三种策略:先进先出策略FIFO(first In,First Out)、最少使用策略(Least Frequently Used)、最近最少使用策略LRU(Least Recently Used)。我之前用java写过一个缓存采用的就是第三种LRU策略。 [缓存](https://gitee.com/budongfeng/Congcache) 这是我的项目,还请各位多多关注。
2020-01-16 13:09:44 556 1
原创 数据结构与算法三: 数组
前言知识让生活更具能量。希望我们在以后学习的路上携手同行。您的点赞、评论和打赏都是对我最大的鼓励。一个人能走多远要看与谁同行,希望能与优秀的您结交。首先我们先来介绍一下数组数组(Array)是一种线性表 数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。上面是对数组这种数据结构的定义,下面我们来解释一下里面几个关键的词。线性表: 线性表的数据就像一条线一样。每个线性表上的...
2020-01-15 15:23:54 230
原创 2020《更好的明年》广东卫视跨年演讲
2020《更好的明年》广东卫视跨年演讲金句:即瞧不起自己的现在,又看不上自己的未来永远不要在乎别人瞧得起你或者瞧不起你,很多人压根儿都没瞧你我们的发际线向后,是因为我们的人生向前第一章 图观2019商业线上融合线下之年。物价上涨过快,追求超市自由更难。中美贸易战完成初步协议。垃圾分类。新中国成立70周年。王思聪被限制了高消费,李子柒田园牧歌式的生活爆红。李佳琦网销代表人...
2020-01-06 13:37:17 2654
原创 docker的环境的搭建
前言知识让生活更具能量。希望我们在以后学习的路上携手同行。您的点赞、评论和打赏都是对我最大的鼓励。1.安装docker1.1 在windows上搭建Linux虚拟机首先需要安装virtualbox软件,oracle良心免费官网下载直接安装。 其次安装vagrant官网直接下载就可以。Vagrant官网 同样良心免费官网下载直接安装。安装的过程中会重启系统。1.2 使用vagrant和v...
2019-12-23 13:16:54 395
原创 查看linux核心数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores...
2019-10-31 09:34:31 1419
原创 正常关闭java程序
ps ax|grep regulation-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $1}' | xargs kill -15
2019-10-17 14:20:22 287
编写导入从mysql导入 es的规则jdbc.conf
2020-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人