- 博客(214)
- 收藏
- 关注
原创 计算机基础--缓存策略:缓存写入策略,过期策略,更新策略,淘汰策略
就像你在超市存包时的“存包规则”,决定了“存什么东西”“存多久”“什么时候更新”“满了怎么处理”。简单来说,就是计算机系统为了高效使用缓存(临时存储数据的地方)而制定的一套规则。理解这些策略,就能明白计算机如何像聪明的管家一样管理缓存啦!
2025-05-18 14:02:30
399
原创 计算机基础--TTL生存时间: 应用场景如缓存系统,网络协议,分布式系统//TTL的作用:数据一致性,资源管理,系统稳定性//TTL与过期时间的对比,软失效和硬失效的对比
指某个对象(如数据、网络包、缓存条目等)在系统中可以存活的最长时间。超过这个时间后,对象会被视为“过期”,需要被更新、删除或重新处理。通过合理设置 TTL,可以在性能(减少请求次数)和数据一致性之间取得平衡,这也是缓存策略的核心设计目标之一。是计算机领域的常用术语,常见含义为。
2025-05-18 13:56:38
304
原创 DevOps--是一种 软件开发和运维管理的协作文化/方法论,通过自动化工具、流程优化和团队协作,实现更快、更可靠的软件交付和迭代
DevOps 是一种,核心是打破开发(Development)和运维(Operations)之间的壁垒,通过自动化工具、流程优化和团队协作,实现。
2025-05-16 22:46:18
625
原创 DevOps--CI(持续集成):将代码变更频繁合并到主分支// CD(持续交付/持续部署): 交付指将经过验证的代码变更交付到生产环境的准备状态,部署指代码通过测试后立即上线
CI 最早由极限编程(XP,Extreme Programming)方法论提出,旨在解决传统开发中“集成晚、 bug 多”的问题,强调“小步快跑,尽早集成”。CI(持续集成)和 CD(持续交付/持续部署)的名称源于软件开发方法论中的实践理念,其命名直接反映了核心目标和流程特点。CI/CD 是 DevOps 的核心实践之一,通过自动化流程打通开发(Dev)和运维(Ops),实现“代码变更→测试→发布”的全链路自动化。
2025-05-16 22:44:09
668
原创 DevOps--Operations运维: 确保系统、服务或产品持续稳定运行的一系列活动,包括日常运行管理和维护优化
运维”是IT领域对“Operations”的专属翻译,本质是通过“运行”和“维护”两个维度,精准概括技术团队在系统生命周期中“保运转、防故障、促优化”的核心职责。“Operations”在计算机领域(尤其是软件开发和IT服务管理中)被翻译为“运维”,本质上是中文语境下对该词。“运维”遵循同样的逻辑,用“运”和“维”两个动词,直观表达了“让系统运行起来,并维护其稳定”的核心工作。而在IT和软件开发领域,为了区分“业务运营”和“技术运维”,特将“Operations”译为。中文在翻译技术词汇时,常采用“
2025-05-16 22:19:27
297
原创 计算机基础--软件架构模式MVVM: 分离关注点降低耦合度;双向数据绑定,简化开发流程;提升可测性和维护性;支持大型项目和团队协作;适配现代框架和技术栈;MVVM的推荐场景和不推荐场景
MVVM(Model-View-ViewModel)作为一种软件架构模式,被广泛应用于前端、移动端和桌面应用开发中。它通过解耦,显著提升了开发效率和代码质量。
2025-05-16 20:42:11
919
原创 鸿蒙复习--ohpm clean :删除项目中的临时构建文件;清除缓存的依赖包,强制重新下载;移除未使用或损坏的依赖项
是维护 OpenHarmony 项目健康状态的重要工具,通过定期清理缓存和临时文件,可以避免依赖冲突、减小项目体积,并确保构建过程的稳定性。如果遇到具体的错误信息或参数疑问,建议查阅官方文档或使用。是 OpenHarmony 包管理工具(OHPM)中的一个命令,用于清理项目中的缓存文件、临时文件或未使用的依赖项。这个命令类似于其他包管理工具(如。)的功能,主要用于维护项目的整洁和稳定性。
2025-05-15 00:05:28
553
原创 git复习--git push: 将本地仓库的提交推送到远程仓库.首次推送新分支,推送已有分支的更新,推送到不同名的远程分支,删除远程分支
是将本地代码共享到远程仓库的核心操作,掌握其基本用法和参数能有效避免协作中的冲突。是 Git 中用于将本地仓库的提交推送到远程仓库的核心命令。是团队协作的基本原则!
2025-05-14 23:59:03
331
原创 git复习--git checkeout: 恢复工作区中被修改的文件(丢弃本地修改),从暂存区恢复文件(取消 git add),从特定提交恢复文件,恢复被删除的文件//替代命令:git restore
但具体用法取决于你想要恢复的内容和时间点。如果你修改了某个文件,但想丢弃这些修改,恢复到。为了让命令更清晰,Git 2.23 引入了。专门用于文件恢复,替代部分。如果你误将文件添加到暂存区(如果你想恢复某个文件到。
2025-05-14 23:45:14
229
原创 git复习--untracked文件
untracked文件是Git工作流中的重要概念,通过合理管理这些文件,可以保持仓库的整洁和高效。理解文件状态流转(untracked → 已跟踪 → 暂存 → 提交)是掌握Git的关键!指的是那些存在于工作目录中,但尚未被Git纳入版本控制的文件。理解untracked文件的概念对有效使用Git至关重要。命令查看工作区状态,untracked文件会显示在"手动删除文件,或使用。
2025-05-14 23:33:49
687
原创 git复习--git stash push -m和git stash -m的区别:命令语法的演进,Git在2.13版本(2016年)引入了子命令语法重构
在Git中,git stash push -m和git stash -m的功能相同,都是用于创建带有描述信息的stash。两者的主要区别在于语法兼容性,这与Git版本的演进有关。Git 2.13及以后版本推荐使用git stash push -m,以明确创建stash,而Git 2.12及以前版本则必须使用git stash -m,否则会报错。为了兼容性和代码一致性,建议在较新版本的Git中使用git stash push -m。此外,两者在其他参数(如-u和-a)的使用上完全一致。
2025-05-14 23:30:02
310
原创 git复习--git stash名称由来:源自软件开发中的“临时存放”概念,通过隐喻“储物箱”和“堆栈”机制,直观地表达了其功能——将未完成的修改暂时保存,待需要时恢复。
Git stash的名称源自软件开发中的“临时存放”概念,通过隐喻“储物箱”和“堆栈”机制,直观地表达了其功能——将未完成的修改暂时保存,待需要时恢复。Stash可以看作是一个更灵活的“暂存区”,不仅能保存已暂存的修改,还能保存未跟踪的文件,甚至创建分支时使用。Git stash的名称源于软件开发中的术语“stash”,它在英文中有“临时存放”“隐藏”或“秘密储存”的含义。在版本控制的语境中,尽管名称不同,但这些命令的核心功能都是“临时保存未完成的工作”,说明这是版本控制系统中的通用需求。
2025-05-14 23:28:16
283
原创 git复习--git stash:保存当前修改,查看存储列表,恢复最近的stash,恢复指定的stash,删除stash,查看stash差异,应用stash到其他分支,保存特定文件,包含未跟踪
Git stash是Git版本控制系统提供的一个重要功能,用于临时保存和恢复工作目录中尚未提交的修改。当你需要切换分支、处理紧急任务或者清理工作空间,但又不想提交当前未完成的代码时,git stash可以帮助你将这些修改暂时保存到一个栈中,待需要时再恢复。
2025-05-14 23:26:33
566
原创 计算机基础--面向对象编程OOP
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作数据的方法组合成对象,通过对象之间的交互来完成程序的功能。下面从基本概念、主要特性、优点、缺点以及示例代码几个方面详细介绍OOP。
2025-05-07 22:09:22
780
原创 计算机基础--硬件提供基础指令,程序通过组合这些指令来调度硬件行为
硬件是“执行者”:提供原子级的基础指令(如加法、跳转),是程序功能的物理载体。程序是“设计者”:通过逻辑组合(顺序、条件、循环)将基础指令编排成复杂流程,定义硬件的行为。层次抽象简化调度:从机器码到高级语言,每一层抽象都隐藏了底层硬件细节,但最终都需映射到硬件指令的组合。这种“硬件提供基础能力,程序组合指令实现功能”的模式,正是计算机系统“灵活性”和“通用性”的根本来源——同一硬件通过运行不同程序(指令组合),可以实现计算器、浏览器、游戏等千差万别的功能。
2025-05-07 22:05:56
542
原创 flutter应用开发--sliver组件的子类:列表类SliverList,网格类SliverGrid,头部类SliverAppBar,占位和分隔类SliverPadding
在 Flutter 里,Sliver是用于构建可滚动布局的基础抽象类,它有许多实用的子类,这些子类各自具备不同的功能和用途,以下为你详细介绍常见的Sliver。
2025-05-06 07:31:59
288
原创 flutter应用开发--sliver组件的名称由来,作用以及用法
在 Flutter 中,“sliver” 这个术语源自印刷和排版领域,以下从历史背景、在 Flutter 中的含义及作用方面详细解释其名称由来。
2025-05-06 07:29:26
298
原创 flutter应用开发--shrinkWrap属性的适用场景: 控制 ListView 是尽可能占据可用空间,还是根据子项的实际大小来调整自身尺寸
shrinkWrap属性主要用于控制ListView是尽可能占据可用空间,还是根据子项的实际大小来调整自身尺寸。
2025-05-06 07:26:47
144
原创 CSS开发--使用CSS Grid进行响应式布局:长度单位,媒体查询,grid-template-columns: repeat(auto-fill, minmax(200px, 1fr))
CSS Grid 是一种强大的二维布局模型,在响应式布局设计中能发挥重要作用。下面将从基础概念、响应式布局的关键要点以及具体示例几个方面详细介绍如何使用 CSS Grid 进行响应式布局设计。结合媒体查询()根据不同的屏幕尺寸应用不同的网格布局。在这个示例中:在这个示例中, 会根据屏幕宽度自动调整列的数量,每列的最小宽度为 200px,最大宽度为平均分配剩余空间。通过以上方法,你可以利用 CSS Grid 轻松实现各种响应式布局设计。
2025-05-05 10:36:12
526
原创 flutter应用开发--Material 组件:布局组件,交互组件ElevatedButton和TextFiel,列表组件ListView,提示组件SnackBar,对话框组件AlertDialog
在 Flutter 里,Material 组件是依据 Google 的 Material Design 设计语言所构建的一组 UI 组件,这些组件具备一致的设计风格、交互效果和动效,能让开发者快速构建出美观且易用的应用界面。下面为你详细介绍一些常见的 Material 组件及其使用方法。
2025-05-04 23:29:29
326
原创 flutter应用开发--屏幕适配:1响应式布局LayoutBuilder和OrientationBuilder2.弹性布局Expanded和Flexible3.尺寸单位MediaQuery4第三方库
综上所述,通过使用响应式布局组件、弹性布局组件、尺寸单位、适配字体和图标,以及借助第三方库等方法,可以有效地处理 Flutter 中 Material 组件在不同屏幕尺寸上的适配问题。根据父组件的最大宽度,判断是小屏幕还是大屏幕,然后采用不同的布局方式。能够获取父组件的约束信息,然后依据这些约束动态调整子组件的布局。可以获取设备的屏幕尺寸信息,从而根据屏幕尺寸动态调整组件的大小。是一个常用的屏幕适配库,它可以根据设计稿的尺寸进行适配。在这个例子中,根据屏幕宽度的比例来设置字体大小。值的比例分配水平空间。
2025-05-04 23:14:14
152
原创 flutter应用开发--Row组件在垂直方向默认居中对齐
核心原因是 Row的默认垂直对齐方式为居中),且父容器的高度约束和内边距确保了Row在有限高度内居中对齐子组件。如果需要改变垂直对齐方式(如顶部或底部对齐),可以显式设置Row的Row(crossAxisAlignment: CrossAxisAlignment.start, // 垂直顶部对齐// 或 crossAxisAlignment: CrossAxisAlignment.end, // 垂直底部对齐。
2025-05-04 22:56:15
385
原创 flutter应用开发--flutter的颜色模式:使用Colors常量类,Color构造函数--Color(ARGB值),Color.fromARGB(),Color.fromRGBO()
在 Flutter 中,有多种方式来表示颜色,下面为你详细介绍不同的颜色模式及其使用方法。
2025-05-04 22:28:40
141
原创 flutter应用开发--Positioned 组件的定位规则、定位方式以及定位中心点
在 Flutter 中,Positioned组件通常和Stack组件配合使用,用于精确控制子组件在Stack布局中的位置。下面详细介绍Positioned组件的定位规则、定位方式以及定位中心点。
2025-05-04 21:00:26
256
原创 flutter应用开发--1.Stack组件的尺寸规则:根据父组件或者子组件的尺寸;2.定位规则:alignment: Alignment.center指定 Stack 中非定位子组件的对齐方式
以下是一个简单修改后的代码示例,添加了一个非定位的文本组件,以更直观地展示。的最终尺寸是由所有子组件的布局和位置共同决定的,而不是仅由。组件的尺寸默认由其内容和布局约束共同决定。中非定位子组件(即没有使用。中水平和垂直方向都居中对齐。组件的一个属性,用于指定。包裹的子组件)的对齐方式。表示将这些非定位子组件在。是定位子组件,它的位置由。是非定位子组件,它会在。施加固定的尺寸约束。在这个修改后的代码中,
2025-05-04 20:57:13
344
原创 flutter应用开发--TextAlign.center 的作用是让文本内容在自身所在容器的水平方向居中,以及使文本居中的三种方式
的作用范围是文本组件自身的宽度,而非父容器的宽度。若想让文本在屏幕上居中,需先让文本组件的父容器占满屏幕宽度(如Expanded),或用Center组件将文本块整体居中。
2025-05-04 20:26:30
147
原创 flutter应用开发--Expanded组件作用:1.子组件尽可能地填充主轴方向上剩余的空间;2.通过 flex 属性调整 Expanded 组件的填充比例
在 Flutter 里,Expanded组件是Flexible组件的子类,它可让子组件尽可能地填充主轴方向上剩余的空间。你能够通过flex属性调整Expanded组件的填充比例。
2025-05-04 20:09:18
134
原创 flutter应用开发--根组件的要求和特点,以及常见的3种根组件:MaterialApp,WidgetsApp和CupertinoApp
在 Flutter 中,根组件是应用程序 UI 树的起始点,它为整个应用程序提供了基础结构和上下文。
2025-05-04 19:49:15
378
原创 flutter应用开发--.yaml名称由来
YAML 是 “YAML Ain’t Markup Language”(YAML 不是标记语言)的缩写。这是一种递归缩写,体现了 YAML 设计的初衷:它并非像 HTML、XML 这类传统的标记语言,而是作为一种轻量级的数据序列化格式。与标记语言不同,YAML 更注重数据的可读性和简洁性。它使用缩进、空格和特定符号来表示数据结构,使得文件内容对于人类来说更容易理解和编写。这种特性让 YAML 广泛应用于配置文件、数据交换等场景,像在软件开发里配置项目参数、在 DevOps 流程里定义部署规则等。
2025-05-02 22:29:10
624
原创 flutter应用开发--使用assets中的资源:1.在pubspect.yaml中声明,2.重启应用更新配置文件.3.在代码中使用assets资源
在Flutter项目里,assets文件夹的位置通常是相对固定的,而且要在文件中声明,这样才能被项目识别和使用。以下是关于assets。
2025-05-02 22:27:29
537
原创 flutter应用开发--注意点:括号闭合,分号结尾,避免在build中进行耗时操作,使用const和final,状态管理,资源释放,模块化,命名规范
在使用 Flutter 编写代码时,除了要保证{}
2025-05-02 22:21:02
298
原创 鸿蒙应用开发--router和navigation的对比,从router迁移到navigation,系统路由表的配置,页面栈,Navdestination的生命周期
navigation有页面布局能力,路由导航能力,页面转场能力,挎包动态路由的能力.总体选择● 两者均可使用,取决于需求,Router只是不演进但仍可继续使用。● Navigation与Router的对比,应根据实际开发情况选择。易用性层面● Navigation:天然具备标题、内容、回退按钮的功能联动,开发者可直接使用。● Router:若要实现此功能,需要自行定义。● Navigation:页面由组件构成,易于实现共享元素的转场。功能层面。
2025-04-09 23:42:22
514
原创 鸿蒙应用开发--封装鉴权工具类以及如何使用
导入鉴权工具类暴露出来的permissionPlugin实例,调用requestPermissions向用户申请权限,如果授权,则返回成功结果,否则返回失败结果.鸿蒙中的权限如果是user_grant类型的,不仅需要在配置文件里面申请,还需要向用户申请,比如使用麦克风进行录音的时候.一般这个时候进行二次申请,所以在catch里调用requestPermissionOnSetting方法进行二次授权.如果还是拒绝,则弹框提示手动开启麦克风权限或者其他权限。上面是封装的鉴权工具类.可以直接使用.
2025-04-08 00:05:16
181
原创 鸿蒙应用开发--使用 vertical 和 barPosition 两个独立属性而非单一属性来控制 Tab 栏的位置的原因:正交性设计原则,响应式布局适配,扩展性强
在鸿蒙(HarmonyOS)的 ArkUI 框架设计中,使用 vertical而非单一属性来控制 Tab 栏的位置,背后体现了以下。
2025-03-18 09:40:21
434
原创 鸿蒙应用开发--LazyForEach 是专为 长列表性能优化 设计的组件,其核心思想是 “按需加载”。
在鸿蒙(HarmonyOS)应用开发中,LazyForEach。,滚动时动态加载/复用组件,从而大幅降低内存消耗。是鸿蒙用于高效渲染大规模数据的列表组件,设计的组件,其核心思想是。:当你的列表需要展示。
2025-03-17 23:37:34
218
原创 鸿蒙应用开发--创建静态服务卡片,真机测试效果,修改服务卡片的名称和描述,创建动态服务卡片,对比静态卡片和动态卡片,设置动态卡片的服务直达功能
应用和元服务都可以创建卡片.元服务配合卡片,不用下载app,常用的元服务可以使用卡片直接常驻在桌面上。
2025-03-16 12:46:30
430
原创 鸿蒙应用开发--鸿蒙的元服务(原子化服务)与传统小程序(如微信、支付宝小程序)的区别
鸿蒙的元服务(原子化服务)与传统小程序(如微信、支付宝小程序)存在本质差异,主要体现在系统层级、运行机制和生态定位上。鸿蒙元服务重新定义了移动服务的形态,使其从"应用内的功能"进化为"系统级的服务细胞",这种变革将深度影响未来十年的移动应用架构设计。元服务是鸿蒙实现"1+8+N"全场景战略的核心载体,而小程序是超级App的生态延伸工具。微信小程序需通过微信App启动,而鸿蒙元服务可直接在桌面生成服务卡片,点击即用。元服务可直接调用智能家居设备的端侧AI算力,而小程序需通过云端中转。
2025-03-16 10:58:44
427
鸿蒙OS开发要点:涵盖UI设计、数据持久化、性能优化及跨模块路由跳转
2025-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人