Mybatis 强大的结果集映射器resultMap
1. 前言 resultMap 可以将查询到的复杂数据,比如多张表的数据、一对一映射、一对多映射等复杂关系聚合到一个结果集当中。日常的业务开发通常都会和它打交道,今天就对 resultMap 进行一个详细讲解。 2. resultMap 接下来我们来看看 resultMap 是…
Java 中的 Comparator 和 Comparable
1. 前言 上一文简单对 java.util.Comparator 进行了说明,今天我们来看看另一个和它非常类似的接口 java.lang.Comparable 。 2. Comparable Comparable 接口同样只有一个抽象方法 int compareTo(T o)…
Java 集合排序策略接口 Comparator
1. 前言 最近用到了集合排序(基于 Java 8)。现在我能用 Stream 的就用 Stream ,真香!排序可以这么写: 这里排序用到了一个关键接口 java.util.Comparator。排序比较作为业务中经常出现的需求,我们有必要研究一下这个接口。 2. Compa…
Spring MVC 函数式编程进阶
1. 前言 上一篇对 Spring MVC 的函数式接口编程进行了简单入门,让很多不知道的同学见识了这种新操作。也有反应这种看起来没有传统写法顺眼,其实大家都一样。但是我们还是要敢于尝试新事物。Java Lambada 刚出来也是被人各种吐槽,现在我在很多项目都见到了它的身影。…
换一种方式编写 Spring MVC 接口
1. 前言 这种我都写吐了,今天换个口味,使用 Spring 5 新引入的函数式端点(Functional Endpoints)来耍耍。 这种方式同样支持 Spring Webflux。 2. 依赖 3. RouterFunction 在函数式端点的写法中,传统的请求映射(@R…
Java Stream 流如何进行合并操作
1. 前言 Java Stream Api 提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为流进行操作。今天我们来看看如何合并 Stream 流。 2. Stream 流的合并 Stream 流合并的前提是元素的类型能够一致。 你可以一层一层继续套下去,如…
被吹的神乎其神的Python到底都能干什么
1. 前言 最近几年 Python 被吹的神乎其神,很多同学都不清楚 Python 到底能干什么就盲目去学习 Python,今天小胖哥就 Python 的应用领域来简单盘点一下,让想学习Python 的同学找对方向不迷茫。 2. Python 的特点 这里就谈谈自己的看法,首先…
什么情况下不能使用 Java 泛型
1. 前言 Java 1.5 引入了泛型来保证类型安全,防止在运行时发生类型转换异常,让类型参数化,提高了代码的可读性和重用率。但是有些情况下泛型也是不允许使用的,今天就总结一下编码中不能使用泛型的一些场景。 2. 基本类型无法直接使用泛型 基本类型是不能够作为泛型类型的,需要…
英语对程序员来说重要吗
1. 前言 作为一个软件开发者,往往强调了编程基础、框架使用的熟练度。我认为也应该包括英语的读写能力,如果你想突破你的天花板,这是一个必须要面对的选项。今天赶在五一回家前简单写一点关于我自己的一些感受。 可能有些人不同意我的看法。认为这个时代中文的技术资料已经非常丰富了,甚至自…
Intellij IDEA 美化指南
经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反响热烈。这次分享一些可以“美颜"的技巧。 通过在插件市场搜索关键字 theme 你可以找到很…
亚马逊和脸书发布 TorchServe 解决Pytorch 模型的部署问题
4月21日官方发布,PyTorch 用户可以使用TorchServe(PyTorch生态新的模型服务框架)来大规模部署经过训练的模型,而无需编写自定义代码。 PyTorch是最初由Facebook创建的开源机器学习框架,由于其易用性在机器学习研究人员和数据科学家中广受欢迎。 但…
该魔法值造成了一万点伤害……
1. 前言 脑壳疼!从 Java 语法上无懈可击,但是从业务上却让人无法理解其中 0 和 1 的含义,它们统称为魔法值 。 对于上面的代码我们往往需要通过上下文推断出来逻辑,如果是非常复杂的业务或者10年前的代码那就更惨了,搞不好文档也没有。为了可读性,所以我们要尽量避免出现魔…
Spring 官方发起Spring Authorization Server 项目
Spring 官方在近日发布了一则消息:将发起一个新的名为 Spring Authorization Server 的项目。该项目是由Spring Security主导的一个社区驱动项目,旨在向 Spring 社区提供授权服务器支持。 谈及缘由,大约十年前 Spring 官方同…
使用 RestTemplate 进行第三方Rest服务调用
1. 前言 RestTemplate 是 Spring 提供的一个调用 Restful 服务的抽象层,它简化的同 Restful 服务的通信方式,隐藏了不必要的一些细节,让我们更加优雅地在应用中调用 Restful 服务 。但是在 Spring 5.0 以后RestTempla…
IntelliJ Idea 2020.1 正式发布,官方支持中文了
1. 前言 今天 IntelliJ Idea 2020.1 正式发布了!最大的一个亮点莫过于开始支持中文了。相信很多英语不好的同学已经期盼已久了。但是感觉登录界面感觉变丑了!建议把文章看完再去升级。 2. 汉化体验 我大致看了一圈,个别还没有汉化完毕,可能没有找到合适的描述词汇…
有了 Spring 为什么还要弄个 Spring Boot
1. 前言 刚刚入行 Java 的同学经常有这种疑问: Spring 和 Spring Boot 有什么关系?它们之间有什么区别?今天来探讨一下这个问题。 2. Spring Framework Spring 通常指的是 Spring Framework 。通常 Java 开发…
Spring Boot 2.2 中的延迟加载
1. 前言 随着我们项目的不断迭代 Bean 的数量会大大增加,如果都在启动时进行初始化会非常耗时。Spring Boot 允许延迟初始化应用程序, 也就是根据需要初始化 Spring Bean,而不是在 Spring Boot 启动时创建所有的 Bean。这样的就可以减少应用…
Windows 命令行终端 PowerShell 美化计划
1. 前言 作为一个程序员,终端工具是必不可少的。但是Windows 的默认终端实在太丑了,作为一个颜控忍不了。所以必须实施终端改造计划。目前我们都会使用 PowerShell,所以改造计划就先从它开始。先看看我改造的效果: 2. 安装 Chocolatey homebrew …
人生就是打怪升级的过程 | 掘金技术征文
1. 前言 就在写本文的下午,一个关系还行的前同事微信我,向我打听是否有靠谱的公司可以介绍给他,他可能要被裁员了。我感觉他的技术还是可以的,印象中他 shell 写的溜到没朋友,而这个是我的短板。我帮他打听了几家我熟悉的公司,到现在都没有音讯。今年的形势特别看行业,有的行业是机…
乱谈微服务
1. 前言 3 月 10 日,「Linux」 基金会宣布旗下项目 「TARS」 正式成立 「TARS」 基金会,宣称致力于构建微服务。该项目是腾讯公司捐献给 「Linux」 基金会的一个项目,据称该项目在腾讯已经使用了近 10 年,有大量的实践经验。为什么这么多公司打算在微服务…