Spring Data JPA 查询条件工厂

使用 Spring Data JPA 时最大的问题往往不是技术难度问题,
毕竟ORM框架集成度已经可以做到懒人模式下开箱即用,同时也带来更大的性能隐患。
和当年的Hibernate一样,在中文圈一直不流行的其中一个原因,多数开发者认为
Hibernate自动化程度太高,可优化空间小,这恰恰只看到问题的一方面。
Hibernate的优化空间比 Mybatis 只多不少。
反观 EclipseLink TopLink OpenJPA 都没火起来,
但是到Spring Data JPA 反而又让JPA火了一把,又是为什么呢?
就像有的人喜欢自动档的汽车,有的人却喜欢手动档。各有各的原因。

树莓派4B快速入门

使用 Raspbian 系统有段时间了,一直没有记录过日志,现在把脚本和实践汇总一下。

软件研发企业的三权分立

在一定阶段的互联网企业会面临这样的问题:

管理实践小记

我想得到什么?
企业雇佣我想得到什么?
灵魂拷问:我会不会被能换掉?
企业需要你,不是必须要你。
什么是职业经理人
以经理为职业的人
为了某种职责,以此为业称为职业
用特殊的方法,达到一定目的的行为称为管理
管理就是价值转换的过程

实践编译linux内核

Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。
Linux是用C语言中的GCC版(这种C语言有对标准C进行扩展)写的,还有几个用汇编语言(用的是GCC的”AT&T风格”)写的目标架构短段。因为要支持扩展的C语言,GCC在很长的时间里是唯一一个能正确编译Linux的编译器。

Spring Boot validation 验证框架

使用 Spring Boot 验证框架简化业务代码。

面向过程和面向对象编程之间的差异

面向过程编程:

面向过程编程是基于调用过程的概念从结构化编程发展的编程模式。
过程(Procedures),也称为例程,子例程或函数,
仅包含要执行的一系列步骤,在程序执行期间,过程会被严格按序调用。

软件程序员从初级晋升到高级的10个阶段

本期话题是程序员从初级到高级的必经之路
为大家解读新手晋升的10个阶段
即便你是一个新入门者,也希望对你有帮助。现在就开始吧!

Why does javas hashcode in string use 31 as a multiplier

The value 31 was chosen because it is an odd prime. If it were even and the multiplication overflowed,
information would be lost, as multiplication by 2 is equivalent to shifting. The advantage of using a
prime is less clear, but it is traditional. A nice property of 31 is that the multiplication can be
replaced by a shift and a subtraction for better performance: 31 * i == (i << 5) - i. Modern VMs do
this sort of optimization automatically.

信息安全相关知识图

本文涉及信息安全三级题目中出现的技术词汇,用于记录与翻译成白话文。