选择不再困难:Rust Web框架Actix、Rocket与Warp深度对比

Rust Web 框架选择:Actix、Rocket 或 Warp 在 Rust 生态中,选择一个适合自己的 Web 框架是开发高效、高性能 Web 应用程序的关键。本文将为你介绍三种流行的 Rust Web 框架:Actix、Rocket 和 Warp,帮助你根据不同场景和需求做出明智的选择。 1. Actix 应用场景 Actix 是一个强大、灵活且富有表达力的异步 Web 框架。它适用于需要高并发、异步处理和消息传递的复杂应用程序。如果你的项目需要处理大量的并发请求,特别是 I/O 密集型的 Web 服务,Actix 是一个不错的选择。 实用技巧和案例 异步处理:Actix 使用actor模型处理请求,使得每个请求都是异步的。这使得应用程序能够更好地利用多核 CPU 的性能,提高并发处理能力。易于上手:Actix 提供了丰富的文档和示例,使得入门相对容易。你可以从简单的 “Hello, world!” 开始,逐步学习如何构建复杂的 Web 应用程序。强大的路由系统:Actix 内置了一个强大的路由系统,支持多种路由规则,如 GET、POST、PUT、DELETE 等。这使得构建 RESTful API 变得轻而易举。 案例:假设你正在开发一个在线聊天应用程序,需要处理大量的并发消息。使用 Actix,你可以轻松地构建一个高效的、支持高并发的 Web 服务,同时利用其强大的消息传递机制来实现聊天功能。 2. Rocket 应用场景 Rocket 是一个注重用户界面和体验的 Web 框架。它提供了一种简单、类型安全且易于使用的方式来构建 Web 应用程序。如果你的项目侧重于用户交互和体验,Rocket 是一个很好的选择。 实用技巧和案例 简洁的模板系统:Rocket 提供了内置的模板系统,支持多种模板语言,如 HTML、CSS 和 JavaScript。这使得构建用户友好的 Web 界面变得更加简单。易于扩展:Rocket 框架设计简洁,易于理解和扩展。你可以轻松地自定义数据验证、中间件和路由等。安全性:Rocket 内置了多种安全特性,如跨站点请求伪造(CSRF)和跨站点脚本(XSS)防护,帮助你构建安全可靠的 Web 应用程序。

使用LangChain和Llama-Index实现多重检索RAG

