ESPIER 一只JAVA程序猿的日常

Springboot上传文件大小限制处理

今天在开发过程中遇到一个文件上传的问题

io.undertow.server.RequestTooBigException: UT000020: Connection terminated as request was larger than 10485760

Servlet容器使用的是undertow,看异常信息应该是默认存在10MB的文件大小限制。

百度了一下,找到如下配置,问题得以解决,记录一下

spring:
  servlet:
    multipart:
     # 文件最大限制
      max-file-size: 1024MB
      # 请求最大限制
      max-request-size: 1024MB
      enabled: true
      # 设置文件缓存的临界点,超过则先保存到临时目录,默认为0,所有文件都会进行缓存
      file-size-threshold: 0

Yapi的安装和使用

获取Yapi源码

在github上获取最新的yapi源码

$ git clone https://github.com/YMFE/yapi.git ~/yapi

通过npm或cnpm安装依赖:

$ cd ~/yapi
$ npm install

这样准备工作就完成了一半了,接下来安装mongodb。

配置sqlite的相对路径

一般在使用sqlite的时候都是配置url为绝对路径,但是今天在测试代码的时候想到如果将 项目不到tomcat上之后,db文件总不能一直配置成绝对路径,肯定是项目中的某个位置, 因此对jdbc配置文件进行了修改:

    jdbc.url=jdbc:sqlite:blog.db

db文件放在WEB-INF/classes下,运行后发现貌似没有问题,然而事实并不是这样QAQ

因为测试中初始化代码会自动根据bean创建表格,我想是不是生成了一个新的db文件呢, 然后我把初始化关掉之后,果然报错了。。。。。。ORZ,然后我在tomcat的bin目录中 找到了崭新的db文件。

Spacemacs配置国内镜像

使用Spacemacs国内镜像

最近开始使用emacs写一些clojure的代码,但是不挂梯子的话,源的更新确实不快,因此决定到网上搜索一下怎么配置国内镜像,不过搜索结果大概都是下面这个样子:

# 基于emacs26
cd ~
git clone https://github.com/syl20bnr/spacemacs .emacs.d
修改
vim .emacs.d/core/templates/.spacemacs.template

少侠与剑

十年磨一剑,霜刃未曾试

           ——贾岛

亮剑

  少侠们刚从师门中出来,准备闯荡江湖时,难免被前辈指导:”少侠,亮剑吧!“

  此时,少侠们之间的差别就显现出来了。有的在师门勤奋磨剑,精于技艺。有的就是做做样子,整日浑浑噩噩,过着自以为快乐的生活,好吧,其实快乐也挺重要的。

  我们回到前面亮剑的问题,作为一名剑客,在被挑战的时候,拿不出手就很羞耻了,当然,大部分初出茅庐的少侠都是拿不出手或者剑磨得并不怎么样的吧。

  当然,对于大多数人来说,闯江湖的路,一开始都是这个样子。

Js整型的坑

JS整型的坑

昨天同事跟我说js在整型长度支持上有坑,我去查了一下确实是有些坑的。js对于数值的保存遵循IEEE 754 双精度浮点格式规范,采用了双精度存储,占用64bit。如图所示:

存储格式示意图,取自wiki

使用gradle打可执行jar包

前言

最近的一个项目里面需要使用gradle打一个可执行的jar包,在网上看了一堆帖子照着做最后都不是很成功,最后终于参考StackOverflow上的帖子搞定了可执行jar包的打包脚本,因此做一个笔记对这个进行一下记录。

记一次登录假死的异常排查

前言

事件的起因源自一次客户现场的调试,调试到一半,客户说办公系统突然登录不进去了Σ(っ °Д °;)っ,当时因为手头上的事还没有搞定,就顺手把客户的tomcat重启了,然后似乎就一切正常,我也没有太放在心上。然鹅,事情并没有这么简单。

Nginx+keepalived配置热备(互为主从)

从开发到实施XD

因为公司一个小项目要求有负载和热备,于是翻了很多网上的教程,于是找到了这一篇blog,很感谢博客的作者MassiveStars,这篇博客也使我学到了不少关于nginx配置的知识,毕竟以前连nginx都没有碰过XD。本博客大部分内容可能和作者的博客内容雷同,毕竟只是作为笔记存在的东西,侵删。

配置虚拟IP

互为主从模式

互为主从模式需要配置两个vip(虚拟ip)进行负载,因此是需要负载均衡支持的哟~

image

数据结构与算法学习系列(二)

线性表

线性表是一个存储相同类型数据元素的有限序列。
这里面需要关注的两个点就是,相同类型的数据、有限序列。

线性表包含两种类型:

  • 顺序表。使用一段地址连续的存储单元依次存储线性表的数据元素。
  • 链表。使用一组任意的存储单元存放线性表的元素。

顺序表

顺序表的特性

  1. 顺序表使用的一段连续的存储空间,因此只要知道存储顺序表的起始地址,就可以计算表中任意位置元素的地址。所以,计算任意一个元素的存储地址的时间是相等的
  2. 由于上述特性,顺序表具有随机存取的特性。
  3. 顺序表存取操作的时间复杂度为O(1)。

顺序表的实现

下面就是一个简单的顺序表的实现: