windows 系统下 mysql 数据库的下载与安装(包括升级安装)

windows 系统下 mysql 数据库的下载与安装(包括升级安装) 一、mysql 介绍: MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。 MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。 myusql 分为社区版和商业版,由于其体积小、速度快、总体拥有成本低, 尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。 二、mysql 下载: 1、官网下载地址: https://dev.mysql.com/downloads/windows/installer/ 2、下载最新版本,一般可能需要注册登录,下载其他历史版本,请点击 Archivers 3、选择版本,这里选 8.0.23 ,点击下载按钮 Download ,开始下载: ( mysql-installer-community-8.0.23.0.msi 为 windows 安装版 ) 三、mysql8.0.23 安装 1、双击运行 mysql-installer-community-8.0.23.0.msi 一路 Next 2、由于我之前安装的 mysql-installer-community-8.0.23.0.msi 所以这块用 mysql-installer-community-8.0.26.0.msi 升级安装演示 3、skip system tables upgrade check and process (not recommended) 跳过系统表升级检查和处理(不推荐) 4、server file permissions(服务器文件权限)默认。 5、apply configuration (应用配置),点击 Execute 执行。 updating permissions for the data folder and related server files

[stable diffusion] 错误:RuntimeError: Found no NVIDIA driver on your system. Please check that ...

错误:RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and 因为我电脑没有英伟达显卡所以遇到这个错误,可以改用cpu跑图的方式 #引用下官方文档 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings Running on CPU Running with only your CPU is possible, but not recommended. It is very slow and there is no fp16 implementation. To run, you must have all these flags enabled: --use-cpu all --precision full --no-half --skip-torch-cuda-test Though this is a questionable way to run webui, due to the very slow generation speeds; using the various AI upscalers and captioning tools may be useful to some people.

“帮助“Java成长的世界级大师不简单!

文章目录 初探编程:“天啊,真酷,程序真的能学习。”哺育Java成长,成为Java幕后英雄出书《Effective Java》斩获Jolt图书大奖 是谁?作品一出版就获得著名的Jolt图书大奖,每一版本豆瓣评分均超9.0! 连Java之父James Gosling都多次表白他的作品“我很希望我10年前就能拥有这本书。有人可能认为我不需要任何Java方面的书籍,但是我需要这本书”,还在 JavaOne 2001 上直呼“去买这本书吧!”。 他就是《Effective Java》的作者、前Google首席Java架构师、Java集合框架创办人、卡内基梅隆大学(CMU)软件研究所的兼职教授——Joshua Bloch! 如果你还不太了解这位美国著名程序员,让我们一同探索他的编程人生,领悟他的编程智慧…… 初探编程:“天啊,真酷,程序真的能学习。” 1961年8月28日,Joshua Bloch出生在美国纽约长岛萨福尔克县。这一年,是程序设计语言COBOL问世之际,也是麻省理工学院设计的第一台分系统计算机完成之际。 Bloch的编程之路最早可以追溯到1971年。当时,Bloch的父亲是美国Brookhaven国家实验室的化学家,他需要参加一个程序设计培训班。那时候,电脑都是放在玻璃窗背后的大型机,想要“编程”只能把写好的程序卡片交给操作员。虽然无法亲自动手,但刚上小学四年级的Bloch还是被计算机可以帮助自己做事这一点震撼了。所以,在他父亲上课的那段时间,Bloch跟父亲学了一点儿Fortran。 但Bloch真的对程序产生强烈的兴趣却是在几年后。因为让他最兴趣的是分时系统。 1973年,长岛有一台DEC system-10电脑,供萨福尔克县内所有的学校使用,佛罗里达州纳苏县也有一台。很神奇的是,很多著名人物的事业都是从这两台DEC system-10电脑开始的。因为对分时系统特别感兴趣,所以,在此后三年里,Bloch也跟其他人一样,开始写BASIC程序。 Bloch还记得他写的第一个有趣的程序。1977年7月4日,Bloch为经典的二十问游戏写了一个程序,叫“猜动物”。这个程序包含一个二叉树,是非题位于它的内部节点,动物位于它的叶节点上。如果用户所提的动物是叶节点上没有的,它会向用户提出是非题,通过区别新动物和它猜出的错误动物之间的差异来了解新动物。二叉树保存在硬盘上,这样程序可以越来越“聪明”。 Bloch当时就被惊讶到了:“天啊,真酷,程序真的能学习。”这也是他一生难忘的瞬间。 Bloch还保存着当年写的程序,这些程序是印在电信打印纸上的。如今回头再看这些程序,Bloch发现,他写的代码的部分风格从那个时候起就一直没变过。 编程实在是太有趣了,因此,Bloch考上了哥伦比亚大学工程与应用科学学院,选择主修计算机科学,毕业后还选择继续深造,在卡内基美隆大学获得了计算机科学博士学位。他在1990年发表的博士论文“A Practical Approach to Replication of Abstract Data Objects”还曾被提名为ACM杰出博士论文奖。 哺育Java成长,成为Java幕后英雄 1996年1月,第一个JDK1.0正式版本诞生,Java这门新的编程语言开始崭露头角。 就在这一年,身为Transarc公司高级系统设计师的Bloch放弃之前打下的基业,前往西部,加入了Sun公司的 JavaSoft 部门,开启了他在Java世界的传奇之旅。 接下来的 5 年,有着相当丰富的编程背景的Bloch担任了Java平台类库的架构师,设计、实现和维护过许多类库,比如DK1.1中的java.math、1.4中的assertions、Java Collections Framework,也为其他许多类库提过意见。其中,Collections Framework以其出色的设计和功能而受到了广泛的认可,并且获得了当年的Jolt大奖。 在Java迭代到了J2SE5.0时,即代号“Tiger”(虎)的版本,Joshua肩负起了推动这一版本向前的重任。Joshua与吉拉德·布拉查(Gilad Bracha)一起领导了团队,为Java 5增加了泛型、枚举类型、注解、自动装箱和 for-each循环等新语言特性,还设计了并发类库——java.util.concurrent。在他的引领下,这个版本成为Java版本史上第二个“里程碑”式的突破。 因为贡献过于杰出,所以Bloch获得了Sun公司“杰出工程师” (Distinguished Engineer)的称号。 2004年7月,Bloch离开了Sun公司,加入了正蓬勃发展的Google,成为Google的Java首席架构师。同年12月,《Java 开发者杂志》将Bloch列为”全球顶尖的40位软件开发者”之一。 在Google公司,Bloch依旧身兼数职。他主要负责Java基础架构,继续开发并发和集合API,同时也是Google与Java 社区的联络人,是JCP(Java Community Process)的代表,是多个专家小组的成员。他还使用Java平台来开发 Google内部使用的类库,了解用户的感受。 即使在Google工作,Bloch仍然积极参与Java的发展。他和Doug Lea一起参加JSR166专家组,还为Java平台的语言和库做其他工作。此外,他也是JSR201和JSR175的领导者。 Bloch提出了Java编程语言的扩展具有两个特性:简明实例创建表达式(CICE)(与Bob Lee和Doug Lea共同提出)和自动资源管理(ARM)块。CICE和ARM的结合构成了“支持Java闭包”的三个早期提案之一,ARM块被添加到JDK7中。 2012年8月3日,Bloch在X平台上发文“在 Google 工作了8年后,现在是我继续前进的时候了”,表示他从Google 离职了。 如今,Java如火如荼地发展着,Bloch也继续前进,不仅成为卡内基梅隆大学软件与社会系统系的兼职教授,一边做研究一边教授软件工程课程,同时,他还继续升级自己的经典之作,在Java程序员的求学之路上贡献自己的力量。 出书《Effective Java》斩获Jolt图书大奖 能把一门语言钻研透的,是高手;写得出备受推崇的教程,是专家;既会研究又会写,还活跃在技术前沿,是大师!Bloch就是二者兼备的世界级大师。

