自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (8)
  • 收藏
  • 关注

原创 【单模块】制作Maven Archetype

对于一个组织而言,有相同骨架的项目结构肯定有利于对整个项目生命周期的管理,比如流水线不需要特别为每一个项目定制化。同时,有相同骨架的项目,也可以让开发者更快地投入开发,不需要再去纠结环境问题。Maven的Archetype就为我们提供了这样的便利,Archetype定义了项目的模版,在生成的时候,输入gav(GroupId, ArtifactId, Version)还有package就能够生成目标模版的项目。这里主要介绍了【单模块】项目骨架的制作过程。

2023-03-04 23:01:02 2017 1

原创 SpringBoot整合Apache Thrift

目前缺乏Spring Boot与Apache Thrift的整合包,因此自己造了一个轮子。可以应对相对简单的RPC调用场景

2022-06-13 14:43:03 2325

原创 记一次SQL调优过程

文章目录引言发现问题初步分析进一步分析效果引言最近在做项目的时候,发现接口的请求处理速度不理想,虽然使用了缓存可以保证后来用户的体验,但是当第一位用户访问时,需要生产数据并写入缓存,这就有一点影响用户体验了。于是考虑对接口进行调优,这里主要说慢SQL方面的调优。我的项目比较简单,先说结果,只要加一个索引就好了。后面会记录一下从发现原因到思考,再到出解决方案的整个流程,我觉得更重要的是后面的部分发现问题在使用JProfiler进行JDBC性能监控时,发现了一条慢SQL:出现了一个长达4s的查询,

2022-03-12 10:59:29 2033

原创 关于Spring AOP中切点修饰符@annotation、@args与args约束说明

于其说这是一篇文章,不如说这是一篇笔记,主要介绍了@annotation、@args和args的作用以及一些坑点。

2022-03-01 14:56:12 9976 1

原创 Swagger-UI的修改指南

前言由于打比赛的项目需求,需要使用到Swagger,并且需要稍微改动一下现有的Swagger-UI以符合项目的整体风格,我度娘搜了一下,有从源代码层面讲怎么修改的不多,很多是会贴一个基于BootStrap修改的pom坐标。本文先简单介绍一下Swagger是什么,重点介绍如何对现有的Swagger-UI进行修改。本文基于Swagger 2.9.2Swagger OverviewSwagger可以说是现代Web后台开发中的利器,可以使用简单的注解生成项目的API文档,并且拥有接口调试功能,很方便。S

2021-11-22 17:32:12 2957 1

原创 关于AMQP协议

文章目录前言什么是AMQP协议AMQP特性角色架构核心——ExchangeDirect ExchangeFanout ExchangeTopic ExchangeHeaders Exchange核心——Queue核心——Acknowledgements积极的ACK消极的ACK持久化Queue的持久化消息的持久化Channel与虚拟主机channel虚拟主机相关阅读前言最近在学习RabbitMQ,而RabbitMQ的特色之一就是AMQP协议,阅读完其英文的tutorial后,便做了笔记整理,如果有错,还希

2021-11-06 15:36:49 1311

原创 浅谈Synchronized关键字

emm…我更愿意把这篇博文当作是一篇笔记,其中有蛮多的东西是摘抄书本的,做一个思路上的整理。个人理解的部分其实并不太多,有错的地方欢迎评论区指出,还请大家多多包涵~作用被synchronized关键字所修饰的代码,在同一个时间段内,只允许一个线程访问其资源,保证了代码的同步性。synchronized最终是依靠操作系统中的Mutex Lock实现的,Java是内核线程,也就是每一个Java线程会映射到操作系统中的一个线程,线程上下文的切换需要操作系统由用户态转换到内核态,比较消耗资源,所以早期sync

2021-03-05 20:16:28 166

原创 利用TextRank算法制作一个可以提取聊天关键词的QQ群机器人

