自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lomtom's Blog

https://www.lomtom.cn

  • 博客(60)
  • 资源 (3)
  • 收藏
  • 关注

原创 k8s(一)走进docker

Build,Ship and Run Any App,Anywherek8s系列:容器是一个标准化的单元,是一个轻量级、可移植的软件打包技术。它将软件代码及其相关依赖打包,使应用程序可以在任何计算介质中运行。简单来讲,容器就像一个标准化的盒子,能够装很多不同类型的东西,并且装完后能够塞进很多不同类型的柜子里。基于Linux内核的Cgroup(资源限制),Namespace(隔离),以及UnionFS(文件系统)等技术,对进程进行封装隔离Namespace:对进程进行隔离,解决了进程之间的可见性问题。Cgr

2022-06-08 14:04:37 795 1

原创 MongoDB(一)初识MongoDB

作者:lomtom个人网站:lomtom.cn个人公众号:博思奥园你的支持就是我最大的动力。MongoDB系列:MongoDB(一)初识MongoDBMongoDB(二)在Go中使用MongoDB原来这么简单MongoDB(三)数据模型NoSQLNoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。一般NoSQL指的是非关系型数据库。NoSQL按存储方式可分为:列存储(Hbase、Cassandra、Hypertable)文档存储(MongoD..

2021-12-27 11:16:11 712

原创 ElasticSearch(五)ElasticSearch字段类型

1、核心类型1. 字符串类型string:过期的字符串类型(在ES5之前使用,ES5后被Text和keyword替代)text:全文本。通常用于基于文本的相关性搜索。全文本字段可以分词。全文本字段不用于排序,很少用于聚合等操作。keyword:这种类型适用于结构化的字段区别:keyword:存储数据时候,不会分词建立索引text:存储数据时候,会自动分词,并生成索引。2. 数字类型类型取值范围long-2^63 到 2^63-1integer-2^31

2021-12-10 09:40:46 2832

原创 ElasticSearch(四)ElasticSearch文档操作

1、什么是文档?在大多数应用中,多数实体或对象可以被序列化为包含键值对的 JSON 对象。一个 键 可以是一个字段或字段的名称,一个 值 可以是一个字符串,一个数字,一个布尔值, 另一个对象,一些数组值,或一些其它特殊类型诸如表示日期的字符串,或代表一个地理位置的对象:{ "name": "John Smith", "age": 42, "confirmed": true, "join_date": "2014-06-01

2021-12-08 09:38:17 301

原创 ElasticSearch(三)ElasticSearch索引操作

往 Elasticsearch 添加数据时需要用到 索引 —— 保存相关数据的地方。索引实际上是指向一个或者多个物理 分片 的 逻辑命名空间 。索引可以比作数据库。一个 分片 是一个底层的 工作单元 ,它仅保存了全部数据中的一部分。而现在我们只需知道一个分片是一个 Lucene 的实例,以及它本身就是一个完整的搜索引擎。我们的文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互。一个分片可以是 主分片或者副本分片。 索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索

2021-12-07 15:26:34 778

原创 ElasticSearch(二)在ElasticSearch 中使用中文分词器

一、ElasticSearch 中的中文分词器IK分词器对中文具有良好支持的分词器,相比于ES自带的分词器,IK分词器更能适用中文博大精深的语言环境,此外,IK分词器包括ik_max_word和ik_smart,它们有什么区别呢?ik_max_word会将文本做最细粒度的拆分;ik_smart 会做最粗粒度的拆分。下载:方式一、分词器官网:https://github.com/medcl/elasticsearch-analysis-ik。在 https://github.com/medc

2021-12-06 15:46:26 404

原创 Go(八)还不知道函数式选项模式?

函数式选项模式文章目录函数式选项模式引入选项模式进行初始化选项模式在Gorm中的应用引入为option 结构体进行初始化,因为其是私有的,即只能包内访问,所以需要编写一个构造函数。type option struct { A string B string C int}构造函数func newOption(a, b string, c int) *option { return &option{ A: a, B: b, C: c, }}使用的时候,直接调用

2021-11-29 09:26:48 205

原创 Go(七)你说你不会并发?

GOLANG ROADMAP 294#通过通信共享内存并发编程是个很大的论题。但限于篇幅,这里仅讨论一些Go特有的东西。在并发编程中,为实现对共享变量的正确访问需要精确的控制,这在多数环境下都很困难。 Go语言另辟蹊径,它将共享的值通过信道传递,实际上,多个独立执行的线程从不会主动共享。 在任意给定的时间点,只有一个Go协程能够访问该值。数据竞争从设计上就被杜绝了。 为了提倡这种思考方式,我们将它简化为一句口号:不要通过共享内存来通信,而应通过通信来共享内存。这种方法意义深远。例如,引用计数通过为

2021-11-28 23:23:42 122

原创 Go(六)来来来,教你怎么远程调用

作者:lomtom个人网站:lomtom.cn个人公众号:博思奥园你的支持就是我最大的动力。Go系列:Go(一)基础入门Go(二)结构体Go(三)Go配置文件Go(四)Redis操作Go(五)Go不知道怎么用Gorm?Go(六)来来来,教你怎么远程调用每个微服务应用难免会有远程调用,那么在JAVA里面,有很多种远程调用的方法,最基础的手写HTTP调用,或者使用restTetmplate,再到使用openfeign仅仅写个接口就可以实现调用。那么在Go语言里,Go也提供了Htt.

2021-11-27 16:27:05 857

原创 Go(五)Go不知道怎么用Gorm?

作者:lomtom个人网站:lomtom.top,个人公众号:博思奥园你的支持就是我最大的动力。Go系列:Go(一)基础入门Go(二)结构体Go(三)Go配置文件Go(四)Redis操作Go(五)Go不知道怎么用Gorm?前言所有的后端应用都离不开数据库的操作,在Go中也有一些好用的数据库操作组件,例如Gorm就是一个很不错的选择。这里是Gorm自己例举的优点:全功能 ORM关联 (Has One,Has Many,Belongs To,Many To Many,多态,.

2021-11-26 11:48:37 728

原创 Go(四)Redis还不会使用?

redis底层为C语言解决hash冲突类似于1.7的hashmapredis概念非关系型的键值对数据库,可以根据键以O(1)的时间复杂度取出或插入关联值Reds的数据是存在内存中的键值对中键的类型可以是字符串,整型,浮点型等,且键是唯一的键值对中的值类型可以是 string,hash,list,set, sorted set等Reds内置了复制,磁盘持久化,LUA脚本,事务,SSL,客户端代理等功能通过Reds哨兵和自动分区提供高可用性应用场景计数器可以对Sng进行自增自减运算

2021-11-26 11:48:12 2160

原创 Go(三)Go配置文件

文章目录思路实现编写配置文件编写结构体读取文件使用本文首发于CSDN,作者:lomtom原文链接:https://blog.csdn.net/qq_41929184/article/details/119995581个人网站:https://lomtom.top,个人公众号:博思奥园,同步更新。你的支持就是我最大的动力。Go系列:Go(一)基础入门Go(二)结构体Go(三)Go配置文件Go(四)Redis操作熟悉使用SpringBoot的同学,再去使用Go之后,就会发现Sprin

2021-09-24 09:48:18 2261

原创 Go(二)结构体

在Go中没有类的概念,取而代之,我觉得Go中的结构体却在充当着类的角色。但是在Go中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。比面向对象具有更高的扩展性和灵活性。1 类型别名和自定义类型1.1 自定义类型和java一样,在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型在Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。例如://将MyInt定义为in

2021-09-24 09:40:08 426

原创 Go(一)基础入门

go是非常年轻的一门语言,它的主要目标是“兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性”目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。go入门Go语言结构(组成部分): 包声明 引入包 函数 变量 语句 & 表达式 注释例如hello.gopackage main//标准输出库import "fmt"//主函数:包名

2021-09-24 09:37:23 274

原创 jvm字节码

指令码助记符说明0x00nop什么都不做0x01aconst_null将 null 推送至栈顶0x02iconst_m1将 int 型 -1 推送至栈顶0x03iconst_0将 int 型 0 推送至栈顶0x04iconst_1将 int 型 1 推送至栈顶0x05iconst_2将 int 型 2 推送至栈顶0x06iconst_3将 int 型 3 推送至栈顶0x07iconst_4将 int 型 4 推送至...

2021-09-07 09:55:19 156 1

原创 设计模式(二)抽象工厂模式

你能get到的知识点工厂模式的介绍工厂模式通过代码的实现本文首发于CSDN,作者:lomtom原文链接:https://blog.csdn.net/qq_41929184/article/details/118338143个人网站:https://lomtom.top,个人公众号:博思奥园,同步更新。你的支持就是我最大的动力。设计模式系列:设计模式(一)工厂模式设计模式(二)抽象工厂模式文章目录你能get到的知识点...

2021-09-01 20:50:53 148 1

原创 设计模式(一)工厂模式

技术组成ActivitijBPM5数据库持久层ORMMyBatis3Hibernate3持久化标准无JPA规范事务管理MyBatis机制/Spring事务控制Bitronix,基于JTA事务管理数据库连接方式Jdbc/DataSourceJdbc/DataSource支持数据库Oracle、SQL Server、MySQL等多数数据库Oracle、SQL Server、MySQL等多数数据库设计模式Command模式、观察者模式等内部服务通讯Service间通过API调用O基于Apache Mina异步通讯

2021-09-01 20:50:33 216

原创 Easypoi(二)表格工具类使用

文章目录表格导入工具类系列:Easypoi(一)表格导入工具类封装Easypoi(二)表格导入工具类使用注: 工具类及测试github源码

2021-09-01 20:49:51 320

原创 Easypoi(一)表格导入工具类封装

文章目录准备编写实体类文件转换为流使用easypoi进行读取对图片进行存储测试本文首发于CSDN,作者:lomtom原文链接:https://blog.csdn.net/qq_41929184/article/details/119734707个人网站:https://lomtom.top,个人公众号:博思奥园,同步更新。你的支持就是我最大的动力。表格导入工具类系列:Easypoi(一)表格导入工具类封装Easypoi(二)表格导入工具类使用注: 工具类及测试github源码需求是

2021-09-01 20:49:34 806

原创 ElasticSearch(一) ElasticSearch入门

Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力,这是通常没有预料到的。 它存在还因为原始数据如果只是躺在磁盘里面根本就毫无用处。Elasticsearch 不仅仅只是全文搜索,我们还将介绍结构化搜索、数据分析、复杂的人类语言处理、地理位置和对象间关联关系等。 我们还将探讨为了充分利用 Elasticsearch 的水平伸缩性,应当如何建立数据模型,以及在生产环境中如何配置和监控你的集群。Elasticsearch也使用

2021-06-26 16:34:52 340

原创 【OSS】使用Element实现图片上传到OSS

1.1、原生https://oss.console.aliyun.com/overview1、准备1)、开通阿里云云存储功能开通:https://oss.console.aliyun.com/overview开发文档:https://help.aliyun.com/document_detail/32009.html?spm=a2c4g.11186623.6.778.614459aa0tT8Ms点击创建bucket,根据自己的需求选择相应规格2)、创建子用户创建一个子用户专门用于我们上传

2021-04-09 17:25:56 1194

原创 【力扣 中等】450 - 删除二叉搜索树中的节点

一、题目描述:给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7]key = 3给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。一个正确的答案是 [5,4.

2021-01-16 23:00:51 116

原创 【力扣 简单】228 - 汇总区间

一、题目描述:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例示例 1:输入:prices = [3,3,5,0,0,3,1,4]输出:6解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第

2021-01-10 11:05:23 165

原创 mysql主从复制实现读写分离(一)

一、场景引入前提背景在某些场景下,例如淘宝京东这样海量的数据,高访问量的场景,无疑对数据库造成了相当大的负载,同时对于系统的稳定性和扩展性提出很高的要求。而单个服务器所能够提供的服务以及负载都是有限的。所以,为了系统的问题,以及较快的响应速度或处理能力,在数据库方面就有了集中解决方案,分库分表,读写分离,这些都能在一定程度上有效地减小单台数据库的压力。而本文就是从读写分离角度来一探究竟。实现原理1、主机负责写操作2、从机负责读操作从机自动从主机中同步数据1、什么是读写分离读写分离,基本

2021-01-07 15:42:10 150

原创 五分钟上手swagger

一、swagger是什么?swagger是一种基于Rest 风格的api文档开发工具,我们常常应用于前后端分离项目,解决由于前后端分离导致的数据接口不一致问题,有效的减少前端程序员与后端程序员的打斗次数。swagger自己是这样介绍swagger的:Swagger是一组功能强大且易于使用的API开发人员工具套件,适用于团队和个人,可在整个API生命周期(从设计和文档到测试和部署)中进行开发。Swagger由开放源代码,免费和市售工具共同组成,它使任何人(从技术工程师到街头智能产品经理)都可以

2021-01-04 13:05:39 313

原创 【每天一个小知识】为什么二分法不建议使用 (right + left) / 2?

每天一个小知识,不定期更新文章目录一、问题二、分析三、结论一、问题事情是这样的,由于我最近在刷题,刷到这样一道题:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version

2020-11-20 21:39:45 2067 6

原创 【力扣 容易 】122- 买卖股票的最佳时机 II

一、题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例示例 1:输入: [7,1,5,3,6,4] 输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 =5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5

2020-11-08 18:55:25 147

原创 【github 自动部署】github实现自动部署

一、安装yumwget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gztar -xvf yum-3.2.28.tar.gztouch /etc/ yum.confcd yum-3.2.28./yummain.py install yum二、安装gityum install -y gitgit --version1、linux下yum2、git生成证书3、 钩子自动部署4、使用github提供的webhook服务完

2020-10-28 22:33:47 2269

原创 【每天一个小知识】为什么 Java 中 “200==200” 为 false,而 ”100==100“ 为 true?

每天一个小知识,不定期更新文章目录一、问题二、分析三、结论一、问题之前有人问我这样一个问题:如果你运行下面的代码,你会得到什么?Integer a = 200, b = 200;Integer c = 100, d = 100;System.out.println(a == b);System.out.println(c == d);你会得到falsetrue为什么 Java 中200==200为false,而100==100为true?答案只有一个:那就是200没

2020-10-09 19:38:15 946 2

原创 【学习笔记】后端表单验证JSR303

在处理后端的业务逻辑是常常会涉及表单数据的提交请求,我们不仅在前端对数据进行验证,而且在后端也需要对数据进行验证,以此来保证数据的完整性,而后端对于表单数据的验证使用的最多的莫过于JSR303。

2020-07-04 19:49:41 268

原创 【个人博客 hexo】一个小时就搭好属于自己的博客

参考1、安装git下载:传送门2、安装NodeJs下载:传送门3、查看git和node版本:4、安装hexo(使用npm)使用npm i -g hexo来安装,一步到位,查看hexo版本。5、初始化在一个空的文件夹内使用hexo init 初始化说明:node_modules:是依赖包public:存放的是生成的页面scaffolds:命令生成文章等的模板sou...

2020-06-08 14:52:55 241 3

原创 【大数据 Spark】利用电影观看记录数据,进行电影推荐

利用电影观看记录数据,进行电影推荐。准备1、任务描述:在推荐领域有一个著名的开放测试集,下载链接是:http://grouplens.org/datasets/movielens/,该测试集包含三个文件,分别是ratings.dat、sers.dat、movies.dat,具体介绍可阅读:README.txt。请编程实现:通过连接ratings.dat和movies.dat两个文件得到平均得...

2020-05-10 10:21:52 2673 1

原创 【mybatis xml】数据层框架应用--Mybatis(四)关系映射之一对多关系映射

实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系。针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系。你需要了解的知识点1、关联关系种类数据库:在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多一对一:在任意一方引入对方主键作为外键;一对多:在“多”的一方,...

2020-05-03 18:51:55 515

原创 【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射

实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系。针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系。你需要了解的知识点1、关联关系种类数据库:在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多一对一:在任意一方引入对方主键作为外键;一对多:在“多”的一方,...

2020-05-03 18:48:53 512

原创 【mybatis annotation】数据层框架应用--Mybatis(二) 基于注解实现数据的CRUD

使用MyBatis框架进行持久层开发MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。文章目录使用MyBatis框...

2020-04-29 18:49:05 623

原创 【mybatis xml】数据层框架应用--Mybatis(一) 基于XML映射文件实现数据的CRUD

使用MyBatis框架进行持久层开发MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。文章目录使用MyBatis框...

2020-04-24 22:06:28 1838 2

原创 【spring 国际化】springMVC、springboot国际化处理详解

在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢?你能get的知识点?使用springgmvc与thymeleaf进行国际化处理。使用springgmvc与jsp进行国际化处理。使用springboot与thymeleaf进行国际化处理。文章目录你能get的知识点?你必须要知道的概念一:使用springgmvc与thymeleaf进行国际化处理。二: 使用s...

2020-04-19 20:21:31 1268 2

原创 【java 数据结构】还不会二叉树?一篇搞定二叉树

1、如何知道二叉树的深度?实现二叉树的深度方式有两种,递归以及非递归。①递归实现:为了求树的深度,可以先求其左子树的深度和右子树的深度,可以用递归实现,递归的出口就是节点为空。返回值为0;②非递归实现:利用层次遍历的算法,设置变量level记录当前节点所在的层数,设置变量last指向当前层的最后一个节点,当处理完当前层的最后一个节点,让level指向+1操作。设置变量cur记录当前层已经...

2020-04-17 09:55:53 3039 6

原创 【docker linux】linux系统镜像转化为docker镜像

概述使用docker安装linux的同学都知道,你在docker提供的仓库安装linux系统,你就会体验到最精简的、最纯净的linux系统,当然,他会精简到你连ifconfig命令都需要自己配置,恰好对于我来说,这并不是我想要的。如果我去使用VMware安装linux系统,但是我已经使用了docker,就不能使用vmware了,那么你就会问了,docker、vmware难道就不能同时使用?那么...

2020-04-12 18:10:40 1858

原创 【开发工具 idea】值得推荐的15款idea插件

background image plustranslationstatisticrainbow bracketsRestfulToolkitlombokalibaba Java coding guidelineskey promoter XsonarLint

2020-04-05 11:11:53 13306 6

upload.zip

上传图片到阿里云oss

2020-06-28

upload.zip

上传图片到阿里云oss所需的前端代码

2020-06-28

scala-2.12.11.msi

scala windows安装器 、

2020-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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