首頁
博客导航
分类
标签
归档
友链
关于
首頁
博客导航
分类
标签
归档
友链
关于
Catten Linger's Blog
(´・ω・`) Would you want some coding kitten ?
基于依值类型来使 Map 的存储类型安全
依值类型是一个很有用的概念,它可以使函数的输入或者输出,根据输入的参数性质来产生变化,让强类型系统能类型安全地使用一些动态类型性质。其中一种用法是类型安全的属性列表。我是在 Ktor 和 Netty 的代码中学习到了这种用法。 例子在以前,Java 的世界里,像 ServletContext 或者一些 PropertyMap,它都是基于两个繁星参数的 Map 来作为存储表(或者说,注册表)。...
2024-11-07
Read More
EntityFileService - 基于实体的简单文件管理设计
它从何而来在我的项目里,经常会出现一个叫做 FileServiceAdapter 的东西,从第一个项目开始我就设计了这个东西,到现在它的设计还没有完善。根据命名规则可知,它并不是一个实体类。的确它并不能实际使用,必须继承他实现一个子类才能使用。 它的设计基于业务实体,例如订单、票据、用户等。订单可能有订单相关的附件,票据也会有票据相应的附件。实体有不同的种类,实体都有其对应的实体 ID (E...
2020-08-04
笔记
技术
笔记
技术
Read More
使用攔截器實現基於 JWT Token 的權限控制
本篇所使用的雖然不是標準的 Jwt Token ,重點不在此,而是 Spring 的攔截器使用。 Jwt Token 是一串字符串,分三個部分: 頭 內容 簽名 例如: 1dWlkPTEmZXhwaXJlPTE1OTY0MTg0MDExMDAmdHlwZT10ZXN0JnVzZXI9MTIz.cGVybWl0dGVkPXRlc3Qmcm9sZXM9YSUyQ2IlMkNjJTJDZCUy...
2020-08-03
笔记
技术
笔记
技术
Read More
【项目重构】修手机项目的焕新尝试 #1
历史遗留问题,让人无奈的过去大约三年前,我还没正式毕业。实习期懒得出去找什么公司做实习了,就跟某位同学合作。来了一个软件项目,客户是修手机的,需要有一个系统来支撑他们的业务。 这个系统的价值交付方式是通过 WebApp(SPA)。用户前端的功能主要是: 浏览可维修的机种与维修服务 下单并开始一次维修 管理账单与查看维修进度 购买保险 查看已购保险并选择开始理赔服务 还有一些杂乱功能: ...
2020-07-31
杂谈(废话)
收拾烂摊子
杂谈(废话)
收拾烂摊子
Read More
Spring Data Redis - RedisTemplate 随说
一直用 Spring Data Redis 偷懒了不少次,但遇到问题了才明白了这个玩意到底怎么回事。 它干了啥首先,RedisTemplate 封装了一系列 Redis 操作,常用的 Key-Value 操作、HashMap 操作以及数组操作等等,直接操作 Jedis 跟操作它其实是没啥两样的,不过既然能叫 Template 了,也就是说它考虑了很多常用的操作。(稍微说一下 Spring 对...
2018-12-18
笔记
技术
笔记
技术
Read More
基于注解配置的 Spring 使用 WebFlux
我有一个 Netty 的项目要增加一个 HTTP Server ,不能改成 Spring Boot ,但是本身使用 Spring 作依赖注入,然后就想着能不能直接使用 Netty 处理这些 Http 请求。。。在网上搜了半天,感觉往里面塞个 Servlet 不太好,于是还是回去用 Spring 的 WebFlux。虽然 WebFlux 一般都捆着 Spring Boot ,但是想着应该可以单...
2018-06-09
笔记
技术
笔记
技术
Read More
Jackson 注解的使用经验 #1
唠叨几句 公司项目涉及到金额运算,我作为后端的设计以及编码,对所有进入系统的金额字段,全部使用放大了 100 倍并四舍五入后的整数作为金额的数据类型。我为了避免浮点数计算带来的问题,把所有浮点数拒绝于系统之外。但是,前端就不高兴了。 毕竟前端是搞前端的嘛。。对他们来说浮点数计算问题几乎都不可能碰上。。这时候作为一个后端人员就要展现自己的宽容大量和万能了(偷笑)。 因为后端系统的视图...
2018-06-09
笔记
技术
笔记
技术
Read More
用 Maven 生成典型 Web 应用目录结构
使用以下命令 mvn archetype:generate -DgroupId={your-groupId} -DartifactId={your-artifactId} -DarchetypeArtifactId=maven-archetype-webapp {your-groupId} 和 {your-artifactId} 用自己喜欢的 gro...
2016-09-09
笔记
笔记
Read More
对 Java 里方法的可变长参数列表使用的小经验
Java好像自从1.6就已经可以使用void method(String... s)的方法声明参数列表,这个声明方式挺好玩的,我分享一下我的使用经验。 这个声明有一个特点,就是可变长的参数声明必须在传参列表的最后面。也就是说,void method(Object o, String... s)可以,但是void method(String... s, Object o)是不符合语法的。Str...
2016-07-02
笔记
技术
笔记
技术
Read More
Hibernate 使用 Annotation 实现外键关联关系
因为在使用Hibernate的Annotation时遇到坑,坑了一晚上时间,所以写一篇文章记一下经验 如果并没有对Hibernate入门,还请在课室或者在技研中心,接入学校的教学网络,进入服务器smb://10.15.231.233/Video (在技研的网络里叫OPENSUSE-SERVER)。在 数据库->ORM->Hibernate 目录内查看...
2016-04-27
笔记
技术
笔记
技术
Read More
1 / 2
Next