第三阶段:项目实战①小型项目开发(下篇)

综合项目实战:运用新特性开发小型项目 我们要开发的这个小型项目是一个简单的图书管理系统。这个系统可以实现图书的添加、查询、删除等基本功能。在开发过程中,我们会综合运用JDK5的泛型、枚举、注解等新特性,让大家更深入地理解这些特性在实际项目中的作用。 阅读详情

第三阶段:项目实战①小型项目开发(下篇)


📋 下篇概述

欢迎来到项目实战的下篇!在上篇和中篇中,我们分别完成了学生管理系统(控制台版)和图书管理系统(GUI版)的开发。

在下篇中,我们将重点关注项目的运行、测试最佳实践、Spring Boot 3.x迁移指南,以及项目的扩展建议。这些内容将帮助您更好地理解现代Java开发的完整流程。

🎯 下篇学习目标

完成下篇学习后,您将能够:

  • 项目运行管理:掌握不同方式运行Spring Boot项目
  • 测试最佳实践:理解测试策略和覆盖率管理
  • 技术迁移:了解Spring Boot 2.x到3.x的迁移要点
  • 项目扩展:具备项目功能扩展和技术升级的思路
  • 开发规范:掌握企业级Java开发的最佳实践
  • 问题解决:具备常见问题的诊断和解决能力

🚀 项目运行与测试

环境准备

基础环境要求
  1. JDK 17+:确保已安装JDK 17或更高版本
  2. Maven 3.6+:确保已安装Maven构建工具
  3. MySQL 8.0+:启动MySQL服务,创建对应数据库
    CREATE DATABASE student_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE DATABASE book_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
开发工具推荐
  • IDE:IntelliJ IDEA 2023+ 或 Eclipse 2023+
  • 数据库工具:MySQL Workbench、Navicat、DBeaver
  • 版本控制:Git 2.30+
  • 构建工具:Maven 3.8+ 或 Gradle 7.0+

运行测试

测试命令
# 运行所有测试
mvn test

# 运行特定测试类
mvn test -Dtest=StudentServiceTest

# 生成测试覆盖率报告
mvn jacoco:report

# 跳过测试进行构建
mvn clean package -DskipTests
测试配置文件

创建src/test/resources/application-test.yml:

spring:
  datasource:
    url: jdbc:h2:mem:testdb
    driver-class-name: org.h2.Driver
    username: sa
    password: 
    
  jpa:
    hibernate:
      ddl-auto: create-drop
    show-sql: true
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        
  main:
    web-application-type: none

logging:
  level:
    org.chapter09: DEBUG

启动应用

方式一:使用Maven运行
# 学生管理系统(控制台版)
cd student-management-console
mvn spring-boot:run

# 图书管理系统(GUI版)
cd book-management-gui
mvn spring-boot:run
方式二:使用运行脚本
# Linux/macOS
./scripts/run.sh          # 学生管理系统
./scripts/run-gui.sh      # 图书管理系统

# Windows
scripts\run.bat           # 学生管理系统
scripts\run-gui.bat       # 图书管理系统
方式三:直接运行JAR文件
# 先编译打包
mvn clean package -DskipTests

# 运行JAR文件
java -jar target/student-management-console-1.0.0.jar
java -jar target/book-management-gui-1.0.0.jar

使用说明

  • 学生管理系统:启动后在控制台中通过菜单进行交互操作
  • 图书管理系统:启动后会打开Swing GUI界面,通过图形界面操作

📊 测试最佳实践

测试策略

  1. 单元测试:覆盖Service层和Repository层的核心业务逻辑
  2. 集成测试:测试完整的业务流程和数据库交互
  3. GUI测试:测试用户界面组件的基本功能(项目二)

测试覆盖率建议

  • Service层:≥80%
  • Repository层:≥70%
  • 整体覆盖率:≥60%

测试数据管理

  • 使用H2内存数据库进行测试
  • 每个测试方法使用@Transactional确保数据隔离
  • 使用@BeforeEach和@AfterEach管理测试数据

