寺庙做网站/seo教程seo优化

寺庙做网站,seo教程seo优化,鄂州做网站多少钱,高端网站网站设计代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下: 代理服务器的工作流程 当客户端希望访问某个网站(比如 example.com)时&…

代理服务器的核心功能是在客户端(用户设备)和目标服务器(网站/资源服务器)之间充当“中介”,具体过程如下:

代理服务器的工作流程

当客户端希望访问某个网站(比如 example.com)时:

  1. 客户端向代理服务器发送请求

    • 用户(浏览器/应用)发送 HTTP 或 HTTPS 请求,而不是直接访问 example.com,而是先把请求发送到代理服务器
    • 这个请求通常包含 目标地址(example.com)、用户数据(如 Cookie)、HTTP 头部(如 User-Agent)
  2. 代理服务器接收请求并解析

    • 代理服务器解析请求,看它是要访问哪个网站,是否已经有缓存数据。
    • 如果是 HTTP 请求,代理服务器可以完全读取请求的内容。
    • 如果是 HTTPS 请求,通常代理服务器只能看到目标地址,无法直接查看数据(除非使用中间人代理,稍后讲)。
  3. 代理服务器处理请求

    • 代理服务器决定如何处理这个请求,有几种可能:
      • 缓存命中:如果这个资源已经被缓存,代理服务器可以直接返回缓存内容,而不去请求目标服务器。
      • 转发请求:如果没有缓存,代理服务器就会 以自己的身份 代表用户去访问 example.com
      • 内容过滤:少部分代理服务器会检查 URL,如果是被禁止的网站(如某些公司禁止访问社交网站),代理服务器可能会拦截请求,返回错误信息。
  4. 代理服务器向目标服务器发送请求

    • 如果代理决定转发请求,它会 使用自己的 IP 地址example.com 发送 HTTP 请求,而不是使用客户端的 IP。
    • 在目标服务器看来,这个请求是来自代理服务器,而不是来自真实的客户端。
  5. 目标服务器返回响应

    • 目标服务器(example.com)收到代理服务器的请求,生成响应(如 HTML 页面、JSON 数据等)。
    • 这个响应被发回代理服务器。
  6. 代理服务器处理响应

    • 代理服务器可能会:
      • 缓存响应:如果这个内容可以重复使用,它可能会存到本地缓存,以便下次有人请求时可以更快地返回数据。
      • 修改响应:某些代理可能会修改返回的内容,比如给网页加上广告,或者删除某些敏感内容。
  7. 代理服务器把响应转发给客户端

    • 最终,代理服务器会把响应返回给客户端,客户端认为自己是直接访问了 example.com,但实际上整个过程是通过代理完成的

-----------------

unity的Toolbox插件

上方的输入栏可以输入提示词,输入好之后,点击下方的Generate会根据这段话自动生成脚本。也可以按快捷键Ctrl+Enter或者Cmd+Return
右侧的两个按钮可以查看上一段提示词和下一段提示词。
点击AdavancedOptions可以设置几个参数。
Temperature
脚本生成的随机度。
数值越大,脚本生成得就越随机。
数值为0,则脚本的生成是严格固定的。
Timeout
向chatGPT发送信息时,是否考虑超时。
勾选后,下方会出现一个Seconds参数,例如它的值是90,则表示如果90秒过后,chatGPT也没有回应我们,则视为超时,此时会断开
连接。
Save to histroy
勾选后,我们每次写的提示词都会被记录下来,可以点击右侧的“History”查看。
取消勾选,则我们每次写的提示词都不会被记录下来。

-------------

一般也不是作者,不会改别人代码,容易出问题

AICommand,,2021用的好像有点问题,不能在Project Setting里看到生成的AI Command一栏
1、点击“Run"按钮,则会把我们输入的提示词以消息的形式发送给ChatGPT
2、ChatGPT回复我们消息
3、利用回复的代码内容生成一个临时的C#文件
4、通过编辑器扩展的方法来执行这个C#文件夹

-----

所以可以做的是对场景上的物体增删查改,对文件夹增删查改

