macOS 开发环境配置与应用开发

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:macOS 开发环境配置与应用开发

文章目录

    • 一、MacOS开发环境配置
      • 1.1 安装和配置基本工具
        • 1.1.1 Command Line Tools
        • 1.1.2 Homebrew
        • 1.1.3 Git
      • 1.2 安装和配置开发环境
        • 1.2.1 Anaconda
        • 1.2.2 PyCharm
        • 1.2.3 iTerm2 和 Zsh
        • 1.2.4 Vim和Oh My Zsh
      • 1.3 系统设置和优化
        • 1.3.1 触控板和键盘设置
        • 1.3.2 关闭文件验证和App验证
        • 1.3.3 加速Zoom动画和关闭键盘输入延迟
    • 二、MacOS开发语言与框架
      • 2.1 Objective-C和Swift
      • 2.2 Xcode
    • 三、MacOS应用开发流程
      • 3.1 需求分析
      • 3.2 设计
      • 3.3 开发
      • 3.4 测试
      • 3.5 部署和发布
    • 四、总结

在这里插入图片描述

  在软件开发领域,不断涌现出各种新技术和工具,为开发者提供了更多可能性和机遇。作为开发者,我们时刻面临着学习和探索的挑战,努力跟上行业的发展步伐。macOS 作为一款优秀的操作系统,为开发者提供了稳定、高效的开发环境,让他们可以专注于代码的创作和实现。本文将探讨 macOS 开发环境的配置和应用开发的相关内容,帮助读者更好地利用 macOS 平台进行软件开发,提升开发效率和质量。让我们一起踏上这段充满挑战和乐趣的开发之旅!

一、MacOS开发环境配置

1.1 安装和配置基本工具

1.1.1 Command Line Tools

  Command Line Tools 是 MacOS 系统提供的一个小型独立包,包含了一些常用的开发工具,如编译器、调试器等,可以让用户在终端中进行开发工作,而无需安装整个 Xcode 开发环境。这对于只需要使用命令行工具进行开发的用户来说非常方便。

  要安装 Command Line Tools,可以通过在终端中执行以下命令来完成:

xcode-select --install

  这个命令会触发 MacOS 系统提示安装 Command Line Tools,按照提示操作即可完成安装过程。安装完成后,您就可以在终端中使用各种开发工具来进行编译、调试等操作了。这样可以让开发者更高效地进行开发工作,而无需安装整个 Xcode 应用程序。

1.1.2 Homebrew

  Homebrew是MacOS上非常流行的包管理器,它可以帮助用户方便地安装、更新和管理各种软件包。用户可以通过命令行来使用Homebrew进行操作。安装Homebrew的方式有多种,其中一种常见的方式是通过安装脚本来进行安装。用户可以在终端中运行以下命令来安装Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  这个命令会下载安装脚本并执行,按照提示完成Homebrew的安装过程。另外一种方式是通过直接下载pkg安装包进行安装,用户可以从Homebrew的官方网站上找到适用于自己系统版本的安装包。

  安装完成后,用户就可以通过Homebrew来安装和管理各种软件包。比如,可以使用以下命令来安装Git、Python、Node.js等软件:

brew install git
brew install python
brew install node

  通过这种方式,用户可以方便地在MacOS系统上安装需要的软件包,并且可以通过Homebrew来进行版本管理和更新。这样可以让软件的安装和管理变得更加简单和高效。

1.1.3 Git

  Git是一个分布式版本控制系统,广泛用于软件开发中对代码进行版本管理。通过Git,开发人员可以跟踪代码的变化、协作开发、回滚到历史版本等操作。在安装Git之前,确保你的系统已经安装了Homebrew,Homebrew是macOS系统下的软件包管理工具。

  安装Git可以通过Homebrew进行简单方便的安装,只需要运行以下命令:

