12-19 松山笔记 如何使用JPA 建模 很多同学在使用JPA的时候,每次要对实体建模的时候都分不清JPA的注解用哪一个、注解参数填什么。这主要是由于对两个实体之间的关系的理解不到位,以及不清楚JPA如何描述两个实体之间的关联关系。 本文的目的是为了帮助大家重新梳理一遍JPA中的关联映射,用理解代替死记硬背。我会给出两种版本。一种是【精简版 125
04-25 松山笔记 《Sonny's python》第一部分 基础语法 sonny's python是我2021年学习python时候的笔记。学习的内容主要来自runoob.com 以及 Python教程 - 廖雪峰的官方网站 。笔记主要记录了在学习过程中我觉得重要且值得探索的特性,所以该笔记无法作为一份入门教程而存在,希望以后可以通过它唤醒我们的脑海中关于python 63
04-25 松山笔记 《Sonny's python》第二部分 私有方法 认为python的私有方法是一种“伪私有”,因为它并不是在语言层面提供支持。而是采用了一种巧妙的方式让不该被看见的“隐藏”起来,但实际上我们是可以通过特殊手段突破其限制。 私有方法 在Java中,表示私有一般有 private/protected/public来表示方法或者变量的可见范围。 pyth 59
04-25 松山笔记 《Sonny's python》之 生成器 你还在为数据生成逻辑和数据的消费逻辑难以分离而苦恼嘛?你还在为生成大量数据而担心内存不足嘛?来用python吧 —— 松言松语 生成器 从迭代器(Iterator)中循环遍历取出元素来处理,叫做迭代。在python中,定义了__next__方法的类,就是一个迭代器。 生成器,是数据的生产者。先说下使 59
04-25 松山笔记 《Sonny's python》之 装饰器 我没有学过太多语言,所以python的装饰器是我见过的最灵活的。—— 松言松语 装饰器 装饰器的前提 顾名思义,装饰类就是用一个装饰函数a来修饰另外一个函数b,使得函数b的功能得到增强。 在java(编译型语言)中,增强一个函数可以通过AOP实现,有两种方式: 1. 编译期,是通过修改字节码实现,如 56
04-25 松山笔记 《Sonny's python》之 *args和**kwargs args和*kwargs 首先,*args和 **kwargs 的命名是可以任意的,也可以随便叫\*vars 或者 \*kws。 *args 就是可变参数罢了,它以一个数组的形式对外呈现。 定义函数的时候,如果不想指定参数的数量,就可以用\*args来替代。 def print_numbers(*a 40
12-25 松山笔记 Mysql 5.7.28 安装手册 版本 这里安装的是Mysql5.7.28,不同版本的Mysql安装方式可能略有不同。 创建相关文件夹 mkdir -p /usr/local/mysql/data 其中, /usr/local/mysql 用作mysql的安装主文件夹,就mysql的基本工具、类库都在这里面 /usr/local/ 72
10-25 松山笔记 redis 关于Redis不得不说的那些事 概述 什么是缓存 源头:磁盘IO,超慢! 内存分配、寻址、持久化,都影响到了响应时间,进而响应吞吐量 系统性能要求,用户体验要求 吞吐量、响应时间等。 CPU怎么做 划分出一块高速缓存,用于存储即将、可能用到的数据,用于数据的高速交换。 重点 缓存是数据的冗余 空间换时间 追求速度和吞吐量 缓存的分 41
07-06 松山笔记 Mysql索引的原理,我就会这么多! 1 查询过程 查询可以分为逻辑查询和物理查询。 逻辑查询 sql不像其他语言,sql执行不一定是按照顺序执行的。 对于一条查询语句而言,每一个关键字都有自己的逻辑执行顺序。 如下面的sql语句: <7> select <8> d 71