通过生成临时文件,在unity中达到修改的作用

删除临时文件

1. 域名本质上只是一个“地址”

  • example.comexample.net 只是不同的“地址”指向不同的服务器,但它们可以运行完全相同的网站代码。
  • 只要服务器上有网站的副本,并且 DNS 指向正确的 IP,它就是一个新的站点

2. 访问限制、SEO 和封锁

  • 某些国家/地区会封锁特定域名(如 chat.openai.com),但新域名(如 chatgpt-cn.com)可能不会被立即封锁。
  • 搜索引擎会认为 example.comexample.net 是两个不同的网站,它们的搜索排名可信度也可能不同。
  • 一些镜像站利用这个原理,在旧域名被封锁后,换新域名重新上线

使用GPT接入unity

--------

----------

-----------

private是设置给自己的,这样一想这些修饰符就有意思了

----

Trigger要保持default层,这样才可以被玩家检测到,父物体则要保持在item层,这样才可以和Ground 层正常的产生碰撞检测

掉落的物品,用这样的prefab去做好,然后更换里面的Item的信息

  • equipment / equipmentDictionary存储角色装备

    • equipment(列表)存储 当前角色已装备的物品
    • equipmentDictionary(字典)提供 快速查询装备的功能
  • inventory / inventoryDictionary存储背包中的物品

    • inventory(列表)存储 玩家背包里的物品(顺序存储)。
    • inventoryDictionary(字典)提供 查找某个物品的快速方法
  • stash / stashDictionary存储仓库(可能是存放物品的临时存储)

    • stash(列表)存储 仓库里的物品
    • stashDictionary(字典)提供 快速查找仓库中的物品

首先都是掉落物,都是可以拾取的,

但作用不同,分为不同的种类,材料是只能用来消耗,装备是可以用来穿脱,药品也是可消耗,但影响角色的数值

在分出ItemData_Equipment之后,这个类里都是共同拥有可穿脱,影响角色的数值的方法实现

而在这里分出枚举,则是基于常规的游戏的概念设计,是一种简单的概念区分,而功能依然相同,固用枚举达到小范围划分

Unity 的 Assets 菜单下 自定义 "Create"(创建) 选项,让你创建自定义的 ScriptableObject、Prefab、Texture 或其他自定义资源

using UnityEngine;[CreateAssetMenu(fileName = "NewItem", menuName = "Inventory/Item")]
public class Item : ScriptableObject
{public string itemName;public Sprite icon;public int value;
}
using UnityEditor;
using UnityEngine;public class CustomPrefabCreator
{[MenuItem("Assets/Create/Custom Prefab", false, 50)]static void CreatePrefab(){GameObject newObject = new GameObject("CustomPrefab");PrefabUtility.SaveAsPrefabAsset(newObject, "Assets/NewPrefab.prefab");Object.DestroyImmediate(newObject);}
}

------------

每次修改物品数值之后,都直接调用这个方法,传入item 的info类,在slot 上展示,如果slot不够了则自动添加新的slot游戏对象到场景,然后传入item的info类,把item的图片和数量信息来修改自身物体上的 view

MVC模式(Model-View-Controller)

TMP 需要额外的 .asset 文件(字体资源文件)

Unity 提供了自动转换工具

  • Window -> TextMeshPro -> TextMesh Pro UGUI Converter
  • 一键转换 旧 UI TextTMP_Text

为什么需要额外的 TMP_FontAsset 文件?

  • 传统 Text 直接使用 .ttf / .otf(TrueType / OpenType 字体)。
  • TMP 需要转换 .ttf / .otf 生成 字体图集(Font Atlas)
    • TMP_FontAsset 预计算 字符数据,渲染时不再依赖外部 .ttf
    • 好处:字体加载更快,减少性能消耗。

🌟 生成 TMP 字体的方式

  1. 导入 .ttf / .otf
  2. 右键 → Create -> TextMeshPro -> Font Asset
  3. 生成 TMP_FontAsset*.asset
  4. TMP 组件里使用这个字体