IDEA+Java+Servlet+JSP+Mysql实现Web图书管理系统【建议收藏】

IOAction LoginAction ReaderAction 四、其他 1.其他系统实现 1.JavaWeb系统系列实现 2.JavaSwing系统系列实现 2.获取源码 3.运行项目 4.备注 5.支持博主 JavaWeb系统系列实现 Java+JSP实现学生图书管理系统 Java+JSP实现学生信息管理系统 Java+JSP实现用户信息管理系统 Java+Servlet+JSP实现航空订票系统 Java+Servlet+JSP实现新闻发布系统 Java+Servlet+JSP学生宿舍管理系统 Java+Servlet+JSP实现学生信息管理系统 Java+Servlet+JSP实现学生选课管理系统 Java+Servlet+JSP实现学生成绩管理系统-1 Java+Servlet+JSP实现学生成绩管理系统-2 Java+Servlet+JSP实现宠物诊所管理系统 Java+SSM+JSP实现网上考试系统 Java+SSH+JSP实现在线考试系统 Java+SSH+JSP实现医院在线挂号系统 Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统 一、系统介绍 ====== 1.开发环境 开发工具:IDEA2018.2 JDK版本:jdk1.8 Mysql版本:8.0.13 2.技术选型 后端:Java+Servlet进行开发。 前端:JSP+HTML+CSS。 3.系统功能 1.登录系统 2.图书的增删改查 3.借书与还书 4.图书进出记录 5.用户管理 6.注销 4.数据库 /* Navicat Premium Data Transfer Source Server : MySQL Source Server Type : MySQL Source Server Version : 80013 Source Host : 127.0.0.1:3306 Source Schema : servlet_library

JDK17 - JDK21 - JDK22 最新版安装mac + linux

一. 背景 Java开发第一步,安装JDK。 二. 下载软件 下载JDK:https://www.oracle.com/cn/java/technologies/download 建议下载当前稳定的release版本,不一定是最新版本 下载列表有不同架构下的不同安装包: 1)ARM64 和X64:代表CPU架构类型,可以命令行执行命令uname -m查看你的电脑是什么类型的cpu架构,选择对应的包,不匹配会提示安装失败或者不可用; 2)bin.tar.gz和dmg包的区别:tar.gz直接解压就可以用,解压在哪个路径下就安装在哪个路径 dmg是mac安装文件规范,默认会安装到/Library/Java/JavaVirtualMachines/路径下; 三. 安装 1) tar.gz包解压即安装完成;dmg点点即可; 2) 配置环境变量 环境变量的配置是为了让系统方便的找到java相关的命令和java相关的类包; 环境变量有多个地方可以配置,常用的有三个地方,下面分别做说明: /etc/profile:对所有用户生效的环境变量,登录后都会自动执行的这个脚本文件~/.profile:对当前用户生效,当前用户主目录下的隐藏文件,此用户登陆后会自动执行的脚本文件~/.bash_profile或者~/.bashrc :对当前用户生效,在当前用户主目录下的隐藏文件,此用户运行bash终端后会自动执行的脚本文件 通常建议配置在~/.bash_profile即可; 主要配置内容: JAVA_HOME:告诉系统你的java路径在哪,大部分依赖java的软件都会去找这个变量如maven等,所以必须配置;CLASS_PATH:指定java基础类包,可以省去输入完整路径的麻烦;PATH:指定java基础命令,可以省去输入完整路径的麻烦; vim ~/.bash_profile配置内容如下,多套环境可以共存,但JAVA_HOME只能唯一。 # JDK Config JAVA_HOME_21=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home export JAVA_HOME=$JAVA_HOME_21 CLASS_PATH="$JAVA_HOME/lib" PATH="$PATH:$JAVA_HOME/bin" 3) 保存配置后,需要手动执行如下命令,使配置生效; source ~/.bash_profile 4) 验证是否配置成功 四. 总结 知其然知其所以

SpringBoot集成Flink-CDC,实现对数据库数据的监听

一、什么是 CDC ? CDC 是 Change Data Capture(变更数据获取) 的简称。 核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、 更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 二、Flink-CDC 是什么? CDC Connectors for Apache Flink是一组用于Apache Flink 的源连接器,使用变更数据捕获 (CDC) 从不同数据库获取变更。用于 Apache Flink 的 CDC 连接器将 Debezium 集成为捕获数据更改的引擎。所以它可以充分发挥 Debezium 的能力。 大概意思就是,Flink 社区开发了 flink-cdc-connectors 组件,这是一个可以直接从 MySQL、 PostgreSQL等数据库直接读取全量数据和增量变更数据的 source 组件。 Flink-CDC 开源地址: Apache/Flink-CDC Flink-CDC 中文文档:Apache Flink CDC | Apache Flink CDC 三、SpringBoot 整合 Flink-CDC 3.1、如何集成到SpringBoot中? Flink 作业通常独立于一般的服务之外,专门编写代码,用 Flink 命令行工具来运行和停止。将Flink 作业集成到 Spring Boot 应用中并不常见,而且一般也不建议这样做,因为Flink作业一般运行在大数据环境中。 然而,在特殊需求下,我们可以做一些改变使 Flink 应用适应 Spring Boot 环境,比如在你的场景中使用 Flink CDC 进行 数据变更捕获。将 Flink 作业以本地项目的方式启动,集成在 Spring Boot应用中,可以使用到 Spring 的便利性。

《Effective Java》如果说我需要一本Java编程的书,那就是它了

《Effective Java》 编写出更优雅的Java代码作者简介斩获Jolt图书大奖本文福利 编写出更优雅的Java代码 《Effective Java》是Java编程领域的一本经典之作,由Joshua Bloch撰写,旨在帮助Java程序员提高编码技巧,写出更加健壮、高效和易于维护的代码。 本书以清晰、简洁的风格介绍了Java编程中的最佳实践和常见陷阱。通过深入的解释和实践经验,作者分享了大量有关类设计、方法设计、异常处理、泛型、枚举、并发等方面的建议。 Bloch大神在《Effective Java》书中频频抛出硬核金句,至今仍被程序员广泛引用 “API应该易于使用且不易被滥用。” “如有疑问,请将其排除在外。” “程序越干净、越好,运行速度就越快。” “编程既涉及工艺,也涉及数学,还涉及人际交往能力和散文技巧。” “如果你不能通过观察来判断一个程序做了什么,它可能不会做你想做的事。” “同大多数学科一样,学习编程艺术首先要学会基本的规则,然后才能知道什么时候去打破规则。” 《Effective Java》不仅受到读者认可,还受到了众多同行专家和作者的称赞: “这是一本很棒的书,里面塞满了关于使用Java编程语言和面向对象编程的好建议。” -—————————————————Gilad Bracha,《Java语言规范,第三版》的合著者 “对于有经验的开发人员来说,这是很好的操作方法资源。” ——————————————————John Zukowski,多本Java技术书籍的作者 作者简介 前Google首席Java架构师、Java集合框架创办人、卡内基梅隆大学(CMU)软件研究所的兼职教授——Joshua Bloch! 如果你还不太了解这位美国著名程序员,让我们一同探索他的编程人生,领悟他的编程智慧…… 1961年8月28日,Joshua Bloch出生在美国纽约长岛萨福尔克县。这一年,是程序设计语言COBOL问世之际,也是麻省理工学院设计的第一台分系统计算机完成之际。 1973年,长岛有一台DEC system-10电脑,供萨福尔克县内所有的学校使用,佛罗里达州纳苏县也有一台。很神奇的是,很多著名人物的事业都是从这两台DEC system-10电脑开始的。因为对分时系统特别感兴趣,所以,在此后三年里,Bloch也跟其他人一样,开始写BASIC程序。 编程实在是太有趣了,因此,Bloch考上了哥伦比亚大学工程与应用科学学院,选择主修计算机科学,毕业后还选择继续深造,在卡内基美隆大学获得了计算机科学博士学位。他在1990年发表的博士论文“A Practical Approach to Replication of Abstract Data Objects”还曾被提名为ACM杰出博士论文奖。 1996年1月,第一个JDK1.0正式版本诞生,Java这门新的编程语言开始崭露头角。 就在这一年,身为Transarc公司高级系统设计师的Bloch放弃之前打下的基业,前往西部,加入了Sun公司的 JavaSoft 部门,开启了他在Java世界的传奇之旅。 接下来的 5 年,有着相当丰富的编程背景的Bloch担任了Java平台类库的架构师,设计、实现和维护过许多类库,比如DK1.1中的java.math、1.4中的assertions、Java Collections Framework,也为其他许多类库提过意见。其中,Collections Framework以其出色的设计和功能而受到了广泛的认可,并且获得了当年的Jolt大奖。 2004年7月,Bloch离开了Sun公司,加入了正蓬勃发展的Google,成为Google的Java首席架构师。同年12月,《Java 开发者杂志》将Bloch列为”全球顶尖的40位软件开发者”之一。 … 斩获Jolt图书大奖 能把一门语言钻研透的,是高手;写得出备受推崇的教程,是专家;既会研究又会写,还活跃在技术前沿,是大师!Bloch就是二者兼备的世界级大师。 在Sun公司工作的那段时间, Bloch收获颇多。在他看来,能够在 Java 平台不断成熟的过程中主持这些类库的设计工作,这样的机会千载难逢。在这个过程中,关于 Java 语言,他学到了很多很多——哪些行得通,哪些行不通,以及怎样使用 Java 语言及其类库取得最好的效果。 于是,他想和读者分享自己的经验,使读者可以效仿他成功的地方,同时规避他犯过的错误。 而这本《Effective Java》便是他的一次尝试。他看过Scott Meyers的《Effective C++》,该书包含50个条目,每个条目讲解一条可以帮程序员改进程序和设计的特定规则。他觉得这种格式非常好,便借鉴到自己的书中,希望读者也能喜欢。

通过 itms-services 协议下载安装 IOS 应用

用 ssafari 浏览器通过 itms-services:// 协议下载安装 IOS 应用 前提必要条件: 支持https的站点站点Apple ATS规范打包好ipa文件ipa包名 1、制作下载链接 <a title="ios" href="itms-services://?action=download-manifest&url=https://配置文件地址/ipa.plist" download="app.ipa" target="_blank"> <span>IOS下载</span> </a> 2、制作 ipa.plist 配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>https://下载服务地址/app.ipa</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>need-shine</key> <integer>0</integer> <key>url</key> <string>https://下载服务地址/logo.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>包名</string> <key>bundle-version</key> <string>1.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>应用名称</string> </dict> </dict> </array> </dict> </plist>

AI绘画:使用Stable Diffusion ComfyUI进行换脸:IPAdapter FaceID全面教程

在数字艺术和媒体编辑领域,换脸技术已经成为一种流行且强大的工具。它允许创作者将一个人物的面部特征无缝地转移到另一个人物上,创造出令人信服的视觉作品。Stable Diffusion ComfyUI提供了一个高效的平台,让用户能够轻松地实现换脸。本文将详细介绍如何使用ComfyUI中的IPAdapter FaceID插件进行换脸,从安装到实际操作,一步步引导你完成整个过程。 换脸技术简介 换脸技术通过深度学习算法,识别并提取面部特征,然后将这些特征应用到目标图像上。在AI绘画中,保持角色一致性的方法之一就是通过换脸来实现。市面上有许多换脸插件,如Reactor、FaceFusion、Roop等,而IPAdapter推出的FaceID模型因其高效性和准确性而广受欢迎。 安装IPAdapter FaceID插件 在使用IPAdapter FaceID之前,我们需要确保ComfyUI是最新版本,以便兼容最新的插件。 更新ComfyUI 打开ComfyUI管理器。点击“更新全部”以更新ComfyUI到最新版本。如果你位于大陆境内,可能需要切换不同的网络环境(如不同的VPN节点)来成功更新。 安装IPAdapter FaceID Plus节点 有两种方法可以安装IPAdapter FaceID Plus节点: 方法一:通过管理器安装 打开ComfyUI管理器。点击“安装节点”。搜索“ComfyUI_IPAdapter_plus”并点击安装。 方法二:手动安装 访问IPAdapter FaceID Plus的GitHub主页:GitHub - cubiq/ComfyUI_IPAdapter_plus。下载ZIP压缩包。将下载的ZIP压缩包解压到ComfyUI目录下的custom_nodes目录中。如果需要,可以删除文件夹名后的“-main”。 准备工作 在开始换脸之前,确保你已经安装了所有必要的模型和依赖项。 安装模型 下载IPAdapter模型和CLIP_VISION模型。将模型文件存放在ComfyUI的models目录下。 模型文件的huggingface下载地址:https://huggingface.co/h94/IP-Adapter-FaceID/tree/main ipadapter总共有4个版本的模型,每个模型都包含1个主模型和1个lora模型,建议将这4个版本的模型都下载下来,分别放入相对应的文件夹中: 主模型文件夹:“\ComfyUI_windows_portable\ComfyUI\models\ipadapter” lora模型文件夹:“\ComfyUI_windows_portable\ComfyUI\models\loras\ipadapter” 点击“管理器”,选择“安装模型”,搜索关键词“clip”,将4个“clip_vision”模型都安装好,其中2个是1.5版的模型,2个是SDXL版的模型,虽然截至到本文发布的时候ipadapter尚未推出faceID的SDXL版模型,但是相信不就之后就会推出SDXL版! 安装InsightFace 检查Python版本是否兼容。下载相应的.whl文件。安装InsightFace库。 insightface是一个Python库,不管是运行reactor插件还是其他的换脸插件,都会用到这个Python库,由于ComfyUI是一个独立的虚拟环境,所以安装insightface库的方法有点特别 首先我们要查看下我们的comfyUI的虚拟环境中的Python版本 第一步:找到根目录下的“python_embeded”文件夹,进入到该文件夹中; 第二步:在该文件夹的路径栏输入“cmd”; 第三步:在弹出的cmd命令窗口中输入“python.exe -V”命令,此时我们就可以查看到我们ComfyUI中的Python版本,我的是“Python 3.11.6”版; 我们在上面一步已经查看了我们自己的Python版本,接下来根据自己的Python版本下载相对应的whl文件: 3.10版:insightface-0.7.3-cp310-cp310-win_amd64.whl 3.11版:insightface-0.7.3-cp311-cp311-win_amd64.whl 将下载下来的whl文件放在“\ComfyUI_windows_portable\python_embeded”文件下面 python -m pip install -U pip python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl 创建换脸工作流 现在,终于。当我们顺利完成了上面的所有安装之后,我们已经准备好开始创建换脸工作流。使用“ComfyUI_IPAdapter_plus”节点来进行换脸!比起reactor等换脸插件,“ComfyUI_IPAdapter_plus”的换脸行为发生在图片生成之前,所以最后的效果会更加自然!下面是一个换脸操作的案例: 基础设置 打开ComfyUI并创建一个新的工作流。添加必要的节点,包括“FaceID工作流”节点。 工作流注意事项 确保所有节点正确连接。根据需要调整节点参数。检查模型版本是否与插件兼容。 开始换脸 导入源图像和目标图像。调整FaceID工作流中的参数,如换脸强度、面部特征匹配等。运行工作流并查看换脸效果。 工作流注意事项说明: ipadapter模型和lora模型一定要匹配;可以根据自己的需要调整lora的权重,数字越大上传的参考图片对生成的图片影响越大,包括画质和构图,适当降低该权重,可以让AI发挥的空间越大,画面越自然,但是换脸效果可能会降低;ipadapter模型中的plus版和plusV2版本在换脸效果上并不比基础版要好,但是在画质上会相对较好;工作流的最后面的组是高清放大和面部修复,该组我已经默认设置为“停用”模式,如果你有需要可以右键“启用该组节点”;高清放大节点中的“降噪”参数设置得越小,高清放大之后的图片人物面部就越接近原图,过大的“降噪”参数会让高清放大之后的人物改变人脸的样式,该参数建议设置在0.05以下! 结语 通过上述步骤,你现在应该能够使用Stable Diffusion ComfyUI和IPAdapter FaceID插件轻松地进行换脸操作。记住,实践是掌握任何技术的最佳方式,所以不断尝试和调整参数,直到你达到满意的效果。如果你在过程中遇到任何问题,可在相关社区寻求帮助。

基于Leaflet.js和Turf.js的等值线区间自定义及颜色自适应实践

目录 前言 一、Turf.js等值线相关制作 1、生成方法 2、主要参数 二、实际案例开发 1、新建展示页面 2、等值线生成 3、基于Leaflet的再优化 总结 前言 在气象方面的GIS应用当中,会根据实际的工作需要建立不同的监测站点。气象监测站的主要功能包括:(1)天气预报和气候研究。通过实时监测大气压力、温度、湿度、风速、风向和降水等参数,对天气和气候变化进行准确预测和研究,提供及时的天气预报和气候变化的科学依据。(2)灾害预警和防控。监测和预警各类自然灾害,如暴雨、大风、强降雪等,及时发出预警信息,帮助居民和相关部门采取紧急应对措施,减轻灾害造成的损失。(3)环境保护与生态研究。测量大气污染物,如PM2.5、O3等,提供空气质量和污染状况的数据,为环境保护部门和科研机构提供重要依据。(4)农业生产与粮食安全。提供气象参数,如温度、湿度、降雨量等,为农田灌溉、作物生长和病虫害预警等农业生产活动提供重要数据,保障粮食安全和农业发展。(5)生态旅游和户外活动。提供气象参数和天气预报,帮助人们选择合适的时机和地点,增加旅游活动的安全性和可行性。(6)航空航天和海洋工程。提供气象数据,如风速、风向、气温等,用于航班安排、船舶安全和海洋工程施工,确保航空和海洋工程的安全进行。 在上述这些应用当中,为了可以从空间尺度进行数据分布的可视化。等值线是制图对象某一数量指标值相等的各点连成的平滑曲线,由地图上标出的表示制图对象数量的各点,采用内插法找出各整数点绘制而成的。每两条等值线之间的数量差额多为常数,可通过等值线的疏密程度来判断现象的数量变化趋势。等值线法往往与分层设色的表示手段配合使用,即采用改变颜色深浅、冷暖和阴暗来表示现象的数值变化趋势,使图面更清晰、易读。另外往往在等值线上加数字注记,便于直接获得数量指标。等值线法除用于表示空间现象数量的连续而逐渐变化的特征外,还可表示现象随时间的变化,现象的重复性(频度)等。等值线图用数值相等各点联成的曲线(即等值线)在平面上的投影来表示被摄物体的外形和大小的图。等值线是由某种现象的数值相等的各点所连成的一条平滑曲线,如等高线、等温线、等雨量线、等磁偏线、等气压线等。等值线法就是利用一组等值线表示制图现象分布特征的方法。如下图所示: 既然利用等值线可以得到很多有用的有效信息,那么在WebGIS当中,如何进行等值线的绘制呢?在不同的值域分布区间当中,如何根据值域的区间来进行不同颜色的自适应适配呢?在一些技术博客中有讲解如何进行WebGIS的web生成。但是目前均有一些缺陷,以Turf.js为例,其官方自带的例子过于简单,只是把基础的功能展示出来,没有实现如何进行值域的自适应。而另外一些有值域颜色自适应的,主要是采用OpenLayers来进行开发的。而使用Leaflet进行等值线生成的例子相对较少,而且示例不全。因此才有了本文的创作。本文将重点讲解在Leaflet中使用turf来生成等值线,同时可以自主适配不同的值域信息,根据值域区间配置不同的颜色,让可视化效果更加贴近实际需要。如果您目前也刚好在学习有关于Leaflet中进行等值线的展示的需求,不妨来看看博文。 等值线的生成从生成角度可以分成前端生成和后端生成,本文采用前端生成的方式。采用turf.js作为前端生产的组件。相关的数据可以从后台查询得到,本文使用的数据均为演示数据,不是真实数据。 一、Turf.js等值线相关制作 想要在前端直接生成等值线,有一个非常值得学习的工具,那就是Turf.js组件,通过这个组件可以做很多的前端空间计算和分析。当然,如果是大规模的空间分析,不建议放在前端,毕竟前端作为可视化终端,并不是用来解决分析的,主要是作为效果的展示终端。关于Turf的能力,在之前的博客中也有一定的介绍,关于Turf.js,感兴趣的朋友可以自己到相关网站上查看,turf.js。 为了本文的介绍同时让大家对Turf的等值面生成有一个基本的了解和掌握,本节将首先对Turf.js进行简单介绍,将其的api及相关的属性和方法进行讲解,让大家有一个基本的认识。 1、生成方法 在Turf当中,生成等值线的方法主要是isolines方法,这里对isolines方法中的相关参数,使用方法进行讲解,为下一步的实例开发打好技术基础。 Takes a grid FeatureCollection of Point features with z-values and an array of value breaks and generates isolines.翻译成中文就是:采用带有z值的点特征的网格FeatureCollection和一组断点值并生成等值线。 2、主要参数 isolines方法的参数主要有三个,分别如下: 参数类型描述pointGridFeatureCollection <Point>input pointsbreaksArrayvalues of zProperty where to draw isolinesoptionsObject可选参数:见下文 其中,pointGrid是空间点的集合,可以理解成为多个坐标点的信息,主要是空间信息。breaks在这里是值域区间,实际情况需要根据不同值域合理分开。options选项是一个可选参数,其包含的主要信息如下: 属性类型默认值描述zPropertystringelevationthe property name incommonPropertiesObject{}GeoJSON properties passed to ALL isolinesbreaksPropertiesArray[]GeoJSON properties passed, in order, to the correspondent isoline; the breaks array will define the order in which the isolines are created 其中,zProperty是指实际的值,比如气象中的实际降水量,温度,湿度等具体的值。commonProperties是geojson的公共属性,所有的等值线都会拥有这些属性,在设置时要谨慎。breaksProperties主要是用来进行对应的分区属性定义的,与这个参数的参数对应的breaks对应,也就是说,这个范围与breaks要一致,顺序也一并保持一致。

【Java初阶(八)】String类

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1.前言2.常用方法2.1字符串构造2.2 String对象的比较2.3转换2.4字符串拆分2.5字符串截取 3.字符串的不可变性3.1字符串修改3.2 StringBuilder和StringBuffer 4.String类应用4.总结 1.前言 在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类,接下来我们通过本篇文章一起进行学习吧! 本章重点 认识String类,了解String类的基本用法,熟练掌握String类的常见操作,认识StringBuffer和StringBuilder,String类的练习。 2.常用方法 2.1字符串构造 //使用常量串构造 String s1 = "Hello World"; //new一个String对象 String s2=new String("Hello World"); //使用字符串数组构造 char[] arr={'h','e','l','l','o','W','o','r','l','d'} 注意 String是引用类型,内部并不存储字符串本身,String类内部有两个成员变量,分别为char[] value和 int hash,字符串实际是保存在char类型的数组中 。 String s1=new String("H"); String s2=new String("M"); String s3=S1; 2.2 String对象的比较 1.用==比较是否引用同一个对象 对于基本类型= =比较的是变量中的值;对于引用类型= =是比比较地址是否相等 String s1 = new String("hello"); String s2 = new String("hello"); String s3 = new String("world"); String s4 = s1; System.

Android Gradle插件对应的Gradle所需版本,Android核心知识点

插件版本 需要的 Gradle 版本 4.2.0+ 6.7.1+ 4.1.0+ 6.5+ 4.0.0+ 6.1.1+ 3.6.0 - 3.6.4 5.6.4+ 3.5.0 - 3.5.4 5.4.1+ 3.4.0 - 3.4.3 5.1.1+ 3.3.0 - 3.3.3 4.10.1+ 3.2.0 - 3.2.1 4.6+ 3.1.0+ 4.4+ 3.0.0+ 4.1+ 2.3.0+ 3.3+ 2.1.3 - 2.2.3 2.14.1 - 3.5 2.0.0 - 2.1.2 2.10 - 2.13 1.5.0 2.2.1 - 2.13 1.2.0 - 1.3.1 2.2.1 - 2.9 1.0.0 - 1.1.3 2.2.1 - 2.3 很多人都不知道Android Gradle插件版本的Gradle版本(我自己也没记住,总要去网上扒好久),咱们今天就把这个给全弄过来,方便于查看。 Android Studio 构建系统以Gradle为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。虽然 Android 插件通常会与Android Studio的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可独立 Android Studio运行并单独更新。

远程连接mysql报错“Host xxx is not allowed to connect to this MySQL server“解决办法

"Host xxx is not allowed to connect to this MySQL server",这个错误是因为MySQL的远程连接权限没有配置正确。MySQL默认的设置是只允许localhost(即本地)的连接,如果你想从其他的机器上连接到MySQL服务器,你需要进行一些配置。 首先,你需要登录到你的MySQL服务器。你可以通过命令行登录,命令如下: mysql -u root -p 在提示输入密码后,输入你的root用户的密码。 接着,你需要更改MySQL的用户表,以允许远程连接。在MySQL的命令行界面,输入以下命令: use mysql; 这个命令会切换到mysql数据库。然后,你需要更新user表,命令如下: update user set host = '%' where user = 'root'; 这个命令会将root用户的host字段设置为'%',意味着任何IP都可以远程连接到这个MySQL服务器。如果你只想允许特定的IP远程连接,你可以将'%'替换为你的IP。 然后,你需要刷新权限,命令如下: flush privileges; 最后,你需要重启MySQL服务器,让这些更改生效。如果你是在Linux系统下,你可以使用以下命令重启MySQL: service mysql restart 如果你是在Windows系统下,你可以在服务管理器中重启MySQL服务。 以上步骤完成后,你应该就可以从远程机器连接到你的MySQL服务器了。如果你还是遇到问题,可能的原因有:防火墙阻止了MySQL的端口(默认是3306)的连接、你的网络设置不允许远程连接等。你需要根据你的具体情况进行排查。 这些步骤都需要有一定的系统管理和数据库管理的知识,如果你不熟悉这些操作,我建议你找一个熟悉这方面的人帮你,或者在进行操作前先做好备份,防止误操作导致数据丢失。 以上就是解决"Host xxx is not allowed to connect to this MySQL server"错误的方法,希望对你有所帮助。

ElementUI:项目中引入自己的ICON,学前端看这就完事了

五、 修改前缀,与ElementUI自带的前缀相同el-icon- ============================================================================================== 六、 下载到本地 =================================================================== 七、 将需要的文件引入到项目中 ========================================================================== 八、 修改iconfont.css,注意class与font-family要与自己的对应 ======================================================================================================= [class^=“el-icon-hk”], [class*=" el-icon-hk"] { font-family:“iconfont” !important; /* 以下内容参照第三方图标库本身的规则 */ font-size: 18px; font-style:normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } 九、 main.js中引入 ======================================================================== 自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。 深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化! 由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新 如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端) Vue 编码基础 2.1.1. 组件规范 2.1.2. 模板中使用简单的表达式 2.1.3 指令都使用缩写形式 2.1.4 标签顺序保持一致 2.1.5 必须为 v-for 设置键值 key 2.1.6 v-show 与 v-if 选择 2.1.7 script 标签内部结构顺序 2.1.8 Vue Router 规范 Vue 项目目录规范 2.2.1 基础

