06 2024 档案

摘要:为 id 属性添加 @PrimaryKey 注解,使 id 成为主键。主键是一个 ID,用于唯一标识 Item 表格中的每个记录/条目 import androidx.room.PrimaryKey@Entity(tableName = "items")data class Item( @Prima 阅读全文
posted @ 2024-06-19 22:32 混沌武士丞 阅读(9) 评论(0) 推荐(0) 编辑
摘要:为 Item 类的定义添加前缀 data 关键字,以将其转换为数据类。 data class Item( val id: Int, val name: String, val price: Double, val quantity: Int) 在 Item 类声明的上方,为该数据类添加 @Entit 阅读全文
posted @ 2024-06-19 22:31 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:数据类 数据类在 Kotlin 中主要用于保存数据。它们使用关键字 data 进行定义。Kotlin 数据类对象有一些额外的优势。例如,编译器会自动生成用于比较、输出和复制的实用程序,如 toString()、copy() 和 equals()。 示例: // Example data class 阅读全文
posted @ 2024-06-19 22:31 混沌武士丞 阅读(1) 评论(0) 推荐(0) 编辑
摘要:在 Android Studio 中打开起始代码。 打开 com.example.inventory 基础软件包下的 data 软件包。 在 data 软件包内,打开 Item Kotlin 类,该类表示应用中的数据库实体。 // No need to copy over, this is part 阅读全文
posted @ 2024-06-19 22:30 混沌武士丞 阅读(3) 评论(0) 推荐(0) 编辑
摘要:添加 Room 依赖项 在此任务中,您将向 Gradle 文件添加所需的 Room 组件库。 打开模块级 Gradle 文件 build.gradle.kts (Module: InventoryApp.app)。 在 dependencies 代码块中,为 Room 库添加依赖项,如以下代码所示。 阅读全文
posted @ 2024-06-19 22:29 混沌武士丞 阅读(3) 评论(0) 推荐(0) 编辑
摘要:返回 ItemEditViewModel 类,添加一个名为 updateItem() 的 suspend 函数,该函数不接受任何参数。您可以使用此函数将更新后的实体保存到 Room 数据库。 suspend fun updateItem() {} 在 getUpdatedItemEntry() 函数 阅读全文
posted @ 2024-06-19 22:28 混沌武士丞 阅读(1) 评论(0) 推荐(0) 编辑
摘要:使用 Room 更新实体在最后这个任务中,您将添加最后几段代码以实现更新功能。您将在 ViewModel 中定义必要的函数,并在 ItemEditScreen 中使用这些函数。 又到编写代码的时候了! 在 ItemEditViewModel 类中,添加一个名为 updateUiState() 的函数 阅读全文
posted @ 2024-06-19 22:27 混沌武士丞 阅读(15) 评论(0) 推荐(0) 编辑
摘要:修改商品实体 与前面的部分类似,在此部分中,您将向应用中添加另一项用于修改商品实体的增强功能。 下面,我们将快速过一遍修改应用数据库中实体的步骤: 添加测试,测试用于获取商品的 DAO 查询。 使用实体详情填充 Edit Item 界面中的文本字段。 使用 Room 更新数据库中的实体。 添加 DA 阅读全文
posted @ 2024-06-19 22:24 混沌武士丞 阅读(16) 评论(0) 推荐(0) 编辑
摘要:仍在 ItemDetailsScreen.kt 文件中,滚动到 ItemDetailsBody() 函数。 起始代码已包含此函数。此可组合项会显示一个提醒对话框,用于在删除商品之前获取用户确认,并在您点按 Yes 时调用 deleteItem() 函数。 // No need to copy ove 阅读全文
posted @ 2024-06-19 22:23 混沌武士丞 阅读(12) 评论(0) 推荐(0) 编辑
摘要:为删除 DAO 查询添加测试。 在 ItemDetailsViewModel 类中添加一个函数来删除数据库中的实体。 更新 ItemDetailsBody 可组合项。 添加 DAO 测试 在 ItemDaoTest.kt 中,添加一个名为 daoDeleteItems_deletesAllItems 阅读全文
posted @ 2024-06-19 22:23 混沌武士丞 阅读(7) 评论(0) 推荐(0) 编辑
摘要:为了向用户提供更好的反馈,您可能需要在没有可供销售的商品时停用 Sell 按钮。 在 ItemDetailsViewModel 类中,根据 map 转换中的 it .quantity 设置 outOfStock 值。 val uiState: StateFlow<ItemDetailsUiState 阅读全文
posted @ 2024-06-19 22:22 混沌武士丞 阅读(9) 评论(0) 推荐(0) 编辑
摘要:在 Item Details 界面中,持续点按 Sell 按钮,直到数量为零。 提示:为了节省时间,建议您在这项任务中选择数量较少的商品进行操作。如果没有数量较少的商品,您可以新建一个数量较少的商品。 数量降至零后,再次点按 Sell。没有外观变化,因为函数 reduceQuantityByOne( 阅读全文
posted @ 2024-06-19 22:21 混沌武士丞 阅读(2) 评论(0) 推荐(0) 编辑
摘要:8. 实现商品销售功能 在本部分中,您将扩展应用的功能以实现销售功能。此更新涉及以下任务: 为 DAO 函数添加测试以更新实体。 在 ItemDetailsViewModel 中添加一个函数以减少数量并更新应用数据库中的实体。 如果数量为零,停用 Sell 按钮。 在 ItemDaoTest.kt  阅读全文
posted @ 2024-06-19 22:21 混沌武士丞 阅读(3) 评论(0) 推荐(0) 编辑
摘要:7. 实现“Item Details”界面 ui/item/ItemEditScreen.kt 在起始代码中已经为您提供了“Edit Item”界面。 此布局包含一些文本字段可组合项,这些可组合项用于修改商品目录中任何新商品的详情。 此应用的代码仍然没有完全正常运行。例如,在 Item Detail 阅读全文
posted @ 2024-06-19 22:20 混沌武士丞 阅读(1) 评论(0) 推荐(0) 编辑
摘要:6. 显示商品详情 在此任务中,您将读取并在 Item Details 界面上显示实体详情。您将使用 Inventory 应用数据库中的商品界面状态(例如名称、价格和数量),并使用 ItemDetailsScreen 可组合项在 Item Details 界面上显示这些信息。我们为您预先编写了 It 阅读全文
posted @ 2024-06-19 22:19 混沌武士丞 阅读(3) 评论(0) 推荐(0) 编辑
摘要:5. 测试您的数据库 之前的 Codelab 讨论了测试代码的重要性。在此任务中,您将添加一些单元测试来测试 DAO 查询,然后按照此 Codelab 的步骤继续操作时,还将添加更多测试。 如需测试数据库实现,推荐的方法是编写在 Android 设备上运行的 JUnit 测试。由于执行这些测试不需要 阅读全文
posted @ 2024-06-19 22:18 混沌武士丞 阅读(1) 评论(0) 推荐(0) 编辑
摘要:4. 显示商品目录数据 在此任务中,您将收集和更新 HomeScreen 中的界面状态。 在 HomeScreen.kt 文件的 HomeScreen 可组合函数中,添加类型为 HomeViewModel 的新函数参数并对其进行初始化。 import androidx.lifecycle.viewm 阅读全文
posted @ 2024-06-19 22:17 混沌武士丞 阅读(2) 评论(0) 推荐(0) 编辑
摘要:3. 更新界面状态 在此任务中,您将向应用添加一个 LazyColumn 来显示存储在数据库中的数据。 HomeScreen 可组合函数演示 打开 ui/home/HomeScreen.kt 文件并查看 HomeScreen() 可组合项。 @Composablefun HomeScreen( na 阅读全文
posted @ 2024-06-19 22:16 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:第六篇:软件开发中的敏捷方法论 在过去的几十年里,软件开发领域经历了从传统瀑布模型到更加灵活和迭代的开发方式的转变。其中,敏捷方法论因其强调快速响应变化、重视客户合作和持续交付价值而受到广泛关注。以下是对敏捷方法论的一些关键理念和实践的概述: 1. 敏捷宣言(Agile Manifesto) 诞生背 阅读全文
posted @ 2024-06-19 21:22 混沌武士丞 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第五篇:《人月神话》中的关键概念解析 《人月神话》一书提出了多个对软件工程有深远影响的概念,以下是其中几个核心概念的解析: 1. 人月(Person-Month) 定义:“人月”是指一个人在一个自然月内完成的工作量。Brooks使用这个单位来量化软件项目的进度和成本,但它同时也揭示了项目管理和资源规 阅读全文
posted @ 2024-06-19 21:14 混沌武士丞 阅读(20) 评论(0) 推荐(0) 编辑
摘要:第四篇:《人月神话》的现代相关性与批评 现代相关性 尽管《人月神话》首次出版于1975年,但其中的许多观点和教训在当今的软件开发领域仍然具有极高的相关性。随着软件工程的不断发展,Brooks提出的概念如“人月”、“外科手术式调试”、“没有银弹”等,仍然被广泛引用和讨论。下面是一些关键概念及其在现代软 阅读全文
posted @ 2024-06-19 21:13 混沌武士丞 阅读(8) 评论(0) 推荐(0) 编辑
摘要:第三篇:关键教训与实践建议 引言 《人月神话》一书不仅阐述了理论,还提供了许多基于实践经验的关键教训和实用建议,这些对于软件项目管理者和开发人员来说极为宝贵。以下是书中强调的一些主要教训和实践建议: 1. 估算与规划 避免乐观估计:Brooks告诫读者不要根据最佳情况做出时间表和预算的假设,而应考虑 阅读全文
posted @ 2024-06-19 21:12 混沌武士丞 阅读(8) 评论(0) 推荐(0) 编辑
摘要:第二篇:核心观点与理论 引言 在《人月神话》中,Frederick P. Brooks Jr.不仅分享了他的个人经验和对软件开发本质的洞察,还提出了多个核心观点和理论,这些理论至今仍然指导着软件工程的实践。以下是本书中几个最重要的观点和理论: 1. Brooks定律 Brooks定律可能是书中最著名 阅读全文
posted @ 2024-06-19 21:11 混沌武士丞 阅读(12) 评论(0) 推荐(0) 编辑
摘要:第一篇:引言与背景 ——《人月神话》:软件工程的基石 引言 《人月神话》(The Mythical Man-Month)是软件工程领域内一部具有里程碑意义的作品,自1975年初版以来,它一直被奉为经典。这本书由Frederick P. Brooks Jr.博士撰写,他不仅是计算机科学和软件工程领域的 阅读全文
posted @ 2024-06-19 21:09 混沌武士丞 阅读(18) 评论(0) 推荐(0) 编辑
摘要:def climb_stairs(n): # 初始化基础状态 if n == 1: return 1 elif n == 2: return 2 elif n == 3: return 4 else: # 创建数组dp存储子问题的解 dp = [0] * (n + 1) dp[1], dp[2], 阅读全文
posted @ 2024-06-12 12:09 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:from collections import OrderedDict def lru_simulation(num_blocks, page_sequence): # 初始化LRU缓存 cache = OrderedDict() # 缺页计数器 page_faults = 0 # 遍历访问页面序列 阅读全文
posted @ 2024-06-12 11:35 混沌武士丞 阅读(5) 评论(0) 推荐(0) 编辑
摘要:def kaprekar_operation(n): """ 对四位数n执行卡普耶卡操作: 1. 将n的各个数字重新排列成最大的数和最小的数。 2. 用最大的数减去最小的数。 3. 返回结果。 """ digits = sorted([int(digit) for digit in str(n)]) 阅读全文
posted @ 2024-06-12 11:15 混沌武士丞 阅读(10) 评论(0) 推荐(0) 编辑
摘要:import randomimport math # 定义函数用于判断一个点(x, y)是否在单位圆内def is_inside_circle(x, y): # 计算点到原点的距离平方 distance_squared = x**2 + y**2 # 判断距离是否小于1(单位圆半径为1) retur 阅读全文
posted @ 2024-06-12 10:39 混沌武士丞 阅读(6) 评论(0) 推荐(0) 编辑
摘要:import itertools def permutations_combinations(n, m, letters): # 排列序列 permutations = list(itertools.permutations(letters, m)) permutation_output = [' 阅读全文
posted @ 2024-06-12 10:24 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:(1)查询所有供应商情况,先按城市升序排列, 城市相同按供应商名称降序排列。 select * from s order by city ASC , sname DESC; (2)查询所有零件情况, 先按零件名称升序排列, 零件名称相同按重量降序排列。select * from p order by 阅读全文
posted @ 2024-06-07 10:01 混沌武士丞 阅读(15) 评论(0) 推荐(1) 编辑
摘要:import matplotlib.pyplot as plt import numpy as np x = np.arange(-2, 2, 0.0001) y1 = np.sqrt(2 * np.sqrt(x ** 2) - x ** 2) y2 = (-2.14) * np.sqrt(np.s 阅读全文
posted @ 2024-06-05 12:10 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.0001) y1 = x ** 2 y2 = np.cos(x * 2) y3 = y1 * y2 plt.plot(x, y1,linestyle=' 阅读全文
posted @ 2024-06-05 09:52 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:import tkinter as tkfrom tkinter import messageboximport urllib.requestimport urllib.parseimport jsonimport threading def send_message(): message = en 阅读全文
posted @ 2024-06-05 09:30 混沌武士丞 阅读(8) 评论(0) 推荐(0) 编辑
摘要:import re from collections import Counter import requests from lxml import etree import pandas as pd import jieba import matplotlib.pyplot as plt from 阅读全文
posted @ 2024-06-05 08:56 混沌武士丞 阅读(4) 评论(0) 推荐(0) 编辑
摘要:import requests from bs4 import BeautifulSoup as bs import pandas as pd from matplotlib import pyplot as plt def get_rank(url): count = 0 rank = [] he 阅读全文
posted @ 2024-06-05 08:41 混沌武士丞 阅读(3) 评论(0) 推荐(1) 编辑
摘要:# 定义一个基础类 People class People: def __init__(self, name, gender, age): self.name = name self.gender = gender self.age = age def display_info(self): pri 阅读全文
posted @ 2024-06-05 08:13 混沌武士丞 阅读(5) 评论(0) 推荐(0) 编辑
摘要:三、实验设备: 1台计算机; 1台服务器; 1台三层交换机3560; 2台路由器2811 四、实验拓扑图: 五、实验过程: 1.RIP 添加1台计算机,添加1台服务器,添加1台三层交换机3560,添加2台路由器2811。在R0、R1中分别添加1个WIC-2T网卡模块。 如下图建立网络拓扑,使用直通线 阅读全文
posted @ 2024-06-04 11:16 混沌武士丞 阅读(7) 评论(0) 推荐(0) 编辑
摘要:实验一vlan的创建与划分 一、实验目的: 1.了解vlan的工作原理; 2.学习基于端口划分vlan的方法; 3.了解跨交换机的相同vlan之间的通信; 4.进一步学习交换机端口的配置命令。 二、实验原理: VLAN(虚拟局域网)的创建与划分原理基于对第二层(数据链路层)网络流量的逻辑隔离,其核心 阅读全文
posted @ 2024-06-04 10:15 混沌武士丞 阅读(11) 评论(0) 推荐(0) 编辑