自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 【mysql】如何实现主从同步

今天猫哥总结一下mysql的主从同步。原理步骤:master提交完事物后,写入binlog slave连接到master,获取binlog master创建dump线程,推送binlog到slave slave启动一个IO线程读取同步过来的master的binlog,并将其记录到relay log中继日志中 slave再开启一个sql线程读取relay log事件并在slave执行,完成同步 slave记录到自己的bin log中 由于msql默认的复制方式是异步的,主库把日.

2021-06-27 11:47:31 217

原创 【荣誉历史】---归来仍是少年

猫哥自己的一些荣誉,仅做个记录。2020.5国家发明专利一项2019.1集团优秀员工2017.6优秀毕业生2017.5国际SCI论文2篇2017.2美国数学建模二等奖2016.11国家级新苗项目立项2016.6国家级创新创业项目(校第一)2016.5软件著作权2项2016.3第六届国家级服务外包C类创业实践组 二等奖2015.9服务外包校一、省三2015.6院级篮球赛团体第二2014.8校级电商大赛一等奖...

2021-05-31 15:08:09 161

原创 【git】idea实现git项目回滚

在日常的开发中难免会提交错代码,所以git的回滚机制就显得很关键了。猫哥这里主要介绍一下如何用idea来实现git的回滚。第一步:右击项目然后会出现如下界面第二步:选择要回滚的地方,右键:打开记事本把刚刚的复制的东西粘出来(ctrl + v),就会得到一串数字。如下:第三步:然后右击项目,如下:然后,会出现界面如下:最后点击Reset即可。如上就搞定了用idea实现git的回滚。...

2021-04-25 11:47:44 3883

原创 【数据结构-02】队列,结合具体例子讲解

队列队列是什么与栈相似,队列也是一种特殊的线性表,与线性表的不同之处主要也体现在对数据的增和删的操作上。队列的特点是先进先出。队列存在两种存储方式1、顺序队列依赖数组来实现,其中的数据在内存中也是顺序存储。2、链式队列依赖链表来实现,其中的数据依赖每个结点的指针互联,在内存中并不是顺序存储。链式队列,实际上就是只能尾进头出的线性表的单链表。队头指针(front)指向队列的头结点,队尾指针(rear)指向终端结点。不管是哪种实现方式,一个队列都依赖队头和队尾两个..

2021-04-07 17:56:52 730

原创 【数据结构-01】栈,结合具体例子讲解

今天猫哥总结一下数据结构------栈。什么是栈首先,栈是一种特殊的线性表。栈与线性表的区别:体现在增和删的操作。栈的数据结点必须是后进先出。宏观上来说,相比于数组或链表,栈的操作更为受限,但为什么要用到栈呢?单纯从功能上讲,数组或链表可以替代栈。但问题也随之而来,数组或链表的操作过于灵活,这意味着,它们过多暴露了可操作的接口,随着数据量的增加就会暴露出很多隐藏的风险。虽然栈限定降低了操作的灵活性,但是这也使得栈在处理只涉及一端新增和删除数据的问题时效率更高。栈既然也是线..

2021-04-06 15:58:45 341

原创 【JS】什么是闭包?结合实例一文搞定