动态/静态字体模式

  • TMP 允许创建静态字体(预渲染)动态字体(运行时生成),适用于不同项目需求。
  • TextMeshPro 生成 预计算的字体图集(Font Atlas),在 GPU 端渲染,避免每次动态生成字体。
  • 这减少了 Draw Call,提高性能,特别适用于移动设备。

TMP 使用 Signed Distance Field (SDF) 渲染字体,确保字体在缩放时不会模糊或失真。

为什么 Unity 需要 TextMeshPro (TMP)

在 Unity 早期的 UI 设计中,默认使用 UI Text(即 Text 组件)来显示文字,它直接依赖于系统字体,但有以下问题:

  1. 字体质量差:默认 Text 组件在缩放时字体会变模糊,没有清晰的边缘。
  2. 性能问题:Unity Text 组件在 UI 里动态生成字体纹理(Font Atlas),影响渲染性能。
  3. 缺少高级排版功能:例如富文本、阴影、描边、间距控制等,默认 Text 很难实现。

所以,Unity 引入了 TextMeshPro (TMP) 作为 替代方案,提供更高质量、更强性能的文本渲染

功能Unity 旧 TextTextMeshPro (TMP)
字体清晰度模糊,放大失真🔥 清晰,矢量字体
性能CPU 生成位图,低效🔥 GPU 直接渲染,优化字体管理
排版仅支持基本文本🔥 支持阴影、描边、字距
富文本基础 <b><i>🔥 完整富文本 + 超链接
多语言支持仅支持系统字体🔥 可自定义字体资源,支持 Unicode

---------------------

using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;public class InventoryUI : MonoBehaviour
{public GameObject itemSlotPrefab;  // 物品 UI 预制体public Transform inventoryPanel;   // 背包 UI 父对象public Inventory inventory;        // 关联的 Inventory 组件void Start(){UpdateUI();}// 更新 UI 显示public void UpdateUI(){// 清空旧 UIforeach (Transform child in inventoryPanel){Destroy(child.gameObject);}// 遍历背包中的物品foreach (Item item in inventory.items){GameObject slot = Instantiate(itemSlotPrefab, inventoryPanel);slot.transform.Find("ItemImage").GetComponent<Image>().sprite = item.itemIcon;slot.transform.Find("ItemQuantity").GetComponent<Text>().text = item.quantity.ToString();}}
}

C# 中,普通的 class不能直接在 Unity Inspector 面板显示的。但是,如果你给 添加 [System.Serializable],Unity 就能在 Inspector 中显示它的内容

------

  • 所有物品 UI 显示在 Grid Layout,自动排列在同一地方。
  • UI 和数据分离Inventory 负责数据,InventoryUI 负责 UI 动态更新
  • 支持动态添加、合并、移除物品,并自动更新 UI。

🎯 这样就可以做出一个合理的 "背包系统",并让多个物体在同一地方显示!

public void UseItem(string itemName)
{Debug.Log($"使用了 {itemName}");inventory.RemoveItem(itemName, 1);UpdateUI();
}

Unity UI 里,创建 ItemSlot UI 预制体

  • ItemImageImage 组件):用于显示 物品图标
  • ItemQuantityText 组件):用于显示 物品数量

InventoryUI 中,所有的 ItemSlot UI 预制体都实例化在 inventoryPanel(Grid Layout)里,这样它们会整齐排列在 一个 UI 界面,例如:

🌟 Grid Layout Group

  1. Canvas 中创建 Panel,命名为 InventoryPanel
  2. InventoryPanel 添加 Grid Layout Group 组件
    • Cell Size 调整为合适大小。
    • Spacing 控制间距。
    • Constraint → Fixed Column Count 让物品按列排列。

这样,所有 ItemSlot 物品 UI 都会自动排列在一个地方,形成一个整齐的背包界面。

----------------

用ItemData继承 了ScriptableObject

方案

适用场景影响范围物理性能复杂度
Layer-Based 碰撞矩阵适用于全局层级控制全局高效
Collider + IsTrigger只想检测但不碰撞仅触发检测高效
Physics.IgnoreCollision仅忽略特定对象间的碰撞局部适中
Physics.IgnoreLayerCollision动态控制整层碰撞忽略整层适中