测试示例

Service层测试示例
@ExtendWith(MockitoExtension.class)
class StudentServiceTest {
    
    @Mock
    private StudentRepository studentRepository;
    
    @InjectMocks
    private StudentService studentService;
    
    @Test
    void testAddStudent_Success() {
        // Given
        Student student = new Student("2023001", "张三", 20, "男", "计算机", 85.5);
        when(studentRepository.existsById(anyString())).thenReturn(false);
        when(studentRepository.save(any(Student.class))).thenReturn(student);
        
        // When
        Student result = studentService.addStudent(student);
        
        // Then
        assertNotNull(result);
        assertEquals("张三", result.getName());
        verify(studentRepository).save(student);
    }
}
Repository集成测试示例
@DataJpaTest
@ActiveProfiles("test")
class StudentRepositoryTest {
    
    @Autowired
    private TestEntityManager entityManager;
    
    @Autowired
    private StudentRepository studentRepository;
    
    @Test
    void testFindByNameContaining() {
        // Given
        Student student = new Student("TEST001", "测试学生", 20, "男", "计算机", 85.5);
        entityManager.persistAndFlush(student);
        
        // When
        List<Student> results = studentRepository.findByNameContaining("测试");
        
        // Then
        assertEquals(1, results.size());
        assertEquals("测试学生", results.get(0).getName());
    }
}

🔄 Spring Boot 2.x -> Spring Boot 3.x迁移指南

主要变化概述

Spring Boot 3.x是一个重大版本升级,带来了许多重要变化:

1. 最低JDK版本要求
  • Spring Boot 2.x:支持JDK 8+
  • Spring Boot 3.x:要求JDK 17+
2. Jakarta EE迁移

最重要的变化是从Java EE迁移到Jakarta EE:

包名变化对照表:

Java EE (Spring Boot 2.x)Jakarta EE (Spring Boot 3.x)
javax.persistence.*jakarta.persistence.*
javax.servlet.*jakarta.servlet.*
javax.validation.*jakarta.validation.*
javax.transaction.*jakarta.transaction.*
3. 依赖版本升级
  • Hibernate:5.x → 6.x
  • Spring Framework:5.x → 6.x
  • Tomcat:9.x → 10.x
  • Jetty:9.x → 11.x

迁移步骤

第一步:升级JDK版本
# 检查当前JDK版本
java -version

# 确保使用JDK 17或更高版本
export JAVA_HOME=/path/to/jdk17
第二步:更新Maven配置
<properties>
    <java.version>17</java.version>
    <spring-boot.version>3.2.0</spring-boot.version>
</properties>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.0</version>
    <relativePath/>
</parent>
第三步:包名迁移

使用IDE的全局替换功能进行包名迁移:

// 替换前 (Spring Boot 2.x)
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;

// 替换后 (Spring Boot 3.x)
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.Id;
import jakarta.persistence.Column;
第四步:配置文件调整

某些配置属性可能发生变化:

# Spring Boot 2.x
spring:
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

# Spring Boot 3.x
spring:
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
第五步:测试和验证
# 运行测试确保迁移成功
mvn clean test

# 启动应用验证功能
mvn spring-boot:run

迁移检查清单

  • JDK版本升级到17+
  • Spring Boot版本升级到3.x
  • 所有javax.包名替换为jakarta.
  • 依赖版本兼容性检查
  • 配置文件属性更新
  • 单元测试和集成测试通过
  • 应用启动和功能验证

常见迁移问题

问题1:包名导入错误
// 错误:仍使用javax包名
import javax.persistence.Entity;

// 正确:使用jakarta包名
import jakarta.persistence.Entity;
问题2:Hibernate版本兼容性
// Spring Boot 2.x (Hibernate 5.x)
@Type(type = "org.hibernate.type.TextType")
private String description;

