【AI绘画】ComfyUI相见恨晚的提示词插件,简直堪称神器!

大家好我是极客菌!之前我曾介绍过一款专为SD设计的中文提示词插件——prompt-all-in-one,想必使用过的小伙伴们都已经感受到了它的便捷与实用吧。 不过,那款插件是基于webUI版本的,而现在,越来越多的朋友开始探索ComfyUI这一新选择。 假如在ComfyUI中也能轻松使用这个插件,那该是多么美好的事情啊!好消息是,它现在真的可以在ComfyUI中使用了。 那么,话不多说,让我们直接进入正题,开始分享这款插件的使用方法和技巧吧! #01 /安装 直接通过 ComfyUI 管理器中 Git URL 安装,安装完成以后重启 ComfyUI。 安装地址: https://github.com/thisjam/comfyui-sixgod_prompt (相关插件也可以文末扫描自行获取) 重启完成以后,我们加载默认的文生图工作流即可,然后删除原始的 CLIP 文本编码器。 在空白的地方双击,然后搜索 six,选中就可以得到插件专属的文本输入框了。 创建两个,一个填正面提示词,一个填反面提示词。 节点创建完以后,用快捷键「Alt+Q」打开插件界面。 进入界面以后需要先点击左上角的「同步数据」按钮,点击确定即可。 接下来,我们先挑选一些正向和反向的提示词,同样是通过左键点击选中对应的提示词,它将自动输入到正向提示词框中;而当你使用右键点击时,选中的提示词将自动输入到反向提示词框中。 选中的正向提示词将以绿色显示,而选中的反向提示词则会显示为红色。 如果你对某个已选中的提示词不再需要,只需再次点击该提示词即可取消选择。同样地,左键点击将取消正向选择,右键点击将取消反向选择。 接下来,我们继续使用快捷键「Alt+Q」返回到工作流界面。 回到界面后,你会发现之前选中的提示词已经自动填充到了相应的文本框中。 之所以建议大家先尝试一下而不急着连线,是因为这两个文本框在外观上非常相似,很容易混淆哪个是用来输入正向提示词,哪个是用来输入反向提示词的。 现在,通过之前的操作,你应该已经能够清楚地分辨出这两个文本框的用途了。 我们直接来连线,按照下图连接就可以了,用「SixGodPrompts」节点替换「CLIP 文本编码器」节点。 或者,我们也可以一开始就进行连线操作,即使我们暂时还不清楚哪个节点是正向的,哪个是反向的。 如果在连线过程中发现节点连接错误,不必过于担心。我们可以点击界面左上角的「交换正反同步」选项来进行调整。但是请注意,在点击「交换正反同步」之后,为了确保数据的一致性,还需要再次点击「同步数据」以确保改动生效。 此外,再提及一下旁边的「设置」按钮。这个按钮的主要功能是用于配置翻译API接口,如果你希望使用特定的翻译服务,可以在这里进行设置。当然,如果你没有特别的需求,也可以直接使用我们提供的默认免费服务。 另外,关于插件的输入框,它支持中英文双语输入,所以你无需担心语言问题。你可以直接输入中文,或者中英文混用,插件都能很好地处理。 至于快捷键,它的作用就是用来快速唤起提示词界面。如果你不喜欢默认的「Alt+Q」,也可以根据自己的习惯进行更改。 #02 /其他设置 在插件界面选中对应提示词同步以后,我们还可以在输入框再输入提示词,可以直接用中文输入哦! 当我们再次回到插件页面时,将鼠标移动到屏幕中红框标注的位置,您会发现出现了正负两个符号。这两个符号分别用于调整提示词的权重。 点击正号可以增加该提示词的权重,而点击负号则会减少其权重。通过这样的操作,可以根据需要灵活地调整提示词在生成过程中的影响力。 在插件的操作界面上,你可以通过以下方式来管理提示词: 左键点击红框中的关键词,你可以将对应的提示词从文本框中禁用。这样,该提示词在生成过程中将不会起到作用。 如果你想彻底删除某个提示词,可以右键点击该提示词,系统会提示你进行删除操作。 若想对提示词进行编辑,只需双击该提示词即可进入编辑模式,然后你可以根据需要进行修改。 接下来,我们进一步探索「自定义随机词库」功能。这一功能允许我们根据需求快速选择并生成一系列相关的提示词。 首先,我们可以直接选中大类,比如“人设”。一旦选中,“人设”相关的提示词都会自动添加到随机词库中。这对于那些想要快速构建特定人物设定或场景的用户来说,无疑是一个极为便利的功能。 当然,如果你只需要其中的某些提示词,也可以单独选择。只需点击你想要的提示词,它们就会被添加到你的自定义词库中。 完成选择后,你可以点击「发送到正向提示词框」按钮。 就会自动生成动态语法,每次都会随机取不同的提示词生成图片,可以设置多个动态随机词库。 这边加了人物和服饰的动态随机词库,看下随机生成的图片。 我们继续来看「收藏夹」功能,点击收藏夹可以收藏当前的提示词。 导:把收藏的提示词导入提示词框。 排:排序,数值越大,越靠前。 删:顾名思义,删除当前收藏的提示词。 最后一个「随机灵感」功能就是随机生成提示词啦! 感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。 AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。 一、AIGC所有方向的学习路线 AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。 二、AIGC必备工具 工具都帮大家整理好了,安装就可直接上手! 三、最新AIGC学习笔记 当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。 四、AIGC视频教程合集 观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 五、实战案例 纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

基于SpringBoot+大数据爬虫+hive的旅游景点数据分析平台设计和实现(源码+LW+部署讲解)