玩家的collider---敌人collider不产生碰撞挤压只检测,而敌人的collider依然正常检测地形

方法二void OnTriggerEnter(Collider other)
{if (other.CompareTag("Enemy")){Debug.Log("检测到敌人,但不会发生碰撞");// 在这里处理敌人检测逻辑}
}
-----------------------
方法三void Start()
{Collider playerCollider = GetComponent<Collider>();Collider enemyCollider = GameObject.FindWithTag("Enemy").GetComponent<Collider>();if (playerCollider && enemyCollider){Physics.IgnoreCollision(playerCollider, enemyCollider);}
}
-----------------------
方法四void Start()
{Physics.IgnoreLayerCollision(LayerMask.NameToLayer("PlayerIgnoreEnemy"), LayerMask.NameToLayer("Enemy"), true);
}

基础的

Manager 类型作用例子
GameManager管理游戏状态控制分数、关卡、场景
AudioManager管理音效播放音乐、控制音量
EnemyManager控制敌人生成、删除敌人
UIManager负责 UI 交互更新分数、显示 UI
SceneManager控制场景切换、加载资源
AudioClip randomClip = musicClips[Random.Range(0, musicClips.Length)];
audioSource.PlayOneShot(randomClip);
Vector3 spawnPosition = new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10));
Instantiate(enemyPrefab, spawnPosition, Quaternion.identity);

Random.InitState(12345); // 设置随机种子,保证结果可复现

生成随机旋转

随机粒子效果(如爆炸碎片

Vector2 randomPoint = Random.insideUnitCircle; // 返回一个在单位圆内的随机点
Vector3 randomPoint = Random.insideUnitSphere * 5; // 半径 5 的球体范围内随机点
int randomInt = Random.Range(1, 10); // 生成 1~9 的整数(不包含 10)
float randomFloat = Random.Range(1.0f, 10.0f); // 生成 1.0~10.0 之间的浮点数(包含 10.0)
  • 随机敌人生成
  • 随机掉落物
  • 随机天气、地图
  • 随机 AI 行为
  • 随机动画、特效

----------

对于游戏内技能是否可使用的,只是一个简单的对接

这应该是UI部分的管理

我可以把学习的技能拖动到板块区域,留下技能的图片,然后在使用后保持冷却的动画变化

然后对应到技能拖动的问题上,那要如何解决呢

对于skill类的管理,,每个skill都要有自己的可控开关,做到关了就不能使用

多场景同时加载

如果你想让多个游戏共用某些场景(比如 UI 场景),可以用 LoadSceneMode.Additive

SceneManager.LoadScene("NewScene", LoadSceneMode.Additive);

这样 当前场景不会被卸载,可以让多个游戏共用 UI、音乐管理器等资源

-----------------

适合在一个 Unity 项目里切换多个游戏场景: 小游戏合集(Mini Game Collection)(如 WarioWare
游戏内置不同模式(如 FPS + 竞速 + 解谜)
元宇宙式的游戏(多个独立场景但共享数据)

但如果是完全不同的游戏(比如 FPS + 卡牌游戏 + 2D 平台游戏),建议拆分成多个项目开发,否则维护成本会很高。

合理划分 Resources 目录,不要放太多无关资源

不同游戏可能有不同的游戏机制、UI 交互、输入处理,如果全部放在一个项目里,可能会导致代码难以维护

  • 使用 ScriptableObject 作为全局配置,管理不同场景的游戏状态。
  • 模块化开发
    • 每个游戏的核心逻辑封装成独立的 Manager,避免不同游戏的代码互相干扰。
    • 使用不同的 GameManager,每个场景加载时,自动激活对应的 GameManager

-----------

DontDestroyOnLoad保留主管理器对象,防止每次切换场景都重新初始化所有数据。

  • 每次切换场景 都需要 卸载当前场景,再加载新场景,如果场景资源太大,可能会导致加载卡顿
  • 在移动端或 WebGL,大场景切换时可能会触发内存回收(GC),导致掉帧。

优化方案

  • 异步加载场景SceneManager.LoadSceneAsync()):
IEnumerator LoadNewScene(string sceneName)
{AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);while (!asyncLoad.isDone){yield return null;}
}

