跳至主要內容
避免密码明文传输

避免密码明文传输

说明

密码加密是很常见的安全性需求,但由于涉及前后端,前后端分离的情况下,开发人员容易只关心自己熟悉的领域,最终导致“知道要加密,实际还是没明文”的情况发生。

本文分享实际可运行的前后端代码,以减轻大家实现密码密文传输的负担。

流程说明:前端加密,后端解密。

当然,数据库存储的肯定是密文。这里后端解密的意思是:需要使用密码的时候,如获取数据库的连接,由后端解密后使用。


levy大约 2 分钟JavaJavaScriptDaily
检查名字是否重复

检查名字是否重复

检查名字是否重复是很常用的业务需求,本文推荐一种更省心、更少bug的做法。


levy大约 1 分钟JavaMySQLDaily
根据时间范围查询推荐实践

根据时间范围查询推荐实践

背景

不敢说是最佳实践,因为受限于特定技术、框架,并且带上了个人偏好。

虽然原理简单,但细节很多,不想每次搞来搞去,因此还是有记录的价值。

本文用到的技术栈为:MySQL、MyBatis、Java 8、Jackson


levy大约 3 分钟JavaDaily
Excel处理常用实践

Excel处理常用实践

基础知识

导入需要用到对象,MultipartFile。

@PostMapping("/import")
public boolean importLicense(
      @RequestParam("file") MultipartFile file,
      @RequestParam("tenantId") @NotBlank String tenantId,
) {
  return true;
}

levy大约 5 分钟JavaDaily
升个jar版本,怎么这么难?

升个jar版本,怎么这么难?

前言

无论是 C/S 还是 B/S 模式下的应用通过是 API 来交互的。而 API 的消费者与提供者,可以看成一枚硬币的正反面。

通常来说,对 Web 应用而言,前端是消费者,后端是提供者。

今天就站在服务提供方的视角来看下,升级依赖版本,遇到的难点有哪些?


levy大约 2 分钟JavaDailyVideo
Jackson 经典异常 UnrecognizedPropertyException

Jackson 经典异常 UnrecognizedPropertyException

原因是 json 包含的字段,多于 Java 实体类定义的字段。

解决方法很简单:

new ObjectMapper()
  .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

或者为相关实体添加注解:

@JsonIgnoreProperties(ignoreUnknown = true)
public class ObjectParseFromJsonString {  }

levy小于 1 分钟JavaDailyVideo
奇技淫巧:在没有源码的情况下,把 snapshot 转成 release 包

奇技淫巧:在没有源码的情况下,把 snapshot 转成 release 包

背景

项目中依赖了一个旧的 snapshot.jar,有人提出要求必须使用 release.jar,不能使用 snapshot。

问题来了,该 jar 所属的源码不知所踪,那还怎么发布 release.jar 呢?这就是本文要解决的问题。


levy大约 1 分钟Java
使用 RestAssured 进行 API 测试

使用 RestAssured 进行 API 测试

前言

本文将借助 RestAssured 工具,向大家介绍如何进行 API 测试,从而在团队中开启接口自动化之路。

本文的示例代码使用的是 Java 语言。尽管本文的首要读者是 Java 研发人员,但道理是相通的,其他语言的研发人员也能从中受益。

What

什么是 API 测试?简单来说,可以认为是针对 Controller 层的测试,但不是 Mock,而是会真实地处理请求,与数据库或外部服务进行交互。

Why

为什么要做 API 测试呢?


levy大约 7 分钟JavaTesting
GitLab CI

GitLab CI

前言

GitLab 在企业内部还是比较通用的,其 CI 用起来个人也觉得比 Jenkins 顺手,因此在这里分享一下相关的实践经验。


levy大约 7 分钟GitGitLabJavaNode.js
Maven常见问题与解决方案

Maven常见问题与解决方案

运行 class 找不到主类

maven compile

得到 class 文件后

cd /my-app/target/com/mycompany/app
java App

levy大约 3 分钟JavaDaily
2