文章目录前言效果TextRank算法PageRank算法TextRank算法共现关系滑动窗口图构建关键词抽取思路实现过程大体思路Nonebot框架介绍技术细节会话监听数据预处理分词使用TextRank算法抽取关键词并生成词云定时任务设定代码库参考资料前言发现自己已经很久没有更新博客了,读研的这些日子其实过得并没有想象中的那么顺利。这学期发现自己其实并不适合搞科研…唉,希望能顺利毕业吧。言归正传,本篇博文将介绍如何利用TextRank算法实现一个可以提取QQ群聊天热词的机器人。制作这个机器人的初衷是:有

2020-12-28 16:16:39 2678 4

原创 关于Maven中的依赖问题

前言这个月跟着老师开发项目的时候,利用Maven来构建项目,遇到了依赖冲突的问题(阿里的EasyExcel与github上的一个将excel转pdf的插件都用到了poi,且两个poi版本互不兼容),也因此把Maven的依赖机制好好地学习了一遍,在此做一个记录。什么是依赖依赖可以理解为一个软件包,由groupId、artifactId、version 组成的坐标进行唯一确定,它在pom.xml中常以下面这种形式存在:<!--这里以引入easyExcel为例子--> <depen

2020-09-21 21:19:49 584

原创 在Docker中部署JupyterNotebook/JupyterHub

发现自己已经大半年没有更新博客了,主要还是忙,我觉得还是要把博客捡起来,不论是做环境搭建的整理还是技术点的记录都是好的,这个时间还是得花。不然时间一场就都忘了。写在前面从题目中可以猜到,本篇博文会分成两个部分:JupyterNotebook的搭建JupyterHub的搭建当然本次的搭建都是在Docker中完成的,在Docker中搭建环境个人认为与本地搭建有以下优势:DockerHub上有全球开发者提供的现成镜像,包括一些软件开发商提供的官方镜像,可以节省我们搭建环境的时间,因为有一些莫.

2020-07-08 12:05:51 8132 2

原创 在Xilinx Zybo上安装Ubuntu系统

文章目录前言本文所使用的开发板法一:利用预编译好的文件与系统点亮Zybo文件准备硬件准备步骤S1:SD卡分区系统环境前言在今年开学的时候,老师给了我一块Zybo板子,可能想让我接手硬件这一块吧,但是由于各种原因我并没有走硬件的研究方向,这块板子便搁置了下来。之前一直想将这块板子装上系统,搜索了一下操作比较复杂于是也作罢了。刚好最近考完试,用了将近一周的时间研究了怎么往这块板子里塞Ubuntu系...

2020-01-31 18:56:30 1378 1

原创 解决Mac OS Catalina下Visual Studio Code对于C/C++语言不能断点调试的问题

文章目录背景环境解决办法新的插件配置步骤配置文件文件分享c_cpp_properties.jsonlaunch.jsontasks.json参考资料背景最近刚考完试,有空来回复一下博客上的评论。在回复一条关于克鲁斯卡尔最短路径算法的评论时,为了能够让回复的内容更直观,决定贴上代码的调试信息(代码是用C写的)。我的电脑是MBP,没有安装XCode,只有Visual Studio Code,于是决...

2020-01-03 20:32:00 3716 6

原创 【算法】图的最小生成树(Kruskal算法)