-----------

  • 每个场景都会加载自己的资源(贴图、模型、音频等),如果不优化,可能会导致大量内存消耗,尤其是在场景切换时容易引发卡顿或崩溃
  • 多个游戏共用的资源 可能会重复加载,增加RAM 和 VRAM 占用

 优化方案

  • 使用 Addressables 资源管理系统(推荐) → 让不同场景的资源按需加载,不会一次性占满内存。
  • 使用 AssetBundle → 可以让不同场景的资源独立存储,减少重复占用。

通过list可以存储键位,每一帧按下了什么键,进行判断

---路子选错了---

单例模式的确保,,如果在某些情况下,场景切换下,额外创建了PlayerManager游戏物体,那就自我销毁

更需要注意的是,我新加的这些代码,相对原来的是否会产生影响,如果可以,则尽量不要影响,所以剥离代码,在后期设置一个PlayerManager类管理之类的,对原来的并不会产生影响

所以这些步骤就看自己的认知是否已经认为这没有问题了

Interpolate(插值模式)

  • 作用:决定该刚体在 每帧更新时的平滑程度,用于减少物体运动的“卡顿”或“抖动”。
  • 选项
    • None(无插值):物体可能会因为 低帧率 造成抖动。
    • Interpolate(插值):使用上一帧的数据 平滑当前帧的运动,适用于 60FPS 以下 的情况。
    • Extrapolate(外推):使用当前帧的趋势 预测下一帧的运动,适用于 极高速度物体

Collision Detection(碰撞检测模式)

  • 作用:决定 Unity 如何检测该刚体的 碰撞,防止物体穿透墙壁或地面。
  • 选项
    • Discrete(离散):默认值,性能高,但可能会导致高速移动物体“穿透”其他物体。
    • Continuous(连续):更精确的碰撞检测,适用于 高速物体(如子弹、投掷物)。

当前值:Continuous,适用于防止物体在高速运动时“穿透”其他物体

Mass物体质量1(默认质量)
Linear Drag线性阻力(空气阻力)0(无额外空气阻力)
Angular Drag角阻力(旋转阻力)0.05(微小旋转阻力)
Gravity Scale重力缩放3.5(比标准重力更快下落)

Simulated(是否启用物理)

  • 作用:勾选后,该刚体会参与物理计算;否则会被 Unity 忽略(即使它有碰撞体)。
  • 适用场景
    • 动态开关物理效果(如切换“暂停”状态)。
    • 临时禁用物理计算 以提高性能。

当前值:✅(启用物理),表示该物体的物理计算是生效的。

Material(物理材质)

  • 作用:控制该刚体的 摩擦力弹性(反弹)
  • 默认值None,即没有特殊物理材质。

如果想要增加弹性或摩擦力,可以分配一个 Physics Material 2D

Body Type(刚体类型)

  • 作用:决定刚体的 物理行为
  • 选项
    • Dynamic(动态):该物体受 物理引擎 控制(重力、碰撞、外力影响)。
    • Kinematic(运动学):不受物理引擎影响,只能通过代码 transform.positionRigidbody2D.MovePosition() 进行移动。
    • Static(静态):不会移动,适用于 地面、墙壁 等固定物体。

当前值:Dynamic,表示该物体会受 重力外力 影响,可以与其他刚体发生碰撞。

Enemy是entity的子类,都是从Player里剥离出来的逻辑,但这也并没有限制住,Enemy都必须继承这个类,,对于特殊机制的BOSS和精英怪什么的,完全可以直接写出Enemy2Enemy3等等,是延续了可改性的

本来一直以为继承和多态这些东西,都是要提前规划好非常细致的规范,才可以起作用,看了Alex Dev做这个游戏,对重写和继承的使用,,才发现也可以是灵活的,反向剥离的,妙