// Spring Boot 3.x (Hibernate 6.x)
@Column(columnDefinition = "TEXT")
private String description;
问题3:测试配置调整
// Spring Boot 2.x
@ExtendWith(SpringExtension.class)
@SpringBootTest

// Spring Boot 3.x (推荐)
@SpringBootTest
// SpringExtension已自动包含

🚀 项目扩展建议

功能扩展

  1. 安全认证:集成Spring Security实现用户认证和权限管理
  2. 数据校验:使用Bean Validation进行数据校验和输入验证
  3. 文件管理:图书封面上传、文档附件管理功能
  4. 数据导出:Excel、PDF、CSV格式的数据导出功能
  5. 报表统计:图表展示、数据分析和统计报表
  6. 系统设置:用户偏好设置、主题切换、语言国际化

技术扩展

  1. 缓存机制:Redis缓存提高查询性能
  2. 消息队列:RabbitMQ处理异步任务
  3. 搜索引擎:Elasticsearch全文搜索功能
  4. 微服务架构:拆分为多个独立的微服务
  5. API网关:统一的API入口和路由管理
  6. 配置中心:Nacos或Spring Cloud Config统一配置管理

测试扩展

  1. 性能测试:JMeter压力测试和性能基准测试
  2. 测试数据管理:更完善的测试数据准备和清理
  3. 自动化测试:集成更多的自动化测试场景

用户体验扩展

  1. 界面美化:现代化UI设计、深色主题支持
  2. 快捷键支持:键盘快捷键提高操作效率
  3. 系统托盘:最小化到系统托盘、后台运行(GUI版)
  4. 多语言支持:国际化和本地化支持
  5. 用户偏好设置:个性化配置和设置保存

💡 开发最佳实践

代码规范

  1. 命名规范:使用有意义的类名、方法名和变量名
  2. 注释规范:为复杂逻辑添加清晰的注释
  3. 异常处理:合理的异常捕获和处理机制
  4. 日志记录:使用适当的日志级别记录关键信息

架构设计

  1. 分层架构:清晰的Controller-Service-Repository分层
  2. 依赖注入:合理使用Spring的依赖注入机制
  3. 事务管理:正确使用@Transactional注解
  4. 配置管理:外部化配置,支持多环境部署

性能优化

  1. 数据库优化:合理的索引设计和查询优化
  2. 缓存策略:适当使用缓存提高性能
  3. 连接池配置:合理配置数据库连接池参数
  4. JVM调优:根据应用特点调整JVM参数

安全考虑

  1. 输入验证:对所有用户输入进行验证
  2. SQL注入防护:使用参数化查询
  3. 敏感信息保护:避免在日志中记录敏感信息
  4. 权限控制:实现适当的用户权限管理

📚 关键知识点总结

核心技术

  1. Spring Boot 3.x框架:自动配置、依赖注入、启动器的使用
  2. Spring Data JPA:Repository接口、查询方法、自定义查询
  3. Jakarta EE注解:@Entity、@Table、@Id、@Column等注解的使用
  4. 控制台应用:CommandLineRunner接口实现控制台交互
  5. Swing GUI编程:JFrame、JTable、JDialog等组件的使用
  6. 依赖注入:@Autowired注解和Spring容器管理
  7. 事务管理:@Transactional注解的使用
  8. 数据验证:业务逻辑验证和异常处理
  9. 分层架构:Console/GUI、Service、Repository分层设计
  10. 配置管理:application.yml配置文件和多环境配置
  11. Hutool工具包:字符串处理、日期操作等工具方法

测试技术

  1. 单元测试:JUnit 5和Mockito的使用
  2. 集成测试:@SpringBootTest和@DataJpaTest注解
  3. 测试配置:H2内存数据库和测试配置文件
  4. 测试覆盖率:JaCoCo插件生成覆盖率报告
  5. GUI测试:Swing组件的单元测试方法

