当前位置: 首页 > news >正文

我的世界开发模组的心得体会

最头疼的问题

本人也是小白,也就跟着ai学学怎么开发模组,不会的上网搜搜,但是目前最令我头疼的就是运行rundata和runcilent时的模块冲突,解决办法就是使用以下的build.gradle代码,不要接受人工智能的建议,人工智能只能解决你写java代码不会的难题,这种模块冲突,越改越离谱,改来改去还是没法运行命令,像是导出模块冲突,某个模块依赖缺失等各种错误,除了删除工作区缓存,还可以复制我的gradle命令:

plugins {id 'eclipse'id 'idea'id 'maven-publish'id 'net.minecraftforge.gradle' version '[6.0,6.2)'}version = mod_version
group = mod_group_idbase {archivesName = mod_id}// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
java {toolchain.languageVersion = JavaLanguageVersion.of(17)  // 确保此处存在且版本正确// 如果已有其他java配置,保留不变
}
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft {// The mappings can be changed at any time and must be in the following format.// Channel:   Version:// official   MCVersion  Official field/method names from Mojang mapping files// parchment  YYYY.MM.DD-MCVersion  Open community-sourced parameter names and javadocs layered on top of official//// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.// See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md//// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge// Additional setup is needed to use their mappings: https://github.com/ParchmentMC/Parchment/wiki/Getting-Started//// Use non-default mappings at your own risk. They may not always work.// Simply re-run your setup task after changing the mappings to update your workspace.mappings channel: mapping_channel, version: mapping_version// When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game.// In most cases, it is not necessary to enable.// enableEclipsePrepareRuns = true// enableIdeaPrepareRuns = true// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game.// It is REQUIRED to be set to true for this template to function.// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.htmlcopyIdeResources = true// When true, this property will add the folder name of all declared run configurations to generated IDE run configurations.// The folder name can be set on a run configuration using the "folderName" property.// By default, the folder name of a run configuration is the name of the Gradle project containing it.// generateRunFolders = true// This property enables access transformers for use in development.// They will be applied to the Minecraft artifact.// The access transformer file can be anywhere in the project.// However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge.// This default location is a best practice to automatically put the file in the right place in the final jar.// See https://docs.minecraftforge.net/en/latest/advanced/accesstransformers/ for more information.// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')// Default run configurations.// These can be tweaked, removed, or duplicated as needed.runs {// applies to all the run configs belowconfigureEach {workingDirectory project.file('run')property 'forge.logging.markers', 'REGISTRIES'// Recommended logging level for the console// You can set various levels here.// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levelsproperty 'forge.logging.console.level', 'debug'mods {"${mod_id}" {source sourceSets.main}}}client {// this block needs to be here for runClient to exist}server {args '--nogui'}data {args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')}}
}// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }repositories {// Put repositories for dependencies here// ForgeGradle automatically adds the Forge maven and Maven Central for youmaven { url "https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/" }// If you have mod jar dependencies in ./libs, you can declare them as a repository like so:// flatDir {//     dir 'libs'// }
}dependencies {implementation fg.deobf("software.bernie.geckolib:geckolib-forge-1.20.1:4.3.1")minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
}// This block of code expands all declared replace properties in the specified resource targets.
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.named('processResources', ProcessResources).configure {var replaceProperties = [minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range,forge_version: forge_version, forge_version_range: forge_version_range,loader_version_range: loader_version_range,mod_id: mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,mod_authors: mod_authors, mod_description: mod_description,]inputs.properties replacePropertiesduplicatesStrategy = DuplicatesStrategy.EXCLUDEfrom(sourceSets.main.resources.srcDirs) {include '**/*.json'exclude '**/Thumbs.db'// 添加排除生成资源的路径(如果已存在手动创建的文件)exclude 'assets/mymod/lang/en_us.json'}filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {expand replaceProperties + [project: project]}
}// Example for how to get properties into the manifest for reading at runtime.
tasks.named('jar', Jar).configure {manifest {attributes(['Specification-Title'     : mod_id,'Specification-Vendor'    : mod_authors,'Specification-Version'   : '1', // We are version 1 of ourselves'Implementation-Title'    : project.name,'Implementation-Version'  : project.jar.archiveVersion,'Implementation-Vendor'   : mod_authors,'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")])
}// This is the preferred method to reobfuscate your jar filefinalizedBy 'reobfJar'
}// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing:
// tasks.named('publish').configure {
//     dependsOn 'reobfJar'
// }publishing {publications {register('mavenJava', MavenPublication) {artifact jar}}repositories {maven {url "file://${project.projectDir}/mcmodsrepo"}}
}tasks.withType(JavaCompile).configureEach {options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}

文件这里我加了一个geckolib依赖,不需要的可以自己删掉,关于这串代码的解释如下:

这段代码是一个配置文件,用于设置Gradle构建工具的一些插件和任务。以下是代码中的一些重要部分的解释:

  1. plugins { }: 在这个部分中,声明了使用的插件,包括'eclipse'、'idea'、'maven-publish'和'net.minecraftforge.gradle'。其中'net.minecraftforge.gradle'插件的版本范围为'[6.0,6.2)'。

  2. version = mod_version:将当前模块的版本设置为mod_version。

  3. group = mod_group_id:将当前模块的组设置为mod_group_id。

  4. java { }: 在这个部分中,设置了Java的语言版本为Java 17。

  5. minecraft { }: 这个部分配置了有关Minecraft的一些属性,包括映射(mappings)、运行配置(runs)以及数据生成器(data)等。

  6. repositories { }: 这个部分声明了依赖的仓库,包括添加了一个存储库的URL链接。

  7. dependencies { }: 这个部分声明了模块的依赖关系,包括使用了ForgeGradle提供的"fg.deobf"方法来添加依赖。

  8. tasks.named('processResources', ProcessResources).configure { }: 这个部分配置了资源处理的任务,包括替换属性、复制资源等。

  9. tasks.named('jar', Jar).configure { }: 这个部分配置了打包成jar文件的任务,包括在manifest文件中添加属性等。

  10. publishing { }: 这个部分配置了发布相关的任务,包括注册发布、设置仓库等。

这段代码主要用于配置Gradle构建工具的设置,包括插件、依赖、任务等,以便编译、打包和发布Minecraft模组。

如果还是模组冲突,尝试删除以下文件夹: 

尝试运行clean --refresh-dependencies命令来清除依赖,在依赖中不需要写forge本身自带的任何依赖,比如asm依赖,这种依赖forge自带,有时候确实会遇到各种奇葩问题,但是人工智能的建议更奇葩,当遇到模块冲突时,不要傻傻的听AI的建议去新建module-info.java文件,开发模组不需要这个文件。

注意:强烈建议小白不要动build.gradle,也不要动模块,这地方动了之后就连人工智能都救不了你,因为人工智能不是神,你只能重新在idea里新建项目了,90%的模块冲突都是由于build.gradle和缓存导致的,另外如果实在解决不了请学学如何提问。

如何高效的提问

当遇到代码问题需要提问时,以下是一些技巧可以帮助你更高效地提问,同时让别人更愿意回答你的问题:

  1. 描述清楚问题:在提问之前,确保你已经仔细思考和描述清楚了问题的具体情况和表现,包括出现的错误信息、代码的行为以及你尝试过的解决方法。

  2. 提供相关信息:提供足够的上下文信息,例如代码片段、错误日志、操作系统、编程语言等相关信息,这有助于他人更好地理解你的问题。

  3. 尝试解决方法:在提问之前,尽量尝试自己解决问题。描述你已经尝试过哪些方法,让别人知道你的努力程度。

  4. 礼貌和尊重:在提问时保持礼貌和尊重,不要出言不逊或带有攻击性的言辞。这样更容易得到他人的帮助。

  5. 明确问题:确保你的问题明确、简洁,并且容易理解。避免模糊的问题描述,这样别人才能更快速地帮助你。

  6. 自己的思考:在提问之前,尝试将问题描述清楚,这样不仅可以帮助别人更好地理解你的问题,也有助于你自己更深入地思考和理解问题。

  7. 感谢帮助:不要忘记在得到帮助后表示感谢,这样可以让提供帮助的人感到被尊重和认可,也会增加别人帮助你的意愿。

通过以上方法,你可以更高效地提问,并且更有可能得到他人的积极回应和帮助。

Java模块

在Java中,模块(Module)是在Java 9版本中引入的一种新的组织代码结构的方式。模块是一种用于将代码和资源组织成可重用单元的机制,它可以帮助开发人员更好地管理项目中的依赖关系、避免类路径混乱、提升代码的可维护性和安全性。

在使用模块时,首先需要在项目中创建一个模块描述文件(module-info.java),该文件定义模块的名称、依赖关系以及对外提供的接口等信息。通过模块描述文件,可以明确地指定模块之间的依赖关系,以及哪些包和类对外可见。

要使用模块,首先需要将项目中的代码组织成为一个个模块,并在模块描述文件中声明模块的依赖关系。然后,在编译、运行或打包项目时,需要使用模块路径来指定模块的加载路径,以确保 JVM 能够正确地加载和执行各个模块。

模块可以帮助开发人员更好地管理项目的依赖关系,提升代码的模块化程度,使得项目更易于维护和扩展。同时,模块还可以帮助开发人员隔离不同模块之间的代码,从而提高代码的安全性。

当遇到模块冲突时,可以通过以下几种方式来解决:

  1. 明确指定模块间的依赖关系:确保每个模块的依赖关系都被准确地声明,避免模块之间的冲突。

  2. 使用模块路径和模块分离:将每个模块放在独立的路径下,并使用不同的模块路径来加载各个模块,以避免模块间的资源冲突。

  3. 使用模块导出和开放指定包:在模块描述文件中使用导出(exports)和开放(opens)关键字,明确指定哪些包对外可见,以防止模块间的访问冲突。

  4. 使用服务提供者接口:通过服务提供者接口的方式,可以将服务的提供者和消费者解耦,从而避免模块间的直接依赖关系。

通过以上方式,可以有效地解决模块冲突的问题,确保Java项目能够正确地运行和部署。

相关文章:

我的世界开发模组的心得体会

最头疼的问题 本人也是小白,也就跟着ai学学怎么开发模组,不会的上网搜搜,但是目前最令我头疼的就是运行rundata和runcilent时的模块冲突,解决办法就是使用以下的build.gradle代码,不要接受人工智能的建议,…...

HTML:自闭合标签简单介绍

1. 什么是自结束标签&#xff1f; 定义&#xff1a;自结束标签&#xff08;Self-closing Tag&#xff09;是指 不需要单独结束标签 的 HTML 标签&#xff0c;它们通过自身的语法结构闭合。语法形式&#xff1a; 在 HTML5 中&#xff1a;直接写作 <tag>&#xff0c;例如 …...

Oracle性能调优(一):时间模型统计

Oracle性能调优(一):时间模型统计 时间模型统计视图时间模型统计指标时间模型统计视图 📖 DB Time的含义: DB Time表示前台会话在数据库调用中所花费的总时间,它是衡量数据库实例总负载的一个重要指标。DB Time是从实例启动时开始累计测量的,其计算方法是将所有前台会话…...

MacBook Pro使用FFmpeg捕获摄像头与麦克风推流音视频

FFmpeg查看macos系统音视频设备列表 ffmpeg -f avfoundation -list_devices true -i "" 使用摄像头及麦克风同时推送音频及视频流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…...

【构建工具】Gradle Kotlin DSL中的大小写陷阱:BuildConfigField

在Android开发当中&#xff0c;BuildConfig是一个非常有用的功能&#xff0c;它允许我们在构建过程中定义常量&#xff0c;并在运行时使用它们。But&#xff01;&#xff01;当我们从传统的Groovy DSL迁移到Kotlin DSL时或者被Android Studio坑的时候&#xff0c;有一些细微的差…...

Linux网络 TCP全连接队列与tcpdump抓包

TCP全连接队列 在 Linux 网络中&#xff0c;TCP 全连接队列&#xff08;也称为 Accept 队列&#xff09;是一个重要的概念&#xff0c;用于管理已经完成三次握手&#xff0c;即已经处于 established 状态但尚未被应用程序通过 accept( ) 函数处理的 TCP 连接&#xff0c;避免因…...

ChatGPT与DeepSeek:开源与闭源的AI模型之争

目录 一、模型架构与技术原理 二、性能能力与应用场景 三、用户体验与部署灵活性 四、成本与商业模式 五、未来展望与市场影响 六、总结 随着人工智能技术的飞速发展&#xff0c;ChatGPT和DeepSeek作为两大领先的AI语言模型&#xff0c;成为了行业内外关注的焦点。它们在…...

泛微Ecode新增Button调用服务器中的JSP页面里的方法

前言 前端Ecode调用 后端接口编写 JSP文件方法 总结 前言 因为我们是从之前E8版本升级到E9的&#xff0c;所以会有一些接口是通过jsp文件来实现前后端调用的&#xff0c;这里介绍的就是如果你有接口是写在jsp文件里面调用的&#xff0c;但是你又想在Ecode中调用的对应的接…...

知识图谱+智能问诊预诊系统vue+django+neo4j架构、带问诊历史

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站&#xff0c;有好处&#xff01; &#x1f90d;编号&#xff1a;D032 &#x1f90d;智能问答&#xff1a;智能问答自诊、预诊功能&#xff0c;同时可以保存问答历史 &…...

redis repl_backlog_first_byte_offset 这个字段的作用

repl_backlog_first_byte_offset 是 Redis 复制积压缓冲区&#xff08;Replication Backlog&#xff09;中的一个关键字段&#xff0c;其作用是 标识积压缓冲区中第一个字节对应的全局复制偏移量。 通俗解释 当主从节点断开重连时&#xff0c;Redis 需要通过复制积压缓冲区&am…...

第49天:Web开发-JavaEE应用SpringBoot栈模版注入ThymeleafFreemarkerVelocity

#知识点 1、安全开发-JavaEE-开发框架-SpringBoot&路由&传参 2、安全开发-JavaEE-模版引擎-Thymeleaf&Freemarker&Velocity 一、开发框架-SpringBoot 参考&#xff1a;https://springdoc.cn/spring-boot/ 访问SpringBoot创建的网站 1、路由映射 RequestMapping…...

python数据容器切片

从一个序列中取出一个子序列 序列[起始位置:结束位置:步长] 起始位置和结束位置 省略,表示从头取到尾 步长省略表示1 步长负数,表示从后往前取 步长-1 等同于将序列反转了...

GCM模式在IPSec中的应用

本文详细介绍使用GCM模式加密的IPSec数据包的组成部分及验证方法。 关联RFC-4106 The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP) GCM数据包格式&#xff1a;此处采用ESP封装&#xff08;未加密&#xff09;数据包。用于介绍数据包的详…...

Zynq移植canopen协议站canfestival+控制电机运动

一、 内容介绍 从零开始&#xff0c;在ZYNQ开发板上移植cnafestival&#xff0c;并最终控制电机运动。主要分别五部分 1. Vivado导出硬件XSA文件 2. 创建vitis工程&#xff0c;并移植Canfestival 3. 对象字典工具的安装及使用 4. 开发板通过SDO报文配置电机PDO参数 5. 开发板通…...

弱监督语义分割学习计划(2)-使用CoT进行Open Vocabulary Label简单实现类激活图

零: 项目说明 是这样的一个事情&#xff0c;经过与deepseek的一番讨论和交流&#xff0c;DeepSeek为我设计了一个30天高强度学习计划&#xff0c;重点聚焦弱监督/无监督语义分割在野外场景的应用&#xff0c;结合理论与实践&#xff0c;并最终导向可落地的开源项目。目前开始了…...

TCP/IP 5层协议簇:网络层(IP数据包的格式、路由器原理)

目录 1. TCP/IP 5层协议簇 2. IP 三层包头协议 3. 路由器原理 4. 交换机和路由的对比 1. TCP/IP 5层协议簇 如下&#xff1a; 2. IP 三层包头协议 数据包如下&#xff1a;IP包头不是固定的&#xff0c;每一个数字是一个bit 其中数据部分是上层的内容&#xff0c;IP包头最…...

ISP 常见流程

1.sensor输出&#xff1a;一般为raw-OBpedestal。加pedestal避免减OB出现负值&#xff0c;同时保证信号超过ADC最小电压阈值&#xff0c;使信号落在ADC正常工作范围。 2. pedestal correction&#xff1a;移除sensor加的基底&#xff0c;确保后续处理信号起点正确。 3. Linea…...

Mybatis调用存储过程

在mysql数据库中创建一个存储过程&#xff1a; DELIMITER $$ CREATEPROCEDURE mybatisdemo1.pgetallusers(IN sid INT,IN eid INT)BEGINSELECT * FROM sb_users WHERE id>sid AND id<eid;END$$ DELIMITER ;在Mapper接口里创建方法&#xff0c;和普通的查询数据方法没区别…...

uniapp 系统学习,从入门到实战(六)—— 样式与布局

全篇大概 4700 字(含代码)&#xff0c;建议阅读时间 30min &#x1f4da; 目录 Flex 布局在 UniApp 中的应用响应式设计与适配多端使用 SCSS 提升样式开发效率实战案例演示总结 1. Flex 布局在 UniApp 中的应用 1.1 基础布局实现 通过 display: flex 快速构建弹性容器&#…...

微服务学习(1):RabbitMQ的安装与简单应用

目录 RabbitMQ是什么 为什么要使用RabbitMQ RabbitMQ的安装 RabbitMQ架构及其对应概念 队列的主要作用 交换机的主要作用 RabbitMQ的应用 通过控制面板操作&#xff08;实现收发消息&#xff09; RabbitMQ是什么 RabbitMQ是一个开源的消息队列软件&#xff08;消息代理…...

【Spring】Spring AOP原理

目录 前言 代理模式 静态代理 优缺点 动态代理 JDK动态代理 工作原理 JDK动态原理实现关键步骤 CGLib动态代理 CGLIB动态代理实现关键步骤 总结 前言 在上一篇中&#xff0c;我们讲解了什么是AOP&#xff0c;以及Spring AOP是如何使用的&#xff0c;那么本篇我们就…...

CentOS vs Ubuntu - 常用命令深度对比及最佳实践指南20250302

CentOS vs Ubuntu - 常用命令深度对比及最佳实践指南 引言 在 Linux 服务器操作系统领域&#xff0c;CentOS 和 Ubuntu 是广泛采用的发行版。它们在命令集、默认工具链及生态系统方面各有特点。本文深入剖析 CentOS 与 Ubuntu 在常用命令层面的异同&#xff0c;并结合实践案例…...

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter27-工作者线程

二十七、工作者线程 工作者线程 前端开发者常说&#xff1a;“JavaScript 是单线程的。”这种说法虽然有些简单&#xff0c;但描述了 JavaScript 在浏览器中的一般行为。因此&#xff0c;作为帮助 Web 开发人员理解 JavaScript 的教学工具&#xff0c;它非常有用。单线程就意味…...

微信小程序 - 页面跳转(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch)

API 跳转 1、wx.navigateTo &#xff08;1&#xff09;基本介绍 功能&#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面&#xff0c;使用该方法跳转后可以通过返回按钮返回到原页面 使用场景&#xff1a;适用于需要保留当前页面状态&#xff0c;后续还需返回的情…...

vscode使用豆包MARSCode----集成doubao1.5 DeepSeekR1 DeepseekV3模型的ai编程插件

引入扩展 打开VSCode扩展窗口&#xff0c;在搜索窗口搜索MarsCode&#xff0c;找到MarsCode 插件单击「install」&#xff0c;完成安装&#xff0c;登录即可使用MarsCode 编程助手。 主要功能 主要快捷键 / explain 解释项目代码&#xff0c;AI 返回的内容有结构分类&#…...

C 语言共用体:深入理解与实践】

目录 一、引言 二、共用体的定义和基本语法 三、共用体的使用 3.1 声明共用体变量 3.2 给共用体成员赋值 3.3 共用体的内存布局 四、共用体的应用场景 4.1 节省内存空间 4.2 处理不同类型的数据 五、共用体使用的注意事项 六、总结 一、引言 在 C 语言中&#xff0c;共…...

Cherry Studio + 火山引擎 构建个人AI智能知识库

&#x1f349;在信息化时代&#xff0c;个人知识库的构建对于提高工作效率、知识管理和信息提取尤为重要。尤其是当这些知识库能结合人工智能来智能化地整理、分类和管理数据时&#xff0c;效果更为显著。我最近尝试通过 Cherry Studio 和 火山引擎 来搭建个人智能知识库&#…...

曹操智行构建国内首个全域自研闭环智驾生态

2月28日&#xff0c;曹操出行举办曹操智行自动驾驶平台上线仪式&#xff0c;宣布已成功构建国内首个“F立方”全域自研闭环智驾生态&#xff0c;同时在苏杭两地开启Robotaxi运营试点&#xff0c;并投放搭载吉利最新智驾系统的车辆。 此次试点运营&#xff0c;标志着曹操出行在…...

在 ASP.NET Core 中压缩并减少图像的文件大小

示例代码&#xff1a;https://download.csdn.net/download/hefeng_aspnet/90294127 在当今的数字时代&#xff0c;图像是 Web 应用程序和用户体验不可或缺的一部分。但是&#xff0c;处理大型图像文件可能会导致网页加载缓慢和更高的存储费用。为了解决这个问题&#xff0c;在…...

58、深度学习-自学之路-自己搭建深度学习框架-19、RNN神经网络梯度消失和爆炸的原因(从公式推导方向来说明),通过RNN的前向传播和反向传播公式来理解。

一、RNN神经网络的前向传播图如下&#xff1a; 时间步 t1: x₁ → (W_x) → [RNN Cell] → h₁ → (W_y) → y₁ ↑ (W_h) h₀ (初始隐藏状态) 时间步 t2: x₂ → (W_x) → [RNN Cell] → h₂ → (W_y) → y₂ ↑ (W_h) h₁ 时间…...

【Qt-信号与槽】connect函数的用法

&#x1f3e0;个人主页&#xff1a;Yui_ &#x1f351;操作环境&#xff1a;Qt Creator &#x1f680;所属专栏&#xff1a;Qt 文章目录 1.信号和槽的概念1.1 信号的本质1.2 槽的本质1.3 补充说明2. 信号和槽的使用2.1 connect函数介绍2.2 connect函数的简单使用2.2.1 图形化方…...

sql深入学习

文章目录 前言知识学习注释的两种形式字符型注入万能密码 布尔盲注报错注入堆叠注入时间盲注二次注入 小技巧 前言 这次学习建立在对数据库有基本的认识&#xff0c;了解基础的增删改查语句&#xff0c;数字型注入和字符型注入的基础上&#xff0c;进一步深入学习知识&#xf…...

Canvas修仙传·第三重天金丹境(上集) ——九转游戏开发心法之《灵蛇奇谭》

各位道友,历经前两重天的修炼,恭喜诸位突破"动画"与"交互"桎梏!今日我们将解锁Canvas修仙路上第一个质变境界——将代码炼化为游戏元神!(ノ◕ヮ◕)ノ*:・゚✧ 章前黑话词典 🔍 金丹境术语表: 游戏循环(Game Loop):驱动游戏逻辑的灵气泵状态机(Sta…...

Matplotlib基础知识总结

1、简介 安装使用pip install matplotlib命令即可&#xff1b; 2、基本绘图流程 3、pyplot基础语法 &#xff08;1&#xff09;创建画布与创建子图 figure语法说明&#xff1a;figure(numNone, figsizeNone, dpiNone, facecolorNone, edgecolorNone, frameonTrue)&#xff1…...

linux vim 撤销 回退操作

在Linux的vim编辑器中&#xff0c;撤销和回退操作是非常基本的&#xff0c;但它们可以通过不同的方式实现&#xff0c;具体取决于你想要的精确效果。下面是一些常用的方法&#xff1a; 1. 撤销&#xff08;Undo&#xff09; 单个撤销&#xff1a; 你可以通过按下u键来撤销上一…...

kubernetes Device Plugin原理与源码分析

一、背景与核心概念 1.1 Kubernetes设备管理演进之路 1.1.1 Extended Resource的局限性 在Kubernetes早期版本中&#xff0c;管理非标准硬件资源&#xff08;如GPU、FPGA&#xff09;主要依赖 Extended Resource&#xff08;扩展资源&#xff09; 机制&#xff0c;Extended …...

天佐.乾坤袋 基于抽屉式文件存储的NoSql数据库

天佐.乾坤袋 天佐.乾坤袋 简介 天佐.乾坤袋 基于抽屉式文件存储的NoSql数据库&#xff0c;可用于文件打包&#xff0c;数据整合&#xff0c;加密存放等多种用途。可以方便快捷的搭建和部署存储应用的系统。 传说: 弥勒所有&#xff0c;专做储物之用。拥有不可思议之力&#x…...

Spring Boot 消息队列(以RabbitMQ为例)

文章目录 RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装 Spring Boot 集成 RabbitMQ1. 创建 Spring Boot 项目2. 配置 RabbitMQ3. 定义消息队列和交换机4. 发送消息5. 接收消息6. 测试消息发送和接收 RabbitMQ 简介与安装 1. RabbitMQ 简介 RabbitMQ 是一个开源的消息…...

深度学习原理与Pytorch实战

深度学习原理与Pytorch实战 第2版 强化学习人工智能神经网络书籍 python动手学深度学习框架书 TransformerBERT图神经网络&#xff1a; 技术讲解 编辑推荐 1.基于PyTorch新版本&#xff0c;涵盖深度学习基础知识和前沿技术&#xff0c;由浅入深&#xff0c;通俗易懂&#xf…...

WPF-ReactiveUi

文章目录 依赖属性和命令的绑定弱绑定强绑定界面后台的cs文件强捆绑方式定义属性和命令第一种方法第二种方法第三种方法动态数据集合whenAny监听单个监听单个对象的多个属性监听多个对象对各属性whenAnyValue例程一例程二WhenAnyValue属性WhenAnyValue(x => x.SearchTerm)Th…...

和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设

气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连&#xff0c;发挥着不可替代的重要作用。人工智能技术的迅猛发展&#xff0c;为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息&#xff0c;助力人类更精准地把握自然规律&am…...

把GB型材库放入solidwork中点击库无法应

1、文件夹的位置要选择对&#xff0c;如下图&#xff1a; 2、文件夹一定要嵌套三层&#xff0c;如下图...

论文写作指南

一、论文的核心结构 1. 标题&#xff08;Title&#xff09; 要求&#xff1a; 简洁明确&#xff0c;体现核心研究内容&#xff08;一般不超过20字&#xff09;。 避免模糊词汇&#xff08;如“研究”“探讨”&#xff09;&#xff0c;可包含关键词。 示例&#xff1a; 《关…...

构建安全的Docker基础镜像:从最佳实践到自动化加固

引言 容器化技术的普及使得Docker镜像成为软件交付的核心载体,但镜像中的安全漏洞、敏感信息泄露和权限配置不当等问题可能引发严重风险。本文结合OWASP容器安全指南与一线运维经验,系统化讲解如何构建安全的Docker基础镜像,覆盖镜像构建、依赖管理、运行时防护全链路,并提…...

(动态规划 最大(连续)子数组和)leetcode 53

这道题和上个文章(动态规划 最长连续递增子序列&#xff09;leetcode 674有异曲同工之妙&#xff0c;本质是一样的&#xff0c;只是这个题更基础一点 递推公式中dp[i]max(dp[i],dp[i]dp[i-1])&#xff0c;可以发现&#xff0c;这里如果是背包问题&#xff0c;不取应该是max(dp…...

Python Cookbook-2.20 在 Python 的搜索路径中寻找文件

任务 一个大的 Python 应用程序包括了资源文件(比如 Glade 项目文件、SQL 模板和图片)以及 Python 包(Python package)。你想把所有这些相关文件和用到它们的 Python 包储存起来。 解决方案 可以在 Python 的 sys.path 中寻找文件或目录: import sys&#xff0c;os class E…...

3.对象生活的地方—Java环境搭建

1、你要养鱼&#xff0c;总得先有一个鱼塘吧。挖一个鱼塘来养鱼&#xff0c;你需要去做下面这些事情&#xff1a; 规划和设计&#xff1a;确定鱼塘的位置、大小和形状&#xff0c;绘制设计图。标记和测量&#xff1a;使用测量工具标记鱼塘的边界和深度。挖掘&#xff1a;使用挖…...

精品整理-2025 DeepSeek核心技术解析与实践资料合集(24份)

2025 DeepSeek核心技术解析与实践资料合集&#xff0c;共24份。 2025 DeepSeek 火爆背后的核心技术&#xff1a;知识蒸馏技术.pdf 2025 DeepSeek-R1详细解读&#xff1a;DeepSeek-R1-Zero和DeepSeek-R1分析.pdf 2025 DeepSeek-V3三个关键模块详细解读&#xff1a;MLAMoEMTP.pd…...

16.2 LangChain 表达式语言设计哲学:重新定义大模型应用开发范式

LangChain 表达式语言设计哲学:重新定义大模型应用开发范式 关键词:LCEL 设计哲学、声明式编程范式、生产级应用架构、流式处理优化、模块化组合 1. 核心设计目标全景图 mindmap root((LCEL设计目标)) 开发效率 声明式编程 类型提示系统 自动补全支持 工程可靠性 错…...

32位,算Cache地址

32位&#xff0c;算Cache地址...