自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Spring IOC DI实现思路 实现原理

文章目录IOC是什么IOC(控制反转)与DI(依赖注入)IOC在SpringBoot之中的实现IOC是什么控制反转,本质上是一种新型的设计模式,在Springboot中有着广泛的运用;同时也成为了Springboot最重要的特征之一。IOC的思想,可以理解为一种“中介”的思想。我们经常可以在各种地方看到,“IOC是一种解耦的思想”之类的话,但是它是如何实现解耦的?打个比方,比如说你想找对象结婚。正常情况下,如果你要找对象,就是你主动去发出找对象的这个动作。但是你还有另一种方法——你去找婚姻中介。

2021-03-17 11:17:24 318

原创 Clickhouse一览:我奶一口,未来几年ClickHouse必起飞

前言我记得在我面试的时候,我的面试官(也是我后来的老大)钱总问我:“你们这个查询系统,在面对大数据量的时候,除了mysql数据库,还有什么别的选择吗?”我当时回答,“MongoDB。”现在进了公司,发现这个问题的正解是——Clickhouse。ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内社区火热,各个大厂纷纷跟进大规模使用:今日头条 内部用ClickHouse来做用户行为分析,内部一共几千个ClickHouse节点,单集群最大1200节点,总数

2020-10-20 10:30:16 678

原创 软件发展时期以及软件过程的演变

软件的发展,可以大体上划分为三个阶段:软硬件一体化阶段(50s-70s),软件作为独立产品的阶段(70s-90s),网络化和服务化的阶段(90s-)。软件和硬件的发展是相互促进的;按照著名的摩尔定律,硬件每18个月晶体管数量翻番而价格减半。软件运行于硬件之上,软件可以代替硬件实现很多硬件无法实现的功能。一开始软件开发的水平比较低,进度比较缓慢;但是自从操作系统的出现,就让软件开发的难度(开发的难度以及调试的难度等)降低了,从而让人们能够“基于软件而架设软件”,因此软件可以不再受制于硬件提供的单一功能,而可以

2020-10-09 15:03:38 6531 5

原创 Google diff-match-patch源代码解析:听说比GNU diff-patch更厉害?(一)

文章目录前言GUN diff 与 Google diff-match-patch的区别注释diff算法实现——如何定义一系列操作,来将字符串A转换为字符串B?操作的定义Diff的计算参考博客前言GUN diff 与 Google diff-match-patch的区别最近研究了google工程师开发的计算文本之间差异值的diff算法。该算法可以计算出不同文本之间的差异值并且生成patch文件来体现文本之间的差异。GNU diff对于diff的计算是基于行的,也就是说如果使用GUN diff来计算两段

2020-07-30 17:53:26 2824 3

原创 Mysql的时间问题:插入和取出不一致(设置时区)

今天遇到一个阴间问题。问题描述拟有表结构如下:id ——(自增id)uuid ——(唯一标识符id)content ——(表的内容,不做讨论)createTime ——(DateTime类型)updateTime ——(DateTime类型)现在有这样一个业务需求,让你根据UUID从mysql中取出一条信息的update信息。Mybatis可以提供Timestamp类型来对应Mysql中的DateTime类型,在取出DateTime类型的数据的时候可以自动转型为Timestamp类型。于

2020-07-23 15:43:04 977

原创 数据库笔记(5.1 - 5.2) 数据库的物理实现&数据库分区

数据表的物理实现冲突的目标(最核心的特点:读写冲突)并发用户数很大的系统尽量以紧凑的方式存储数据(有助于查询)尽量将数据分散存储(有助于存储,并发写入)没有并发的修改密集型(change-heavy)查询数据要快数据更新也要快这是一个冲突的目标DBMS所处理的基本单元(页、块)通常不可分割在系统工程师眼里一切都很完美的时候,也可能存在一定的问题如果想要优化,就...

2020-04-11 20:04:48 851

原创 Docker构建基于Springboot的微服务的步骤回顾