大家好,在信息检索的世界里,查询扩展技术正引领着一场效率革命。本文将介绍这一技术的核心多查询检索,以及其是如何在LangChain和Llama-Index中得到应用的。 1.查询扩展 查询扩展是一种信息检索技术,通过在原始查询的基础上增加相关或同义的词汇和短语来优化搜索结果。这种方法能够丰富查询的语义,提高检索系统的准确性和相关性。 在查询扩展的众多策略中,多查询检索是其中的一种。它通过生成多个相关的查询请求,从而拓宽搜索范围,帮助用户更全面地获取所需信息。这种技术尤其适用于处理复杂的查询需求,能够有效提高信息检索的效率和质量。 2.机制 系统在接到查询请求后,会先通过高级语言模型生成一个与原查询相近的新查询。这个新查询随后用于在Llama-Index中检索相关文档,从而获取与原查询高度相关的信息,增强上下文理解,确保结果更精准、更符合用户的实际需求。 2次LLM交互:为精确生成查询,流程包括向大型语言模型(LLM)并行发出两次请求:初次使用gpt3模型,之后可能提升至gpt4或其他高级模型,以获取更丰富的查询结果。 3.实现方法 3.1 LangChain loader = UnstructuredPDFLoader(FILE_NAME) docs = loader.load() text_splitter = SentenceTransformersTokenTextSplitter() texts = text_splitter.split_documents(docs) emb = OpenAIEmbeddings(openai_api_key=openai.api_key) vec_db = Chroma.from_documents(documents=texts, embedding=emb) lc_model = ChatOpenAI(openai_api_key=openai.api_key, temperature=1.5) base_retriever = vec_db.as_retriever(k=K) final_retriever = MultiQueryRetriever.from_llm(base_retriever, lc_model) tmpl = """ You are an assistant to answer a question from user with a context. Context: {context} Question: {question} The response should be presented as a list of key points, after creating the title of the content, formatted in HTML with appropriate markup for clarity and organization.

福彩双色球开奖数据爬虫工具-Python彩票数据爬虫实实战(附上所有代码)

简介 这个Python脚本用于从中国福利彩票官方网站爬取双色球开奖结果,并将数据保存到CSV文件中。该脚本使用requests库发送HTTP请求,使用pandas库处理和保存数据,仅供参考学习使用。 爬虫,也称为网络爬虫或网页爬虫,是一种自动化的网络机器人,其主要原理是按照一定的规则自动浏览万维网并抓取信息的程序或脚本。以下是爬虫的基本工作原理: 初始URL:爬虫开始工作时,通常会有一组初始的URL列表,这些是爬虫开始抓取数据的起点。 请求网页:爬虫通过HTTP或HTTPS协议向特定的URL发送请求,就像普通用户使用浏览器访问网页一样。 解析内容:一旦网页响应,爬虫会下载网页内容,并从中提取有用的信息。这通常涉及到HTML和CSS的解析。 数据提取:爬虫会根据预设的规则解析HTML文档,提取出需要的数据,如文本、图片、链接等。 数据存储:提取出的数据会被存储起来,常见的存储方式包括数据库、文件系统或者内存中。 遵循链接:爬虫会分析当前页面的链接,并将这些链接添加到待爬取的队列中,以便接下来访问。 去重复:为了效率和避免重复工作,爬虫会检查新发现的URL是否已经被访问过,通常使用一个大型的集合数据结构来存储已访问的URL。 遵守规则:爬虫在抓取过程中会遵守robots.txt文件中的规则,这是网站管理员指定哪些部分可以被爬虫访问的标准。 错误处理:在爬取过程中,爬虫会遇到各种异常情况,如404错误、服务器错误等,良好的爬虫设计会包括错误处理机制。 用户代理:爬虫通常会设置一个用户代理(User-Agent),模仿浏览器的行为,有时候也会进行伪装,以避免被服务器识别为爬虫。 爬虫的设计和实现可以根据需求的不同而有很大的变化,但上述是大多数爬虫的基本工作流程。在设计爬虫时,应当考虑到效率、并发、网络延迟、数据处理和法律等多方面的因素。 环境要求 Python 3.xrequests库pandas库 安装依赖 在运行脚本之前,需要安装必要的Python库。可以使用以下命令安装: pip install requests pandas 文件结构 catch(i): 一个函数,用于爬取指定页码的开奖数据。try...except: 主逻辑块,用于循环调用catch函数,并处理数据。 使用方法 确保所有依赖已安装。在命令行或IDE中运行脚本。脚本会自动爬取数据,并将反序后的数据保存到reversed_data.csv文件中。 参数说明 url: 目标网站的URL。params: 用于请求的参数字典。header: 自定义的HTTP头部信息。pageNo: 当前爬取的页码。pageSize: 每页显示的记录数。 注意事项 请合理设置爬取间隔,避免对服务器造成过大压力。确保遵守目标网站的爬虫政策和法律法规。脚本中的time.sleep(1)被注释掉了,建议根据实际情况取消注释以设置合理的请求间隔。 代码附上: # coding=gbk import time import requests import pandas as pd url = "https://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice" params = { 'name': 'ssq', 'issueCount': '', 'issueStart': '', 'issueEnd': '', 'dayStart': '', 'dayEnd': '', 'pageNo': 1, 'pageSize': 30, 'week': '', 'systemType': 'PC', } header = { 'Accept': 'application/json, text/javascript, */*; q=0.

Stable Diffusion XL优化终极指南

如何在自己的显卡上获得SDXL的最佳质量和性能,以及如何选择适当的优化方法和工具,这一让GenAI用户倍感困惑的问题,业内一直没有一份清晰而详尽的评测报告可供参考。直到全栈开发者Félix San出手。 在本文中,Félix介绍了相关SDXL优化的方法论、基础优化、Pipeline优化以及组件和参数优化。值得一提的是,基于实测表现,他高度评价并推荐了由硅基流动研发的图片/视频推理加速引擎OneDiff,“I just wanted to say that onediff is the fastest of them all! so great job!!(我只想说,OneDiff是所有图像推理引擎中最快的!非常棒的工作!!)” 由于本文内容相当扎实,篇幅相对较长,不过,他很贴心地提醒读者,可以直接翻到末尾看结论。 感谢Félix出色的专业评测报告。关于Stable Diffusion XL优化指南,读这一篇就够了。 (本文由OneFlow编译发布,转载请联系授权。原文:https://www.felixsanz.dev/articles/ultimate-guide-to-optimizing-stable-diffusion-xl) 本文将介绍Stable Diffusion XL优化,旨在尽可能减少内存使用的同时实现最优性能,从而加快图像生成速度。我们将能够仅用4GB内存生成SDXL图像,因此可以使用低端显卡。 由于本文以脚本/开发为导向,因此将使用Hugging Face的diffusers库。即便如此,了解不同的优化技术及其相互作用将有助于我们在各种应用中充分利用这些技术,例如Automatic1111的Stable Diffusion webUI,尤其是ComfyUI。 本文可能显得冗长而深奥,但你无需一次性阅读完毕。我的目标是让读者了解各种现存的优化技术,并教会你何时以及如何使用和组合它们,尽管其中一些技术本身就已经有了实质性的差异。 你也可以直接跳到结论部分,其中包括所有测试的总结表格,以及针对追求质量、速度或内存受限条件下运行推理时的建议。 作者 | Félix San OneFlow编译 翻译|宛子琳、杨婷 1 方法论 在测试中,我使用了RunPod平台,在Secure Cloud上生成了一个GPU Pod,配备了RTX 3090显卡。尽管Secure Cloud的费用略高于Community Cloud($0.44/h vs $0.29/h),但对于测试来说,它似乎更合适。 该实例生成于EU-CZ-1区域,拥有24GB的VRAM(GPU)、32 个vCPU(AMD EPYC 7H12)和125GB的RAM(CPU和RAM值并不重要)。至于模板,我使用RunPod PyTorch 2.1(runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04),这是一个基础模板,没有其他额外内容。因为我们将对其进行更改,所以PyTorch的版本并不重要,但该模板提供了Ubuntu、Python 3.10和CUDA 11.8作为标准配置。只需两次点击并等待30秒,我们就已经准备好所需的一切。 如果你要在本地运行模型,请确保已安装Python 3.10和CUDA或等效平台(本文将使用CUDA)。 所有测试都是在虚拟环境中进行的: 创建虚拟环境 python -m venv .venv 激活虚拟环境 # Unix source .venv/bin/activate # Windows .

权威答案!灵犀医疗引入 Zilliz Cloud,千万级向量数据库赋能医学 AIGC 平台

“医疗行业是一个信息差较大的行业,术语体系庞杂且知识门类较多,如何能搜索到最精准的医学知识并采用最合理方式进行总结,这是我们医学 AIGC 平台 EviMed 所遇见的最主要的技术问题。 传统的数据库和全文检索方式难以满足我们的技术要求,结合了 Zilliz Cloud 向量数据库服务之后,我们的系统效能显著提升,客户响应速度提升了 8%,搜索结果精准度提升约 10%,企业内部运维成本也降低了 30% 。在使用的过程中,Zilliz Cloud的专家团队也为我们提供了很好的支持与帮助,为我们的 EviMed 平台在行业中带来了很强的竞争优势。” ——灵犀医疗 CEO 王则远博士 01.灵犀医疗:专注医学知识搜索与内容生成 灵犀医疗是一家专注进行医学知识搜索和内容生成的企业,自研的EviMed平台为医院、医药生产企业和医务工作者提供基于检索增强生成(RAG)的 SaaS 服务,快速进行临床科研、疾病科普和药学评价的 AIGC 服务。现今已辅助 300 余家大型三甲医院完成 1300 余万次医学知识搜索和临床问题解答,并辅助生成 80 余万篇医学内容。 02.为什么需要 Zilliz Cloud? 针对目前医学领域中知识搜索和内容生产全流程耗时较长且证据的转化利用率低的痛点,灵犀医疗搭建了全面、庞大、完整的医学知识数据库,数据量高达 3.5 亿。同时医学的术语体系庞杂,搜索关键词的界限模糊,传统的数据查询方式难以满足精准知识定位和分析的要求,且响应速度和稳定性都无法保证,经常面临知识查找不到或不精准的情况,在用 Zilliz Cloud 服务之前,经常遇到客户质疑知识搜索覆盖面不全等情况。 由于业务的发展和数据量的持续扩大,对向量数据库的要求也越来越多——需要弹性扩容支撑向量存储和搜索,运维成本要低,要能支持稠密向量搜索、稀疏向量搜索和关键词搜索等多样的搜索机制,以及对 JAVA 的良好兼容性等。 通过与 Zilliz 团队充分沟通,灵犀医疗现今已将第一批次的千万级向量数据库搬迁至 Zilliz Cloud 上,实现知识搜索和临床科研两大核心业务版块的支持。 03.Zilliz Cloud 高效支持灵犀医疗两大核心场景 向量数据库是灵犀医疗业务场景技术提升的关键组件,基于 Zilliz Cloud 的性能特点,可为 EviMed 提供以下服务: 数据检索更高效:向量数据库可以大幅提升EviMed 平台数据检索的速度和精确度,快速解答医务工作者的临床问题; 数据挖掘更彻底: 在临床科研和药学评价中,向量数据库的高维数据分析能力可用于深度挖掘文献、指南和药品说明书中的关键信息,提高定性/定量结论的生成速度和质量。 深化智能化数据分析:通过集成向量数据库,EviMed可以在平台应用中实现更智能化的AI数据分析,提供后台AI Agent所必不可少的长文本记忆力。 Zilliz Cloud 的引入在灵犀医疗的EviMed平台中产生了很好的能力提升,其中包括以下几点: 避免出现无搜索结果:医学领域的术语多种多样,一种疾病往往会有多种亚组,同时会有很多的定语,例如“既往接受过含氟尿嘧啶类或含铂类化疗的晚期胃癌或胃食管交界部腺癌”,如果采用传统切词后的全文检索,将难以实现该知识内容的搜索。采用 Zilliz Cloud 向量数据库服务,可结合基于向量检索和关键词的全文检索进行混合搜索,从而避免搜索不到任何结果。

JDK 22 详细安装教程

JDK官方下载网址:Java Downloads | Oracle 步骤 1: 下载 JDK 22 打开你的浏览器,访问 Oracle 官方网站的 JDK 下载页面。 在 “Java SE 22” 部分,选择适用于 Windows 64 位操作系统的版本。 点击“下载”按钮,接受许可协议并下载安装程序(通常是一个 .exe 文件)。 步骤 2: 运行安装程序 双击下载的 .exe 文件,启动安装程序。 在安装向导中,点击“下一步”继续。 步骤 3: 设置安装选项 在安装类型选择窗口中,选择“自定义”选项,然后点击“下一步”。 在自定义安装窗口中,可以选择安装的组件。确保至少选择了 “Development Tools” 和 “Source Code”。点击“下一步”。 步骤 4: 选择安装位置 在安装位置窗口中,可以选择安装 JDK 的位置。默认情况下,它会安装在 C:\Program Files\Java\jdk-22。你也可以点击“更改”按钮来指定其他位置。点击“下一步”。 步骤 5: 完成安装 点击“安装”按钮,开始安装 JDK。 安装过程可能需要一段时间,请耐心等待。 安装完成后,点击“完成”按钮退出安装程序。 步骤 6: 配置系统环境变量 右键点击桌面左下角的“开始”按钮,选择“系统”。 在系统窗口中,点击“关于”选项卡。 点击“系统信息”。 在系统信息窗口中,点击“高级系统设置”链接。 在系统属性窗口中,点击“环境变量”按钮。 在系统变量部分,找到名为 PATH 的变量,双击它以编辑。 在变量值字段的末尾,添加 JDK 的安装路径。例如,如果 JDK 安装在 C:\Program Files\Java\jdk-22,则添加 ;C:\Program Files\Java\jdk-22\bin 到变量值的末尾(请确保前后以分号分隔)。

【AIGC调研系列】Dify平台是什么

Dify平台是一个专为大型语言模型(LLM)开发和运营设计的LLMOps(Large Language Model Operations)平台。它旨在简化AI应用的创建、部署和管理过程,使开发者能够更快速、更轻松地构建和运营基于GPT等模型的AI应用。 Dify的核心功能包括可视化的Prompt编排、运营、数据集管理等[2][3]。通过可声明式定义AI应用,Dify支持开发者通过简单的拖拽和配置,将不同的功能模块组合在一起,快速创建出满足需求的AI应用[4]。此外,Dify还提供了自然语言处理能力,能够将自然语言转换为SQL,便于用户查询和分析数据[1]。 Dify平台支持市面上所有流行的LLMs,并且对新模型的支持非常及时[15]。它不仅适用于专业开发者,也允许没有编程基础的用户快速开发和运营自己的AI chatbot应用[13]。Dify还宣布了开源的Agent+Tools的能力,进一步扩展了其功能和应用场景[15]。 Dify是一个易于使用、功能全面的LLMOps平台,它通过提供可视化的Prompt编排、运营、数据集管理等功能,帮助开发者和非专业用户快速构建和运营基于大型语言模型的AI应用。 Dify平台的具体开源项目和工具是什么? Dify平台是一个开源且易用的LLMOps平台,旨在帮助开发者更简单、更快速地构建AI应用。Dify平台的具体开源项目和工具包括: 可视化Prompt编排:Dify提供了可视化的Prompt编排功能,允许用户通过界面化编写prompt并调试,只需几分钟即可发布一个AI应用[18]。运营和数据集管理:除了Prompt编排外,Dify还提供了运营和数据集管理等功能,帮助开发者进行持续运营和改进[18]。AI工作流、RAG管道、代理能力、模型管理和可观测性特性:Dify的直观界面结合了AI工作流、RAG管道、代理能力、模型管理和可观测性特性等,使用户能够从原型到生产迅速过渡[21]。后端即服务和LLMOps概念集成:Dify集成了后端即服务和LLMOps的概念,涵盖了构建生成性人工智能应用的各个方面[25]。支持的工具列表:搭建Dify需要准备的工具包括Windows 11、VMware、CentOS、Docker、Docker-Compose、Dify、VSCode、Python 3.10.x和Node.js 18.x等[26]。 Dify平台通过提供一系列高效、可扩展的算法和工具,以及集成的后端即服务和LLMOps概念,为开发者提供了一个强大的平台,以轻松构建和部署AI应用[19][25]。 Dify平台如何支持新模型的快速接入和部署? Dify平台支持新模型的快速接入和部署主要通过以下几个方面实现: 支持多种模型:Dify平台支持接入Ollama部署的大型语言模型推理和embedding能力,同时也支持模型托管和部署平台Replicate和Hugging Face上的所有模型[27][28]。这表明Dify具有广泛的模型兼容性,能够快速接入不同的模型。可视化开发工具:Dify提供了可视化的Prompt和应用编排工具,使得开发者可以更加直观地开发AI应用。这种工具的使用大大简化了开发过程,加快了模型应用的开发速度[32]。开源LLMOps平台:Dify是一个开源的大语言模型(LLM)应用开发平台,它融合了后端即服务(Backend as Service)和LLMOps的理念,使开发者可以快速搭建生产级的生成式AI应用。即使是非技术人员,也能参与到AI应用的定义和数据运营过程中[35]。Docker部署与远程访问:Dify支持在Linux Ubuntu系统上以Docker的方式快速部署,并结合cpolar内网穿透工具实现公网远程访问本地Dify。这种部署方式简化了部署过程,使得用户可以更容易地将Dify集成到自己的环境中[34][35]。 Dify平台通过支持多种模型、提供API接入和调用、使用可视化开发工具、作为一个开源LLMOps平台以及支持Docker部署与远程访问等方式,实现了对新模型的快速接入和部署。这些特性共同作用,使得Dify成为一个高效、灵活且易于使用的平台,适合于各种规模的开发者和企业快速开发和部署AI应用。 Dify平台在LLMOps领域的竞争对手有哪些,它们之间的主要差异是什么? Dify平台在LLMOps领域的竞争对手包括Toolify等AI产品。Dify平台的特点和优势主要在于其简单易用性、可视化功能、强大的兼容性、自动化部署、丰富的数据处理功能、高效的安全性以及完善的社区支持[37][39]。Dify还提供了多种类型的应用创建和一些独特的特点,如开箱即用的Web站点、支持表单模式和聊天对话模式、API支持插件和上下文增强等[40]。此外,Dify允许用户轻松调用顶尖开源与国产模型,快速切换不同模型以评估其在特定场景下的表现[42]。 相比之下,Toolify被提及为Dify的一个替代品,但具体的差异没有在我搜索到的资料中详细说明[43]。因此,基于现有资料,我们无法直接比较Dify与Toolify之间的主要差异,只能确定它们都是LLMOps领域的竞争者,并且Dify具有上述提到的一系列特点和优势。为了获得更详细的比较信息,可能需要进一步探索关于Toolify的具体功能和优势。 Dify平台的数据集管理功能具体包括哪些方面? Dify平台的数据集管理功能具体包括以下几个方面: 数据集的简单管理:Dify允许开发者以简单的方式管理数据集,并能自动集成至AI应用中。支持多种数据格式:Dify支持通过上传CSV文件或其他格式的数据来管理数据集。这为不同背景的用户提供了一种灵活的方式来导入和使用他们的数据[45]。文本内容的准备与管理:Dify的数据集功能不仅限于数字或结构化数据,还支持长文本内容(如TXT文件)的管理。向量数据库的优化:Dify计划对向量数据库进行优化,特别是在collection(集合)管理和release(释放)方面的内存优化。这些优化措施旨在提高向量数据库的性能和效率,从而提升整个平台的数据处理能力[48]。外部数据工具的支持:Dify提供了外部数据工具,允许用户通过API维护数据集。可视化的知识库管理界面:Dify首创了可视化的知识库管理界面,支持分段预览等功能。Dify平台的数据集管理功能涵盖了从简单管理、支持多种数据格式、文本内容的准备与管理,到向量数据库的优化、外部数据工具的支持以及可视化的知识库管理界面等多个方面,旨在为用户提供一个全面、高效且易于使用的数据管理解决方案。 如何使用Dify平台创建和运营一个AI chatbot应用? 使用Dify平台创建和运营一个AI chatbot应用的步骤可以概括为以下几点: 登录Dify:首先,需要访问Dify平台并进行登录。连接数据集:接下来,与Notion以及您的数据集进行连接。开始训练:在数据集连接完成后,就可以开始对AI模型进行训练了。创建AI应用程序:训练完成后,就可以创建你自己的AI应用程序了。配置前端用户体验:在[Build App]页面上创建对话式应用后,开始设置提示(prompt)及其前端用户体验交互。利用可视化编排和API服务:Dify提供多种类型应用的可视化编排,应用可开箱即用,也能以"后端即服务"的API提供服务。这意味着即使是没有编程背景的用户也能轻松地搭建和运营AI应用[57]。持续优化:作为一个LLMOps平台,Dify简化了从数据预处理到模型训练、部署和持续优化的整个流程。通过直观的图形界面,用户可以方便地对AI应用进行优化和调整[59]。 总结来说,使用Dify平台创建和运营一个AI chatbot应用涉及到登录平台、连接数据集、训练AI模型、创建应用程序、配置用户体验、利用可视化工具和服务以及持续优化等步骤。 参考资料 1. Dify:让大型语言模型运作更简单的LLMOps平台 - 百度智能云 2. Dify:引领LLMOps新时代的易用平台 - 百度智能云 [2024-03-18] 3. Dify:引领LLMOps新时代的易用平台-百度开发者中心 [2024-03-18] 4. Dify:让AI应用构建变得简单且可持续 - 百度智能云 [2024-03-29] 5. Dify.ai:一站式平台,助力开发和运营基于GPT-4的AI应用- 知乎 6. 程序员 - Dify.AI:简单易用的 LLMOps 平台,可视化创造和运营你的 AI 原生应用 - 个人文章 - SegmentFault 思否 [2023-05-16]

Oracle中的CASE WHEN语句使用详解与实例

在Oracle数据库中,CASE WHEN语句是一种条件表达式,它允许根据一系列条件进行值的选择或计算。CASE WHEN语句在数据查询、数据转换以及业务逻辑实现等方面具有广泛的应用。本文将详细介绍Oracle中CASE WHEN语句的使用方法和一些常见示例。 一、CASE WHEN语句的基本语法 CASE WHEN语句的基本语法如下: sql复制代码 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END 在这个语法中: conditionX 是要评估的条件。resultX 是当对应条件为真(TRUE)时返回的结果。ELSE 子句是可选的,当所有WHEN条件都不满足时,将返回ELSE后面的结果。如果没有ELSE子句,且所有WHEN条件都不满足,CASE表达式将返回NULL。 二、CASE WHEN语句的使用示例 下面我们将通过一些具体的例子来说明CASE WHEN语句在Oracle中的使用。 简单的条件判断 假设我们有一个名为employees的表,其中有一个salary列,我们想要根据薪水给员工分类: sql复制代码 SELECT employee_id, salary, CASE WHEN salary < 3000 THEN 'Low' WHEN salary BETWEEN 3000 AND 7000 THEN 'Medium' WHEN salary > 7000 THEN 'High' ELSE 'Unknown' END AS salary_level FROM employees; 在这个查询中,我们根据salary列的值,使用CASE WHEN语句将员工分为'Low'、'Medium'、'High'和'Unknown'四个级别。 在UPDATE语句中使用CASE WHEN 假设我们想要根据上面的分类结果更新员工的另一个列salary_category:

前端-vue项目debugger调试

一、前言 有的时候接受同事一个项目,用框架不一样,写的也不太规范,那么就需要打断点去学习改项目的流程了。 那么vue项目是如何debugger调试呢? 二、操作 大概理解一下,vue项目启动,大概是先启动框架,然后把项目映射到内存或者框架中,所以打断点就算在代码中打断点,在初始化项目的时候也不会执行到断点,只有在刷新页面的时候才会执行项目流程,走到断点处; 可以在index.html中打断点,然后刷新页面,就可以看到vue项目执行流程了,如果代码写错了,就会npm run dev 失败,也就是项目加载不成功会具体报错到代码,项目启动成功,刷新页面可以根据打的断点查看执行流程,加载完项目,在内存映射中打断点,再刷新下页面,就可以看到写的vue执行流程了。 三、renren-ui项目模块划分与执行流程 3.1模块划分 1.node_modules:安装的依赖包 2.public:公共的静态资源 3.src:放的是核心的开发组件和文件 3.1.assets:放一些静态资源,例如图片、图标、字体、less文件 3.2.components:公共组件 3.3.constants:一些常量定义 3.4.hooks:钩子函数 3.5.layout:布局 3.6.router:路由相关配置 3.7.service:服务 3.8.store:vuex相关配置,存放\vue中的状态数据 3.9.types:类型 3.10.utils:工具类 3.11.views:路由对应的文件 3.12.App.vue:路由组件的顶层路由 3.13.main.ts:vue入口文件 4. .editorconfig:是帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式规范的工具 5. .env:Vue项目中,.env文件是运行项目时的环境配置文件。但是在实际开发过程中,有本地开发环境、测试环境、生产环境等,不同环境对应的配置会不一样。 因此,需要通过不同的.env文件实现差异化配置。 6. .gitignore:就是git软件要忽略的文件列表. 如果要忽略某些文件,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 8.babel.config.js:Babel是一个JS编译器,主要作用是将ECMAScript 2015+ 版本的代码,转换为向后兼容的JS语法,以便能够运行在当前和旧版本的浏览器或其它环境中。 9.ecp-vue.iml:iml是配置文件,存着当前project的一些配置信息。 10. index.html:主页面文件,也是入口文件 11. package.json:应用包配置文件 12. README.md: 应用描述说明的 readme 文件 13.vite.config.ts:vite.config.ts 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。 1.src目录 main. js是我们的入口文件,整个项目工程入口,用于全局配置,主要作用是初始化vue实例并使用需要的插件。 import { crearteApp } from 'vue'; import App from './App'; crearteApp(App).

在IDEA运行spark程序(搭建Spark开发环境)

建议大家写在Linux上搭建好Hadoop的完全分布式集群环境和Spark集群环境,以下在IDEA中搭建的环境仅仅是在window系统上进行spark程序的开发学习,在window系统上可以不用安装hadoop和spark,spark程序可以通过pom.xml的文件配置,添加spark-core依赖,可以直接在IDEA中编写spark程序并运行结果。 一、相关软件的下载及环境配置 1.jdk的下载安装及环境变量配置(我选择的版本是jdk8.0(即jdk1.8),建议不要使用太高版本的,不然配置pom.xml容易报错) 链接:https://pan.baidu.com/s/1deXf6pgMiRca1O724fUOxg 提取码:sxuy 双击安装包,一直“Next”即可,最好不要安装到C盘,中间修改一下安装路径即可,最后点击“Finish”。我将jdk1.8安装在了D盘目录下的soft文件夹,bin路径如下: 配置环境变量: win+R打开命令窗口输入:javac -verison ,进行检测是否成功配置环境变量: 2.IDEA的下载安装(我选择的版本是2019.2.3,建议选择低版本的IDEA) 官网下载地址:IntelliJ IDEA – 领先的 Java 和 Kotlin IDE (jetbrains.com.cn) 3.scala的下载(我选择的版本是2.12.15)安装及环境变量的配置 官网下载地址:The Scala Programming Language (scala-lang.org) 双击打开下载好的安装程序,一直“Next”即可,最好不要安装到C盘,中间修改一下安装路径即可,最后点击“Finish”。我将scala软件安装在了D盘目录下的Develop文件夹,bin路径如下: 配置scala的系统环境变量,将scala安装的bin目录路径加入到系统环境变量path中: win+R打开命令窗口输入:scala -verison ,进行检测是否成功配置环境变量: 4.scala插件(版本要与IDEA版本保持一致,下载2019.2.3版本)的下载安装 官网地址:Scala - IntelliJ IDEs Plugin | Marketplacehttps://plugins.jetbrains.com/plugin/1347-scala/versions/stable 下载完成后,将下载的压缩包解压到IDEA安装目录下的plugins目录下: 5.maven的下载(我选择的版本是3.5.4)与安装,系统环境变量的配置 官网地址:Maven – Download Apache Maven 将对应版本的压缩包下载到本地,并新建一个文件夹Localwarehouse,用来保存下载的依赖文件 配置maven的系统环境配置,跟以上配置的方法一样,将bin目录地址写入path环境变量: 打开maven安装包下的conf文件夹下面的settings.xml,添加如下代码: <localRepository>D:\\Develop\\maven\\Localwarehouse</localRepository> 在settings.xml配置文件中找到mirrors节点,添加阿里云仓库代码,具体代码如下配置(注意要添加在<mirrors>和</mirrors>两个标签之间): <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> 添加如下代码用来配置jdk版本: <profile> <id>jdk-1.8.0</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8.0</jdk> </activation> <properties> <maven.

uni-app开发小程序(项目搭建)

目录 一、申请小程序账号二、安装开发工具三、创建、运行项目通过vue-cli命令行通过HBuilderX 四、配置tabBar五、配置分包六、发起网络请求七、使用组件自定义组件uni-app的组件基础组件扩展组件(uni-ui)导入方法一:npm安装导入方法二:通过uni-modules导入全部组件 八、使用vuexstate、getter、mutation、actionmodule 九、发布小程序 一、申请小程序账号 文章 链接: 《申请小程序账号》步骤 在微信公众平台,注册小程序账号 二、安装开发工具 文章 链接: 《下载安装微信开发者工具》步骤 在微信官方文档,下载微信开发者工具 三、创建、运行项目 通过vue-cli命令行 文章 链接:《创建uni-app(通过vue-cli命令行)》步骤 创建 vue create -p dcloudio/uni-preset-vue my-project 编译 #开发时 npm run dev:mp-weixin #生产时 npm run build:mp-weixin 运行 打开微信开发者工具,导入 dist\dev\mp-weixin 运行。(或导入 dist\build\mp-weixin 运行) 通过HBuilderX 文章 链接:《创建、运行uni-app(通过HBuilderX)》步骤 通过HBuilderX可视化界面,新建项目、运行到开发者工具、发行小程序 四、配置tabBar 文章 链接:《uni-app配置tabBar》步骤 在 pages 文件夹中定义页面在 pages.json 文件, tabBar 节点配置 示例: // pages.json "tabBar": { "list": [ { "pagePath": "pages/home/home", "iconPath": "static/icons-首页.png", "selectedIconPath": "static/icons-首页-(1).png", "text": "

毕业设计课题:学生成绩管理系统,基于java+springboot+mysql

一、前言介绍 随着科学技术发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。学生成绩管理一直是信息管理的一大难题,学生成绩数量多,此时寻找有效便捷的学生成绩管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的维一之选。如今计算机信息管理技术来处理学生成绩管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。 使用学生成绩管理系统相对传统学生成绩管理方式具备很多优点:首先可以大幅提高学生成绩信息检索,只需输入成绩相关信息就能在数秒内反馈想要的结果;其次可存储大量的学生成绩信息,同时学生成绩信息安全性有更高的保障;相比纸质文件来管理学生成绩信息,学生成绩管理系统更节省空间人力资源。这些优点大大提高运营效率并节省运营成本。因此,开发学生成绩管理系统对学生成绩信息进行有效的管理是很必要的,不仅提高了学生成绩管理效率,增加了用户信息安全性,方便及时反馈信息给管理员,增加了使用者与管理员之间的互动交流,更能提高学生成绩管理的体验强度。 二、主要技术 2.1、Springboot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。 2.2、Mysql数据库 MySQL数据库是一种广泛应用于互联网和企业环境中的关系型数据库管理系统。它使用SQL(结构化查询语言)来执行数据的增删改查、数据定义、数据控制等各种操作。MySQL具有以下特点: 开源免费:MySQL是开源软件,用户可以免费下载和使用,并根据需要修改其源代码。 高性能:MySQL设计时充分考虑了速度与效率,适合于大型和高并发的数据处理场景。 跨平台:支持在多种操作系统上运行,包括但不限于Windows、Linux、Unix、macOS等。 可扩展性:通过分区、复制、集群等技术实现水平或垂直扩展,以满足大规模数据存储和访问的需求。 多存储引擎:MySQL支持不同的存储引擎,例如InnoDB(支持事务处理和行级锁定)、MyISAM(早期默认引擎,只支持表级锁定)、MEMORY(所有数据存储在内存中,适合临时存储和快速读取)等,使得用户可以根据应用需求选择最适合的存储方式。 SQL标准兼容:尽管MySQL有自己的SQL方言,但大部分情况下遵循ANSI SQL标准,能够执行标准的SQL语句并提供丰富的函数库支持。 开发者和管理员可以通过命令行界面、图形化工具(如phpMyAdmin、MySQL Workbench等)对MySQL进行管理和维护。 三、功能设计 为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该私人健身与教练预约管理系统的功能结构图如下所示: 图3-1系统功能结构图 四、部分功能截图 4.1、管理员功能 4.1.1、系统首页 管理员登录进入学生成绩管理系统可以查看首页、个人中心、学生管理、教师管理、班级管理、综合成绩管理等内容进行详细操作。 4.1.2、学生管理 学生管理,在学生管理页面可以对索引、学号、头像、学生姓名、性别、手机号码、邮箱、班级等内容进行详情,修改或删除等操作。 4.1.3、教师管理 教师管理,在教师管理页面可以对索引、教师工号、头像、教师姓名、性别、手机号码、邮箱、职务等内容进行详情,修改或删除等操作。 4.1.4、综合成绩管理 综合成绩管理,在综合成绩管理页面可以对索引、学号、学生姓名、班级、学业成绩、德育成绩、体育素质、智育素质、总分、学年、登记时间、教师工号、教师姓名等内容进行详情,修改或删除等操作。 4.2、学生功能模块 4.2.1、系统首页 学生登录进入学生成绩管理系统可以查看首页、个人中心、综合成绩管理等内容进行详细操作。 4.2.2、个人中心 个人中心,在个人信息页面通过填写学号、头像、学生姓名、性别、手机号码、邮箱、班级等内容进行个人信息修改操作。 4.3、教师功能模块 4.3.1、系统首页 教师登录进入学生成绩管理系统可以查看首页、个人中心、综合成绩管理等内容进行详细操作。 4.3.2、个人中心 个人中心,在个人信息页面通过填写教师工号、头像、教师姓名、性别、手机号码、邮箱、职务等内容进行个人信息修改操作。 ​ 4.3.3、综合成绩管理 综合成绩管理,在综合成绩管理页面可以对索引、学号、学生姓名、班级、学业成绩、德育成绩、体育素质、智育素质、总分、学年、登记时间、教师工号、教师姓名等内容进行详情,修改或删除等操作。 ​ 五、源码和论文获取 项目难度: 中等难度 适用场景: 相关题目的毕业设计 配套论文字数: 10370个字30页 包含内容: 整套源码+完整毕业论文 大家点赞、收藏、关注、评论啦 。 资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我。 商务合作|如果你是在校大学生, 想挣点零花钱,正好你又懂语言编程,私聊我。

通义灵码使用教程:探索AI编码的新维度

一、概述 介绍 通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优,助力开发者高效、流畅的编码。 核心场景 代码智能生成 经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码优化建议等。沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。 研发智能问答 基于海量研发文档、产品文档、通用研发知识、阿里云的云服务文档和 SDK/OpenAPI 文档等进行问答训练,为你答疑解惑,助你轻松解决研发问题。 产品优势 跨文件感知让代码生成更贴合业务场景: 客户端和模型层同步优化针对代码跨文件上下文感知能力,生成代码更加贴合当前代码库的业务场景。阿里云服务使用场景友好: 专门针对阿里云的云服务使用、SDK/OpenAPI 的使用等场景调优,编码时能够更加便捷地使用阿里云服务;在对阿里云使用有疑问时,智能编码助手的回答也将更加有效。适配多 IDE 的原生设计,符合开发者使用习惯: 适配 IDE 原生主题、交互模式,让开发者感受到 IDE 原生的视觉和交互体验,更符合开发者使用习惯。研发问答、文档/代码搜索能力,打造沉浸式编码: 无需切换工具,IDE 客户端内即可满足开发者编码场景中的技术资料检索、技术难题解答的诉求,打造开发者沉浸式编码体验。双模引擎,自由切换: 支持极速本地模型、云端大模型两种代码补全模型,支持一键切换,满足不同网络环境、不同补全强度的场景诉求。 二、下载和安装指南 官网安装地址: 通义灵码安装教程-阿里云 通义灵码支持 Visual Studio Code、JetBrains IDEs,及远程开发场景(Remote SSH、Docker、WSL、Web IDE),安装后登录阿里云账号即可开始使用。 Visual Studio Code 本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装和使用通义灵码。 步骤一:准备工作 通义灵码需要登录阿里云后方可使用,如果你尚未拥有一个阿里云账号,可前往注册阿里云账号;操作系统:Windows 7 及以上、macOS、Linux;下载并安装** **Visual Studio Code 1.70.x 及以上版本。 步骤二:在 Visual Studio Code 安装通义灵码 方法 1:从插件市场安装 说明 单击立即安装,唤起 Visual Studio Code 插件市场直接安装,安装后请重启 IDE,即可开启智能编码之旅。

Web 常见十大漏洞原理及利用方式

一、PHP命令执行函数 原理: 命令执行函数解释:在PHP中有一些执行命令的函数,这些函数使你可以在PHP基本执行外部执行命令,并获取其输出的结果 漏洞产生原因: (1)没有对用户输入进行过滤或过滤不严 例如,没有过滤&、&&、|、||等连接符 (2)系统漏洞造成的命令执行 bash破壳漏洞(CVE-2014-6271),该漏洞可以构造环境变量的值来执行具有攻击力的脚本代码,会影响到bash交互的多种应用,如http、ssh和dhcp等 (3)调用的第三方组件存在代码执行漏洞 例如: php(system()、shell_exec()、exec()、eval()) JAVA中的命令执行漏洞(struts2/ElasticsearchGroovy等) ThinkPHP命令执行 php代码相关函数 eval() assert() preg_replace call_user_func() call_user_func_array() create_function array_map() 系统命令执行相关 system() passthru() exec() pcntl_exec() shell_exec() popen() proc_open() `(反单引号) ob_start() 特殊函数 phpinfo() #这个文件里面包含了PHP的编译选项,启动的扩展、版本、服务器配置信息、环境变量、操作系统信息、path变量等非常重要的敏感配置信息 symlink(): #一般是在linux服务器上使用的,为一个目标建立一个连接,在读取这个链接所连接的文件的内容,并返回内容 getenv #获取一个环境变量的值 putenv($a) #添加$a到服务器环境变量,但环境变量仅存活于当前请求期间。 在请求结束时环境会恢复到初始状态 1.1 PHP哪些是执行命令函数 exec(); exec();函数执行一个外部命令,并返回最后一行输出 实例: <?php //代码审计命令注入 $action = $_GET('cmd'); echo "<pre>"; echo exec($action); echo "<pre/>" ?> shell_exec():shell_exec();函数执行一个shell命令, 并返回输出作为字符串,和exec()不同的是shell_exec()返回的是完整的内容,并不是最后一行 实例: <?php //代码审计命令注入 $action = $_GET('cmd'); echo "<pre>"; echo shell_exec($action); echo "

mac可以玩steam吗 mac安装steam教程 苹果电脑能打steam游戏吗 苹果电脑怎么安装windows 苹果mac电脑配置AI功能的M4芯片

众所周知,Steam作为一个热门的游戏平台,深受国内外玩家的喜爱,平台中包含了无数的游戏,在作战时玩家们能够与朋友们互动聊天,还能匹配好友组队,同时还能增进与同伴的默契度。 但是最近有玩家们提问说,刚换了电脑,想要在Mac上下载安装steam,可以安装吗?回答当然是肯定的!下面小编就给大家详细的讲解在Mac上安装steam的流程。 苹果电脑能玩steam游戏,但是steam里面支持mac系统的游戏比较少,可以到官网查看游戏是否支持。在网上搜索到该游戏,进入详情页面,然后在最下方找到系统需求,点击macosx就能查看配置需求了。 mac安装steam教程: steam平台是一款目前全球最大的综合数字发行平台。玩家可以在该平台购买游戏、软件、下载、讨论、上传、分享。尤其是steam对盗版游戏的打击力度很大,其VAC反作弊系统更是广为人知,受够国内游戏作弊开挂风气的玩家们可以在steam提供的环境中安静的体验游戏带来的乐趣。想要使用steam,就要先安装steam平台客户端,注册后即可享有steam平台的使用权(免费)。 1、进入steam中文官方页面后,可以看到右上角有一个“安装steam”的选项,点击进去。 选择适合自己的系统平台(steam跨平台,分别支持Windows、Linux以及macOS系统),点击立即安装。 2、下载好安装文件后,打开进行安装。根据安装提示进行,阅读安装前须知协议后勾选同意、 选择steam平台安装语言、设定文件安装路径。 3、安装完后,第一次steam如有提示有可更新选项,即同意更新。接着进入登录界面,若之前已经拥有一个steam账号输入账号密码即可。若无steam账号,则需注册新用户。 4、验证通过过后,再回到注册页面,这个时候就跳转到了账号创建的页面了。我们按提示填写我们的账号、密码信息,填写完成过后点击“完成”。小伙伴们要注意使用英文输入法,以免出现问题。 Steam的密码格式只需要包括英文字母大写、英文字母小写、数字,其需要包含其中两个,而且长度不能太短。要以英文字母为开头; steam账号需绑定电子邮件,注意:之前的密码最好不要和邮箱密码一样。 等待确认邮箱发信,点击激活账号即可 5、创建账号成功,输入账号密码成功登录steam平台。 至此,关于steam怎么安装的教程就到此结束了。赶紧尝试一下安装steam,去体验steam带来的乐趣吧。 苹果电脑能玩steam游戏吗 游戏是生活的润滑剂,但是macOS系统偏向于办公室,所以很多游戏不能在Mac上运行。 可以使用类虚拟机软件——CrossOver在Mac上安装和享受游戏。 CrossOver是一款让苹果用户可以在Mac电脑系统中运行Windows应用的软件,使得用户可以在Mac系统中轻松安装使用仅支持Windows系统运营环境的软件。 那么苹果电脑怎么安装CrossOver,如何在Mac系统中安装CrossOver呢?下文中将对此进行介绍。 苹果电脑怎么安装Crossover 1、下载Crossover Mac简体中文版。 CrossOver24中文免费安装包:https://souurl.cn/mWK48N Crossover23免费升级包(免费更新至Crossover 24): 链接:https://pan.baidu.com/s/1ofopH-BCU4VdIXg8yqp2Qg?pwd=dlgi 提取码:dlgi 2、软件下载完成后,苹果电脑会自动将文件读取解压,此时如下图,只要打开该文件,按照提示,即可完成对CrossOver的安装。 安装完成后,用户就可以在苹果电脑底部菜单栏的“启动台”中,看到CrossOver,这就代表安装成功了。 Mac将配置具备AI功能的M4芯片。第一波搭配M4芯片的Mac预计将于2024年后期、或2025年前期发布。CrossOver也紧跟着不断更新与苹果系统匹配的稳定的功能版本。 Mac系统与以往的苹果电脑系统都不相同,在使用中更加侧重对于苹果自身系统良好运转的支持,关闭了苹果电脑可以安装Windows系统的通道。 这样就显得CrossOver在Mac系统中成为了比较重要的虚拟Windows系统的应用软件。Crossover并非是常规意义上的虚拟机,而是类虚拟机。相较于常规虚拟机,有着自己本身的相对独立的特性。 例如软件的窗口化运行,模拟Win环境下电脑的重启,而不需要安装软件时反复重启苹果电脑本身等。 CrossOver24功能特点: 一、易用性 CrossOver2024注重用户体验,提供了简洁直观的操作界面。用户可以通过简单的步骤快速安装和配置Windows软件和游戏,无需复杂的设置过程。此外,CrossOver还支持一键安装技术,使得安装过程更加顺畅和便捷。这种易用性设计使得即使对于不熟悉虚拟机技术的用户也能轻松上手。 二、资源占用优化 CrossOver2024在资源占用方面进行了优化,能够高效利用系统资源。它采用了一种智能的资源分配机制,根据运行的Windows软件和游戏的需求动态调整资源分配,确保每个程序都能获得足够的资源来运行顺畅。这种优化可以减少系统资源的浪费,提高整体性能。 三、稳定性与安全性 CrossOver2024在稳定性和安全性方面也表现出色。它经过严格的测试和优化,确保在长时间运行过程中保持稳定,不会出现崩溃或数据丢失的情况。同时,CrossOver还提供了多种安全机制,如沙箱技术,确保运行的Windows软件和游戏不会对宿主系统造成损害或泄露敏感信息。 四、多版本支持 CrossOver2024支持多个Windows操作系统版本,包括较新的Windows 10和Windows 11。这使得用户可以根据自己的需求选择合适的Windows版本来运行特定的软件和游戏。这种灵活性使得CrossOver能够适应不同用户的需求和场景。 五、持续更新与维护 CrossOver2024的开发团队致力于持续更新和维护软件,以确保其与最新的操作系统和Windows应用程序保持兼容性。他们会定期发布更新版本,修复已知的问题并添加新功能,以提供更好的用户体验。这种持续的支持使得用户可以放心地使用CrossOver,并享受到长期的技术支持和服务。 总结: 苹果电脑安装CrossOver,版本需要选择Mac版本,而非Linux版本。点击下载后,只需要等待,苹果系统会对dmg格式的安装包,自动进行分析与解压。然后就可以打开安装包,按照提示将其拖入应用列表内,此时安装就完成了。 CrossOver24 Mac中文免费安装包(支持免费试用):https://souurl.cn/mWK48N CrossOver中文网使用教程免费看:https://souurl.cn/xneFDq

vue 前端参值后端接收的几种方式

文章目录 Get 请求 @ParamPut请求 @RequestBody Get 请求 @Param 前端代码 handleCS(){ // debugger // let body ={ // id:8, // nyApplyDangerdetectionId:8, // uploadStatic:2, // auditorSign:'改我了', // auditorDescribe:'我也改了' // } let companyid = 1 let body = {} getSelectDanger(companyid).then(response => { body = response; // this.open = true; // this.title = "修改隐患排查"; }); }, 调用接口 // 接口测试调用 export function getSelectDanger(companyid) { return request({ url: '/system/uniapp/getboolWriteBack', method: 'get', params: {companyid : companyid} }) } 后端代码controller接收

ElasticSearch:下载、启动和账号密码登录

因为我的电脑是 window,以下都是以 window 环境举例。 一、下载 Elasticsearch 是使用 java 开发的,且 7.8 版本的 ES 需要 JDK 版本 1.8 以上,安装前注意java环境的准备。 官网地址:https://www.elastic.co/cn/ 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 下载后解压即用,目录如下: 这样就下载完成了,尤其注意需要对应的java版本 二、启动 双击 /bin/elasticsearch.bat 文件 会自动弹出 cmd 如果启动失败,cmd会自动关闭,elasticsearch会占用 9200和9300端口,启动前这两个端口不能被占用。 这时访问 localhost:9200,页面并不能正常显示因为:新的版本开启了 ssl认证。 在 /config/elasticsearch.yml 文件中把 xpack.security.http.ssl:enabled 设置成 false 即可 也可以直接将登录验证去掉:xpack.security.enabled: false 修改内存占用:首先进入 config/jvm.options 文件中, 根据注释提示在 jvm.options.d 文件夹中,自定义一个 .option文件,内容就是下面这样: -Xms256m -Xmx256m 我是这样:前缀随意起就行 修改保存完后,重新启动服务,重新访问: 如果去掉登录,就不需要登录验证了 三、账号密码: 到这一步也是很傻眼,没在cmd中发现 账号密码,这时在你的elasticsearch包的bin目录下cmd,输入以下命令: .\elasticsearch-reset-password -u elastic 这样也算是找到账号密码了,然后直接登录即可: 到这一步 elasticsearch 算是基本准备完毕了,后续会继续更新 elasticsearch的使用方法,一起学习

SpringBoot 项目Docker部署三种方式

一种:直接拷贝jar到服务器部署 1.增加docker配置文件 新建Dockerfile文件,负责Docker的配置 FROM openjdk:21 #ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone # WORKDIR WORKDIR /app #Copy command, copy files or directories from the context directory to the specified path in the container COPY spring-monitoring.jar /app/spring-monitoring.jar #EXPOSE 18081 ENTRYPOINT ["java", "-jar", "-Xmx512m", \ "-XX:-OmitStackTraceInFastThrow", \ "spring-monitoring.jar", "--logging.file.path=/app"] #"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",\ 2.上传jar包到远程目录: 创建目录命令:mkdir -p /apps/spring 把自己的jar包和dockerfile文件上传到创建的目录 3.build新的镜像 docker build -t dtb/spring-monitoring:1.0 . docker images #查看刚构建的镜像 4.启动容器: docker run -d --name monitoring --restart always --net host dtb/spring-monitoring:1.

新手入门人工智能:从零开始学习AI的正确途径

你是否对人工智能(AI)充满了好奇心和探索欲?你是否想了解如何从零开始学习AI,成为一名人工智能领域的专家?那么,这篇文章就是为你准备的!我们将带你了解人工智能的基本概念,学习如何从零开始构建AI系统,并分享一些实用的学习资源。请放心,本文将尽可能用简单易懂的语言进行讲解,让每一个初学者都能轻松上手。 一、人工智能是什么? 人工智能(AI)是一门涉及多个学科的交叉学科,包括计算机科学、数学、控制论、语言学、心理学、生物学、哲学等。简单来说,人工智能是一门研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用的新技术科学。 二、如何从零开始学习AI? 学习AI并非一蹴而就的过程,它需要耐心和毅力。但是,只要按照正确的步骤,从零开始学习AI并不是一件困难的事情。以下是学习AI的正确途径: 1. 掌握基础知识:学习计算机科学基础知识是入门AI的第一步。这包括编程语言(如Python)、数据结构、算法等。 2. 学习机器学习:机器学习是人工智能的重要组成部分。了解机器学习的基本概念和算法,如监督学习、无监督学习和强化学习等。 3. 实践项目:通过实践项目来巩固所学知识。尝试使用AI技术解决实际问题,如图像识别、语音识别、自然语言处理等。 4. 参与社区:参与AI社区可以让你结交志同道合的朋友,获取最新的AI资讯和技术支持。 5. 系统学习:购买AI相关教材、参加线上/线下课程或聘请专业导师进行指导,这都是不错的选择。 三、实用学习资源推荐 以下是一些实用的学习资源,供你参考: 1. Coursera:提供各种AI相关课程,包括机器学习、深度学习等。 2. Udemy:有许多优秀的AI课程,涵盖了从基础到高级的内容。 3. Khan Academy:提供了大量的AI相关视频教程,适合自我学习。 4. GitHub:有许多开源项目和代码库,可供你学习和参考。 5. 学术期刊:阅读学术期刊是了解AI最新研究成果的有效途径。 四、结语 学习AI需要时间和精力,但只要你坚持下去,你将收获满满的成就感和知识储备。在学习的过程中,请保持好奇心和探索精神,勇敢面对挑战。最后,希望你能从这篇文章中获得一些启示和帮助,成为一名优秀的人工智能专家!

PHP-MYSQL图书管理系统(附源码免费)

环境配置 本系统采用phpstudy开发平台,采用PHP和MySQL数据库进行开发,开发工具为HBuilder。phpStudy是一个PHP调试环境的程序集成最新的 Apache+PHP+MySQL+phpMyAdmin,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。(其他平台均可)@@@文末有获取方式免费获取 ———————————————— 含sql文件 主要功能 ———————————————— 管理员登录 管理员注册 图书上架 图书修改 图书下架 图书查询 主要语言 PHP MySQL JavaScript CSS bootstrap框架 运行截图 登录 <div class="p-3 container"> <h1 class='text-light d-flex justify-content-center fs-1 mt-3'style="width: 300px;margin: auto;">管理员登录</h1> <div class="w-50 col-lg-6 offset-lg-3 mt-5"> <form action="login.php" method="post" class="container"> <div class="row mb-3"> <label for="username" class="col-sm-2 col-form-label fw-bolder">用户名</label> <div class="col-sm-6"> <input class="form-control" id="username" type="text" placeholder="请输入用户名" name="username" required/> </div> <div class="col-sm-4" id="box1"></div><!-- 展示提示信息 --> </div> <div class="row mb-3"> <label for="