Python

在 Python 里,elif 就是 else if 的缩写

.strip() 是一个字符串方法,它会去掉字符串两边的空格、换行符等无效字符。

text = "   Hello, Python!   "
print(text.strip())  # 去掉前后空格

在 Python 的 in 关键字 检查字典时,它默认检查 键(key) 是否存在

choices = {"剪刀": 1, "石头": 0, "布": 2}print("剪刀" in choices)  # ✅ True
print("剪刀" in choices.keys())  # ✅ True
print("1" in choices)  # ❌ False (因为 `1` 不是键,而是值)
print(1 in choices.values())  # ✅ True

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux+apache之 浏览器访问云服务器磁盘的图片,通过tomcat

https://javab.blog.csdn.net/article/details/80580520 安装tomcact 修改添加 <Context docBase"/home/wyp/images" path"/img" debug"0" reloadable"true" />修改完成后保存重启tomcat服务。 测试访问方式&#xff1a;http…

LIUNX学习-线程

线程概念 一个进程需要访的大部分资源&#xff0c;诸如自身的代码、数据、new\malloc的空间数据、命令行参数和环境变量、动态库、甚至是系统调用访问内核代码…都是通过虚拟地址空间来访问的。换而言之&#xff0c;进程地址空间是进程的资源窗口&#xff01;&#xff01;   …

1.Big-endian/ little endian大端对齐、小端对齐

一、大端模式、小端模式的介绍 Little endian&#xff1a;是低位字节排放在内存的低地址端、高位字节排放在内存的高地址端。 Big-endian&#xff1a;是高位字节排放在内存的低地址端、低位字节排放在内存的高地址端。 西门子是大端模式&#xff0c;因为比如 MW100 MB100(高位…

SpringBoot Actuator

SpringBoot Actuator 一、简介二、入门1、依赖2、默认监控指标3、查询监控指标4、全量监控指标 三、Spring Boot Admin1、主要功能2、Admin3、Client4、应用墙5、其他 四、定制化1、定制Health端点2、定制Info端点3、定制Metrics端点4、定制Endpoint端点 一、简介 SpringBoot自…

06 HarmonyOS Next性能优化之LazyForEach 列表渲染基础与实现详解 (一)

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 目录 一、代码结构概览二、详细代码解析1. 数据源管理实现2. 数据结构定义3. 优化的列表项组件4. 主列表组件实现 一、代码结构概览 本文将详细解…

vscode 查看3d

目录 1. vscode-3d-preview obj查看ok 2. vscode-obj-viewer 没找到这个插件&#xff1a; 3. 3D Viewer for Vscode 查看obj失败 1. vscode-3d-preview obj查看ok 可以查看obj 显示过程&#xff1a;开始是绿屏&#xff0c;过了1到2秒&#xff0c;后来就正常看了。 2. vsc…

excel 斜向拆分单元格

右键-合并单元格 右键-设置单元格格式-边框 在设置好分割线后&#xff0c;你可以开始输入文字。 需要注意的是&#xff0c;文字并不会自动分成上下两行。 为了达到你期望的效果&#xff0c;你可以通过 同过左对齐、上对齐 空格键或使用【AltEnter】组合键来调整单元格中内容的…

家政保洁维修行业有没有必要做小程序?

【家政创业必看】家政行业小程序值得做吗&#xff1f;4大核心优势告诉你&#xff01; 随时随地下单&#xff1a;客户手机一键预约&#xff0c;告别找电话/翻页面的麻烦 品牌专业升级&#xff1a;精美界面服务详情用户评价&#xff0c;打造可信赖形象 营销神器&#xff1…

libcoap在Ubuntu下的编译(基于CMake)

引言 libcoap 是一个开源的轻量级 C 语言库&#xff0c;用于实现 CoAP&#xff08;Constrained Application Protocol&#xff0c;受限应用协议&#xff09;。CoAP 是一种专为资源受限设备设计的轻量级通信协议&#xff0c;适用于物联网&#xff08;IoT&#xff09;和嵌入式系…

VSCode知名主题带毒 安装量900万次