文章目录1. docker内环境准备2. 基于Springboot构建image3. 运行镜像1. docker内环境准备准备好一个dockerfile;进入到包含这个file的文件夹下。dockerfile内容如下:FROM openjdk:8-jdk-alpineRUN apk update && apk upgrade && apk add net...

2020-03-31 20:04:25 380

原创 美团(3.26) & 招行信用卡中心(3.27) Java开发岗位笔试实录

美团1. 第一题题目描述:首先给出你一个整数,可能为正也可能为负,这个数字中仅包含数字1-9,现在定义一个1-9的置换,即指定将整数中的某个数字按顺序变换为另一个数字,请你输出变换以后的数字是多少。输入输出:输入第一行包含一个整数a。(-101000<=a<=101000)输入第二行包含9个以空格隔开的整数a_i , 第i个整数表示将数字i替换为数字a_i。(1&...

2020-03-29 12:04:01 1885 5

原创 数据库笔记(7.1)数据库反规范化

对冗余的控制(反范式模式)数据库三范式:一范式:一个字段只有一个值二范式:一条记录可以被唯一的字段的组合所区分(一个实体有唯一的标识),是对于实体完整性的要求三范式:字段和字段之间不存在函数依赖。两个字段之间不能够进行函数推导。比如有两个字段,一个字段是身份证号,一个字段是出生日期;前者可以推导出后者,所以最好不应该同时存在。反规范化的坏处会使得实现变得更加复杂,因为需要手动保持...

2020-03-25 13:27:21 802

原创 商业模式笔记以及体悟

文章目录分拆商业模式:商业版的“关注分离”新产品开发客户关系管理基础设施管理分拆商业模式实例——可口可乐个人体会长尾商业模式:专注于多种类产品销售模式实例:图书出版模式实例:乐高数字在线“长尾”案例一:Google“长尾”案例二:亚马逊长尾模式的流行于原因个人体会开放式的商业模式:系统性与外部合作伙伴分拆商业模式:商业版的“关注分离”因为企业活动的驱动因素不同,彼此之间冲突,企业内部消长(难...

2020-03-22 22:44:22 1620

原创 Mac 无法启动mongod服务 exception in initAndListen: NonExistentPath: Data directory /data/db not found., te

根本原因是因为没有办法找到默认的data文件夹/data/db,因此无法正常启动。解决方案:创建/data/db文件夹(在Mac Catalina版本中无法使用这一招,因为在这个版本之中无法对根文件夹进行修改)在mongod命令后面加参数,指定别的文件夹:mongod --dbpath ~/data/db(当然需要提前创建这个文件夹)成功运行mongod命令后打开另一个命令行,运...

2020-03-17 13:59:04 1832

转载 Mysql导入.csv文件处理空值'' Incorrect integer value: '' for column 'tmdbId' at row 710

在导入.csv文件的时候,.csv文件中有些字段为空值。空值在.csv文件中表现为'',在导入的时候引起了一些麻烦。如何把''转变为mysql认可的null值呢?看下面的文章。https://blog.csdn.net/duckyamd/article/details/53143639...

2020-03-15 18:48:29 1774

原创 Group By 分组

文章目录Group By 分组Group By 是什么?ANSI标准select和group byGroup by 中 count(*)问题SQL的执行顺序源自刘嘉老师的课程《数据库开发》,课堂笔记Group By 分组Group By 是什么?结果集,每一行都是一组;而且表示一行(或多行)中某一列(或者多列)具有相同的值ANSI标准Select后面接的结果集字端只有两种...

2020-03-12 16:33:37 489

原创 数据库笔记(4.5 - 4.8)

文章目录数据库笔记(4.5)1.3 统计字符出现的次数1.4 删除不想要的字符1.5 分离数字和字符数据1.6 判断含有字母和数字的字符1.7 提取姓名的首字母数据库笔记 4.6 数值处理2.0 示例表结构2.1 计算平均值2.2 计算最大值和最小值2.3 求和2.4 计算行数2.5 累计求和(Running Total)2.6 计算众数2.7 计算中位数2.8 计算百分比2.9 计算平均值时去掉...

2020-03-12 12:16:26 377

原创 Linux的/tmp文件夹定期清空相关问题

情况描述之前在将数据倒入mysql的时候遇到了一个问题:mysql的默认导入文件夹是/tmp文件夹,在别的文件夹可能会因为访问权限问题导致无法成功导入。于是索性就在/tmp文件夹下建立了一个专门用于存放导入文件的文件夹。谁知道今天跑进去一看,/tmp文件夹竟然被自动清空了。接触过Linux的同学可能会知道,/tmp文件夹是Linux系统用于存放临时文件以及各种各样生成的垃圾的文件夹;基于这一...

2020-03-10 15:46:28 1313

原创 [感悟向] Jacoco+maven 测试覆盖率出问题:No source to compile & Skipping Jacoco execution due to...

这两天在给Jenkins上测试覆盖率工具Jacoco的时候,遇上了这样的麻烦:在本地配置Jacoco的时候,运行mvn clean package之后,target永远无法出现Jacoco应该生成的文件target/jacoco.exec以及文件夹(默认为target.site.jacoco)。在百度上一通搜索,基本不是答非所问,就是方法根本没有用。弄的人非常焦急。最主要的就是根本没有帖...

2020-03-03 14:47:51 2967

原创 Springboot报错解决Servlet.service() for servlet [dispatcherServlet] in context with path [] threw except

开发Springboot,写完各个Service,调试controller的过程中遇见这个bug:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.N...

2020-03-01 21:49:57 108547 9

原创 将excel的.csv文件转入服务器的mysql之中

第一步 在服务器端创建跟excel文件表结构一样的table观察excel文件的表头,然后在服务器的database中new一个table;再在这个table中逐个添加excel的表头。这里尤其需要注意数据的格式;如果excel中一列中的某一项为空值,那么这一列将不能使用int类型,否则会引起报错。另外,建议先在本地的mysql上进行试验;成功之后再在服务器上执行建表的.sql文件。...

2020-02-26 21:49:01 975

原创 IDEA&git 分支开发

从前做项目都是习惯在一个分支之中进行不断的pull、add、commit以及push。由于嫌麻烦不想建立别的分支,一直在master分支下进行开发。今天代码跟队伍里其他同学的发生了冲突,差点把整个库给搞炸。遂研究一下git的正确使用方式。.gitignore一定要记得配置好.gitignore,能给你省去很多很多的冲突,懂的都懂。什么IDE的配置文件,一定要给他放进去。分支一. 多人同时...

2020-02-22 18:26:02 727

原创 解决Tomcat重新配置后启动慢

Jenkins+Tomcat服务器配置过程中,修改了tomcat配置文件;然后再访问服务器的tomcat页面发现根本加载不出来企图重启tomcat/opt/tomcat/bin/shutdown.sh出现如下报错[root@izbp1fmfc2pdjiw9u143xfz conf]# /opt/tomcat/bin/shutdown.shUsing CATALINA_BASE: /o...

2020-02-20 14:16:56 3017

原创 削减Docker Images的大小

削减Docker Images的大小削减images的大小意味着需要构建自己新的images。如何让构建出来的镜像更小更具有效率呢?我们需要通过docker build指令来对我们定制的镜像进行构建。在Docker build的过程中,会读取Dockerfile中的命令进行构建FROM centos:7.2.1511COPY . /tmp/RUN yum install -y ma...

2019-10-08 11:46:07 883

原创 有向图中,打印出所有的回路(Java

有向图中,打印出所有的回路(Java)具体思路:利用DFS算法深度遍历图中的每一个节点。在遍历的同时设置一个list,用来存放已经遍历过的点;如果再遍历到这个点(说明形成了回路)的时候就打印出来。注意点:需要记录每一个点“是否被访问过”的状态。由于是有向图,所以实际上并不能保证从一个特定的点出发能够遍历到图中所有的点,因此需要从图中每一个点出发将图遍历一遍。在遍历不同的节点的时候...

2018-12-18 21:49:59 3316 2

空空如也

空空如也

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

TA关注的人

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