构建运行

  1. Maven构建:项目构建和依赖管理
  2. 运行脚本:跨平台的启动脚本编写
  3. JAR打包:Spring Boot可执行JAR文件

现代Java特性

  1. JDK 17特性:Records、Text Blocks、Pattern Matching等新特性
  2. 包名迁移:从javax.*到jakarta.*的包名变更
  3. 数据库设计:表名前缀和列名后缀的命名规范

✅ 完成标准

🎯 基础完成标准

  • 能够使用Spring Boot 3.x搭建项目
  • 熟练编写JPA实体类和Repository接口
  • 正确配置数据库连接和JPA设置
  • 掌握控制台应用和GUI应用开发
  • 能够编写基本的单元测试和集成测试

🚀 进阶完成标准

  • 能够设计合理的分层架构
  • 掌握Spring依赖注入和事务管理
  • 熟练使用Hutool工具包提高开发效率
  • 能够进行数据验证和异常处理
  • 具备完整项目的测试和运行能力

🏆 专家级标准

  • 能够设计可扩展的项目架构
  • 掌握现代Java开发最佳实践
  • 具备代码重构和优化能力
  • 能够指导他人进行项目开发
  • 具备解决复杂业务问题的能力

📝 本章小结

🎯 核心知识点回顾

🏗️ 项目架构
  • ✅ 掌握Spring Boot 3.x项目搭建
  • ✅ 理解分层架构设计原则
  • ✅ 熟练使用Maven依赖管理
  • ✅ 掌握配置文件管理
🗄️ 数据持久化
  • ✅ 掌握Spring Data JPA使用
  • ✅ 熟练编写实体类和Repository
  • ✅ 理解JPA查询方法命名规范
  • ✅ 学会自定义查询和统计功能
🖥️ 用户界面
  • ✅ 掌握控制台交互应用开发
  • ✅ 熟练使用Swing GUI编程
  • ✅ 理解事件驱动编程模式
  • ✅ 学会用户友好的界面设计
🧪 测试实践
  • ✅ 掌握JUnit 5和Mockito测试框架
  • ✅ 熟练编写单元测试和集成测试
  • ✅ 理解测试驱动开发方法
  • ✅ 学会测试覆盖率分析
🔧 开发工具
  • ✅ 熟练使用Hutool工具包
  • ✅ 掌握运行脚本编写
  • ✅ 理解项目构建和打包
  • ✅ 学会开发环境配置

📈 学习成果检验

🎯 自我检测清单
  • 能够独立搭建Spring Boot项目
  • 熟练进行数据库设计和JPA配置
  • 正确实现业务逻辑和数据访问层
  • 掌握控制台和GUI两种交互方式
  • 能够编写完整的测试用例
  • 理解现代Java企业级开发规范
🚀 进阶学习方向
方向内容推荐资源
🌐 Web开发Spring MVC、RESTful APISpring Boot官方文档
🗄️ 数据库进阶MyBatis、数据库优化数据库设计与性能调优
🔒 安全框架Spring Security、JWT企业级安全解决方案
☁️ 微服务Spring Cloud、分布式系统微服务架构设计模式

🗺️ 专栏学习路径图

📈 Java程序员从0到1成长路径
🎯 第一阶段:Java基础入门 (4-6周) - ✅ 已完成
┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ 1.开发环境   │───▶│ 2.基础语法   │───▶│ 3.面向对象   │───▶│ 4.核心API   │
│   搭建      │    │             │    │   编程基础   │    │             │
│ ✅ 已完成    │    │ ✅ 已完成    │    │ ✅ 已完成    │    │ ✅ 已完成    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘

🚀 第二阶段:Java进阶技能 (4-6周) - ✅ 已完成
┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ 1.高级特性   │    │ 2.I/O与网络  │    │ 3.新特性     │    │ 4.工具框架   │
│             │    │   编程      │    │             │    │   入门      │
│ ✅ 已完成    │    │ ✅ 已完成    │    │ ✅ 已完成    │    │ ✅ 已完成    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘

🎯 第三阶段:项目实战 (4-8周) - ✅ 当前章节
┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ 1.小型项目   │    │ 2.Web开发    │    │ 3.Spring    │    │ 4.数据库与   │
│   开发      │    │   基础      │    │   框架入门   │    │   持久层    │
│ ✅ 当前学习   │    │ 📅 计划中    │    │ 📅 计划中    │    │ 📅 计划中    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘

🏆 第四阶段:职业发展 (持续更新)
┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│ 1.代码质量   │    │ 2.开发工具   │    │ 3.面试准备   │    │ 4.职业规划   │
│   与规范    │    │   链        │    │             │    │             │
│ 📅 计划中    │    │ 📅 计划中    │    │ 📅 计划中    │    │ 📅 计划中    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘
📊 第三阶段第1章完整进度
项目主要内容预计时间难度状态
🖥️ 学生管理系统(控制台版)Spring Boot + JPA + 控制台交互1-2周⭐⭐⭐✅ 已完成
🖼️ 图书管理系统(GUI版)Spring Boot + JPA + Swing GUI1-2周⭐⭐⭐⭐✅ 已完成
🧪 测试与运行实践单元测试、集成测试、项目运行3-5天⭐⭐⭐✅ 已完成
🎉 第三阶段第1章完成!
• 项目实战进度:25% (1/4章节完成)
• 已掌握:Spring Boot项目开发、JPA数据持久化、GUI编程、测试实践
• 下一步:进入Web开发基础学习
• 重点:HTTP协议、Servlet、Spring MVC、RESTful API设计

🎬 下一章预告

🌐 第三阶段第2章:Web开发基础

🎯 下章学习内容

  • 🌐 HTTP协议与Web基础
  • 🔧 Servlet技术深入
  • 🚀 Spring MVC框架
  • 📡 RESTful API设计与实现

💡 学习建议

  • 理解Web应用的工作原理
  • 掌握前后端分离开发模式
  • 学会设计优雅的API接口
  • 建立Web安全意识

📚 下一步学习方向

完成本章的项目实战后,建议您继续学习:

  1. Web开发基础:HTTP协议、Servlet、Spring MVC
  2. 前端技术:HTML、CSS、JavaScript基础
  3. 数据库进阶:SQL优化、索引设计、事务管理
  4. Spring框架:Spring Core、Spring Boot进阶特性
  5. 开发工具:Git版本控制、IDE高级功能
  6. 软件工程:设计模式、代码重构、项目管理

通过这两个基于Spring Boot + JPA的项目实战,您将掌握现代Java企业级开发的核心技术栈。项目一的控制台版本让您专注于业务逻辑和数据操作,项目二的Swing GUI版本让您体验桌面应用开发的乐趣。这样的组合为成为一名全面的Java开发工程师打下坚实基础。

🎉 恭喜完成第三阶段第1章的学习!

你已经掌握了Java项目开发的基础技能,
包括Spring Boot框架、JPA数据持久化、GUI编程和测试实践,
这些技能为你进入Web开发阶段奠定了坚实的基础!

准备好开始你的Web开发之旅了吗? 🌐


🔗 相关文章


📧 有问题?欢迎在评论区讨论交流!
⭐ 觉得有用?别忘了点赞收藏!
🔄 继续关注,Web开发精彩内容即将到来!
详解关于Vue3搭建小型项目 高效搭建一个结构清晰、易于维护的 Vue 3 小型项目。根据实际需求灵活增减功能模块(如状态管理、测试等) 阅读详情

相关推荐

鸿蒙实战开发5.0版:小型系统图形框架集成

主要包括设置屏幕大小,对接基础图元绘制,获取图形绘制的 buffer,把图形绘制的数据刷到屏幕上显示等。

qazwsx957486的博客 1484

第三阶段:项目实战①小型项目开发(上篇)