./configure: error: SSL modules require the OpenSSL library. You can either do not enable the module

Ubuntu22系统,参考nginx文档Support for QUIC and HTTP/3 执行如下命令: ./configure --with-debug --with-http_v3_module --with-cc-opt="-I../boringssl/include" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" 时报错如下: ./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl=<path> option. 但其实系统是有openssl库的: ➜ out git:(v1.1.0) ✗ openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

Spring Boot 3.x 引入springdoc-openapi (内置Swagger UI、webmvc-api)

接触的原因 因开发自己的项目时,写接口文档很繁琐,查到后端都在用swagger等接口工具来记录接口文档,于是学习了一下,本文记录个人配置过程,有问题欢迎指正交流😁 Swagger: Swagger是一种Rest API的表示方式,它是标准的、语言无关的工具,这种表示方式不仅人可读,而且机器也可读。Swagger提供了一套完整的规范来描述API接口,包括请求和响应的数据模型、操作行为等。它通过注解或配置文件的方式与代码集成,以生成API文档。 SpringDoc: SpringDoc是基于OpenAPI 3规范的,专为Spring Boot设计的API文档生成工具。它提供了与Spring Boot更好的集成,支持Spring Boot全系列。SpringDoc利用JSR-303中的注解(如@NotNull、@Min、@Max、@Size等)来描述API的参数验证信息。此外,SpringDoc的接口信息可以通过JSON展示,也可以与Swagger-ui集成,提供可视化的API文档界面。 在网上看了许多教程,发现很多都是针对Spring Boot 2 框架的,即使有针对Spring Boot 3 的,用法也不太一样,经过对比测试,最后我使用的是 SpringDoc OpenAPI Starter WebMvc UI 它是 Spring Boot 项目中用于自动生成 API 文档的一个依赖库。它结合了 Swagger UI,提供了一个可视化的界面来展示和测试你的 RESTful APIs。这个依赖库特别适用于使用 Spring Web MVC 框架构建的项目。 这个依赖项包括了 Swagger UI 和 SpringDoc OpenAPI Starter WebMvc API,无需额外引入其他依赖即可使用。 pom.xml 配置 我的 spring boot 版本是 3.1.8 引入 springdoc 依赖(记得点击右上角的带蓝色的M按钮进行依赖下载) <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.8</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <!