目前微软已经从 Visual Studio Marketplace 中删除非常流行的主题扩展 Material Theme Free 和 Material Theme Icons&#xff0c;微软称这些主题扩展包含恶意代码。 统计显示这些扩展程序的安装总次数近 900 万次&#xff0c;在微软实施删除后现在已安装这些扩展的开发者也会…

如何快速的解除oracle dataguard

有些时候&#xff0c;我们为了使oracle dg的standby库另做他用&#xff0c;需要解除oracle dataguard数据同步。我本地因为standby库存储出现故障&#xff0c;导致dg存在问题&#xff0c;故需要解除。今天&#xff0c;我们通过使用部分命令&#xff0c;实现dg的快速解除。 1&a…

Windows系统编程(七)HotFixHook

InoolineHook需要读写两次内存&#xff08;先HOOK&#xff0c;再还原&#xff09;&#xff0c;这种Hook方式&#xff0c;性能比较低&#xff0c;具有局限性。今天所讲的HotFixHOOK&#xff08;热补丁&#xff09;是InlineHook的升级版 Win32 API特殊性 Win32API的实现代码有这…

TCP通讯与基于C#TCP通讯,跨窗收发消息Demo

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。它广泛应用于互联网中的数据通信&#xff0c;如网页浏览、文件传输、电子邮件等。以下是TCP通信的基本概念和工作原理&#xff1a; 1. TCP的特点 面向连接&#xff1a;通信前…

【有源码】仿DeepSeek问答网站+SpringBoot+VUE3+对接DeepSeek API

今天带来一款优秀的项目&#xff1a;仿DeepSeek问答网站。 功能和官网差不多&#xff0c;也有历史上下文&#xff0c;流失对话等。 本文介绍了系统功能与部署安装步骤&#xff0c;如果您有任何问题&#xff0c;也请联系学姐&#xff0c;偶现在是经验丰富的程序员&#xff01; …

Ubuntu20.04双系统安装及软件安装(七):Anaconda3

Ubuntu20.04双系统安装及软件安装&#xff08;七&#xff09;&#xff1a;Anaconda3 打开Anaconda官网&#xff0c;在右侧处填写邮箱&#xff08;要真实有效&#xff01;&#xff09;&#xff0c;然后Submit。会出现如图示的Success界面。 进入填写的邮箱&#xff0c;有一封Ana…

洛谷 P2142 高精度减法(详解)c++

题目链接&#xff1a;P2142 高精度减法 - 洛谷 1.题目 2.算法原理 解法:模拟列竖式计算的过程 先用字符串读入&#xff0c;然后拆分每一位&#xff0c;逆序放进数组中利用数组&#xff0c;模拟列竖式减法的过程 在这两步之前要多加一步&#xff0c;在模拟解法的过程&#…

微服务组件详解——sentinel

1.启动sentinel&#xff1a; 下载jar sentinel-dashboard-1.8.0.jar 使用以下命令直接运行 jar 包&#xff08;JDK 版本必须≥ 1.8&#xff09;&#xff1a; java -Dserver.port9999 -jar D:\sentinel-dashboard-1.8.0.jar 控制台访问地址&#xff1a;http://localhost:9999…

AI数据分析:deepseek生成SQL

在当今数据驱动的时代&#xff0c;数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展&#xff0c;AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行自动补全SQL 查询语句。 我们都知道&#xff0c;SQL 查询语…

动态规划01背包问题系列一>目标和

目录 题目分析及优化&#xff1a;状态表示&#xff1a;状态转移方程&#xff1a;初始化&#xff1a;填表顺序&#xff1a;返回值&#xff1a;代码呈现&#xff1a;优化&#xff1a;代码呈现&#xff1a; 题目分析及优化&#xff1a; 状态表示&#xff1a; 状态转移方程&#xf…

Linux 基础---sudo权限 修改文件所属人、用户所属组

sudo 概念&#xff1a;让普通用户使用管理员权限执行一些操作&#xff08;root&#xff09; 在命令前加上sudo 即可 修改文件所属人、所属组