相信接触javascript的同学对闭包都或多或少有些了解,闭包作为比较难理解的概念,这里猫哥做了下自己的总结。什么是闭包?百度百科:闭包是能够读取其他函数内部变量的函数。说白了,闭包就是一个函数引用了外部的局部变量。结合下面的例子:例子1:function f1(){ var a = 10; // a相对于f2是外部局部变量 function f2(){ // f2称为闭包 console.log(a); }; f2()};...

2021-03-23 15:03:48 262

原创 【方法论】如何及时发现故障(脑图展示)

随着项目系统的上线发布,如何在系统的日常运行之中及时地发现其存在的故障是一项很关键的工作。试想一下,用户来电反馈订单无法支付、App 无法登录,研发发现下单 QPS 曲线同比下跌,这些都是事故发生时的现象,虽然现象不完全等于故障点,但通常最早出现异常现象的地方和故障根因关联最大,所以第一时间发现异常对于锁定问题至关重要。故障发现就是系统异常反馈到研发的过程,这里猫哥画了一个简单的脑图,分类说明故障发现的几种常见方式:负责开发的同学往往更关注技术类指标,比如 QPS、CPU LOAD,而管理者

2021-03-23 10:09:36 298

原创 【VUE-04】结合实例将“This”抽丝剥茧,一篇文章搞定“This”

相信学习前端的朋友肯定会遇到this,对this的理解程度往往决定了代码的高度。这里猫哥将结合各个具体实例,帮助朋友们彻底搞懂this。什么是this?this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,随着函数使用场合的不同,this的值会发生变化,指向是不确定的,也就是说可以动态改变的。但是有一个总的原则,那就是this指的是,调用函数的那个对象。说白了猫哥总结就两点:1、this只出现在函数里;2、谁调用了该函数,this就

2021-03-22 16:21:49 152

原创 【VUE-03】VS Code 6步骤搭建VUE项目

今天猫哥总结一下如何用VS Code搭建现在较热门的VUE项目,总共六个步骤:本地安装Vs Code以及nodejs; 打开Vs Code并打开New Terninal安装脚手架vue-cli,安装命令:npm install -g vue-cli; 安装打包神器webpack,安装命令:npm install -g webpack ; 安装完成后新建一个文件夹(如:myProject),用vue打开myProject后执行命令:vue init webpack myProject(Ps:执行时会

2021-03-17 20:13:37 240

原创 【复杂度】程序开发中降低复杂度的核心方法

降低复杂度的核心方法主要三个步骤:第一步,暴力解法。在没有任何时间、空间约束下,完成代码任务的开发。(没有太多的套路,只要围绕你面临的问题出发,大胆发挥想象去尝试解决即) 无效操作处理。将代码中的无效计算、无效存储剔除,降低时间或空间复杂度。(需要学会并掌握递归、二分法、排序算法、动态规划等常用的算法思维) 时空转换。设计合理数据结构,完成时间复杂度向空间复杂度的转移。(需要对数据的操作进行细分,全面掌握常见数据结构的基础知识,再围绕问题,有针对性的设计数据结构、采用合理的算法思维,去不断完成时空转

2020-11-03 15:49:04 2195

原创 【Java + itextpdf】实现Java生成pdf文件(以ByteArrayOutputStream形式传输)

前段时间猫哥实现了用Java生成Excel文件,并以ByteArrayOutputStream的形式传输至JavaMail附件中。在这里再整理一下生成pdf文件并同样以ByteArrayOutputStream的形式传输至JavaMail附件中的方法。其中,最主要的重点就是:pdf中的字体格式(由于itext对中文支持较差,而若直接采用itext自带的字体会导致最终打印内容为空白,因此需要自己下载中文字体添加到项目resources中并引用,项目中猫哥用了自己下的simhei.ttf(黑体)) p

2020-09-01 19:41:22 8286

原创 【Java】项目路径引用问题(包括:eclipse、idea项目路径 + 打成jar包后的引用问题)

最近猫哥由于项目需求要在代码中引用新导入项目的文件,查了部分资料,这里把java项目的相对路径做一个总结记录。主要是 “ ./ ” 的含义。eclipse中的相对路径是相对项目的src目录来说的,而不是相对于当前文件。 "./xxx.txt" idea的相对路径是相对于项目的根目录。 "./src/xxx.txt"...

2020-09-01 19:16:12 878

原创 【javaMail】java创建Excel表不生成本地xls文件,直接通过ByteArrayOutputStream存入javamail邮件附件后发送至相应邮箱

前段时间猫哥遇到一个需求,通过java生成Excel后,利用javamail附件形式发送给相应邮箱。查阅大量资料后发现,大部分的解决方案都是生成本地xls文件,再通过文件名和文件地址传给javamail的附件内。很明显,这样的解决方案不合理,会占用服务器大量的存储空间和IO,最理想的方法是不生成本地xls文件,直接通过流的形式传给javamail附件。摸索了一阵后,猫哥找到了解决方案,在这里记录一下。大致的思路就是:利用ByteArrayOutputStream直接将excel文件传入邮件附件。

2020-08-19 17:02:58 1085

原创 【Java+Linux】Java登录Linux服务器执行linux命令

应工作需求,猫哥需要实现java工程远程登录linux服务器,并执行相应的linux命令。自定义一个连接函数即可搞定。private static String exeCommand(String host, int port, String user, String password, String command) throws JSchException, IOException { JSch jsch = new JSch(); Session session = jsch

2020-08-19 16:28:47 860

原创 【Spring Boot】使用Devtools实现热部署,避开IDEA的坑

这里总结了Spring Boot使用Devtools热部署的方法。一、工程配置Pom文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency> appl

2020-05-12 20:13:48 288

原创 【Spring Boot】后端分页

分页是大数据查询必不可少的环节,为提升系统响应速度,提高用户体验,几乎所有的分页都是后端完成。除了使用,pageHelper插件,这里猫哥总结一下自己是如何实现后端分页的,十分简单易懂。在实现java后端前,首先了解一下mysql的limit用法。SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如...

2020-05-12 16:58:32 1348

转载 【redis】RedisTemplate操作redis时,key值出现\xer\xnh\x00\x06t\x00前缀

最近猫哥开始在写java项目时接触使用redis,碰到的问题打算记录一下。其中一个就是在使用RedisTemplate操作redis时,key值会出现类似\xer\xnh\x00\x06t\x00前缀。查阅相关资料发现了原因:RedisTemplate默认序列化方式用的是JdkSerializationRedisSerializer,此时将key序列化方式改成StringRedisSerializer,将value序列化方式改为Jackson2JsonRedisSerializer即可。解决方法如下

2020-05-09 16:33:43 270

转载 【mybatis】中大于等于、小于等于的写法

由于经常要用到,记一笔。第一种写法(1):原符号 < <= > >= & ' "替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;例如:s...

2020-04-15 20:35:52 498

原创 【Java】Date修改时分钟秒毫秒

最近猫哥在负责某平台的前后端开发,需要将前端i-view日期选择器的时间存入后台数据库中,由于i-view时间选择器传的时间戳包含时分秒毫秒,而后台对时分秒毫秒的需求不高只需要日期即可,因此,猫哥整理了一下java后台处理Date类型的方法,可以根据自身需求在后端调整前端传入的Date参数。时分秒毫秒全部清零 Date time= new Date();SimpleDateFormat ...

2020-04-15 15:49:54 7727

原创 【Spring Boot】个人对Serializable的理解

最近猫哥研究SpringBoot工程发现项目中经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,且这些bean都会实现Serializable接口,如:public class BookBean implements Serializable { private Integer id; private String name; private...

2020-04-02 10:51:41 4755 1

原创 【Spring Boot】Ehcache2.x缓存实战总结

最近猫哥在研究SpringBoot缓存,在这里对SpringBoot的Ehcache2.x缓存做一个总结梳理,顺便贴一下自己写的实战代码,以供参考。SpringBoot缓存Spring3.1中开始对缓存提供支持,核心思路是对方法的缓存,当开发者调用一个方法时,将方法的参数和返回值作为key/value缓存起来,当再次调用该方法时,如果缓存中有数据,就直接从缓存中获取,否则再去执行该方法。但...

2020-04-02 10:26:02 303

转载 判断一个字符串是否为空(null)或者是空字符串(“”)的方法总结

第一步:理解null和""的区别null表示这个字符串在栈中没有被实例化,没有任何指向,因此在堆中没有分配内存空间。如果要调用这个字符串的方法会出现空指针异常 `String str = null`。判断一个字符串是否是null 用 == 。 ""在堆中分配了内存空间。 判断一个对象是否是空“” 用eques()。如果我们使用"String str = new String()",这时的s...

2020-03-02 09:29:15 14710

原创 【postgre-XL数据库】运维总结

猫哥负责公司的postgre-XL数据库集群已经有一年多的时间,总结了一套postgre数据库的运维方法,涉及数据库日志查看、集群重启、自定义词典、数据库参数分类、数据库用户创建、数据库常用运维指令等。★查看pg集群日志:node1节点,路径:/home/postgres/pgxc_ctl/pgxc_log★查看pg日志:非gtm节点路径:/data1/pgxl_1/no...

2020-01-19 10:57:29 900

原创 【Bash】命令集合

猫哥前段时间总结了一套适用于自己工作的Bash指令,分享给各位。★文件传输scpLabelAnalysis-0.0.1-SNAPSHOT.jarlyc@web1:/home/lyc/shfiles/jars★查看当前服务器ipifconfig -a★创建、修改、删除用户useradd testuser创建用户testuserpasswd testu...

2020-01-19 10:38:44 397

原创 【gitlab】常用操作语句总结

操作gitlab提交代码是IT工程师的必备技能,这里猫哥总结了自己工作中常用的几个gitlab语句。切换到项目位置cd /*** 创建一个项目的新分支git branch first-branch 切换到新建的分支下git checkout first-branch 第2步和第3步可以合并成一步git checkout -b first-branch 改变文件的...

2020-01-19 09:32:17 433

原创 【VUE-02】vue框架模板总结

前段时间猫哥在学习vue框架,这里总结了一套利用vue + elementUI展示页面数据的框架,开发人员可根据自身需求,对页面进行扩展。<template> <div class="app-container"> <!-- 条件查询 --> <div class="filter-container"&...

2020-01-15 17:27:42 987

原创 【VUE-01】报错信息“Cannot read property ‘reduce‘ of null”

在使用vue+elementUI展示数据时,时常会用到table的row-key属性,猫哥早期使用时时常会碰到以下报错信息“Cannot read property 'reduce' of null”,网上很多资料推测是vue和elementUI版本不一致导致。经过博主排查后发现,实际致错原因亦可能是table的Data属性绑定值初始为null所致,所以只需将Data绑定的变量值改为空数组即可。...

2020-01-14 11:53:48 4844 11

原创 【xxl-job自主开发-02】双数据源配置(适用于Maven工程)

此文主要归纳介绍了猫哥自己扩展开发xxl-job调度平台时,双数据源的配置方法,且适用于绝大部分Maven工程。新增一个数据库配置:C:\task\xxl-job-admin\src\main\resources\application.properties a、新增report库(新库)连接配置 report.datasource.url=jdbc:mysql://192.168.12....

2020-01-13 18:04:22 2072

原创 【xxl-job自主开发-01】在调度中心主界面新增一个页面

此文主要归纳了猫哥自己开发xxl-job时,调度中心新增一个页面的方法流程。此功能不涉及执行器,主要涉及xxl-job-admin模块。前端界面新增前端展示页面参数:task\xxl-job-admin\src\main\resources\i18n\message.properties 新增页面左侧菜单栏:task\xxl-job-admin\src\main\resources\tem...

2020-01-13 17:09:29 2237 3

转载 Python学习笔记(二)urllib.urlopen()超时问题 : 504Gateway Time-out

urllib.urlopen()超时问题 : 504Gateway Time-out问题描述:    没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了.    设置了timeout之后超时之后read超时的时候会抛出socket.timeout异常,想...

2018-05-15 17:59:19 15824 1

转载 Python学习笔记(一)转码问题的解决的解决方法:“ignore”

Python转码问题的解决:“ignore”若希望将Json文件转化为python形式的Unicode字符串,可以如下操作unicodestr = json.loads(html.decode("gbk"))但在实际开发中,这种办法时常会出现异常:UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 205: ille...

2018-05-15 10:16:37 16210 2

原创 2017美国大学生数学建模感想及经验

五天,四夜首先,十分感谢院课题组给予的宝贵机会,感谢队友的支持,感谢zw。这种短时间高强度的竞赛令人发指,令人陶醉。赛前的准备就不一一描述了,官网上都有,实在看不懂全英文网站,也可以上网搜中文翻译,网址http://www.madio.net/thread-286572-1-1.html。其次,谈谈经验1.赛前准备十分重要,主要就是包括两部分a.算法模型的熟悉,不一定要全掌握,但一般的优化算法(G...

2017-01-25 11:52:36 11187 2

原创 Hello,CNDS!(第一次博客)

仰望星空,脚踏实地,厚积薄发。

2017-01-19 14:24:04 6186 6

vue前端界面模板.txt

《vue前端界面模板》是作者总结的一套快速完成vue开发的一套代码模板,代码简洁易懂,可读性强,适合vue的初学者参考使用。

2020-05-12

空空如也

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

TA关注的人

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