[从0开始AIGC][Transformer相关]:Transformer中的激活函数:Relu、GELU、GLU、Swish

[从0开始AIGC][Transformer相关]:Transformer中的激活函数 文章目录 [从0开始AIGC][Transformer相关]:Transformer中的激活函数1. FFN 块 计算公式?2. GeLU 计算公式?3. Swish 计算公式?4. 使用 GLU 线性门控单元的 FFN 块 计算公式?5. 使用 GeLU 的 GLU 块 计算公式?6. 使用 Swish 的 GLU 块 计算公式? 1. FFN 块 计算公式? FFN(Feed-Forward Network)块是Transformer模型中的一个重要组成部分,接受自注意力子层的输出作为输入,并通过一个带有 Relu 激活函数的两层全连接网络对输入进行更加复杂的非线性变换。实验证明,这一非线性变换会对模型最终的性能产生十分 重要的影响。 FFN由两个全连接层(即前馈神经网络)和一个激活函数组成。下面是FFN块的计算公式: FFN ⁡ ( x ) = Relu ⁡ ( x W 1 + b 1 ) W 2 + b 2 \operatorname{FFN}(\boldsymbol{x})=\operatorname{Relu}\left(\boldsymbol{x} \boldsymbol{W}_{1}+\boldsymbol{b}_{1}\right) \boldsymbol{W}_{2}+\boldsymbol{b}_{2} FFN(x)=Relu(xW1​+b1​)W2​+b2​ 假设输入是一个向量 x x x,FFN块的计算过程如下: 第一层全连接层(线性变换): z = x W 1 + b 1 z = xW1 + b1 z=xW1+b1 其中,W1 是第一层全连接层的权重矩阵,b1 是偏置向量。激活函数: a = g ( z ) a = g(z) a=g(z) 其中,g() 是激活函数,常用的激活函数有ReLU(Rectified Linear Unit)等。第二层全连接层(线性变换): y = a W 2 + b 2 y = aW2 + b2 y=aW2+b2 其中,W2 是第二层全连接层的权重矩阵,b2 是偏置向量。 增大前馈子层隐状态的维度有利于提升最终翻译结果的质量,因此,前馈子层隐状态的维度一般比自注意力子层要大。