brew install git

  安装完成后,为了能够正确地跟踪代码的修改者信息,需要配置Git的用户名和邮箱。这样在提交代码时,Git就能够知道是谁进行了代码修改。配置用户名和邮箱可以通过以下命令完成:

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

  其中,将命令中的"你的用户名"替换为你希望在Git提交中显示的用户名,"你的邮箱"替换为你的邮箱地址。

  这样配置完成后,你就可以开始使用Git来管理你的代码库了。Git提供了丰富的命令和功能,如提交代码、创建分支、合并代码等,帮助开发团队高效地进行协作开发。

1.2 安装和配置开发环境

1.2.1 Anaconda

  Anaconda是一个非常流行的Python发行版,特别适用于数据科学、机器学习等领域的开发。它包含了许多常用的科学计算库和工具,使得开发人员可以更方便地进行数据分析和模型开发。

安装Anaconda可以通过以下步骤完成:

  • 从Anaconda官网(https://www.anaconda.com)下载适合你操作系统的安装包,选择Python 3.x版本。
  • 运行安装包,按照安装向导的指引完成安装过程。在安装过程中,可以选择是否将Anaconda添加到系统环境变量中,以便在终端中直接调用Anaconda的命令。
  • 安装完成后,可以在终端中输入以下命令验证Anaconda是否成功安装:
conda --version

  如果能够显示conda的版本号,则表示Anaconda安装成功。

  配置环境变量的步骤取决于你的操作系统,一般来说,需要将Anaconda的bin目录添加到系统的PATH环境变量中。这样系统就能够找到Anaconda的命令并执行。

使用Anaconda的conda包管理器可以方便地管理Python包。常用的命令包括:

  • conda install package_name:安装指定的Python包。
  • conda update package_name:更新指定的Python包。
  • conda remove package_name:卸载指定的Python包。
  • conda list:列出当前环境中安装的所有Python包。

  通过Anaconda,你可以快速搭建Python开发环境,并开始进行数据科学和机器学习的开发工作。

1.2.2 PyCharm

  PyCharm是一款由JetBrains开发的专业Python集成开发环境(IDE),为Python开发者提供了丰富的功能和工具,如代码补全、语法高亮、调试器、版本控制集成等,帮助开发者提高编码效率和质量。

安装PyCharm可以通过以下步骤完成:

  • 从PyCharm官网(https://www.jetbrains.com/pycharm)下载适合你操作系统的安装包,选择Community(社区版)或者Professional(专业版)版本。
  • 运行安装包,按照安装向导的指引完成安装过程。可以根据个人需求选择安装路径等选项。
  • 安装完成后,打开PyCharm,可以根据个人喜好进行配置,如选择主题、字体大小、代码风格等。

在PyCharm中配置conda环境可以按照以下步骤进行:

  • 打开PyCharm,进入Settings(设置)。
  • 在Settings中,选择Project Interpreter(项目解释器)。
  • 点击右上角的齿轮图标,选择Add(添加)。
  • 在弹出的窗口中,选择Conda Environment(conda环境),并选择已安装的conda环境。
  • 点击OK,PyCharm会自动配置项目的解释器为选定的conda环境。

  通过配置conda环境,可以确保项目依赖的库和版本与conda环境一致,避免出现依赖问题。在PyCharm中,你可以方便地进行Python项目的开发、调试和管理,提高开发效率。

1.2.3 iTerm2 和 Zsh

  iTerm2是MacOS下一款功能强大的终端模拟器,相较于系统自带的终端,iTerm2提供了更多的功能和自定义选项,例如分屏显示、标签页管理、搜索功能、自定义配色方案等。用户可以通过iTerm2更高效地进行命令行操作和开发工作。

  Zsh是一种强大的shell,它比bash更为灵活和功能丰富。Zsh支持自动补全、插件扩展、主题定制等功能,使得命令行操作更加高效和便捷。许多开发者喜欢使用Zsh作为他们的默认shell,因为它提供了更多的定制选项和更好的用户体验。

  通过Homebrew这个包管理器,用户可以方便地安装iTerm2和Zsh,并进行配置,将Zsh设置为默认的shell。首先,用户需要安装Homebrew,然后使用Homebrew安装iTerm2和Zsh。接着,用户可以通过修改配置文件(如.zshrc)来定制Zsh的行为,包括设置主题、插件管理等。最后,用户可以在iTerm2中设置使用Zsh作为默认shell,从而充分发挥它们的功能和优势。

  总的来说,iTerm2和Zsh是MacOS下优秀的终端工具和shell,它们的结合可以提升用户的命令行操作体验和工作效率。通过合理配置和定制,用户可以打造适合自己需求的命令行环境。

1.2.4 Vim和Oh My Zsh

  为了安装Vim和Oh My Zsh,首先确保你已经安装了Homebrew。如果你还没有安装Homebrew,可以在终端中运行以下命令进行安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,你可以按照以下步骤安装Vim和Oh My Zsh:

安装Vim:

  • 打开终端应用程序。
  • 运行以下命令来安装Vim:
brew install vim
  • 安装完成后,你可以通过运行 vim --version 来验证Vim是否成功安装。

安装Oh My Zsh:

  • 首先,确保你已经安装了Zsh。如果没有安装,可以运行以下命令安装Zsh:
brew install zsh
  • 安装完成后,你可以设置Zsh为默认shell:
chsh -s /bin/zsh
  • 然后,安装Oh My Zsh。运行以下命令来安装Oh My Zsh:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • 安装完成后,你可以编辑 ~/.zshrc 文件来配置Oh My Zsh的插件和主题。你可以在该文件中找到各种配置选项。

1.3 系统设置和优化

1.3.1 触控板和键盘设置

  在MacOS中,可以通过系统偏好设置对触控板和键盘进行自定义配置,如开启轻点点按、三指拖动等功能,提高操作效率。

1.3.2 关闭文件验证和App验证

  在开发过程中,经常需要安装第三方软件和包,但有时系统会对这些软件和包进行验证,导致安装失败。可以通过修改系统偏好设置或执行命令来关闭这些验证。

1.3.3 加速Zoom动画和关闭键盘输入延迟

  通过修改系统设置,可以加速Zoom动画和关闭键盘输入延迟,提高系统的响应速度和操作流畅度。

二、MacOS开发语言与框架

2.1 Objective-C和Swift

  Objective-C是MacOS和iOS应用开发的主要语言之一,它是面向对象的编程语言,与C语言兼容。Objective-C开发过程中,主要使用Cocoa和Cocoa Touch框架,这两个框架提供了丰富的UI和数据管理功能。

  Swift是Apple推出的一种现代编程语言,用于开发iOS、macOS、watchOS和tvOS应用。Swift比Objective-C更加简洁、快速和安全,且与Objective-C可以相互调用。

2.2 Xcode

  Xcode是Apple提供的集成开发环境(IDE),用于开发MacOS和iOS应用。Xcode提供了代码编辑、编译、调试、模拟器等功能,并支持版本控制、单元测试等高级功能。

  Xcode的安装通常随MacOS系统安装而附带,也可以通过App Store进行安装。Xcode的界面和功能非常丰富,建议在实际开发过程中逐步学习和掌握。

三、MacOS应用开发流程

3.1 需求分析

  针对 macOS 应用开发的需求分析,可以考虑以下几个方面的内容:

  • 功能需求:确定 macOS 应用程序需要实现的具体功能,包括基本功能和高级功能。例如,是否需要实现文件管理功能、网络连接功能、多媒体播放功能等。在功能需求中也需要考虑 macOS 系统特有的功能和特性。

  • 用户界面设计:设计符合 macOS 用户界面设计规范的界面,确保应用程序外观和交互方式与 macOS 系统风格一致。考虑使用 Cocoa 框架来构建用户界面,包括窗口、菜单、按钮等元素的设计。

  • 数据存储和管理:确定应用程序需要处理和管理的数据类型、数据量,以及数据的存储方式。考虑使用 Core Data 框架来实现数据持久化,或者与云服务进行数据同步。

  • 性能和稳定性需求:确保 macOS 应用程序具有良好的性能和稳定性,能够在 macOS 系统上流畅运行并响应用户操作。考虑优化代码、减少资源占用,以提升应用程序的性能和稳定性。

  • 安全性需求:考虑 macOS 应用程序的安全性需求,包括数据加密、用户身份验证、安全传输等方面。确保应用程序符合 macOS 系统的安全标准,保护用户数据和隐私。

  • 适配不同设备:考虑 macOS 应用程序在不同设备上的适配性,包括不同分辨率的屏幕、不同型号的 Mac 设备等。确保应用程序能够在各种设备上正常显示和运行。

3.2 设计

  在进行 macOS 应用开发设计时,需要综合考虑界面设计、架构设计和数据库设计等方面,以确保应用程序具有良好的用户体验、稳定性和性能。下面详细论述这些设计方面:

  • 界面设计:

    • 符合 macOS 用户界面设计规范:设计应用程序界面时,需要遵循 macOS 的用户界面设计规范,包括窗口、菜单、按钮等元素的布局和样式,以确保应用程序与 macOS 系统风格一致。
      简洁直观:界面设计应该简洁直观,用户能够快速找到需要的功能和操作,减少用户的学习成本和操作复杂度。
    • 响应式设计:考虑不同分辨率的屏幕和设备,设计界面能够在不同设备上自适应,保证用户体验一致性。
  • 架构设计:

    • 模块化设计:将应用程序拆分为多个模块,每个模块负责特定的功能,便于代码管理和维护。
    • MVC 架构:采用 Model-View-Controller(模型-视图-控制器)架构,将数据、界面和业务逻辑分离,提高代码的可读性和可维护性。
    • 可扩展性:设计具有良好的扩展性,能够方便地添加新功能或模块,应对未来的需求变化。
  • 数据库设计:

    • 选择合适的数据库:根据应用程序的需求选择合适的数据库类型,如 SQLite、Core Data 等,确保数据存储和查询的效率和稳定性。
    • 数据表设计:设计合理的数据表结构,避免数据冗余和不一致,保证数据的完整性和一致性。
    • 索引和优化:为常用的查询字段添加索引,优化数据库查询性能,提高数据访问效率。

  通过合理的界面设计、架构设计和数据库设计,可以为 macOS 应用程序的开发奠定良好的基础,提高应用程序的质量和用户体验。在设计过程中,需要与团队成员密切合作,不断优化和调整设计方案,以确保最终的应用程序能够满足用户的需求并达到预期的效果。

3.3 开发

  在 macOS 应用开发阶段,开发团队需要通过编写代码、调试程序、优化性能等步骤来实现需求分析和设计阶段确定的功能和设计。以下是详细的论述:

  • 选择开发工具和语言:

    • 开发工具:在 macOS 上开发应用程序,通常会选择使用 Xcode 作为主要的集成开发环境(IDE),Xcode 提供了丰富的工具和功能,方便开发人员进行代码编写、调试、构建和部署。
    • 开发语言:在 macOS 应用开发中,可以选择使用 Objective-C 或 Swift 作为主要的开发语言。Swift 是苹果推出的现代化编程语言,具有简洁、安全、高效的特点,逐渐取代了 Objective-C 成为首选的开发语言。
  • 编写代码:

    • 根据需求分析和设计阶段的文档和设计稿,开发团队开始编写应用程序的代码。代码应该遵循规范和最佳实践,保持代码清晰、可读性强。
    • 在编写代码的过程中,需要注重代码的模块化和可重用性,避免代码冗余和耦合度过高。
  • 调试程序:

    • 在开发过程中,开发人员需要进行程序的调试和测试,确保应用程序的功能和逻辑正确。
      Xcode 提供了强大的调试工具,如断点调试、变量监视、内存检测等,帮助开发人员快速定位和解决问题。
  • 优化性能:

    • 优化应用程序的性能是开发过程中的重要任务之一。通过优化算法、减少资源占用、合理使用内存等方式,提高应用程序的运行效率和响应速度。
    • 使用 Instruments 工具来进行性能分析,找出性能瓶颈并进行优化,以提升应用程序的整体性能。
  • 持续集成和部署:

    • 在开发完成后,需要进行持续集成和部署,确保应用程序的稳定性和可靠性。
    • 使用 Xcode 提供的工具和服务,如 TestFlight、App Store Connect 等,进行应用程序的打包、测试和发布。

  通过以上步骤的详细论述,开发团队可以在 macOS 应用开发过程中有条不紊地进行代码编写、调试、优化和部署,最终实现一个高质量、稳定性强的 macOS 应用程序。

3.4 测试

  在 macOS 应用开发过程中,测试是确保应用质量的关键步骤,可以通过单元测试、集成测试、性能测试等多种测试手段来发现并修复程序中的错误和缺陷,提高应用的稳定性和可靠性。以下是详细的论述:

  • 单元测试:

    • 定义:单元测试是针对应用程序中的最小单元(如函数、方法)进行测试,验证其功能是否按照预期工作。
    • 工具:在 macOS 应用开发中,可以使用 XCTest 框架来编写和运行单元测试,XCTest 提供了丰富的断言和测试工具,方便开发人员编写和执行单元测试。
  • 集成测试:

    • 定义:集成测试是测试不同模块或组件之间的交互和集成,验证它们能否正确地协同工作。
    • 工具:可以使用 Xcode 提供的集成测试工具来进行集成测试,确保不同模块之间的集成没有问题。
  • UI 测试:

    • 定义:UI 测试是测试应用程序的用户界面,验证用户界面的交互和功能是否符合预期。
    • 工具:可以使用 Xcode 的 UI 测试框架来编写和运行 UI 测试,模拟用户操作和验证界面行为。
  • 性能测试:

    • 定义:性能测试是测试应用程序在不同条件下的性能表现,包括响应时间、资源占用等方面。
    • 工具:使用 Xcode 的 Instruments 工具来进行性能测试,分析应用程序的性能瓶颈并进行优化。
  • 用户验收测试:

    • 定义:用户验收测试是由最终用户或代表用户的测试人员进行的测试,验证应用程序是否符合用户需求和期望。
    • 工具:可以通过邀请用户参与测试,收集用户反馈和意见,以改进应用程序的质量和用户体验。

  通过以上多种测试手段的综合应用,开发团队可以全面地评估应用程序的质量和稳定性,及时发现和修复问题,确保应用程序在发布前具有高质量、稳定性强的特点。测试是 macOS 应用开发过程中不可或缺的一环,对于保障应用程序的成功发布和用户满意度至关重要。

3.5 部署和发布

  在 macOS 应用开发完成后,部署和发布是非常重要的步骤,它涉及将应用程序打包、测试、发布到目标设备或应用商店,以确保应用的质量和用户体验。以下是详细的论述:

  • 打包应用程序:

    • 在 Xcode 中,可以使用 Archive 功能将应用程序打包成可分发的文件。通常在打包过程中,会生成一个包含应用程序可执行文件和资源的 .app 文件。
    • 可以选择将应用程序打包成 DMG 文件(磁盘映像文件),用户可以通过挂载 DMG 文件来安装应用程序。
  • 测试:

    • 在发布前,需要进行充分的测试,包括功能测试、性能测试、兼容性测试等,确保应用程序的质量和稳定性。
    • 可以利用测试团队或外部测试服务进行测试,收集反馈并及时修复问题。
  • 数字签名:

    • 在 macOS 应用程序发布中,数字签名是必要的步骤。通过数字签名,可以确保应用程序的完整性和来源可信,提高用户对应用程序的信任度。
    • 可以使用开发者证书对应用程序进行数字签名,确保应用程序在用户设备上能够正常安装和运行。
  • 发布到 App Store:

    • 如果计划通过 App Store 进行发布,需要创建一个开发者账号,并遵循 App Store 的审核规则和要求。
  • 在 Xcode 中,可以使用 App Store Connect 来上传应用程序的构建版本,填写应用程序的描述、截图、定价等信息,提交应用程序进行审核。

  • 发布到其他渠道:

    • 如果不通过 App Store 发布,还可以通过其他渠道进行发布,如官方网站、第三方应用商店等。
    • 在发布到其他渠道时,需要提供清晰的安装指南和支持信息,确保用户能够顺利安装和使用应用程序。

  通过以上详细的部署和发布步骤,开发团队可以将 macOS 应用程序顺利发布到目标设备或应用商店,提供给用户使用。在发布后,还需要及时关注用户反馈和应用程序的使用情况,不断优化和改进应用程序,以提升用户体验和满意度。

四、总结

  MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,使得开发MacOS应用变得高效而愉悦。在开发过程中,合理配置开发环境、选择适合的开发语言和框架至关重要。同时,遵循规范的开发流程,从需求分析到设计、开发、测试和部署,每个环节都需要精心协调和配合,以确保最终应用的质量和用户体验达到最佳状态。开发者应当注重细节,关注用户需求,不断优化和改进应用,以满足用户的需求并提升用户体验。只有如此,才能开发出高质量的MacOS应用,为用户带来更好的使用体验。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

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

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

相关文章

mfc140u.dll缺失?快速解决方法全解析,解决mfc140u.dll错误

当你的电脑出现找不到mfc140u.dll的问题,不少用户在使用电脑时陷入了困扰。这个错误提示就像一道屏障,阻挡了用户正常使用某些软件。无论是办公软件、游戏还是专业的设计工具,一旦出现这个问题,都会导致软件无法正常运行。如果您也…

【AIGC】内容创作——AI文字、图像、音频和视频的创作流程

我的主页:2的n次方_ 近年来,生成式人工智能(AIGC,Artificial Intelligence Generated Content)技术迅速发展,彻底改变了内容创作的各个领域。无论是文字、图像、音频,还是视频,A…

【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制

目录 1. 主库设置2. 从库设置3. 验证主从复制内容汇总表格 摘要: 在Windows系统上通过Docker部署MySQL主从复制,以下是详细的步骤和命令,帮助你设置一主一从的MySQL复制环境。 1. 主库设置 步骤1:运行MySQL主库容器 docker run …

如何在 DAX 中计算多个周期的移动平均线

在 DAX 中计算移动聚合很容易。但是,计算一段时间内的移动平均值时会有一些陷阱。由于其中一些陷阱是定义问题,因此我们必须小心,不要选择错误的方法。让我们看看细节。欢迎来到雲闪世界。 添加图片注释,不超过 140 字&#xff08…

一种路径敏感的数据依赖分析算法

Falcon 1.方法1.1.Basic Rule1.2.改进算法1.3.跨函数分析 2.Evaluation2.1.设置2.2.value-flow分析2.3.Thin Slicing2.4.Bug Detection 参考文献 这篇工作发表于PLDI 24,提出了一种context- 以semi-path-sensitive的数据依赖分析算法,解决path-sensitive…

css中背景色、背景图的使用

1、同时使用背景色、背景图片 参考链接:链接 以下样式,背景色在图片下方(缺点:图片不透明时,背景色会被完全遮挡。) .header {height: 100%;width: 100%;background-color: #000;background-image: url(/static/images/back.pn…

thinkphp6开发的通用网站系统源码

thinkphp6开发的通用网站系统源码。 基于ThinkPHP6框架开发的通用后台权限管理系统,底层采用国内最流行的ThinkPHP6框架, 支持内容管理、文章管理、用户管理、权限管理、角色管理等功能。 代码下载百度网盘

jenkins部署Maven和NodeJS项目

在 Java 项目开发中,项目的编译、测试、打包等是比较繁琐的,属于重复劳动的工作,浪费人力和时间成本。以往开发项目时,程序员往往需要花较多的精力在引用 jar 包搭建项目环境上,跨部门甚至跨人员之间的项目结构都有可能…

基于SSM的宿舍管理系统 (源码+定制+文档)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

【MAUI】CommunityToolkit社区工具包介绍

一、为什么需要声明式开发 .NET的MVVM,始于WPF,很古典,它甚至可能是现代前端框架“声明式开发”的鼻祖。声明式开发,之所以出现,是因为命令式开发在UI层和代码层上无法解耦的问题。如下图所示: 1、命令式开发:后台代码需要调用UI层的控件(label.Text),如果更新UI层…

stm32 bootloader跳转程序设计

文章目录 1、bootloader跳转程序设计&#xff08;1&#xff09;跳转程序&#xff08;2&#xff09;、app程序中需要注意<1>、在keil中ROM起始地址和分配的空间大小<2>、在system_stm32f4xx.c中设置VECT_TAB_OFFSET为需要偏移的地址<3>、main函数中使能中断 总…

C初阶(六)--- static 来喽

前言&#xff1a;C语言中有许多关键字&#xff08;关键字是预先保留的标识符&#xff0c;具有特殊意义&#xff0c;不能用作变量 名、函数名等普通标识符。&#xff09; 比如&#xff1a;前面在变量与常量那一节提到的extern 就是一个关键字&#xff0c;应该还记得e…

Grafana链接iframe嵌入Web前端一直跳登录页面的问题记录

概述 公司有个项目使用到Grafana作为监控界面,因为项目方的环境极其复杂,仅物理隔离的环境就有三四个,而且每个都得部署项目,今天在某个环境测试,查看界面遇到一个比较奇怪的Grafana问题,后面针对该问题进行跟踪分析并解决,故而博文记录,用于备忘。 问题 登录项目We…

Pikachu-Sql Inject-insert/update/delete注入

insert 注入 插入语句 insert into tables values(value1,value2,value3); 如&#xff1a;插入用户表 insert into users (id,name,password) values (id,username,password); 当点击注册 先判断是否有SQL注入漏洞&#xff0c;经过判断之后发现存在SQL漏洞。构造insert的pa…

Redis 篇-深入了解在 Linux 的 Redis 网络模型结构及其流程(阻塞 IO、非阻塞 IO、IO 多路复用、异步 IO、信号驱动 IO)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 用户空间与内核空间概述 2.0 Redis 网络模型 2.1 Redis 网络模型 - 阻塞 IO 2.2 Redis 网络模型 - 非阻塞 IO 2.3 Redis 网络模型 - IO 多路复用 2.3.1 IO 多路复…

【mmengine】配置器(config)(入门)读取与使用

一、 介绍 MMEngine 实现了抽象的配置类&#xff08;Config&#xff09;&#xff0c;为用户提供统一的配置访问接口。 配置类能够支持不同格式的配置文件&#xff0c;包括 python&#xff0c;json&#xff0c;yaml&#xff0c;用户可以根据需求选择自己偏好的格式。 配置类提供…

【网路通信基础与实践番外二】TCP协议的流量控制和拥塞控制以及二者区别和例题

TCP协议是端对端的协议&#xff0c;因此在数据进行传输的过程受发送方&#xff0c;数据通道&#xff0c;接收方三方状态的影响。我们用水龙头来比喻数据发送方&#xff0c;水管来比喻数据通道&#xff0c;水桶来表示数据接收方。 图(a)表示水桶太小&#xff0c;来不及接受注入…

Unity实战案例全解析:RTS游戏的框选和阵型功能(3)生成范围检测框 +重置框选操作

前篇&#xff1a;Unity实战案例全解析&#xff1a;RTS游戏的框选和阵型功能&#xff08;2&#xff09; 生成选择框-CSDN博客 本案例来源于unity唐老狮&#xff0c;有兴趣的小伙伴可以去泰克在线观看该课程 我只是对重要功能进行分析和做出笔记分享&#xff0c;并未无师自通&…

给出向量求叉乘(在垂直的时候可以简化)

1、可以用那个求行列式的方法求叉乘。 2、在两个向量垂直的时候&#xff0c;可以用简化方法&#xff0c;前面幅度相乘&#xff0c;然后ex叉乘ey是ez 注意叉乘结果无论原向量是不是垂直&#xff0c;叉乘结果都与两个向量垂直

深入探秘 Java 网络编程:从基础到多线程服务器的全方位指南

我的主页&#xff1a;2的n次方_ Java 作为一门功能强大的编程语言&#xff0c;不仅在桌面应用、移动开发、后端开发等领域表现出色&#xff0c;还在网络编程中拥有广泛的应用。网络编程涉及在两个或多个设备之间通过网络进行通信&#xff0c;这对于构建分布式系统、客户端…