自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java使用独立文件服务器

应用程序中免不了要上传下载文件,实现方式由简单到复杂有很多种: 最简单的,文件上传后服务端程序将文件写到服务器上一个指定的目录 稍微复杂一点,我们需要和应用服务器分开的单独文件服务器 再复杂一点,需要用到分布式文件存储。文件在多个文件服务器之间做冗余备份 使用单独文件服务器 各种方案没有好坏之分,要根据系统场景看是否适用。 第一种方式非常简单,适用于一些访问量小,存储文件不多的应用程序。 多数应用系统其实第二种方案就可以了。 很复杂的采用第三种。 选择独立文件服务要求 有基本的权限控制。不做控制的话,

2021-01-11 22:26:20 1214 1

原创 Vue项目统一错误处理

统一错误处理(错误兜底)是一款好产品的基本配置。缺乏错误兜底的程序通常表现为: 点击某个操作,出错之后,界面上就反应 加载框一直转啊转,客户一脸迷茫的等待 给人非常差的用户体验。其实最简单的处理就是给个提示,客户看到提示之后反馈问题,程序员把bug修掉就好了。具体怎么做呢? Vue项目中主要的错误来源包括: 后端接口错误, 400, 404, 500常见。这个时候我们需要在axio中做统一处理。 vue代码中本身逻辑错误,这个时候设置Vue的全局错误处理就可以了。省去在代码中到处写catch语句块

2020-12-31 13:42:30 10205

原创 Spring boot devtools的正确使用姿势

Spring boot程序开发中的Devtoolsr如何帮我们提高开发效率,下面一一介绍。 自动重启服务 使用前:改代码 -> 手动重启 使用后:自动探测代码变更 -> 自动重启 听起来没啥厉害的?实际上它重启快很多,原理是用了两个Classloader,具体不展开讲。 自动重启只用了0.7秒! 自动刷新页面 Livereload 使用前:服务重启 -> 手动刷新页面 -> 看最终结果 使用后:自动刷新浏览器页面 此功能需要浏览器(Firefox, Chrome, Safari).

2020-12-29 12:08:57 870

原创 ant-design-vue常见问题

最近的项目使用ant-design-vue, 细节上遇到一些小问题,解决方法记下来,备以后速查。 使用Message全局提示 代码中的写法 this.$message.success("添加成功"); 上面这种写法会提示 $message 为 undefined 解决方法 import { message } from "ant-design-vue"; // 这里省略其他代码 Vue.prototype.$message = message; new Vue({ router, store,

2020-12-23 18:45:29 1026 1

原创 前后端分离时间数据和格式化的问题

时间格式化是软件开发的一件小事,但是根据多年经验,这件小事上出的问题不少。而且新的程序员不断重复着老的问题。 典型问题 典型问题包括: 前端最终显示的时间和数据库里不一样,相差一天或者8个小时 对于时间格式化谁来做这件事情,前端和后端都觉得是小事,反而没人做了,或者有的地方前端做,有的地方又是后端做,出了问题扯皮 系统返回的时间格式生活中不常用, 例如 2020-12-21T04:09:31.000+00:00 形式 正确的设计 对于时间数据,要有时区的概念 相同时间点,杭州是1点04分,在东京是2点

2020-12-23 13:53:43 684

原创 Vue实现前端登录控制 - 标准做法

登录控制是各类管理系统的基础功能,实现方案也是成熟的。 思路 业界常规做法如下: 用户登录之后,服务器返回用户的信息(用户id, 姓名,用户名)和Token。前端把这些数据写入到localStorage中。 当用户打算进入受保护页面时,前端程序检查是拿到token或者用户id。如果没有,说明用户没登录,直接跳转到登录页面。 如果检查通过就正常进入页面,需要从后台取数据的时候,在Request Header中带上Token, 供服务端做身份验证。 对应这个思路,程序上做如下修改:第一、二 两点修改 vue

2020-12-22 22:03:48 734

原创 Springboot项目中写日志很简单

Springboot的优点就是二话不说,直接开始用,非常简便。写应用程序需要的常规功能,它都默认设置过了。 例如在springboot项目中的一段测试代码中用日志输出生成的UUID package com.jpin.wateraffair.utils; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UUIDGener

2020-12-16 13:31:19 1116 1

原创 3步实现SpringBoot和MyBatis集成

被SpringBoot的简单所折服,与MyBatis集成是如此简单。 我使用的数据库是MySQL 集成步骤 引入mybatis和mysql jdbc驱动的jar包 配置数据源和Mapper位置 代码中使用mybatis的mapper查询数据库 POM中加入jar引用 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-

2020-12-06 12:15:30 134

原创 关于一杯好咖啡的常识

都说咖啡产代码,有必要把常识了解一下 苦不苦?贵不贵? 根源在咖啡豆,分两大类:Arabica 和 Robusta Robusta 味道比较苦;咖啡因含量高;植株抗病性好产量高,价格便宜 Arabica 和Robusta相反 市面上很多是把两者混合起来卖的。 咖啡豆烘焙 做咖啡前要磨成粉,磨成粉之前,咖啡豆要经过烘焙,烘焙程度不一样,味道也不一样。 可以脑补一下烤成碳,做出来的咖啡是啥味 水 最好使用矿泉水冲咖啡。咱们中国的普通饮用水里都是水厂化学用品的味道。 哪种好喝 喜欢什么口味完全是个人爱好

2020-12-05 17:34:21 122

原创 必须要知道的Springboot注解

冬日的暖阳照进窗户,一杯咖啡 ☕️ ,带着好心情我们一起写程序,写一个所有程序员都逃不掉的模块 – 用户登录。 Springboot 实战 - 用户登录 用户登录看起来是一个简单的功能,但初学不知道从哪里入手。实际项目中要考虑的事情还要多一些。我们不妨把这些都覆盖到,将这个任务分成几个阶段讲细讲透,并一一实现。 阶段目标 今天的目标从最基础的环境搭建开始,直到程序运行起来,看见登录页面。 具体步骤包括: 搭建开发环境 使用Springboot创建项目 写登录页面,并运行程序 搭建开发环境 + 开发环境

2020-11-30 12:04:37 202

空空如也

空空如也

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

TA关注的人

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