Flink保姆级教程,超详细,教学集成多个第三方工具(从入门到精通)

目录 一.Flink简介 Flink发展历程 Flink特性 二、Flink 部署及启动 1. 本地执行 (Local Execution) 2. Standalone 集群部署 2.1 会话模式(Session Mode) 2.2 单作业模式(Per-Job Mode)和应用模式(Application Mode) 3. 资源管理器集成部署 三.Flink架构和执行原理 Flink架构 任务槽和资源 Flink资源管理 四.Flink本地集群安装 1、要运行Flink,要求必须安装好Java 8.x 2、下载和安装Flink 3、启动一个本地Flink集群 4、运行单词计数程序 5、运行Flink自带的单词计数程序: 6、要停止Flink,在终端窗口输入以下命令: 五.Flink完全分布式集群安装 Flink完全分布式集群搭建步骤如下: 执行Flink自带的流处理程序-单词计数 运行Flink自带的批处理程序-单词计数程序 六、Flink 数据流 Flink数据流 Flink分层API 七.Flink 算子 八.读取各种数据源 1. 文件数据源 2. Socket 数据源 3. 集合数据源 4. Kafka 数据源 5. 自定义数据源 九.流处理中的Time与Window 时间概念 设置时间特性 事件时间和水印 时间(Time) 窗口(Window) 十.处理函数 一.Flink简介 Apache Flink是一款开源流处理框架,由Apache软件基金会进行维护和开发,专为实时数据处理、批处理以及流批一体的大规模数据处理场景而设计。Flink的核心理念是提供了一种统一的数据处理模型,使得无论是实时流处理还是批量处理,都可以在同一个系统中以一致的方式高效执行。 Flink的设计基于数据流编程模型,其核心特性包括事件时间处理(Event Time Processing)、精确一次状态一致性(Exactly-once State Consistency)和故障恢复机制,这些都确保了在高并发、大数据量下对数据进行低延迟、高吞吐且准确无误的处理。