博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅ Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 Python项目实战《100套》 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 ​ 系统介绍: 科学技术日新月异,人们的生活都发生了翻天覆地的变化,高校考试分析系统当然也不例外。过去的信息管理都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天,我们可以通过网络这个媒介,快速的查找自己想要的信息,更加全方面的了解自己的网站信息。而且人们也可以突破传统信息管理的僵硬模式,制定属于自己的个性化的管理方案。基于现代人们的需求,设计并开发了一款高校考试分析系统。 本篇文章使用JAVA与MYSQL技术搭建了一个高校考试分析系统。首先,对用户提出的功能进行合理分析,然后搭建开发平台以及配置计算机软硬件;通过对数据流图以及系统结构的设计,创建相应的数据库;进行详细的设计,实现主要功能。最后测试网站,并分析测试结果,完善系统,得出系统使用说明书,方便日后的维护以及更新。 作为用户,本系统可以在线搜索,查看并且网站信息;也可以在线互动交流。作为系统的管理员,可以及时的更新数据,也可以随时随地的处理网站信息。便捷的操作界面以及全新的功能会让人们耳目一新。 程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。 ​ 程序操作流程图 首先前端通过Vue和axios发送HTTP请求到后端的登录接口。在后端接收登录请求的Controller会使用`@RequestParam Map<String, Object> params`来接收前端传递的用户参数,用户名和密码。然后后端根据接收到的参数创建一个查询条件封装对象MyBatis的EntityWrapper用于构建查询条件。接着在业务层,调用相应的service方法来查询数据库中是否存在匹配的用户信息。这个查询方法Login()会将前端传递的对象参数传递到后台的DAO层,进行数据库的交互操作。如果存在符合条件的用户,则会返回相关的用户信息。最后在后端控制器中将查询结果封装成响应体,通过`return R.ok().put("data", userService.selecView(ew))`将用户信息返回给前端。前端收到响应后,可以通过调用Vue、ElementUI等组件来渲染登录结果,例如显示用户信息或者跳转到相应的页面。 详细视频演示 请联系我获取更详细的演示视频 功能截图: 在系统前台首页,调用`$route(newValue)`方法监听路由变化,根据当前的路由地址来确定活动菜单的索引,并且根据路由的哈希部分(即URL的`#`后面的部分)来判断是否需要滚动页面到顶部或者某个特定元素的位置。如果不是首页,会将页面滚动到指定元素处,否则滚动到页面顶部。另外通过`headportrait()`方法用于更新组件渲染点前用户头像。在用户登录后,后端返回了新的用户信息,需要及时更新页面上的用户头像信息。 代码实现: /** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String role, HttpServletRequest request) { UserEntity user = userService.

10个国内免费AI绘画网站汇总【2024最新】

迎战MidJourney和Stable Diffusion:10款国产AI绘画神器,让你轻松创作出超凡艺术品!不论你是初学者还是资深艺术家,这些AI绘画平台都能帮你轻松入门。快来探索这些AI绘画网站,释放你的创意潜能! 1、AI绘画创作平台 - 海鲸AI【目前免费】 海鲸AI是一个多功能的AI绘图平台,支持PC和移动端。它集成了Midjourney AI模型,为用户提供了广泛的应用场景。通过MJ绘图工具,海鲸AI能够增强视觉内容的创作能力,快速高效地完成您的各种绘图指令,满足不同用户的需求,无论您是希望生成AI油画,还是生成二次元动漫形象、或者画出具体的人物形象等等,它都能够出色的完成,是一款功能齐全的AI绘图网站! 2、百度文心一格【目前无需付费】​ 这是由百度推出的,基于其强大的文心大模型技术的AI艺术生成和创意辅助平台。用户体验友好,且生成图像的速度非常快。​ 用户仅需输入一段描述性文字,就能迅速生成具有不同风格和创意的AI艺术作品,为设计工作注入灵感,为创意创作添翼。​ 操作简单:输入描述,选择方向、风格和尺寸,AI即刻呈现艺术画作。不同的文字描述和风格选择将产生截然不同的创作效果。​ AI的不同方向擅长不同的创作能力,用户可以根据自己的需求挑选最适合的方向。​ 如果你在选择上犹豫不决,可以尝试【智能推荐】功能,系统将自动提供多种风格的画作供你参考。​ 平台还展示了多种生成画作的实际应用场景。​ 3、百度文心大模型【目前无需付费】​ 使用限制:每个账户每天有100次体验机会,累计最多500次。​ 这是飞浆·文心大模型的一个简易功能。用户操作简便,只需添加关键词、描述和尺寸,即可生成AI绘画。一次能生成多张图片,这也是其一大特色。​ 4、无界版图【每日15次免费+付费选项】​ 无界版图是一个数字版权在线拍卖平台,同时提供了强大的AI创作功能,用户可以轻松进行AI绘画。这也是最近在抖音上非常流行的AI绘图壁纸的制作工具。支持电脑和手机操作,并且支持中英文输入。建议使用手机访问,这样可以随时随地进行AI绘图。​ 每天提供15次免费生成机会,免费次数用尽后,可以使用积分购买更多次数。实名认证后赠送100积分,绑定银行卡再赠送150积分,足够长时间使用。​ 使用方法:​ 首先,使用手机浏览器或微信扫描二维码注册。注册完成后,系统会提示你下载手机APP。下载并安装APP后,登录即可开始使用。​ 5、盗梦师 Printidea​ 盗梦师Printidea是由西湖大学深度学习实验室与西湖心辰联合推出的国产AI绘画工具。它基于AI算法,能将文字描述转换为高质量的图片。​ 目前支持微信小程序和网页端使用。AI一键生成,让你的文字变为画作。​ 6、意间AI绘画【提供免费次数及付费服务】​ 微信小程序名称:意间AI绘画​ 这是一个全中文界面的AI绘画创意云平台,旨在激发用户的创意灵感,创造出新的艺术世界。平台支持多种AI绘画引擎,包括stable diffusion、disco diffusion以及专注于动漫、漫画、游戏、小说(ACGN)领域的diffusion引擎。​ 意间AI绘画属于国内平台,提供快速出图和自由创作的能力。版权归属尚需核实确认。​ 用户只需输入相应的文字描述,AI算法即可生成相应艺术风格的图片。在生成过程中,用户可以选择多个关键词、艺术家风格、画面风格、文本匹配度以及图片比例等,最终一键生成图片,速度快捷。​ 每生成一张图片消耗一个积分。积分可以通过每日登录、观看视频、邀请好友等方式免费获得,也可以选择付费购买积分。​ 7、6pen art【部分免费】 无论是在手机还是电脑上,只需访问 即可体验6pen Art。这是一个由面包多团队打造的AI绘画平台,它能够将你的文字描述转化为绘画艺术。你还可以将作品提交至有奖展览,让你的创作在社区中脱颖而出,创造更多价值。 平台支持中英文输入,让中文用户也能轻松体验AI艺术的魅力。 6pen的免费使用政策: 每天你都可以免费使用西瓜模型5次,南瓜模型则没有使用次数限制。大西瓜模型由于耗时较长,因此限制了生成图片的尺寸,而小西瓜模型则没有这一限制。免费通道完全不收费,但不同模型的耗时会有所不同,你可以根据自己的需求选择合适的模型。如果需要更快的生成速度,可以通过充值点数来加速。 在6pen,你可以自由选择使用深度优化的disco diffusion引擎、广受好评的Stable Diffusion引擎,以及6pen自研的小模型引擎,创作出令人惊叹的AI绘画作品,并在社区及画展中展示。你可以自由调整模型、随机种子、参考图、分辨率、风格修饰和艺术家风格,以获得最佳效果。在恰当的文本描述和风格修饰下,6pen能够达到与midjourney甚至DallE2相媲美的效果。 8、Draft【目前免费】 Draft适用于手机和电脑,只需登录网页即可使用。 这款国产AI绘画工具支持中英文,操作简单,无需下载任何应用,直接在移动端或PC端输入网址即可使用。生成速度快,最快十秒即可出图。此外,社区提供的瀑布流素材可以激发你的创意灵感。 9、KK画廊【付费】 通过扫码或在微信中搜索公众号“KK画廊”【付费】即可体验KK画廊。 KK画廊是一款支持中文输入的AI绘画生成工具,操作简便,即使不懂英文也能愉快地进行AI绘图。当然,它也支持英文输入,以便在中文难以描述的情况下使用英文表达。 KK画廊不同模型的特点: Novel SD:不仅限于生成二次元作品,人物、动物和风景也都很出色。SD模型:基于Stable Diffusion,生成速度快,适合创作人物、动物和写实风格的景物。DD模型:基于Disco Diffusion,生成速度较慢,但在合适的描述文本下,能创作出非常精彩的画面。DD模型还能理解更多描述关键词、艺术家风格等(不推荐用于人物和动物创作)。CP模型:提供固定关键词,生成速度快,图像质量高,适合新手使用。 10、TIAMAT AI【目前公测免费】 Tiamat是由国内团队开发的人工智能绘画工具。目前,Tiamat的小程序版已经公测上线,而网页版尚未推出。 在微信中搜索“TIAMAT AI”小程序,即可使用小程序版的Tiamat进行AI绘画。目前注册并登录小程序即赠送500画力值,可用于AI绘画生成图片。 据了解,该平台的AI创作画作质量相当不错。等到网页版正式上线后,大家可以在网页版上尝试体验。目前,请先使用微信小程序进行AI绘画。 写在最后 感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。 AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。 一、AIGC所有方向的学习路线 AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。 二、AIGC必备工具 工具都帮大家整理好了,安装就可直接上手!

AI软件革新文本操作体验:从自动粘贴文本到一键提取保存手机号码

在当今数字化时代,AI技术的快速发展为各行各业带来了革命性的变革。特别是在文本处理领域,AI软件通过其强大的自动粘贴文本功能以及一键提取并保存手机号码的便捷操作,极大地提高了工作效率,为用户带来了全新的体验。本文将深入探讨AI软件在多个应用场景下的高效应用,展现其强大的文本处理能力。 1、现在,首助编辑高手凭借其卓越的“自动粘贴文本”功能,为我们带来了全新的解决方案。它不仅能大幅减少手动操作的时间和错误率,更能帮助我们轻松实现批量处理,极大地提高了文本处理的效率 2、进入“自动粘贴文本”板块后,您会惊喜地发现这里有多种类型可供选择。无论是网页地址,邮政编码,还是手机号码,固定号码等等都能在这里找到适合您的自动粘贴解决方案。 3、在首助编辑高手的文本内容旁,您会发现文本内容旁有一个下拉列表。只需轻轻一拉,即可选择“手机号码”作为您要自动粘贴的类型 4、仅仅提取手机号码还不够,我们还需要确保提取出来的号码符合特定的条件或格式。这时,首助编辑高手的过滤设置就派上了用场。勾选过滤设置,并设置在粘贴时包含或不包含某些条件。 5、然后,在后方设置了空白框供您输入关键词或特定的手机号格式。只需简单几步,您就能将所需内容精准地提取并粘贴到下方的文本内容里面 6、最后,勾选“开启自动粘贴文本”选项,然后在电脑中复制您想要提取的内容,首助编辑高手便会自动为您筛选出其中的手机号码,并将其粘贴到下方的文本内容了 7、首助编辑高手特别加入了重复文本过滤功能,能够自动检测并过滤掉重复的文本信息,确保您获取的内容都是独一无二的

【OpenCV 图像处理 Python版】图像处理的基本操作

文章目录 1.图像的 IO 操作1.1 图像读取 imread1.2 图像显示1.2.1 opencv 方式1.2.2 matplotlib 方式 1.3 图像保存 imwrite 2.绘制几何图形1. 绘制直线2. 绘制矩形3. 绘制圆形4. 绘制多边形5. 添加文字 3.获取并修改图像中的像素点3.1 获取像素值3.2 修改像素值3.3 获取和修改区域像素值 4.获取图像属性4.1 获取图像属性详细解释 4.2 处理灰度图像 5.图像通道的拆分与合并5.1 图像通道的拆分5.2 图像通道的合并5.3 修改单个通道并合并 6.色彩空间的改变详细解释为什么需要将 HSV 和 Lab 图像,先转换回 RGB 格式再显示?1. `matplotlib` 期望的颜色格式是 RGB2. 可视化的直观性3. 避免误解 1.图像的 IO 操作 1.1 图像读取 imread 使用cv2.imread函数可以读取图像。该函数有两个参数: 第一个参数是图像文件的路径。第二个参数是读取模式,可以是以下几种: cv2.IMREAD_COLOR:读取彩色图像(默认)。cv2.IMREAD_GRAYSCALE:读取灰度图像。cv2.IMREAD_UNCHANGED:读取图像,并包括图像的alpha通道。 示例 import numpy as np import cv2 as cv import matplotlib.pyplot as plt # 1.读取图像 # 读取彩色图像 image = cv.

计算机必背单词——数据库

这些都是我认为程序员需要掌握的单词,就算有些英文你不熟悉,但是对应的中文至少了解什么意思。 看完这个系列,希望你第一能认识更多单词,第二是拓宽自己的知识面,哪个概念不懂就自己去主动了解。 数据库技术是计算机科学中的一个关键分支,涵盖了数据的存储、管理、检索和安全性等多个方面。以下是与数据库技术相关的术语: 数据库基础: Database (DB): 数据库 Database Management System (DBMS): 数据库管理系统 Relational Database: 关系型数据库 Non-Relational Database: 非关系型数据库 Structured Query Language (SQL): 结构化查询语言 NoSQL: 一种用于设计非关系型数据库的技术 Table: 表 Column: 列 Row: 行 Primary Key: 主键 Foreign Key: 外键 Index: 索引 Schema: 模式 Database Transaction: 数据库事务 ACID Properties: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) Normalization: 规范化 Denormalization: 反规范化 Data Model: 数据模型 Entity-Relationship Model (ER Model): 实体-关系模型 Data Definition Language (DDL): 数据定义语言 Data Manipulation Language (DML): 数据操纵语言

基于STM32+华为云IOT设计的智能冰箱(华为云IOT)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】摘要 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 二、部署华为云物联网平台2.1 物联网平台介绍2.2 开通物联网服务2.3 创建产品(1)创建产品(2)填写产品信息(3)产品创建成功(4)添加自定义模型 2.4 添加设备(1)注册设备(2)根据自己的设备填写(3)保存设备信息(4)设备创建完成(5)设备详情 2.5 MQTT协议主题订阅与发布(1)MQTT协议介绍(2)华为云平台MQTT协议使用限制(3)主题订阅格式(4)主题发布格式 2.6 MQTT三元组(1)MQTT服务器地址(2)生成MQTT三元组 2.7 模拟设备登录测试(1)填入登录信息(2)打开网页查看(3)MQTT登录测试参数总结 2.8 创建IAM账户2.9 获取影子数据 三、STM32设备端代码设计3.1 RTC时钟配置代码3.2 SPI协议封装3.3 IIC协议封装3.4 ADC代码封装3.5 串口配置代码 四、上位机开发4.1 Qt开发环境安装4.2 新建上位机工程4.3 设计UI界面与工程配置【1】打开UI文件【2】开始设计界面 4.5 编译Windows上位机4.6 配置Android环境【1】选择Android编译器【2】创建Android配置文件【3】配置Android图标与名称【3】编译Android上位机 五、总结 一、前言 1.1 项目介绍 【1】项目开发背景 在当今智能化和物联网技术高速发展的时代背景下,传统家电的智能化改造成为家电行业转型升级的重要趋势。智能冰箱作为智能家居系统的重要组成部分,其智能化程度的提升不仅能够为用户带来更加便捷、舒适的生活体验,还能有效提升冰箱的使用效率和安全性。基于这一背景,设计了一款基于华为云IOT物联网平台的智能冰箱系统。 本项目通过集成先进的传感器技术、无线通信技术以及智能控制算法,实现对冰箱内部环境的全方位监测和智能控制。系统支持对冷藏区、保鲜区、冷冻区三个区域的温度和湿度进行实时监测,并配备有害气体传感器以分析霉菌含量,确保食品存储环境的安全卫生。同时,通过OLED显示屏,用户能够直观地了解冰箱内部的环境状态。 为了实现数据的远程监测和控制,系统支持WIFI上云功能,将采集到的数据实时上传至华为云物联网云平台。通过Qt(C++)设计的手机APP,用户可以随时随地调用华为云IOT的API接口,获取冰箱上传的数据,实现对冰箱运行状态的远程监控。此外,用户还可以通过手机APP远程设置冰箱各区域的温度,实现个性化的温度控制。 在智能控制方面,系统具备自动降温处理功能。当冰箱内部温度超过设定的阈值时,系统会自动启动制冷泵进行降温处理,并通过手机APP发出红色字体报警和本地蜂鸣器声音报警,提醒用户注意。此外,保鲜区还配备了紫外线消毒灯,用户可以根据需要开启消毒功能,对冰箱内部进行杀菌消毒,保障食品的安全存储。 本项目的开发不仅体现了智能家居技术在家电领域的应用价值,也为冰箱行业的智能化升级提供了新的解决方案。通过本项目的实施,将为用户提供更加智能化、安全化、舒适化的生活体验,推动智能家居产业的持续发展。 【2】设计实现的功能 (1)多区域精确温湿度控制与监测:冰箱被划分为冷藏区、保鲜区、冷冻区三个独立区域,每个区域均配置有SHT30温湿度传感器,能够实时监测并显示当前温度与湿度。用户可通过手机APP远程设定各区域的理想温湿度范围,系统将自动调节以维持最佳储存条件。 (2)有害气体及霉菌含量监测:通过集成的ADC模拟量采集输出的有害气体传感器,系统能够分析冷藏室内是否存在过量的有害气体及霉菌,及时预警,保护食品免受污染,保障用户健康。 (3)实时数据展示与远程监控:冰箱门上的0.96寸OLED显示屏实时展示当前的温湿度信息及系统状态,同时,这些数据会通过ESP8266-WIFI模块上传至华为云IoT物联网平台。用户通过专门设计的Qt(C++)手机APP,可以随时随地查看冰箱状态,实现远程监控。 (4)智能警报与应急处理:若冰箱内温度超过用户预设的阈值,系统将自动启动降温程序,并通过手机APP推送警告信息,APP界面字体变红以示警急。同时,冰箱内置的高电平触发蜂鸣器会发出声音报警,确保问题得到即时关注。 (5)紫外线消毒功能:针对保鲜区,设计有紫外线消毒灯,用户可通过APP远程控制开启,定期对冰箱内部进行消毒,有效杀灭细菌,保持储藏环境的卫生。 (6)灵活的电源管理与制冷控制:系统采用外部220V市电输入,经稳压模块转换为5V 2A直流电源,为所有组件稳定供电。制冷泵通过高可靠性的继电器控制,确保按需启动,节能高效。 (7)用户友好与个性化设置:手机APP提供直观易用的界面,用户可根据个人需求设定各区域的温度,查看历史数据,甚至接收食品保质期提醒,定制化服务让生活更加智能化。 【3】项目硬件模块组成 (1)主控单元: STM32F103RCT6微控制器:作为整个系统的控制中心,负责处理传感器数据、执行逻辑判断、控制各个外设工作。该MCU具有高性能、低功耗的特点,支持丰富的外设接口,满足系统复杂控制需求。 (2)环境监测模块: SHT30温湿度传感器:分别安装于冷藏区、保鲜区、冷冻区,用于精确测量各区域的温度和湿度,为温度控制和环境监测提供数据基础。有害气体传感器:通过ADC模拟量输出,监测冰箱内部可能存在的有害气体及霉菌含量,确保食品安全。 (3)显示与交互模块: 0.96寸OLED显示屏:采用SPI通讯协议,实时显示冰箱内部的温湿度信息、工作状态等,便于用户直观了解冰箱运行情况。 (4)无线通信模块: ESP8266-WIFI模组:负责将冰箱内部采集的数据通过Wi-Fi网络上传至华为云IoT物联网平台,实现远程监控和数据交互。 (5)电源管理模块: 外部电源适配器:将220V交流电转换为适合电子设备使用的5V直流电。稳压电源模块:进一步稳定直流电压至5V 2A,为系统提供稳定可靠的电源供应。 (6)报警与指示模块: 高电平触发有源蜂鸣器:当冰箱温度超出设定范围时,主控单元控制蜂鸣器发出报警声,提醒用户注意。 (7)控制执行模块:

idea代码快速提示工具——Fitten Code插件安装,比Copilot更快!

Fitten Code插件 最近又新出了一款国产AI写代码神器,直接秒杀GitHub Copilot!速度更快、准确度还高,并且在功能上基本和GitHub Copilot差不多。 重要是的是,免费,免费,完全免费! Fitten Code介绍 Fitten Code 是一个由非十科技自研代码大模型驱动的 AI 代码助手,它支持多达80多种常用编程语言,比如常见的包括Python、Java、C++、JavaScript、Go等。 Fitten Code核心开发团队都是毕业于清华大学的博士;而且在校期间,正是他们作为主要开发者,推动了计图的开源工作,毕业后成立非十科技创业,继续推进计图发展,并开发了JNeRF神经渲染库与JittorLLMs大模型推理库以及本次发布的Fitten Code Al编程助手。 Fitten Code的主要功能 代码自动补全:智能预测并补全代码,提高编程效率。 注释到代码生成:根据开发者的注释说明,自动生成代码片段或完整的代码结构。 自动添加注释:自动为代码添加注释,帮助开发者理解和维护代码。 代码编辑:提供代码重构和优化建议,提升代码质量。 代码解释:对复杂的代码段进行解释,帮助开发者理解其工作原理。 代码测试生成:自动生成测试用例,确保代码的健壮性和正确性。 Bug查找:智能识别代码中可能存在的缺陷,帮助开发者提前发现并修复问题。 Fitten Code支持的产品 目前该插件支持VsCode和支持所有JetBrains系列产品,包括IntelliJ IDEA、PyCharm、DataGrip、GoLand、PhpStorm、WebStorm、Rider等。 IDEA 安装Fitten Code插件 1、安装idea 2、破解idea 3、打开IntelliJ IDEA,file—> setting —> plugins 搜索 Fitten Code,安装插件 4、有账号直接登录,没有注册Fitten Code账号 5、注册成功,熟悉快捷键 总结 Fitten Code作为一款AI代码神器,它可以很好的帮助程序员提升代码的编写效率另外它的代码生成速度还是非常客观的,目前针对个人用户注册是免费的。是一款不可多得的AI代码生成助手。

ChatGPT 桌面客户端正式发布

适用于 macOS 的 ChatGPT 客户端现已可供所有用户下载使用[1]。 使用 Option + Space 快捷键可以即可访问 ChatGPT,可以对话电子邮件,选中文字、图片、和屏幕上的任何内容!

Java启动jar包设置内存分配详细说明

在微服务架构越来越盛行的情况下,我们通常一个系统都会拆成很多个小的服务,但是最终部署的时候又因为没有那么多服务器只能把多个服务部署在同一台服务器上,这个时候问题就来了,服务器内存不够,这个时候我们就需要对每个服务的内存开始精细分配,以达到充分利用每一台服务器的目的 首先来看一下我们用来启动 jar 包的常用命令 nohup java -Xms512m -Xmx512m -Xmn256m -Xss512k -server -XX:+HeapDumpOnOutOfMemoryError -jar your-application.jar > output.log 2>&1 & 下面我们来一点点的解析这行命令 nohup: 在后台运行命令并忽略挂起信号(这个应该都知道没什么好说的)。 -Xms512m: 含义:设置 JVM 初始堆内存大小为 512MB。 作用:JVM 启动时分配的初始内存大小,确保在应用程序启动时有足够的内存。 -Xmx512m: 含义:设置 JVM 最大堆内存大小为 512MB。 作用:JVM 运行过程中可以使用的最大内存限制,防止应用程序占用过多的系统内存。 -Xmn256m: 含义:设置新生代内存大小为 256MB。 作用:控制新生代(Young Generation)的大小,新生代用于存放新创建的对象。适当调整可以影响垃圾回收的频率和性能。 -Xss512k: 含义:设置每个线程的栈大小为 512KB。 作用:控制每个线程的栈内存大小。如果应用程序创建大量线程或有深度递归调用,需要适当调整该值。 -server: 含义:启用 JVM 的服务器模式。 作用:服务器模式针对长期运行的服务器应用程序进行了优化,包括更高级的编译优化和垃圾回收策略。 -XX:+HeapDumpOnOutOfMemoryError: 含义:在发生内存溢出错误(OutOfMemoryError)时生成堆转储文件。 作用:当应用程序由于内存不足而崩溃时,生成堆转储文件(heap dump),便于后续进行内存分析和调试。 知道了这些参数的含义以及作用,在使用的过程中还有些地方需要注意 调整堆内存大小:根据应用程序的实际内存需求,调整 -Xms 和 -Xmx的值。通常,初始堆大小(-Xms)和最大堆大小(-Xmx)应该设置为相同,以避免 JVM在运行过程中调整堆大小带来的开销。 -Xms1024m -Xmx1024m 新生代内存调整:新生代(-Xmn)的大小应该根据应用程序对象的生命周期进行调整。一般来说,新生代应占堆内存的 1/3 到1/4。 -Xmn512m 垃圾回收器选择:不同的垃圾回收器适用于不同类型的应用程序。常见的垃圾回收器有 G1、CMS 和 Parallel GC。可以根据应用程序的特点选择合适的垃圾回收器。

【乐吾乐2D可视化组态编辑器】连线

1 连线的绘制 1.1 钢笔绘制连线 1.1.1 曲线、线段、直线、脑图曲线 开始:单击左键 暂停:单击右键 或 enter 结束:esc 乐吾乐2D可视化组态编辑器demo:https://2d.le5le.com/ 1.1.2 横线 按下快捷键shift,点击鼠标左键绘制,右键结束绘制(连线类型选择直线) 1.1.3 竖线 按下快捷键ctrl,点击鼠标左键绘制,右键结束绘制(连线类型选择直线) 1.1.4 斜线 连线类型选择直线,选择钢笔,鼠标左键点击绘制起点,按住快捷键ctrl+shift,鼠标移动角度(以15°为递增角度),左键单击绘制第二个点,右键结束绘制 1.2 连接绘制连线 1.2.1 曲线 1.2.2 线段 1.2.3 直线 1.2.4 脑图曲线 2 连线变节点 连线变成节点、节点变成连线:右键 3 切割/合并连线 切割连线:选中线,移入线锚点,按下 S 合并连线:线连接线时,按下 alt 4 连线样式 设置连线的外观样式: 线条样式:实线、虚线 连线类型:曲线、折现、直线 连接样式:斜角、圆角、默认 线条渐变:无、线性渐变 线条颜色、浮动颜色、选中颜色 线条宽度 背景:纯色背景、线性渐变、径向渐变 背景颜色、浮动背景颜色、选中背景颜色 透明度:0-1 锚点颜色、锚点半径(≥0) 阴影颜色、阴影模糊、阴影X偏移、阴影Y偏移 变宽颜色、边框宽度(≥0) 4.1 用连线绘制管道 方式一:线性渐变外观 外观--线条渐变--线性渐变--线性渐变颜色 案例地址:乐吾乐2D可视化 方式二:连线边框+透明度 案例:用连线丰富的外观属性,绘制武地铁线路图demo 案例地址:乐吾乐2D可视化 起点样式 终点样式 线宽 5 连线动画 动画效果:水流、水珠流动、圆点

golang——Gin框架及路由介绍

一. 框架介绍 Gin是一个轻量级的Go语言Web框架,它具有高性能和简洁的设计。由于其快速的路由匹配和处理性能,Gin成为Go语言中最受欢迎的Web框架之一。 特点: 快速和轻量:Gin框架的设计注重性能和效率,采用了一些优化措施,使其成为一个快速而轻量级的框架。路由和中间件:Gin提供了强大的路由功能,支持参数传递,路由分组等特性。同时,它支持中间件的使用,可以方便的在请求处理过程中执行一系列的操作,比如身份验证,日志记录等。json解析:Gin内置了对json的解析和序列化支持,使得处理json数据变得简单而高效。支持插件:Gin允许开发者通过插件来扩展框架的功能,这样可以根据项目的需求进行灵活定制。 文档: Github地址:https://github.com/gin-gonic/gin中文文档:https://gin-gonic.com/zh-cn/docs/ 二. 安装 要安装Gin软件包,您需要安装Go并首先设置Go工作区。 命令安装Gin go get github.com/gin-gonic/gin@latest 导入代码 import "github.com/gin-gonic/gin" 三. 第一个Gin应用 package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { //将应用切换到“发布模式”以提升性能 gin.SetMode(gin.ReleaseMode) //创建路由 r := gin.Default() //绑定路由规则,执行函数 //gin.Context,封装了request和response r.GET("/", func(c *gin.Context) { c.String(http.StatusOK, "hello world") }) //监听端口,默认绑定端口8080 r.Run(":8080") } 代码解释: gin.Default:创建一个Gin引擎。gin.Default()返回一个带有默认中间件的Gin引擎,包括Logger和Recovery中间件,用于日志记录和恢复。 r.Get("/", func(c *gin.Context){...}):定义了一个GET方法的路由,当访问路径是"/"时,执行后面的回调函数。c.String(http.StatusOK, "hello world"):在回调函数中,通过c.String方法返回一个字符串"hello world"并设置HTTP状态码为200 OK。s.Run(":8080"):启动Web服务,监听在0.0.0.0:8080。如果不指定端口号,默认使用8080端口。此时,你可以通过浏览器或HTTP客户端访问http://localhost:8080,将会得到"hello world"的响应。 四. 应用举例 以下项目都是使用Gin框架开发的: gorush:Go 编写的通知推送服务器。fnproject:容器原生,云 serverless 平台。photoprism:基于 Go 和 Google TensorFlow 实现的个人照片管理工具。krakend:拥有中间件的超高性能 API 网关。picfit:Go 编写的图像尺寸调整服务器。gotify:基于 WebSocket 进行实时消息收发的简单服务器。cds:企业级持续交付和 DevOps 自动化开源平台。 五.

Android 解决 “Module was compiled with an incompatible version of Kotlin“ 问题

解决 “Module was compiled with an incompatible version of Kotlin” 问题 在Android开发中,有时我们会遇到Kotlin版本不兼容的问题。具体来说,你可能会看到如下错误: D:/.gradle/caches/transforms-3/caf5371a15e0d6ffc362b4a5ece9cd49/transformed/jetified-kotlin-stdlib-jdk8-1.7.10.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1. 这意味着你的项目使用的Kotlin标准库版本与编译器期望的版本不匹配。本文将详细介绍如何解决这个问题。 问题分析 错误信息指出模块 kotlin-stdlib-jdk8-1.7.10.jar 的元数据版本是 1.7.1,而编译器期望的版本是 1.5.1。这通常是由于项目中使用了不同版本的Kotlin库导致的。要解决这个问题,我们需要确保项目中的所有Kotlin依赖项版本一致。 解决方案 1. 确定Kotlin版本 首先,确定你要使用的Kotlin版本。假设我们使用的是Kotlin 1.5.31。 2. 配置根目录 build.gradle 在项目的根目录 build.gradle 文件中,设置Kotlin版本,并使用 resolutionStrategy 强制所有库使用相同的Kotlin版本。 buildscript { ext.kotlin_version = "1.5.31" // 设置你希望使用的Kotlin版本 repositories { google() mavenCentral() } dependencies { classpath "

java将html转成图片

java 将html转成图片 1.导入jar2.代码3.展示结果4.注意事项 最近有一个需求需要根据指定的样式生成图片,使用java原生技术有些麻烦,所以上网搜了下案例,最后发现最好用的还是html2image,这里进行简单总结下。 1.导入jar <!-- 用于将html转图片--> <dependency> <groupId>gui.ava</groupId> <artifactId>html2image</artifactId> <version>2.0.1</version> </dependency> 2.代码 下面是示例代码,这里使用String的方式传入html信息,除了直接传入还支持传入文件流、传入文件等其他方式,差距不大,这里不列举其他方式的细节了。 import gui.ava.html.parser.HtmlParser; import gui.ava.html.parser.HtmlParserImpl; import gui.ava.html.renderer.ImageRenderer; import gui.ava.html.renderer.ImageRendererImpl; public class TestTableToImage { public static void main(String[] args) throws Exception { HtmlParser htmlParser = new HtmlParserImpl(); String HtmlTemplateStr = "<html lang=\"zh-CN\">\n" + "<head>\n" + " <meta charset=\"UTF-8\">\n" + " <title>入库单</title>\n" + "</head>\n" + "<body>\n" + "\t<!--外层的表格 -->\n" + "\t<table style=\"border: 2px solid black;padding: 10px \" cellpadding=\"5\" align=\"

Django中,update_or_create()

在Django中,可以使用update_or_create()方法来更新现有记录或创建新记录。该方法接受一个字典作为参数,用于指定要更新或创建的字段和对应的值。 update_or_create()方法的语法如下: 代码语言:python obj, created = Model.objects.update_or_create(defaults=None, **kwargs) 其中,Model是要操作的模型类,defaults是一个字典,用于指定要更新或创建的字段和对应的值,**kwargs是用于指定查询条件的关键字参数。 该方法返回一个元组,第一个元素是更新或创建的对象,第二个元素是一个布尔值,表示是否创建了新的记录。 使用update_or_create()方法的优势是可以避免重复的数据库查询和手动编写复杂的逻辑来判断记录是否存在。它可以简化代码,并提高性能。 for i in request_ac_data: data_search ={"device_serial_number":i.get('device_serial_number'),'device_ip':i.get('device_ip')} instance, created = DeviceCmdb.objects.update_or_create(defaults=i,**data_search, ) if created:updated_data.append(i) data_search代表搜索的值,需唯一,如果没有就添加,有的话就校验数据 defaults=i,用于指定要更新或创建的字段和对应的值,这里表示: 全字段更新或者创建

linux下OpenSSL升级到1.1以上版本

要将CentOS 7上的OpenSSL升级到1.1以上版本,您需要遵循以下步骤。请注意,这些步骤可能需要一些系统管理经验,因为您将从源代码编译和安装OpenSSL。 1. 更新系统软件包 首先,确保您的系统软件包是最新的。使用以下命令更新所有软件包: sudo yum update 2. 安装必要的依赖包 OpenSSL的编译和安装需要一些依赖包。使用以下命令安装它们: sudo yum install -y gcc make perl zlib-devel 如果还需要其他开发工具和库,您可以考虑安装“Development Tools”组: sudo yum groupinstall "Development Tools" 3. 下载OpenSSL源代码 从OpenSSL官方网站下载1.1或更高版本的源代码。例如,要下载1.1.1w版本,可以使用wget命令: wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz 4. 解压并编译安装 解压下载的源代码包,并进入解压后的目录: tar -zxvf openssl-1.1.1w.tar.gz cd openssl-1.1.1w 配置、编译和安装OpenSSL。以下是一个常见的配置选项,但根据您的需求,您可能需要调整它: ./config --prefix=/usr/local/openssl make make install `--prefix`选项指定了OpenSSL的安装位置。在这个例子中,它被设置为`/usr/local/openssl`,但您可以根据需要更改它。 5. 更新系统环境变量 为了使新安装的OpenSSL版本成为系统的默认版本,您需要更新一些环境变量。编辑`/etc/profile`文件(或您使用的shell的相应配置文件): vim /etc/profile 在文件的末尾添加以下行: export PATH=/usr/local/openssl/bin:$PATH export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH 然后,使更改生效: source /etc/profile 6. 验证OpenSSL版本 最后,验证OpenSSL的版本是否已成功更新: openssl version 如果输出显示1.1.1w或更高版本,那么您已成功升级了OpenSSL。 注意事项 * 在升级OpenSSL之前,请确保您了解潜在的风险,并备份任何重要数据。 * 升级OpenSSL可能会影响依赖它的其他软件包(如Apache、Nginx、Postfix等)。在升级之前,请确保您已经考虑了这些依赖关系,并可能需要进行相应的配置更改。

【前端】Vue项目和微信小程序生成二维码和条形码

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家分享Vue项目和微信小程序如何生成二维码和条形码,介绍了JsBarcode、wxbarcode等插件,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家,欢迎 收藏+关注 哦 💕 🌈🌈文章目录 一、简介 1. 二维码 2. 条形码 二、微信小程序 - 生成二维码(qrcode)和条形码(barcode) 1.安装 2. 使用方法 3. 条形码 4. 二维码 5. 具体实例 三、VUE 生成二维码(qrcodejs)和条形码(barcode) 1. VUE 生成二维码(qrcodejs) 1.1 安装依赖 1.2 组件内使用 1.3 完整实例 2. VUE 条形码(barcode) 2.1 安装依赖 2.2 main.js中全局引入 2.3 定义组件 2.4 使用组件 2.5 结果展示 参考文档: 一、简介 1. 二维码 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 2. 条形码 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用 。 二、微信小程序 - 生成二维码(qrcode)和条形码(barcode) 采用wxbarcode--微信小程序生成条码和二维码模块。 1.安装 $ npm install wxbarcode 2. 使用方法 import wxbarcode from 'wxbarcode' wxbarcode.

SQL Server 2022从入门到精通

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。 本文主要介绍了SQL Server 2022从入门到精通,希望能对学习数据库,尤其是学习SQL Server的同学们有所帮助。 文章目录 1. 前言2. 书籍推荐2.1 本书特色2.2 本书作者2.3 本书目录2.4 适合读者 3. 购买链接 1. 前言 SQL Server 2022作为微软最新推出的关系型数据库管理系统,在企业级数据管理领域占据着至关重要的地位。它不仅延续了SQL Server系列的强大功能和可靠性,还在多个方面实现了突破性的创新。 SQL Server 2022在当今数据驱动的商业环境中扮演着至关重要的角色。作为数字化转型的核心引擎,它为企业提供了强大的数据处理和分析能力,成为推动业务创新的关键力量。其混合云解决方案无缝集成了云端和本地部署,满足了现代企业对灵活性和可扩展性的迫切需求。在网络安全日益复杂的今天,SQL Server 2022还提供了先进的安全特性,有效保护企业的关键数据资产。 在市场中,SQL Server的地位同样举足轻重。根据Gartner的魔力象限报告,它在操作型数据库管理系统市场中一直保持领导者地位。其应用范围极其广泛,无论是中小企业还是大型跨国公司,SQL Server 2022都能提供适合的解决方案,覆盖各个行业和应用场景。此外,微软庞大的合作伙伴网络和活跃的开发者社区为SQL Server 2022提供了丰富的第三方工具和资源支持,形成了一个强大而富有活力的生态系统。这些因素共同奠定了SQL Server 2022在数据库管理系统市场中的重要地位,使其成为企业数据管理的首选解决方案之一。 SQL Server 2022带来了众多令人兴奋的新特性,显著提升了性能、可靠性、安全性和开发效率。以下是一些主要的新特性: 智能查询处理:引入了新的查询优化技术,如参数敏感性计划优化和批处理模式内存授予反馈,大幅提升查询性能。链接服务器到Azure Synapse Analytics:允许直接查询Azure Synapse Analytics中的数据,实现无缝的混合云体验。数据虚拟化:通过PolyBase增强了对外部数据源的支持,包括Oracle、Teradata和MongoDB等。Ledger技术:引入区块链技术,为数据提供不可篡改的审计跟踪,增强数据完整性和安全性。云集成:深度集成Azure服务,如Azure Purview用于数据治理,Azure Synapse Link用于实时分析。Always Encrypted with secure enclaves:进一步增强了数据加密能力,支持更多的加密场景。UTF-8支持:改进了对国际化数据的支持,优化存储效率。可用性组的增强:改进了读取扩展可用性组的性能和可用性。Query Store增强:提供了更多的性能监控和优化工具,帮助管理员更好地诊断和解决性能问题。 2. 书籍推荐 本书是面向SQL Server 2022初学者的一本高价值的书籍。本书系统全面、示例丰富、图文并茂、步骤清晰、通俗易懂、条理清晰。通过本书的学习,读者能快速理解SQL Server 2022的技术构成及操作方法,快速上手使用并设计SQL Server数据库。 本书注重实用,可操作性强,详细讲解每一个SQL Server 2022的知识点、操作方法和技巧,清晰阐述示例的用法及其作用,使读者能在最短的时间内有效地掌握SQL Server 2022数据库的应用。 《SQL Server 2022从入门到精通:视频教学超值版》共分20章,内容包括SQL Server 2022的安装与配置、数据库的操作、数据表的操作、Transact-SQL语言基础、Transact-SQL语句的查询与应用、认识函数、Transact-SQL查询、数据的更新、规则、默认和完整性约束、创建和使用索引、事务和锁、游标、使用存储过程、视图操作、触发器、SQL Server 2022的安全机制、数据库的备份与恢复、数据库的性能优化、企业人事管理系统数据库设计、网上购物商城数据库设计。

微服务+云原生:打造高效、灵活的分布式系统

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、云原生概述 2、微服务概述 二、微服务架构基础 1、微服务架构的定义与特点 2、微服务与单体应用的对比 3、微服务架构的核心组件 3.1 服务注册与发现 3.2 API网关 3.3 服务间通信 3.4 负载均衡 4、微服务架构的设计原则 一、引言 1、云原生概述 云原生是一种利用云计算平台及其服务来构建和运行应用程序的方法。云原生应用旨在充分利用云环境的灵活性、可扩展性和弹性。其核心理念是通过微服务架构、容器化、持续集成/持续交付(CI/CD)、无服务器架构等技术,使得应用能够更快速地开发、部署和运行。 2、微服务概述 微服务(Microservices)是一种软件架构风格,它将一个复杂的大型应用程序拆分成多个小的、独立部署的服务。每个服务只负责单一的功能或业务能力,通过轻量级的通信机制(通常是 HTTP/REST 或消息队列)进行交互。微服务架构强调服务的松耦合和高内聚,使得应用程序更加灵活、可维护和可扩展。 二、微服务架构基础 1、微服务架构的定义与特点 微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。 微服务架构的特点 1. 独立部署 每个微服务可以独立开发、测试、部署和扩展,不需要停止或重启整个系统。 2. 单一职责 每个微服务专注于一个特定的业务功能,确保代码的高内聚和低耦合,符合单一职责原则(SRP)。 3. 轻量级通信 微服务之间通过轻量级的通信协议(如HTTP/REST、gRPC、消息队列等)进行交互,保持服务的松耦合。 4. 自治性 每个微服务拥有自己的数据存储和业务逻辑,能够独立运行和演进,不依赖其他服务。 5. 多技术栈 各个微服务可以使用不同的编程语言、框架和技术栈,根据具体的业务需求和团队技术专长进行选择。 6. 去中心化治理 微服务架构鼓励去中心化的管理和治理,团队可以自主选择适合的技术工具和开发方法。 7. 容错性和弹性 微服务架构支持服务的隔离和容错设计,一个服务的故障不会影响整个系统的可用性,同时支持服务的自动扩展和恢复。 8. 持续交付与持续部署(CI/CD) 微服务架构支持持续集成和持续交付,使得新功能和修复能够快速上线,缩短开发周期和反馈时间。 2、微服务与单体应用的对比 单体应用(Monolithic Application): 单体应用将所有功能模块和组件集成在一个单一的代码库和部署单元中。整个应用程序作为一个整体进行开发、测试、部署和扩展。 微服务架构(Microservices Architecture): 微服务架构将应用程序拆分为一组独立的小服务,每个服务负责一个特定的业务功能。这些服务可以独立开发、测试、部署和扩展,通过轻量级的通信机制(如HTTP/REST或消息队列)进行交互。 单体应用的优点: 1. 简单性: 初始开发和部署较为简单,所有代码在一个项目中,方便管理。 2. 性能: 在同一进程内调用方法,性能较好,没有网络通信的开销。 3.

基于SSM+Jsp的雅博书城在线系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 管理员登录 管理员功能 个人中心 用户管理 图书分类管理 图书信息管理 图书资讯管理 轮播图管理 订单管理 图书评价管理 用户功能界面 系统首页 个人中心 收货地址添加 摘要 雅博书城在线系统是以实际运用为开发背景,运用软件工程开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。 雅博书城在线系统采用的数据库是Mysql,使用SSM框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 研究背景 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中用户对雅博书城在线系统方面的要求也在不断提高,雅博书城受到广大用户的关注,使得雅博书城在线系统的开发成为必需而且紧迫的事情。雅博书城在线系统主要是借助计算机,通过对雅博书城在线系统所需的信息管理,增加用户的选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。雅博书城在线系统对用户带来了更多的便利,该系统通过和数据库管理系统软件协作来满足用户的需求。 计算机技术在现代管理中的应用,使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。 关键技术 JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html)。 JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。 MYSQL数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性。 B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。 系统分析 对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。 系统设计 功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。 系统实现 管理员登录进入雅博书城在线系统可以查看个人中心、用户管理、图书分类管理、图书信息管理、图书评价管理、系统管理、订单管理等内容。用户登录进入雅博书城在线系统可以查看个人中心、图书评价管理、我的收藏管理、订单管理等内容。雅博书城在线系统 ,在雅博书城在线系统可以查看首页、图书信息、图书资讯、我的、跳转到后台、购物车、在线客服等内容。 系统测试 程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。 雅博书城在线系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在雅博书城在线系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。 结论 此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实际到的技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺不容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。 (可运行源码+sql文件+文档)