基于Spring Boot开发学生管理系统控制台版,实现CRUD功能。涵盖项目规划、JPA数据访问、分层架构设计。包含完整代码实现、单元测试、运行脚本。适合初学者掌握企业级Java开发基础技能

CodingPhilosophy的博客 997

C++项目实战:一小时搭建属于你的小型FTP服务器

FTP服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol( 文件传输协议 )。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。 这是一个用C++编写的小型FTP服务器源代码,VC6.0下顺利编译,界面是英文的。 项目结构展示: 源码展示: 这个小型的FT...

1878

《Spring 实战:小型项目开发初体验》

《Spring 实战:小型项目开发初体验》

1172

OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(一)

编译构建流程、编译脚本编写、目录规则、独立编译单个组件、独立编译芯片解决方案等介绍请见 编译构建子系统介绍。

鸿蒙开发知识记录 1830

python编程实战项目一:小型工具开发

上述代码中,os.listdir()获取文件夹下的所有文件和目录,通过enumerate()遍历文件列表,使用os.rename()函数将原文件名修改为按顺序命名的新文件名。Python 的os库提供了操作文件和目录的功能,结合字符串处理方法,能轻松实现文件批量重命名。如果你对这些工具的功能扩展有想法,比如在文件重命名中添加更多筛选条件,或者在文本处理中实现更复杂的操作,欢迎随时和我交流。在处理大量文本数据时,Python 的字符串操作和正则表达式库re能发挥重要作用,可实现文本的查找、替换、提取等功能。

shuzhong_的博客 132

第三阶段:项目实战①小型项目开发(中篇)

开发Swing GUI图书管理系统,学习桌面应用程序开发。集成FlatLaf主题、事件驱动编程、MVC架构。提供现代化界面设计、数据验证、统计功能。从控制台应用进阶到图形界面开发

CodingPhilosophy的博客 939

Java实战开发:小型躲避子弹游戏项目

类是对象的模板,对象是类的实例。在游戏开发中,我们可以将游戏中的角色抽象为类,比如“玩家角色”是一个类,而具体的玩家实例则是该类的一个对象。// 定义一个玩家角色类System.out.println(name + " 移动到了 (" + x + ", " + y + ")");System.out.println(name + " 受到了 " + damage + " 点伤害,剩余生命值:" + health);对比维度AWTSwing实现方式。

weixin_36431145的博客 801

MySQL 实战:小型项目中的数据库应用(一)

MySQL 实战:小型项目中的数据库应用(一)

2423

实用Java小型项目集3

Java自1995年问世以来,凭借其“一次编写,到处运行”的跨平台特性,成为了企业级应用开发的首选语言之一。它是一种面向对象、分布式、解释执行的编程语言,拥有强大的类库和标准API支持。Java的应用范围广泛,从桌面应用程序、移动应用,到企业级服务端应用,甚至在大数据处理领域都有其身影。

weixin_30600615的博客 978

拆开华为BBU5900,看看5G基站的大脑里到底装了啥?

本文深度拆解华为BBU5900,揭示5G基站核心处理单元的硬件架构与设计哲学。通过详细解析模块化设计、智能电源系统和动态散热方案,展现其支撑千兆速率、毫秒级时延的技术奥秘,为5G网络部署提供实用参考。

weixin_31456563的博客 559

小型软件项目开发流程探讨

小型软件项目开发流程探讨   一.导言 国内很多项目都是小型项目,参与人员少(两到五个人),要快速交付(一两个月).要成功完成这种项目,除了使用成熟且被团队成员熟练使用的技术之外,有一个良好的开发流程,也是很必要的. 二.小型软件项目开发流程 下图是我对小型软件项目开发流程的一个设想: 需求分析的重要性想必大家都应该清楚,对于项目来

u013053383的专栏 1508

Matlab激活失败?手把手教你解决License checkout failed问题(附详细截图)