Android 应用技巧: 手把手教你 优雅实现 “一键退出 App”

方法3:通过系统任务栈 原理:通过 ActivityManager 获取当前系统的任务栈 & 把栈内所有Activity逐个退出 具体使用 @TargetApi(Build.VERSION_CODES.LOLLIPOP) // 1. 通过Context获取ActivityManager ActivityManager activityManager = (ActivityManager) context.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); // 2. 通过ActivityManager获取任务栈 List<ActivityManager.AppTask> appTaskList = activityManager.getAppTasks(); // 3. 逐个关闭Activity for (ActivityManager.AppTask appTask : appTaskList) { appTask.finishAndRemoveTask(); } // 4. 结束进程 // System.exit(0); 优点 使用简单、方便 缺点 使用范围局限:只能结束当前任务栈的Activity,若出现多任务栈(即采用SingleInstance启动模式)则无法处理对 Android 版本要求较高:Android 5.0以上 应用场景 Android 5.0以上的 Activity单任务栈 b. 通过 Android 组件: BroadcastReceiver 即使用 BroadcastReceiver 广播监听 原理:在每个 Activity 里注册广播接收器(响应动作 = 关闭自身);当需要退出 App 时 发送广播请求即可 具体实现 步骤1:自定义广播接收器 public class ExitAppReceiver extends BroadcastReceiver {

