包管理器相关

前言 每次配置什么环境都是从网上找个教程,然后安装教程一步步走,遇到问题继续搜索,直到配置完成。 到现在已经接触到很多包管理器,比如 npm、yarn、pip、brew、apt、yum、docker、composer 等等。 于是想到,这些包管理器都是怎么实现的呢?它们之间有什么区别呢? 什么是包管理器 包管理器是一种工具,用于自动化管理软件包(librar...

Read More

Java学习笔记-AOP

前言 公司培训的前辈提到:AOP可以理解为添加了一个代理类,这个代理类可以在方法执行前后添加一些操作,比如日志记录、事务管理等。这样就可以将核心业务逻辑和横切关注点分离开来,提高代码的可维护性和可扩展性。 这里他举了一个例子,例如每个方法都需要统计运行时间,如果不使用AOP,那么每个方法都需要添加统计时间的代码,这样会导致代码冗余,可维护性差。使用AOP,只...

Read More

Java学习笔记-单元测试

前言 使用Mockito和JUnit5进行单元测试。 需要注入依赖: 123456789101112131415161718<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter...

Read More

Java学习笔记-组合、继承、接口

组合和聚合 组合(Composition)经常用来表示“拥有” 关系(has-a relationship)。例如,“汽车拥有引擎” 聚合(Aggregation)动态的组合。 组合:表示整体与部分的关系,整体和部分的生命周期一样,整体不存在了,部分也不存在了。 1234567891011121314class Engine { ...

Read More

AI-llvm中的temperature

$$ \begin{aligned} \text { for } i & =1, \ldots, L: \ x_i & \sim p\left(x_i \mid x_{1: i-1}\right)^{1 / T}, \end{aligned} $$ 其中 $T≥0$ 是一个控制我们希望从语言模型中得到多少随机性的温度参数: T=0:确定...

Read More

AI-编码器和解码器

为什么需要编码和解码? 在机器学习中,算法通常无法直接处理文字或类别,需要先将它们转化为数值才能输入模型。 编码器的作用是接收输入序列,并将其转换成固定长度的上下文向量(context vector)。这个向量是输入序列的一种内部表示,捕获了输入信息的关键特征。在自然语言处理的应用中,输入序列通常是一系列词语或字符。 Embedding 编码 和 One-h...

Read More

提示工程

简介 模型设置 参考提示工程指南 Temperature:准确度和发散程度 Top_p:准确度和发散程度 Max Length:回复的最大token数 Stop Sequences:组织模型生成token Frequency Penalty Presence Penalty 提示词格式 零样本提示: 12Q: <问题>?A: 提示词可以包含...

Read More

Java学习笔记-开发实战一

项目背景 开发一个通用项目管理项目,前端使用react,后端使用Spring Boot 开发中遇到的知识点 Spring Boot的开发框架 12345678910111213141516171819202122232425262728project-root/│├── src/│ ├── main/│ │ ├── java/│ │ │ ...

Read More

Java学习笔记-代码规范

代码规范 命名风格 类型 风格 示例 变量名 驼峰 localValue 方法名 驼峰 getValue 类名 首字母大写 JavaServer 包名 小写,分隔符之间有且仅有一个自然语义的单词 com.excample.demo 枚举类型/常量 全大写,单词间用下划线隔开 MAX_STOCK_COUNT 禁止的命名: ...

Read More

Java学习笔记-语法基础篇

扫盲,Java和C++的一些区别 Java项目需要编译吗?底层编译原理和C++有什么不同? 编译输出: Java:编译输出的是平台无关的字节码文件(.class 文件),这些字节码可以在任何安装了 JVM 的平台上运行。 C++:编译输出的是特定平台的机器码文件(如 .exe 文件),这些文件只能在编译时指定的平台上运行。 跨平台性: Java...

Read More