这篇文章是2.0版本,修正了前一版中的错误,感谢广大网友指正!前面介绍了图的最小生成树的Prim算法,这个算法是从顶点的角度来刻画生成树的。今天要说的Kruskal(克鲁斯卡尔)算法,是从边的角度来进行刻画的。 Kruskal算法用到的数据结构有: 1、边顶点与权值存储结构(即图是由连接某一条边的两个顶点,以及这条边的权值来进行存储,具体看后面的例子) 2、并查集(具体是什...

2019-07-15 17:53:36 101919 42

原创 【经典问题】括号匹配问题

文章目录前言例题算法思想算法举例代码栈类括号匹配核心算法完整代码运行结果前言括号匹配问题算是栈应用中比较经典的问题了,在数据结构的书中还有各种考试中会出现。最近刷题的时候也遇到了,就想写一篇文章整理一下。例题题目来自Leetcode中国给定一个只包括 (,),{,},[,] 的字符串,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的...

2019-05-27 21:57:35 44755 3

原创 联想ideaPad Z470安装黑苹果与Win双系统教程

前言手上的这台联想Z470是我在2011年购入的,距离现在也将近8年了,前一阵子在网上看到这台机器可以安装黑苹果,虽然不是最新的Mojave,而是15年的EI Captain,但是还是迫不及待安装上试了试,配合固态SSD,还有升级后的8G内存,可以说是如丝般顺滑,匹配程度可以达到99%了,可以说是老机焕发第二春~折腾黑苹果前前后后也花了半个月,也趴了很多教程,这些教程也都写的不错,我仅是在这些...

2019-04-22 09:41:55 9768 14

原创 关系数据库理论之最小函数依赖集

前言在本文中,会介绍为什么要引入最小函数依赖集,最小函数依赖集是什么,以及如何求最小函数依赖集。为什么需要最小函数依赖集在关系数据模型中,一个关系通常由R(U,F)构成,U为属性的全集,F为函数依赖集。在实际生活中,我们可以根据语义来定义关系中属性的依赖关系,例如学号可以唯一确定一位学生的姓名、性别等等。但是,有时候给出的函数依赖集并不是最简的,这有时会拖累我们对关系的后续处理,例如关系的分...

2019-04-06 23:38:53 66126 67

原创 利用VirtualBox(基于Win)安装Mac OS X 10.8(Mountain Lion)

在虚拟机里安装Mac OS也不是什么新鲜事了。网上这类的教程有很多,但是坑也多。我就整理一篇没有坑的文章,防止大家踩雷。

2019-02-02 20:17:35 19439 12

原创 Windows下网络磁盘驱动器映射与用户组配置

有时在共享文件的时候,我们希望在服务器端将整个驱动器进行共享。而客户端只需要映射对应的驱动器即可(也就是在Windows的计算机中常看到的映射网络驱动器),这样可以得到与本地磁盘一样的文件操作体验。

2019-02-01 15:10:53 9476 1

原创 关系数据库理论之范式

文章目录前言这四大范式的关系函数依赖概念分类完全函数依赖部分函数依赖传递函数依赖主属性与非主属性范式第一范式第二范式第三范式BC范式前言范式应该算是关系数据库中的难点了,难就难在对关系的分解上。最近在学习关系数据库理论,就想着可以利用文章将思路捋捋。本文主要论述的是范式中有关函数依赖的部分,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BC范式(BCNF)。至于基于多值依赖...

2019-01-11 21:59:18 1069

原创 【怀旧】利用Altair 8800模拟器加载4K Basic解释器(附下载连接)

不久前微软在Github上开源了早期MS-DOS的源代码,掀起了不少人的怀旧潮。趁着国庆假期的一点点空闲,折腾了一下Altair 8800模拟器,加载了4K Basic解释器,并且运行了最简单的“Hello Word”。这个4K Basic跟微软还是有渊源的。国内有这方面资料的也比较少,就当是怀旧吧,顺便记录一下加载的过程。这个对于当前已经没有实际的应用价值了,不过与MS-DOS一样,折腾一下对...

2018-10-01 23:32:23 1820

原创 SSM(Spring+SpringMVC+Mybatis)框架超详细搭建指南(利用Maven构建项目)

其实这是我实习生涯开始后的第一个任务,但是当时太忙了一直没有时间记录,就按照教程走了。刚好现在实习结束了有些时间,把整个搭建的过程还有一些坑记录下来还是很有必要的。DEMOhttps://github.com/mgsky1/aboutSpring/tree/master/ssm_csdn环境 IDEA 15.0.5 JDK 1.8 tomcat 7.0...

2018-07-02 11:41:01 760 1

原创 佩奇(社会人)大学初探——联迪商用实习小结(2018-4至2018-6)

今天结束了为期将近3个月的实习,从4月12到6月30,除去周末,也算有始有终了。虽然决定考研二战了,不过感受还是颇多的。 联迪是一家做pos机的公司,在国内市场算是份额比较大的,在一些餐饮店都能看到我们的支付设备,甚至我在学校后面的KTV都看到了我们的设备。也有亮相首届的数字中国峰会,每次看到的时候,都会自豪地跟我朋友说,看,我们公司生产的~今天打算从三个方面来说,第一是个人感受...

2018-06-30 00:03:35 642 1

原创 浅谈外网通过反向代理访问内网资源时的权限保护

标题可能有些绕口,意思就是我在外网要访问内网一资源(比如网站)时需要身份验证,只有通过身份验证才能访问,这个该如何实现? 其实这是一朋友问我的一个问题,需求就是: 领导在外出差,要通过企业微信访问内网资源,而这个资源又是高度保密的,不能随便让别人看到,公司又不提供VPN等工具,要如何实现?我觉得这个需求蛮有意思的,就去深入思考了一下。我们知道,微信开发很多情况下是需要绑定域名的,那...

2018-05-27 11:51:04 4363

原创 利用Python+阿里云实现DDNS(动态域名解析)

引子我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应的IP是可以动态变化的。那这个有什么用呢? 比如,在家里的路由器上连着一个raspberry pi(树莓派),上面跑着几个网站,我应该如和在外网环境下访问网站、登陆树莓派的SSH呢? 还有,家里...

2018-05-27 08:54:37 75378 38

原创 CentOS 6.9安装ArcGIS Server 10.2简明教程

这几天都在折腾ArcGIS Server,遇到了不少坑,特此记录下来,以免以后再跌进坑里[笑哭]。 ArcGIS Server在Linux上同时支持控制台终端和GUI图形界面(如果你有安装图形界面的话),本文基于控制台安装,GUI安装比较直观,按照向导走即可。 文末放点福利,也就是ArcGIS Server Linux的下载链接,随时可能被和谐[笑哭]环境1、操作系统:CentOS 6...

2018-05-17 17:03:30 3274 4

原创 利用OpenLayers3在地图上显示标记并点击标记后显示弹出框

前言在上一篇《利用全能电子地图下载器+GeoWebCache发布Arcgis Server缓存瓦片过程全记录》中,我们利用GeoWebCache作为瓦片地图服务器发布了瓦片地图。虽然在其中可以直接浏览,但是在GeoWebCache1.10.0中,官方内置的是OpenLayers2的版本,这个版本比较老旧,不能很好的适应诸如触屏设备等应用环境。所以,我想利用OpenLayers2的升级版Open...

2018-05-04 13:55:31 27845 32

原创 利用全能电子地图下载器+GeoWebCache发布Arcgis Server缓存瓦片过程全记录

前言因为公司业务需要,要在内网搭建一个瓦片地图服务器,于是乎这个任务就落到我这个实习生身上了。这个属于GIS(地理信息系统)的范畴了,我也从来没有接触过这个,这个课程在大学的时候只有其他专业有。哎~没办法,还是要开始折腾,要找到一种方便好用的跨平台方案还真不容易,前前后后试了好几款软件,才找到今天要说的这个组合。为了搭建这个服务足足折腾了我两天啊!还不知道最后的效果是不是公司需要的,但愿吧~...

2018-04-30 19:17:00 9388 2

原创 面向对象设计模式之---组合模式(Composite Pattern)

组合模式的应用场景主要是有树形结构出现的,例如在《大话设计模式》这本书中提出的这种场景:如上图,有某一个大公司,总部在北京,在上海设有分公司,又在南京和杭州设有办事处,每一个地方都有人力资源部和财务部两个部门。现在在北京总部使用着一套OA系统,高层觉得这套系统不错,要推广给下属公司,于是就给OA软件的设计厂商提出了要求。如果程序要一级一级判断这是总公司、分公司还是办事处就太麻烦了,要是...

2018-04-22 09:15:16 783

原创 Spring整合ActiveMQ教程

写在前面:这篇文章会涉及二者的整合思路,为了能够更好地读懂本文,建议最好你能够在不整合其他环境的情况下使用ActiveMQ编写简单的控制台Demo,并且能够了解JMS(Java Message Service)。当然,你也可以直接略过整合思路看整合的过程。简介ActiveMQ是Apache出品的一个消息队列(Message Queue)软件,它可以与诸如C#、C++、PHP、J...

2018-04-21 10:13:35 17249 5

原创 面向对象设计模式之---备忘录模式(Memento Pattern)

今天要向大家介绍的模式是备忘录模式,有时又称作快照模式。这个备忘录模式一个典型的应用场景就是游戏存档。有时候为了打Boss,没有成功,反而被Boss打死了,这个时候就需要利用我们之前的存档回到最接近Boss的那一关再继续。备忘录模式的定义如下: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在改对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。——《大话设计模式》从这个定义

2018-04-15 23:26:14 651

原创 jstl(jsp标准标签库)的配置就是一个大坑!

今天配置jstl的时候,遇到了一个错误: 就因为这个错误既抱了谷歌的大腿有投入了度娘的怀抱啊 啊!真的是欲哭无泪,网上各种解决这个错误的方法,但至少把每种情况的适用条件说清楚了啊TAT!某一些问题跟运行环境息息相关。最后发现这有可能是因为servelt版本、tomcat版本、jstl版本有关,最后我直接降tomcat、servlet版本,成功跑动了jstl 1.1.2,虽然不是1.2,但...

2018-04-04 20:22:39 637

原创 面向对象设计模式之---单例模式(Singleton Pattern)

我们知道类可以用来实例化对象,而对象可以被实例化多个,但是有些时候我们并不想实例化多个对象,只希望只有一个,例如做一个窗体应用程序,有一个按钮,点击一下可以出现菜单,再点击一下就不会弹出同样的一个菜单,比如Word中我们多次点击替换按钮的时候只会出现一个窗口。这样的只允许出现一个实体的设计模式,被形象地称为单例模式,单例即单个实例。单例模式的定义如下: 保证一个类仅有一个实例,...

2018-04-03 18:37:32 2801 1

原创 面向对象设计模式之---观察者模式(Observer Pattern)

今天更新的设计模式是观察者模式。刚才稍微去看了一眼Web前端开发,很炫!很炫!对于这个观察者模式,我就直接开门见山地直接放出定义和UML类图,后面再解释。观察者模式的定义如下: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 ——《大话设计模式》UML类图如下: 首...

2018-03-29 10:28:21 401

原创 面向对象设计模式之---建造者模式(Builder Pattern)

进入正题咯,今天要介绍的是建造者模式。可以想象一下这样一个场景:工厂要组装人偶的过程,以前是全手工的,难免会出现缺胳膊少腿的情况,现在都是机器流水线,这个问题就避免了。再比如我们经常见到的KFC和金拱门,它们的味道在全世界都是一样的,但是如果我们去一些小餐馆吃饭,每一次去的味道多多少少会有些不同。原因在哪里呢?原因就在与洋快餐把所有的工序都进行了严格的控制,这样生产出来的产品都是一个模子刻出来的;...

2018-03-28 09:10:17 294 2

原创 面向对象设计模式之---外观模式(Facade Pattern)

今天要向大家介绍的设计模式是外观模式。外观模式,听上去好像很高大上的样子,其实是非常简单的。在《大话设计模式》 这本书中举的是股票与基金的例子。我又不炒股,对这些也不太敏感,于是就换一个更加通俗易懂的例子来解释一下这个模式吧~比如我们买了一张新的手机卡后都需要办理一些业务。但是,在运营商提供的众多业务中寻找最适合自己的难免有些困难。这时,我们就会去请教营业厅的客户服务经理,把自己的需求告诉...

2018-03-27 10:31:01 445

原创 面向对象设计模式之---装饰模式(Decorator Pattern)

装饰模式给我的感觉就有点像一个人穿衣服,或者从更专业一点的角度来说,有点像Java中文件读取时管道要套上一层又一层的“衣服”一样。这是一个链式的过程。装饰模式的定义是: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式的UML类图如下: Componet是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteCompo...

2018-03-26 11:03:12 345

原创 面向对象设计模式之---模板方法模式(Template Method Pattern)

这几天遇到了一些事,生活中有太多的不确定性,我所能做的就是做最好的自己。争取能把这本《大话设计模式》的读书笔记做完吧,说真的虽然现在只是Cover到知识点,还并没有实战,不过我想这就是一种积累。就像之前刚阅读完的《深入浅出MySQL》高级部分一样,虽然蛮多还是看不懂,毕竟我不是专业DBA,也没那么多经验。但是知道有这个东西,以后如果遇到了知道该去哪里查,我觉得这也是好的。今天要介绍的设...

2018-03-25 21:01:54 327

原创 面向对象设计模式之---原型模式(Prototype Pattern)

原型模式的定义是: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这个概念看上去很抽象,其实质就是我们在编程中经常用到的对象复制,然后我们不免又要提到一个老生常谈的话题浅复制与深复制。先看一下原型模式的UML类图吧:其中,Prototype是一个原型的抽象类或借口,它里面有一个共有方法,叫clone。ConcretePrototype1与Concrete...

2018-03-08 20:06:00 922

原创 面向对象设计模式之---策略模式(Strategy Pattern)

策略模式与简易工厂模式是非常相似的。最主要的区别是在功能上,简易工厂模式是为了产出对象,而策略模式是针对一族可替换的算法的。例如商场的打折,有时候打8折,有时候又有满减的活动。在这个场景下,我们更关心的是我们的折后价是多少,涉及到打折算法的问题,而不是在简易工厂模式中的水果对象,因此,在这种关心可替换算法的场景下,使用策略模式是合适的。策略模式的UML类图如下(PS.图片来自百度百科):...

2018-03-04 19:03:51 574

翻译 PHP误导性错误:Maximum execution time of 0 seconds exceeded

前言:前几天做项目的时候遇到了PHP上传文件超时的错误,并且我都把PHP配置中的超时时间设为0(无限制)还是错,后来Google到了这篇文章,说还有一种原因可能是我们服务器的设置,我用的是Apache,还是在Windows下的,这篇文章着重讲的是Linux/Unix下,虽然问题没解决,不过感觉文章还不错,讲到了网上解决超时没有讲到的地方,所以翻译过来给大家分享一下~ 这篇文章告诉我们...

2018-03-03 19:53:44 2432

OS X 装机资源

OS X 10.11 装机资源。联想Z470专用,可用于安装OS X与Win双系统,方便用户使用OS X进行开发,体验。

2019-04-21

Altair 8800模拟器

Altair 8800模拟器 基于intel 8080的第一台个人电脑的模拟器,包含古老的操作系统镜像文件,对计算机历史感兴趣的小伙伴可以看看

2018-10-01

Nginx+PHP CGI Win服务

Nginx和PHP CGI的Windows系统服务脚本,系统启动后自动服务开启,项目要使用VS2012或以上版本打开。如果需要服务中的startup.bat以及shutdown.bat的详细内容,在http://blog.csdn.net/mgsky1/article/details/77816971博客中

2018-01-14

Nginx服务打包插件winsw

Nginx服务打包插件winsw,能够把nginx.exe打包成Windows服务,有利于进行维护,免去每次都要手动运行的烦恼

2017-09-03

Windows Longhron Tools

Windows Longhron Tools,用于开启Aero特效

2017-07-20

Windows Longhorn 4074 Vmware显卡驱动

Windows Longhorn 4074 Vmware显卡驱动

2017-07-20

MySQL5.0.22+Java驱动

MySQL5.0.22+Java驱动

2016-07-25

PHP5.2.6+Apache2.2.22组合套装下载

PHP5.2.6+Apache2.2.22组合套装下载

2016-07-22

空空如也

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

TA关注的人

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