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

每日一题——Python实现PAT乙级1028 人口普查 Keyboard(举一反三+思想解读+逐步优化)六千字好文


一个认为一切根源都是“自己不够强”的INTJ

个人主页:用哲学编程-CSDN博客
专栏:每日一题——举一反三
Python编程学习
Python内置函数

Python-3.12.0文档解读

目录

题目链接​编辑我的写法

专业点评

时间复杂度分析

空间复杂度分析

总结

我要更强

优化代码

优化解释

进一步优化

总结

哲学和编程思想

1. KISS (Keep It Simple, Stupid)

2. DRY (Don't Repeat Yourself)

3. YAGNI (You Aren't Gonna Need It)

4. Separation of Concerns

5. Single Responsibility Principle (SRP)

6. Efficient Input/Output Handling

7. Algorithmic Efficiency

8. Minimal State

9. Readability and Maintainability

10. Resource Management

举一反三

1. KISS (Keep It Simple, Stupid)

2. DRY (Don't Repeat Yourself)

3. YAGNI (You Aren't Gonna Need It)

4. Separation of Concerns

5. Single Responsibility Principle (SRP)

6. Efficient Input/Output Handling

7. Algorithmic Efficiency

8. Minimal State

9. Readability and Maintainability

10. Resource Management

举一反三的具体技巧


题目链接我的写法

# 输入一个整数N,表示接下来有N个人的名字和生日需要输入
N = int(input())# 初始化合理的生日数量
resonable_birthdays_num = 0# 初始化最年轻人的名字
youngest_name = ''# 初始化最年轻人的生日为一个非常早的日期
youngest_birthday = 18140905# 初始化最年长人的名字
oldest_name = ''# 初始化最年长人的生日为一个非常晚的日期
oldest_birthday = 20140907# 使用循环从1运行到N次,用于输入每个人的名字和生日
for i in range(N):# 输入名字和生日,使用空格分隔name, birthday = input().split()# 将生日中的斜杠替换为空,并转换为整数格式birthday = int(birthday.replace('/', ''))# 检查生日是否在合理的范围内if 18140906 <= birthday <= 20140906:# 如果生日合理,合理生日数量加1resonable_birthdays_num += 1# 更新最年长人的数据,如果当前生日比最年长人的生日早if birthday < oldest_birthday:oldest_name = nameoldest_birthday = birthday# 更新最年轻人的数据,如果当前生日比最年轻人的生日晚if youngest_birthday < birthday:youngest_name = nameyoungest_birthday = birthday# 如果有合理的生日,输出合理的生日数量、最年长人的名字、最年轻人的名字
if resonable_birthdays_num:print(resonable_birthdays_num, oldest_name, youngest_name)
# 如果没有合理的生日,输出0
else:print('0')

这段代码是一个用于处理生日信息的小程序,通过输入多个名字和生日,找出其中最年长和最年轻的人。下面是对这段代码的专业点评以及时间复杂度和空间复杂度的分析。

专业点评

  1. 输入处理:
    • 数字N的输入和处理逻辑非常清晰。
    • 使用split()方法分割名字和生日,使用replace()方法处理生日格式再转换为整数,这是合理的。
  2. 初始化:
    • 变量的初始化清晰且符合逻辑,特别是对最年轻和最年长生日的初始值设置非常好。
  3. 逻辑判断:
    • 使用合理的范围(18140906到20140906)来判断生日是否在合理范围内,符合实际需求。
    • 更新最年长和最年轻人的逻辑分开处理,且条件明确。
  4. 输出结果:
  • 合理地检查了合理生日的数量,并根据不同情况输出相应的结果。

时间复杂度分析

时间复杂度是用来分析算法执行时间随输入规模增长的变化情况。

  1. 变量初始化:
    • 初始化变量O(1)。
  2. 输入处理和循环:
    • 循环N次处理输入,每次处理包含字符串分割、替换和转换操作,这些操作的时间复杂度为O(1)。
    • 因此,循环部分的总时间复杂度为O(N)。
  3. 更新逻辑:
    • 在每次循环中更新合理生日数量、最年长和最年轻人的逻辑都是常数时间操作O(1)。
  4. 输出结果:
  • 最后的输出操作也是常数时间O(1)。

综合上述分析,整个程序的时间复杂度为O(N)。

空间复杂度分析

空间复杂度是用来分析算法在运行过程中占用的内存空间。

  1. 变量初始化:
    • 初始化了多个变量,这些变量的空间复杂度为O(1)。
  2. 输入处理:
  • 每次处理一个输入,存储名字和生日的临时变量,且这些变量在每次循环结束后会被释放。
  • 由于我们不存储所有输入数据,只进行逐个处理,因此空间复杂度为O(1)。

综合上述分析,整个程序的空间复杂度为O(1)。

总结

这段代码逻辑清晰且结构合理,能够高效地处理输入数据并找出最年长和最年轻的人的名字。其时间复杂度和空间复杂度均为有效的O(N)和O(1),表现良好。可以考虑在输入数据量非常大的情况下进一步优化,例如通过更高效的输入处理方法或并行处理,但对于一般情况,这段代码已经非常健壮和高效。


我要更强

在这段代码中,时间复杂度已经是O(N),空间复杂度是O(1)。在这种情况下,进一步优化时间复杂度是不可行的,因为我们需要遍历所有输入以找到最年长和最年轻的人。不过,我们可以通过一些方式来提升代码的可读性和效率,比如:

  1. 使用更高效的输入方式来优化批量输入。
  2. 减少不必要的变量赋值来优化空间使用。

下面给出一些优化建议和相应的代码:

使用更高效的输入方式

在Python中,可以使用sys.stdin.read来一次性读取所有输入,然后逐行处理,这可能会提高大量输入情况下的速度。

合并部分逻辑

将最年长和最年轻人的检查逻辑合并到一次判断中。

优化代码

下面是优化后的代码:

import sys# 从标准输入读取所有数据
input_data = sys.stdin.read().strip().split('\n')# 第一个输入为整数N,表示接下来有N个人的名字和生日需要输入
N = int(input_data[0])# 初始化合理的生日数量
resonable_birthdays_num = 0# 初始化最年轻人的名字
youngest_name = ''# 初始化最年轻人的生日为一个非常早的日期
youngest_birthday = 18140905# 初始化最年长人的名字
oldest_name = ''# 初始化最年长人的生日为一个非常晚的日期
oldest_birthday = 20140907# 使用循环从1运行到N次,用于输入每个人的名字和生日
for i in range(1, N + 1):# 输入名字和生日,使用空格分隔name, birthday = input_data[i].split()# 将生日中的斜杠替换为空,并转换为整数格式birthday = int(birthday.replace('/', ''))# 检查生日是否在合理的范围内if 18140906 <= birthday <= 20140906:# 如果生日合理,合理生日数量加1resonable_birthdays_num += 1# 更新最年长或最年轻人的数据if birthday < oldest_birthday:oldest_name = nameoldest_birthday = birthdayif birthday > youngest_birthday:youngest_name = nameyoungest_birthday = birthday# 如果有合理的生日,输出合理的生日数量、最年长人的名字、最年轻人的名字
if resonable_birthdays_num:print(resonable_birthdays_num, oldest_name, youngest_name)
# 如果没有合理的生日,输出0
else:print('0')

优化解释

  1. 输入优化:
    • 使用sys.stdin.read()一次性读取所有输入数据并分割为行,这在处理大量输入时比逐行调用input()更高效。
  2. 减少变量赋值:
  • 合并最年轻和最年长人的判断逻辑,减少重复的条件判断和变量赋值操作。

进一步优化

在目前这段代码的时间复杂度和空间复杂度都已经是较优的状态。时间复杂度是O(N),空间复杂度是O(1)。在这种情况下,进一步优化主要体现在代码可读性和执行效率的小提升上。

总结

对于这个问题,进一步的优化空间有限。主要优化方向在于提高输入效率和减少冗余的代码。上述代码已经尽可能地优化了时间复杂度和空间复杂度,同时保持了代码的可读性和易维护性。


哲学和编程思想

在优化和重构代码的过程中,我们运用了多种编程思想和软件设计哲学。这些思想和哲学帮助我们编写更高效、可维护且可读性更好的代码。以下是具体说明:

1. KISS (Keep It Simple, Stupid)

尽量保持代码简单明了。复杂的解决方案容易引发错误且难以维护。我们在优化代码时,通过减少不必要的变量赋值和合并逻辑判断,保持了代码的简单性。

  • 应用例子: 合并最年长和最年轻人判断的逻辑。
if birthday < oldest_birthday:oldest_name = nameoldest_birthday = birthday
if birthday > youngest_birthday:youngest_name = nameyoungest_birthday = birthday

2. DRY (Don't Repeat Yourself)

避免代码重复,尽量使用统一的代码块来处理相似的任务。减少重复的代码不仅可以减少错误的发生,还能使代码更加简洁。

  • 应用例子: 合并生日范围判断后的逻辑处理。
if 18140906 <= birthday <= 20140906:resonable_birthdays_num += 1if birthday < oldest_birthday:oldest_name = nameoldest_birthday = birthdayif birthday > youngest_birthday:youngest_name = nameyoungest_birthday = birthday

3. YAGNI (You Aren't Gonna Need It)

只实现当前需要的功能,而不是预先考虑所有可能的功能需求。这样可以避免代码变得臃肿和复杂。

  • 应用例子: 只关注合理生日数量、最年长和最年轻人的逻辑处理,而没有引入额外不必要的功能。

4. Separation of Concerns

将不同的功能逻辑分离开来,使得每个部分只专注于其单一的功能,这样代码更容易理解和维护。

  • 应用例子: 输入处理和逻辑判断分开,清晰地分离了输入数据和业务逻辑。

5. Single Responsibility Principle (SRP)

每个模块或函数应该只有一个职责。这使得代码更加模块化,便于测试和维护。

  • 应用例子: 输入处理部分和结果输出部分分开,确保每段代码只处理一个功能。

6. Efficient Input/Output Handling

在处理大量数据时,使用高效的输入输出方法可以显著提升程序的性能。在Python中,使用sys.stdin.read()一次性读取所有输入数据而不是逐行读取是一种常见的优化方式。

  • 应用例子: 使用sys.stdin.read()来优化输入处理。
import sys
input_data = sys.stdin.read().strip().split('\n')

7. Algorithmic Efficiency

尽可能选择高效的算法和数据结构来解决问题,尽量减少时间和空间复杂度。

  • 应用例子: 使用O(N)复杂度的算法遍历输入数据,避免了多余的嵌套循环或不必要的复杂操作。

8. Minimal State

保持状态最小化,减少临时变量的使用和状态的改变,从而使代码更易于理解和调试。

  • 应用例子: 减少不必要的变量赋值,只保留必要的状态变量,如oldest_name和youngest_name。

9. Readability and Maintainability

编写易读的代码,使得代码在将来需要修改或扩展时更容易理解和维护。

  • 应用例子: 通过合理的变量命名和清晰的结构,使代码易于阅读和理解。

10. Resource Management

高效地管理资源,特别是在处理大量输入输出时,尽可能减少资源的浪费。

  • 应用例子: 使用sys.stdin.read一次性读取所有输入,减少多次I/O操作的开销。

通过运用这些编程思想和软件设计哲学,我们不仅优化了代码的时间和空间复杂度,还提高了代码的可维护性和可读性。这样不仅能确保当前需求得到高效的实现,还为将来的扩展和维护打下了良好的基础。


举一反三

以下是一些技巧和策略,帮助你在优化和重构代码时更好地应用这些编程思想和软件设计哲学:

1. KISS (Keep It Simple, Stupid)

  • 技巧: 从最直接、最简单的解决方案开始,如果简单的解决方案不能满足需求,再逐步增加复杂性。
  • 策略: 定期审查代码,问自己是否有更简单的方法来实现同样的功能。

2. DRY (Don't Repeat Yourself)

  • 技巧: 使用函数、类和模块来封装重复的代码段。
  • 策略: 进行代码审查时,特别留意重复的代码,尝试将其抽取成独立的函数或模块。

3. YAGNI (You Aren't Gonna Need It)

  • 技巧: 在实现功能时,严格限定在当前需求的范围内,不要过早优化或为可能的需求预留空间。
  • 策略: 在项目规划和代码评审时,确保每次只实现当前需求。

4. Separation of Concerns

  • 技巧: 将不同功能的代码分离到独立的模块或类中,使每个部分专注于单一职责。
  • 策略: 使用层次化设计,区分数据访问层、业务逻辑层和表现层。

5. Single Responsibility Principle (SRP)

  • 技巧: 每个函数或类只做一件事,并且名字能明确反映其职责。
  • 策略: 定期重构代码,确保每个模块或函数都符合单一职责原则。

6. Efficient Input/Output Handling

  • 技巧: 在处理大量数据时,尽量使用批量处理方法,减少I/O操作次数。
  • 策略: 优化数据流和缓冲区的使用,确保I/O操作的高效性。

7. Algorithmic Efficiency

  • 技巧: 选择合适的数据结构和算法,确保时间和空间复杂度最小化。
  • 策略: 在编写和优化代码时,使用复杂度分析工具和技术,确保高效实现。

8. Minimal State

  • 技巧: 只保留必要的状态,避免不必要的临时变量和状态变化。
  • 策略: 在代码编写和审查时,关注变量的生命周期和作用域,减少不必要的状态管理。

9. Readability and Maintainability

  • 技巧: 使用有意义的变量名、函数名和注释,提高代码的可读性。
  • 策略: 定期进行代码审查,确保代码清晰和易于理解。

10. Resource Management

  • 技巧: 使用上下文管理器和适当的资源释放机制,确保资源的高效利用。
  • 策略: 在处理文件、网络连接等资源时,使用with语句等上下文管理工具,确保资源得到正确管理。

举一反三的具体技巧

  1. 代码审查和重构: 定期进行代码审查,并将重构作为开发过程的一部分。识别并消除代码中的重复和复杂性。
  2. 学习和借鉴: 学习优秀开源项目代码,借鉴其设计模式和编程思想。分析和理解其背后的设计决策。
  3. 测试驱动开发(TDD): 使用TDD确保代码的可靠性和可维护性。编写测试用例可以帮助你更好地理解和分离代码的职责。
  4. 工具和自动化: 使用代码分析和格式化工具(如Pylint、Black等)保持代码风格一致性,自动化测试和部署流程。
  5. 文档和注释: 编写详尽的文档和注释,确保代码的可读性和可维护性。尤其是在代码复杂的地方,详细说明其逻辑和设计意图。

通过不断实践和反思这些技巧和策略,可以逐步提升代码质量,编写出高效、易维护且易读的代码。


相关文章:

每日一题——Python实现PAT乙级1028 人口普查 Keyboard(举一反三+思想解读+逐步优化)六千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 题目链接​编辑我的写法 专业点评 时间复杂度分析 空间复杂度分析 总结 我要更强…...

小程序 UI 风格,构建美妙视觉

小程序 UI 风格&#xff0c;构建美妙视觉...

使用Python在VMware虚拟机中模拟Ubuntu服务器搭建网站

在此之前可以先使用VS Code连接到虚拟机&#xff1a;Visual Studio Code连接VMware虚拟机-CSDN博客 安装Web服务器Apache sudo apt-get install apache2 在个别情况下需要对Apache服务器的配置文件进行调整&#xff1a; 打开etc路径下的apache2文件夹&#xff0c;根据端口…...

腾讯测试开发<ieg 实验室>

3.26 40min 自我介绍实习经历有无遇到什么难点&#xff0c;你是如何克服的在这个项目中你大概做了多少个测试用例&#xff0c;这么多测试用例你平时用什么工具进行管理的&#xff0c;每一次跑全部还是每次只跑一部分现在假设给你一个新的项目&#xff0c;需要你这边去做测试&a…...

windows命令帮助大全

有关某个命令的详细信息&#xff0c;请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRLC 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACLS 显示或修改文件的访问控制列表(ACL)。 CALL 从另一个批处…...

pytest中失败用例重跑

pip install pytest-rerunfailures 下载rerunfailures插件包 配置文件中加入命令 --reruns 次数 也可在命令行中pytest --rerun-failures2 可以在allure报告中看到重试效果...

http穿透怎么做?

众所周知http协议的默认端口是80&#xff0c;由于国家工信部要求&#xff0c;域名必须备案才给开放80端口&#xff0c;而备案需要固定公网IP&#xff0c;这就使得开放http80端口的费用成本和时间成本变的很高。那么能不能利用内网穿透技术做http穿透呢&#xff1f;下面我就给大…...

前端技术回顾系列 11|TS 中一些实用概念

在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供动力。 上文回顾:泛型在类和接口中的应用 上一篇文章我们回顾了 泛型 在 类 和 接口 中的应用。 通过使用泛型,我们…...

leetcode LRU 缓存

leetcode: LRU 缓存 LRU 全称为 Least Recently Used&#xff0c;最近最少使用&#xff0c;常常用于缓存机制&#xff0c;比如 cpu 的 cache 缓存&#xff0c;使用了 LRU 算法。LRU 用于缓存机制时&#xff0c;关键的是当缓存满的时候有新数据需要加载到缓存的&#xff0c;这个…...

LeetCode 2786.访问数组中的位置使分数最大:奇偶分开记录(逻辑还算清晰的题解)

【LetMeFly】2786.访问数组中的位置使分数最大&#xff1a;奇偶分开记录&#xff08;逻辑还算清晰的题解&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/visit-array-positions-to-maximize-score/ 给你一个下标从 0 开始的整数数组 nums 和一个正整数 …...

嵌入式仪器模块:音频综测仪和自动化测试软件

• 24 位分辨率 • 192 KHz 采样率 • 支持多种模拟/数字音频信号的输入/输出 应用场景 • 音频信号分析&#xff1a;幅值、频率、占空比、THD、THDN 等指标 • 模拟音频测试&#xff1a;耳机、麦克风、扬声器测试&#xff0c;串扰测试 • 数字音频测试&#xff1a;平板电…...

计算商场折扣 、 判断体重指数 题目

题目 JAVA5 计算商场折扣分析&#xff1a;代码&#xff1a; JAVA6 判断体重指数分析&#xff1a;代码&#xff1a;大佬代码&#xff1a; JAVA5 计算商场折扣 描述 牛牛商场促销活动&#xff1a; 满100全额打9折&#xff1b; 满500全额打8折&#xff1b; 满2000全额打7折&…...

input输入框禁止输入小数点方法

使用blur事件&#xff1a; <el-input v-model"number" type"number" placeholder"请输入" blur"numberBlur" /> 第一种&#xff1a; 使用parseInt转为整数&#xff1a; this.number parseInt(this.number);第二种&#xff…...

使用adb通过wifi连接手机

1&#xff0c;手机打开开发者模式&#xff0c;打开无线调试 2&#xff0c;命令行使用adb命令配对&#xff1a; adb pair 192.168.0.102:40731 输入验证码&#xff1a;422859 3&#xff0c;连接设备&#xff1a; adb connect 192.168.0.102:36995 4&#xff0c;查看连接状态:…...

如何一键拷贝PPT中的所有文字?

有时我们可能需要引用PPT的文字&#xff0c;但一个幻灯片一个幻灯片拷贝很是麻烦&#xff0c;我们想一键拷贝PPT中所有幻灯片中的内容&#xff08;最近我就遇到了这个需求&#xff09;。今天就来讲讲这个一键拷贝的技巧。因为大家可能会遇到同样的问题&#xff0c;所以在此记录…...

Hive的存储格式和压缩算法的特点和选择

1、数据存储格式&#xff1a; ①TEXTFILE HIVE 中默认的存储格式&#xff1b; 一般使用在数据贴源层(ODS 或 STG) &#xff0c;针对需要使用脚本 LOAD 加载数据到 HIVE 数仓表中的情况&#xff1b;需要把表里数据导出或直接可以查看等场景&#xff0c;作为BI供数 易读性…...

C语言中的枚举类型(enum)是如何定义的

在C语言中&#xff0c;枚举类型&#xff08;enum&#xff09;是一种用户定义的数据类型&#xff0c;它允许为整数值指定一个易读的名字。枚举类型通常用于表示固定数量的可能值&#xff0c;例如一周的七天或颜色的集合。 枚举类型的定义使用关键字 enum&#xff0c;后面跟着枚…...

SPI通信协议

一、SPI通信 1、SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线 2、四根通信线&#xff1a;SCK&#xff08;Serial Clock&#xff09;、MOSI&#xff08;Master Output Slave Input&#xff09;、MISO&#xff08;Master In…...

【免费Web系列】大家好 ,今天是Web课程的第二一天点赞收藏关注,持续更新作品 !

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 员工管理 1. 条件分页查询 1.1 概述 在页面原型中&#xff0c;我们可以看到在查询员工信息列表时&#xff0c;既需要根据条件动态查询&#xff0c;还需要对查询的结果进行分页处理。 那要完成这个页面…...

【单片机毕业设计选题24007】-基于STM32和阿里云的家庭健康数据监测系统

系统功能: 本课题设计是基于STM32单片机作为控制主体&#xff0c;通过HX711称重模块&#xff0c;HC-SR04超声波测距模块&#xff0c;红外测温&#xff0c;心率传感器等模块通过I2C或SPI接口与STM32进行通信&#xff0c;并读取传感器输出的身高&#xff0c;体重&#xff0c;心率…...

程序员,真要失业了:Claude Code新增/goal指令,一个命令,AI替你干完整个项目

最近&#xff0c;GitHub上发生了一件小事。 一个全美排名Top 5的软件工程师&#xff0c;发了一条帖子&#xff0c;只有三句话&#xff1a; “我用/goal重构了一个3万行的遗留项目&#xff0c;花了4小时。” “没有人盯着我&#xff0c;没有PR被拒&#xff0c;没有半夜爬起来看…...

STM32驱动MAX31855测温模块:从SPI时序到代码实现的保姆级避坑指南

STM32驱动MAX31855测温模块&#xff1a;从SPI时序到代码实现的保姆级避坑指南 在嵌入式开发领域&#xff0c;精确的温度测量往往是项目成败的关键。MAX31855作为一款集成冷端补偿的热电偶数字转换器&#xff0c;凭借其2℃的高精度和-200℃至700℃的宽测温范围&#xff0c;成为工…...

Gitblit服务端在Windows上安装后启动失败?别慌,手把手教你排查‘Failed creating java’这个经典错误

Gitblit服务端Windows启动报错全攻略&#xff1a;从"Failed creating java"到完美解决 当你满怀期待地在Windows服务器上部署Gitblit&#xff0c;准备为团队搭建一个轻量级的Git代码托管平台时&#xff0c;突然在服务启动环节遭遇"Failed creating java"的…...

年终述职的“数据思维”:用指标和案例讲好你的技术故事

测试人的述职困境又到年终&#xff0c;述职报告像一场无法回避的考试。对于软件测试从业者而言&#xff0c;这往往比定位一个偶发崩溃的缺陷更难——我们习惯了与代码、用例、缺陷打交道&#xff0c;却常常在总结自己一年的价值时陷入沉默。“保障了产品质量”“完成了测试任务…...

立体仓库WMS深度解析

立体仓库WMS深度解析&#x1f4cc; 封面语&#xff1a;立体仓库失败案例中&#xff0c;80% 不是硬件问题&#xff0c;而是 WMS 和 WCS “对话” 失败。想避坑&#xff0c;先搞懂这套软件怎么运转。 ✍️ 作者&#xff1a;这是「物流自动化软件内参」WMS 深度解析系列的第一篇。…...

微软 Qlib 实战:从零构建跑赢大盘的 AI 智能选股策略(附最新回测与全流程代码)

在 GitHub 的量化投资社区中&#xff0c;微软亚洲研究院开源的 Qlib 毫无疑问是王者级别的存在&#xff08;13k Stars&#xff09;。传统的量化策略通常依赖主观经验设定的指标&#xff08;如&#xff1a;均线突破、MACD背离&#xff09;&#xff0c;而 Qlib 则是让 人工智能&a…...

MASA模组汉化包终极指南:3分钟告别Minecraft英文界面困扰

MASA模组汉化包终极指南&#xff1a;3分钟告别Minecraft英文界面困扰 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 你是否曾在Minecraft中使用Litematica、Minihud等MASA模组时&#…...

树莓派Pico W到手后,除了Wi-Fi,这几点硬件细节和Pico真不一样

树莓派Pico W硬件深度解析&#xff1a;超越Wi-Fi的工程细节 当我第一次拿到树莓派Pico W时&#xff0c;表面看起来它只是Pico的无线版本——同样的RP2040芯片、相似的引脚布局和几乎一致的尺寸。但当我开始实际项目开发时&#xff0c;才发现这些"看似相同"背后隐藏着…...

归档日志较多导致磁盘使用率100%,数据库停止服务

文章目录环境症状问题原因解决方案环境 系统平台&#xff1a;银河麒麟 &#xff08;鲲鹏&#xff09; 版本&#xff1a;9.0 症状 数据库服务停止&#xff0c;对外停止响应。 问题原因 服务器磁盘使用率100%&#xff0c;数据库服务因此停止。 解决方案 1、检查服务器磁盘…...

SubDomainizer与其他工具集成:打造完整的网络安全评估工作流

SubDomainizer与其他工具集成&#xff1a;打造完整的网络安全评估工作流 【免费下载链接】SubDomainizer A tool to find subdomains and interesting things hidden inside, external Javascript files of page, folder, and Github. 项目地址: https://gitcode.com/gh_mirr…...