本文针对Matlab激活后出现“License checkout failed”错误的常见问题,提供了详细的解决方案。核心在于精准定位并正确填写Windows系统用户名,而非计算机名或账户全名。文章通过分步截图和命令指引,手把手教你使用`whoami`命令获取正确信息,并重新运行激活程序,从根本上解决因用户名填写错误导致的许可检查失败问题。

weixin_29062823的博客 570

《Vue 实战:小型项目练手与感悟》

《Vue 实战:小型项目练手与感悟》

1156

《生化危机9:安魂曲》D加密免BIOS破解方案详解

数字版权管理(DRM)技术通过加密手段保护软件版权,Denuvo(D加密)作为主流方案常应用于3A游戏。其原理是通过实时验证机制阻止未授权访问,但可能影响性能表现。本文以《生化危机9》为例,解析一种免BIOS修改的D加密绕过方案,该方案通过授权启动器模拟正版验证流程,保持系统零侵入性。实测表明,该方法在GTX 1060至RTX 3070等多硬件平台均能稳定运行,支持MOD扩展且兼容Reshade画质增强,为玩家提供开箱即用的绿色版体验。

weixin_33898233的博客 924

金仓数据库KCM认证考试介绍【2025年4月更新】

金仓数据库认证资深专家KCM认证考试介绍

qq709869231的博客 3227

Redis 在小型项目中的实战运用

Redis 在小型项目中的实战运用

1314

【ROS2实体机械臂驱动】封装珞石ROS2驱动库ros2_rokae_driver_lib

这一篇文章将封装为,和之前一篇文章《ROS2 编译、打包、封装三方库(Knet为例)_ros插件编译成静态库-优快云博客》写的封装,区别在于优化了cmake dependencies和include等属性和宏定义,同时对于多库内部依赖的情况做了特定处理,更加方便外部调用。其中珞石的编译参考博主之前的文章rokae xCoreSDK C++测试使用,这里不再做赘述。通过这篇文章对于如何打包机械臂厂家提供的三方库做了进一步说明,方便用于不同机械臂厂家的三方库封装调用。!!

机器人梦想家 Bing Lee 1397

UniApp 小型项目实战总结

UniApp 小型项目实战总结

1581

leetcode134 加油站

题目如下 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。 说明: 如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输...

ayang818 's blog 233

咨询进阶——解读40页公司战略解码方法【附全文阅读】

战略解码是将企业战略转化为可执行计划的关键过程,强调垂直和水平一致性原则。通过KPI指标设计和目标分解,确保战略在各部门和岗位有效落地。解码过程包括战略澄清、目标牵引、绩效分解和承诺签订,输出战略解码图等文件。不同部门根据责任定位(如利润中心、绩效中心)采用差异化考核方式,实现战略有效执行。

cdfunlove的博客 149

Python Web 开发实战:从 Flask 框架搭建小型博客系统

在app/models.py文件中定义博客系统所需的数据库模型,这里主要定义User(用户)和Post(文章)两个模型:上述代码中,User模型包含id、username、email和posts字段。posts字段是一个关系属性,用于表示用户发表的文章,通过backref参数在Post模型中创建反向引用,方便从文章对象获取作者信息。

数字魔方操控师的博客 1411

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

韩风讲解:从小型到大型项目架构演变

从小型到大型项目架构演变1小型项目 基于踩坑多年,总结从小型晋升大型项目架构演变过程。(不喜勿喷,仅供参考) 一个合理的架构设计能带来想象不到惊喜 小型项目以快速迭代为主,定位为量小,功能变动频繁 中型项目以半稳半快为主,定位为量中,功能部分稳定部分变动频繁 大型项目以稳为主,定位为量大,功能稳定 在小型项目起始之初忽略了架构设计,则后续演变十分痛苦甚至面临重构的风险 后续可结合PHP篇和企业篇作...

weixin_44408555的博客 236

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: Java程序员从0到1成长专栏 - 简介
下一篇: 第三阶段:项目实战①小型项目开发(中篇)
代码哲学系
博客等级 码龄1年 55粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值