3分钟让你学会axios在vue项目中的基本用法(建议收藏)

2、响应拦截器 3、取消拦截 六、错误处理 七、取消请求 结语 Axios简介 ====================================================================== axios框架全称(ajax – I/O – system): 基于promise用于浏览器和node.js的http客户端,因此可以使用Promise API 一、axios是干啥的 ========================================================================== 说到axios我们就不得不说下Ajax。在旧浏览器页面在向服务器请求数据时,因为返回的是整个页面的数据,页面都会强制刷新一下,这对于用户来讲并不是很友好。并且我们只是需要修改页面的部分数据,但是从服务器端发送的却是整个页面的数据,十分消耗网络资源。而我们只是需要修改页面的部分数据,也希望不刷新页面,因此异步网络请求就应运而生。 Ajax(Asynchronous JavaScript and XML): 异步网络请求。Ajax能够让页面无刷新的请求数据。 实现ajax的方式有多种,如jQuery封装的ajax,原生的XMLHttpRequest,以及axios。但各种方式都有利弊: 原生的XMLHttpRequest的配置和调用方式都很繁琐,实现异步请求十分麻烦 jQuery的ajax相对于原生的ajax是非常好用的,但是没有必要因为要用ajax异步网络请求而引用jQuery框架 Axios(ajax i/o system): 这不是一种新技术,本质上还是对原生XMLHttpRequest的封装,可用于浏览器和nodejs的HTTP客户端,只不过它是基于Promise的,符合最新的ES规范。具备以下特点: 在浏览器中创建XMLHttpRequest请求 在node.js中发送http请求 支持Promise API 拦截请求和响应 转换请求和响应数据 取消要求 自动转换JSON数据 客户端支持防止CSRF/XSRF(跨域请求伪造) 二、安装使用 ===================================================================== 安装有三种方式: npm安装 npm install axios bower安装 bower install axios 通过cdn引入 在vue项目的main.js文件中引入axios import axios from ‘axios’ Vue.prototype.$axios = axios 在组件中使用axios 三、Axios请求方式 ========================================================================== 1、axios可以请求的方法: get:获取数据,请求指定的信息,返回实体对象 post:向指定资源提交数据(例如表单提交或文件上传) put:更新数据,从客户端向服务器传送的数据取代指定的文档的内容 patch:更新数据,是对put方法的补充,用来对已知资源进行局部更新 delete:请求服务器删除指定的数据 2、get请求 示例代码