文章目录 R语言预备知识获取工作目录设置工作目录注释变量名的命名赋值变量的显示查看与清除变量函数帮助文档查询函数安装R包文件的读取文件的输出软件的退出与保存 R语言语法向量向量的创建向量的索引(向量元素的提取、删除、添加)向量长度的获取向量的注意要点向量的计算向量的相关函数(部分)NA与NULL值向量元素的筛选向量相等数据结构的查看控制语句 矩阵矩阵的创建矩阵的索引矩阵相关操作及相关函数(部分)apply()函数数据结构的查看 列表列表的创建声明列表标签或者对象名的命名删除标签列表元素的索引列表元素的增减获取标签解除列表列表相关函数(部分) 数据框数据框的创建数据框的索引数据框行列名的获取与更改数据框元素的增减数据框相关函数 因子和表因子的创建因子的索引因子的修改因子常用函数表 字符串字符串操作的常见函数正则表达式 数学运算与模拟R语言画图plot函数1.图片的保存2.par()函数图布局3.main :设置主标题,sub:副标题4.type,指线的类型5.pch : 指定绘制点时使用的符号6.`cex : 指定符号的大小,(默认是1)7.lty:指定绘制线条时的类型,lwd:指定线条粗细8.坐标轴标签9.坐标轴范围10.字体设置11.title()函数12.abline()函数添加线13.lines()函数在现有图形上添加线14.layout()函数图布局15.添加图例16.在图上添加文字17.R的撤销图片操作**`*****`****`*****`** 本文为生信初学者在学习完R语言后,整理的知识点及学习方法与个人观点,方便需要的同志学习,使用生信或其他医学相关专业,欢迎各位大佬进行指点批评,有错误或者有不同观点可在评论区留言。 更新时间2023年3月21号
声明:本文仅为学习笔记,和实例记录,可供参考。
本文知乎地址:R语言基础入门(学习笔记通俗易懂版)
建议使用CSDN,因为代码有高亮
软件工具:R与Rstudio,先安装R再安装Rstudio。软件工具不过多介绍,安装方法可以参考在CSDN上各大佬的方法。本文代码为Rstudio中R软件框中的(Rstudio左下角框的,如下图),代码与结果便于直观展示。(建议使用电脑浏览本文代码,因为部分代码好长)
R语言预备知识 获取工作目录 使用getwd()函数获取当前工作目录,作用是查看当前工作目录在哪一个具体位置,C盘或者是其他,第一次使用可能会出现警告,但是也可以看到工作目录,你可以在运行一次代码,如下:
> getwd() [1] "C:/Users/橙/Documents" Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/?/Documents": 文件名、目录名或卷标语法不正确。 > getwd() [1] "C:/Users/橙/Documents" 设置工作目录 使用setwd()函数更改当前目录,把工作目录更改到你存放你需要使用的数据包的那个位置,更便于直接重工作目录中读取,否者需要使用全路径。在使用函数是需要几点注意,请看以下代码:
> setwd("F:\R.cx")#工作目录的地址需要用双引号括起来,注意斜杠,这种单斜杠会报错 Error: '\R' is an unrecognized escape in character string starting ""F:\R" > setwd("F:/R.cx")#这种单斜杠可以,能运行 > setwd("F://R.cx")#这行与下一行的双斜杠都行 > setwd("F:\\R.cx") > 注释 R语言的注释使用#号,写代码一定要常写注释,不然时间久了会忘记某代码的作用,便于后续操作。在Rstudio中可以使用Ctrl+shift+C经行多行注释。
变量名的命名 与其他语言的变量名命名差不多,主要要注意:数字不能开头;%号是非法字符,不可以用来命名;.号后面不可以跟数字;不可以下划线开头。变量名可以为与你操作相关的名字命名,如我要对一行身高的数据求均值:
higth<-c(175,169,179,175,180,183) higth_mean<-mean(higth)#对身高求均值 赋值 R语言的赋值方式与其他语言有点区别,有三种,分别是左箭头<-(<键+-键(等号左边的那个,不要按Shift)),等号=,右箭头->,如:
问题 在配置python解释器时,添加conda环境,但无法识别Anaconda路径下的python.exe或_conda.exe。
解决办法 打开Anaconda目录下的condabin文件夹,里面有个conda.bat,选择后,点击“加载环境”,就会自动识别Anaconda下的所有环境包括你建立的虚拟环境。
虚拟环境里的包都在啦,可以愉快的写代码了
ps:如果以上方法不行,转载一个评论里的方法:在anaconda\library\bin也有一个conda.bat,试试改成这路径。
因为Ancona版本和配置的问题我的方法可能不适合所有人,本人能力有限,请多试试其他人提供的方法。
零、写在前面一、 准备环境二、配置软件环境2.1 OBS 安装2.2. VTube Studio 安装 三、开启 B 站直播四、开启 AI 主播五、直播最终效果 零、写在前面 AI 直播在近年来得到了快速的发展和普及,它已经成为了直播平台的重要组成部分。目前,许多知名的直播平台都已经开始采用 AI 技术,例如华为云直播、腾讯云直播、百度直播等。这些平台已经实现了对视频和音频数据的实时处理和优化,以提高直播质量和用户体验。
在 AI 技术的助力下,直播内容的创作和呈现也变得更加多样化和个性化。AI 技术可以帮助用户实现自动化直播和智能化直播,例如自动生成音乐、动漫、游戏等内容的直播。此外,AI 技术也有助于解决直播内容的版权和安全问题,让直播内容更加规范和可靠。
本文我们将介绍如何在 B 站通过虚拟主播进行 AI 直播,效果图如下:
这里主要演示的是 AI虚拟主播 的交互功能,即直播观众在评论区提问,虚拟主播现场智能回答,而不用真人自己出境。
一、 准备环境 OBS 软件(视频直播录制软件)B 站能直播的账号(一般的账号申请就可以)Git 环境PycharmPython 3.8.0VTube StudioOpenAI 账号(后面需要使用账号的 apikey) 二、配置软件环境 2.1 OBS 安装 OBS 即 OBS Studio,是一款视频直播录制软件,包含视频、文本、图像等的捕获录制功能。下载安装方式很简单,首先访问 OBS 官网(https://obsproject.com/),然后选择我们适配的系统下载即可;
安装方式就是全程点击 “next”,没有什么需要注意的。
2.2. VTube Studio 安装 VTube Studio 是一款虚拟主播软件,用于制作和录制虚拟主播视频。用户可以创建一个 3D 虚拟角色,并使用摄像头和麦克风来模拟其动作和表情,从而在网络上进行虚拟直播或录制视频。用户可以根据自己的需要创建自己的虚拟主播,并将其应用于游戏、社交媒体、直播平台等不同的领域。
在这里我们在 Steam 平台中下载 VTube Studio(其他平台也可),打开 steam 商店搜VTube Studio;
💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
『赠书活动 | 第六期』 本期书籍:《“Java四大名著”,你集齐了吗?》
赠书规则:评论区:点赞|收藏|留言 评论区留言:"Java四大名著",你集齐了吗?" 活动截止时间:6月5日 赠书数量:6(书籍任选一本,赠送六本) Tip:中奖后博主私信通知 | 三天内不回复将视为 | 自动放弃 Java核心技术第12版开发基础+高级特性(套装共2册) “Java四大名著”之一Core Java最新版,一键打包全套2册!建议入门小白和准备升级到Java17的开发者购买;本书根据Java17新特性全面升级!赠送作者亲授视频课+海量代码集
限时秒杀链接:点击购买
Java核心技术第11版基础知识+高级特性(套装共2册) Java核心技术第11版基础知识+高级特性(套装共2册)
“Java四大名著”之一Core Java次新版,一键打包全套2册! 建议实际生产环境仍在使用Java8、Java11开发且暂时没有升级版本打算的开发者购买;本书基于Java9-11编写,赠送作者亲授视频课+海量代码集
限时秒杀链接:点击购买
Java编程思想[Thinking in Java] “Java四大名著”之一; 需要有一定编程基础的人才可阅读,即使很多内容还无法理解,每次读完一定会有所收获;本书单最前面推荐的《Java核心技术》侧重技术,《Java编程思想》侧重于“思想”,本书为你剖析Java中各个内容的设计理念;这是一本伴随我们技术成长的好书,买一本放在旁边,摸着就有底气
限时秒杀链接:点击购买
Effective Java 中文版(原书第3版) Java之父James Gosling:
“我很希望我10年前就能拥有这本书;有人可能认为我不需要任何Java方面的书籍,但是我需要这本书”
“Java四大名著”之一;适合已经掌握Java核心技术的程序员,想更加深入地了解Java编程语言的开发者阅读;针对如何编写高效、设计优良的程序提出了最实用、最权威的指导方针,通过90条简短、独立的经验法则,探索新的设计模式和语言习惯用法,帮你更加有效地使用Java编程语言及其基本类库,指引你少走弯路。这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。是Java开发人员案头上的一本不可或缺的参考书
限时秒杀链接:点击购买
Java语言程序设计基础篇+进阶篇(原书第12版)(套装共2册) 本套书相较于《Java核心技术》更加基础,如果阅读《Java核心技术》有些吃力,建议从本书读起;畅销20余年的"长城书"一键打包全套!被世界各地的大学选作教材,更新至Java9、10和11。本书通过示例讲解问题求解技巧,提供大量的程序清单,每章配有丰富的复习题和编程练习题,帮助读者掌握编程技术并解决实际开发中遇到的问题
限时秒杀链接:点击购买
Java并发编程实战 注重实战更快领悟Java并发编程的要领,快速构建大规模并发应用程序 “Java四大名著”之一《Effective Java》的作者Joshua Bloch参与编写;本书是Java并发编程领域的里程碑著作!从并发编程的基本理论入手,逐步介绍了在设计Java并发程序时各种重要的设计原则、设计模式与思维模式。另一本蚂蚁金服方腾飞老师写的《Java并发编程的艺术》也适合一并阅读
限时秒杀链接:点击购买
软件架构实践(原书第4版) 少走弯路的进阶架构师避坑指南!图书届奥斯卡Jolt大奖双冠王作品!全球10余个国家出版。卡内基梅隆等名校教材,IEEE杂志10佳图书,软件架构图书事实标准
限时秒杀链接:点击购买
抽奖时间:2023.6.5 公布方式:评论区公布,私信通知 🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝
补充了一个判断输入中缀表达式合法性的代码: 《数据结构》:中缀表达式合法性判断_Amentos的博客-CSDN博客
目录
一、基本概念
二、中缀表达式转后缀表达式
例 中缀表达式 2*(3+5)+7/1-4 转换为后缀表达式
三、后缀表达式的计算
例 后缀表达式 2 3 5 + * 7 1 / + 4 - 的计算
四、算法实现
五、算法改进
一、基本概念 1、中缀表达式:
操作符以中缀形式位于运算数中间(如:3+2),是我们日常通用的算术和逻辑公式表示方法。
2、后缀表达式:
又称逆波兰式(Reverse Polish Notation - RPN),操作符以后缀形式位于两个运算数后(如:3+2的后缀表达形式就是3 2 +)。
3、前缀表达式:
又称波兰式(Polish Notation),操作符以前缀形式位于两个运算数前(如:3+2的前缀表达形式就是+ 3 2)。
中缀表达式往往需要使用括号将操作符和对应的操作数括起来,用于指示运算的次序
e.g:5*(2+1) 虽然 * 的优先级高于 + ,但括号的存在表示应优先执行括号内的 + 运算。
中缀表达式适合于人类的思维结构和运算习惯,但并不适用于计算机
尤其是包含括号的中缀表达式,对计算机而言是非常复杂的结构。
适用于计算机的后缀表达式
与中缀表达式不同,后缀表达式不需要使用括号来标识操作符的优先级。
后缀表达式的计算按 操作符 从左到右出现的顺序依次执行(不考虑运算符之间的优先级),对于计算机而言是比较简单的结构。
二、中缀表达式转后缀表达式 从左至右依次遍历中缀表达式各个字符(需要准备一个字符栈存储操作符和括号)
1、字符为 运算数 :
直接送入后缀表达式(注:需要先分析出完整的运算数)。
2、字符为 左括号 :
直接入栈(注:左括号入栈后优先级降至最低)。
3、字符为 右括号 :
✨博主:命运之光
✨专栏:概率论期末速成(三套卷)
目录 ✨一、填空题(在下列各题填写正确答案,不填、填错,该题无分,每小题3分,共36分)✨二、计算题(本大题6小题,每小题9分,共54分)。✨三、应用题(10分)✨附上原笔记图片(祝大家考试顺利) 前言:第一次尝试打数学公式,我是用语雀记得笔记然后直接导入了CSDN但导入后格式和公式都发生了变化,之后我会直接用图片写题解这样格式不会乱,而且比打公式效率高许多。
✨✨为了让大家看的清楚,我在文章的最后附上了导入前笔记的样子,供大家参考。
✨一、填空题(在下列各题填写正确答案,不填、填错,该题无分,每小题3分,共36分) 1、设 A , B , C A,B,C A,B,C为3个事件,则表示 A , B , C A,B,C A,B,C中至少两个发生的事件是____.
第一题比较简单,我们通过答案就可以理解,所以这里就不过多阐述。
解题:
A ˉ B C + A B ˉ C + A B C ˉ + A B C \={A}BC+A\={B}C+AB\={C}+ABC AˉBC+ABˉC+ABCˉ+ABC
2、设事件 A , B A,B A,B独立,且 P ( A ) = 0.4 P(A)=0.4 P(A)=0.4, P ( B ) = 0.2 P(B)=0.2 P(B)=0.2,则 P ( A ∪ B ˉ ) = P(A \cup \={B})= P(A∪Bˉ)=____.
博主介绍:✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
目录
一、前言介绍:
二、主要技术: 2.1 Spring Boot框架:
2.2 微信小程序:
三、系统设计:
3.1 系统研究方案
3.2 功能结构设计:
3.3 登录时序图设计:
四、小程序端: 4.1 登录注册 4.2 系统首页 4.3 短视频新闻信息
4.4 个人中心
五 、管理后端:
5.1 短视频信息管理
5.2 新闻信息管理
5.3 用户信息管理 六、主要SQL文件
七、代码参考 八、项目总结:
九、源码获取:
一、前言介绍: 现如今,信息种类变得越来越多,信息的容量也变得越来越大,这就是信息时代的标志。近些年,计算机科学发展得也越来越快,而且软件开发技术也越来越成熟,因此,在生活中的各个领域,只要存在信息管理,几乎都有计算机的影子,可以说很多行业都采用计算机的方式管理信息。信息计算机化处理相比手工操作,有着保密性强,效率高,存储空间大,成本低等诸多优点。针对高校教师成果信息管理,采用经济新闻资讯可以有效管理,使信息管理能够更加科学和规范。
总之,在实际中使用经济新闻资讯,其意义如下:
第一点:经济新闻资讯的实际运用,可以帮助管理人员在短时间内完成信息处理工作;
第二点:通过系统页面的合理排版布局,可以更加直观的展示系统的内容,并且使用者可以随时阅读页面信息,随时操作系统提供的功能;
第三点:可以实现信息管理计算机化;
第四点:可以降低信息管理成本。
二、主要技术: 2.1 Spring Boot框架: 在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架。或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用。因而Spring Boot应用本质上就是一个基于Spring框架的应用,它是Spring对“约定优先于配置”理念的最佳实践产物,它能够帮助开发者更快速高效地构建基于Spring生态圈的应用。
那Spring Boot有何魔法?自动配置、起步依赖、Actuator、命令行界面(CLI) 是Spring Boot最重要的4大核心特性,其中CLI是Spring Boot的可选特性,虽然它功能强大,但也引入了一套不太常规的开发模型,因而这个系列的文章仅关注其它3种特性。如文章标题,本文是这个系列的第一部分,将为你打开Spring Boot的大门,重点为你剖析其启动流程以及自动配置实现原理。要掌握这部分核心内容,理解一些Spring框架的基础知识,将会让你事半功倍。
2.2 微信小程序: 小程序并非凭空冒出来的一个概念。当微信中的 微信小程序View 逐渐成为移动 微信小程序 的一个重要入口时,微信就有相关的 JS API 了。
记录一次痛苦的在mac上安装ffmpeg的过程 前言在 mac 上下载安装ffmpeg的试探之路1、从官方网站下载FFmpeg软件包2、选择用于macOS 64位的静态构建。这将使你重定向到evermeet.cx网站。3、通过 Homebrew 安装 FFmpeg3.1、在使用 Homebrew 安装的过程中可能会出现的问题3.1.1 墙的问题 写在最后补充知识参考文章 前言 之前在 windows 上安装 ffmpeg 玩耍的时候,感觉在 windows 上安装 ffmpeg 是很简单轻松的。
windows 安装 ffmpeg 过程详解 => 【最新】windows电脑FFmpeg安装教程手把手详解
为了验证 rtsp2web 在 mac 平台上的完善性和功能,我准备在 mac 上安装 ffmpeg。
没想到在 mac 上安装 ffmpeg 麻烦了。。。。
在 mac 上下载安装ffmpeg的试探之路 目前已知的几种在 mac 上安装 ffmpeg 的方式有如下几种:
1、从官方网站下载FFmpeg软件包2、使用静态构建在 Mac 上安装 FFmpeg3、通过 Homebrew 安装 FFmpeg 【推荐这种方式✅】 1、从官方网站下载FFmpeg软件包 从 ffmpeg 的官网下载 mac 平台下的静态二进制文件
【说明】:ffmpeg 是鼓励所有用户使用当前的快照构建而不是发布构建。仅接受快照构建的错误报告。
什么意思呢?什么是快照版本呢?
就是类似于 ffmpeg-NNNNN-gXXXXXXXXXX 的就是快照版本,而类似 ffmpeg-6.
目录 前言实验目的实验内容编程实现后台的用户管理功能 实验原理或流程图实验原理流程图 实验过程AdduserquerAllUserdoAddUser结果展示 实验结论 前言 本实验的目的是让学生掌握使用JSP和JDBC技术对数据库中的记录进行修改和删除的方法。实验内容包括以下几个部分:
创建一个数据库表,存储学生的基本信息,如姓名、id、性别、e-mail等。编写一个JSP页面,显示数据库表中的所有记录,并提供修改和删除的链接。编写一个JSP页面,接收修改或删除的请求,并根据请求参数执行相应的SQL语句。编写一个JSP页面,显示操作结果,并提供返回链接。 通过本实验,学生可以了解JSP和JDBC的基本原理和用法,以及如何利用它们实现对数据库的增删改查操作。
实验目的 理解使用JSP的核心知识和JDBC API进行数据库中数据的修改和删除操作的原理,学会相关编程方法;能够根据贯穿项目案例的实际应用需要,综合运用JSP+JDBC相关知识和技术,完成数据库的连接、增加、查询、修改和删除操作。 实验内容 编程实现后台的用户管理功能 【步骤1】在数据库db_news2019中建立后台管理员表t_manager。
(1)建立管理员表t_manager, 结构如图所示。
其中:各个属性列分别表示管理员登录ID(主键),管理员真实姓名,管理员登录密码。
(2)在管理员表t_manager中录入若干条记录。
【步骤2】实现后台用户管理功能。
(1)新建项目。
(2)为项目配置构建路径,添加Apache Tomcat Server(例如:Apache Tomcat 7.0或8.5)以及MySQL驱动JAR包(例如:mysql-connector-java-5.1.45-bin.jar)。
(3)确认项目根目录下的子目录WEB-INF中包含web.xml(如果没有该文件,可从Tomcat安装目录中复制)。
(4)参考新闻管理(增查改删)案例代码,编写如下5个页面,以实现后台用户管理(增查改删)功能。
queryAllUser.jsp: 用户管理主界面
addUSer.jsp和doAddUser.jsp:增加用户表单页面和数据库操作(插入用户)页面
doDeleteUser.jsp: 删除用户页面(执行数据库删除操作)
doUpdateUser.jsp和updateUser.jsp: 修改用户信息页面(含数据库修改操作)
实验原理或流程图 实验原理 使用JDBC访问数据库的流程:
(0)加载和注册数据库驱动程序
a. 将驱动包(例如:mysql-connector-java-5.1.45-bin.jar)导入到项目的构建路径;
b. 加载、注册驱动类:Class.forName(“com.mysql.jdbc.Driver”);
(1)连接数据库(获取连接对象)
String url =
“jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8”;
String user = “root”;
String password = “admin”;//假设根用户的密码为admin
Connection conn = DriverManager.getConnection(url, user, password);
(2)操作数据库(查,增、删、改)
a.创建数据库操作对象
b.执行SQL语句
c.获得并处理结果
如果使用Statement接口:
a. 创建数据库操作对象
使用nvm管理node版本(详细教程和报错解决方案) 一、下载NVM二、选择NVM安装路径三、然后是选择node的安装位置四、查询版本号五、配置下载镜像六、使用NVM七、报错解决 nvm是一个node版本管理工具,通过它可以安装多种node版本并且可以快速、简单的切换node版本。
一、下载NVM 官方下载地址:https://github.com/coreybutler/nvm-windows/releases
下载成功后直接打开nvm-setup.exe文件进行安装
二、选择NVM安装路径 同意协议后选择nvm安装路径,默认安装位置就好,不要自定义,避免后续忘记存放位置
三、然后是选择node的安装位置 也是默认安装位置就好,不要自定义,避免后续忘记存放位置
然后就是下一步->安装
如果安装的时候有如下提示,就表示是你之前安装过nodejs并且之前的还在,问你是否要将之前的添加到nvm的版本控制中去,选择 是 就好
安装完之后,会发现环境变量自动就配置好了。这里简单提一嘴,为什么安装一些软件都要求配置环境变量git也是,环境变量起到的作用是可以在任意文件夹或者文件路径下,运行相关的命令。
例如NVM命令,假如不配置环境变量,可能我只能在nvm安装路径下使用命令。
四、查询版本号 打开控制台,输入nvm -v查询版本号,能查出来就说明安装成功了
五、配置下载镜像 找到nvm安装路径(默认路径是C:\Users\Administrator\AppData\Roaming\nvm),配置nvm的setting.txt,如果不需要此配置可以跳过。
找到setting.txt配置文件
添加或修改node_mirror、npm_mirror如下
node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/ 这是新的镜像地址
中国镜像站早就在21年的时候就说 npm.taobao.org 和 registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务,原文详见知乎【望周知】淘宝 NPM 镜像站喊你切换新域名啦
参考我的配置如下
六、使用NVM 刚安装好nvm发现node和npm是都不能用的,原因是我们只安装了nvm,nvm是帮我们管理node 的,他并不是可以替代node。下面我们进行安装node,安装node只需要输入命令即可安装。
重点:电脑左下角搜索框输入cmd,看到命令提示符,然后鼠标右键,看到“以管理员身份运行”
或者使用快捷组合键:电脑图标的那个按钮+R。但是有些电脑的这个组合键打开的cmd不是以管理员身份运行的,我的电脑就是这样。
先了解下nvm常用命令:
nvm ls // 查看目前已经安装的版本 nvm install 10.5.0 // 安装指定的版本的nodejs nvm use 10.5.0 // 使用指定版本的nodejs nvm list available //显示可下载版本的部分列表 nvm uninstall 10.5.0 //删除已安装的指定版本,语法与install类似 nvm alias //给不同的版本号添加别名 nvm unalias //删除已定义的别名 `nvm reinstall-packages <version>` //在当前版本node环境下,重新全局安装指定版本号的npm包 nvm current //显示当前的版本 首先使用nvm命令安装node:
200+的AI写作工具你值得拥有
文章目录 AI 写作(写作)AI 写作(文本)AI 写作(文本总结)AI 写作(文案写作) AI 写作(写作) 工具简介链接分类描述1描述2是否免费Better SynonymsBetterSynonyms是一个方便的工具,可以帮助你在特定语境中找到更好的同义词。它可以帮助你搜索更自然地放入句子中的同义词,从而更容易传达出你想要表达的意思。http://www.bettersynonyms.com写作免费Rephraser AIRephraser是一款基于AI的文本重写工具,它可以根据用户的要求,以不同的语气和风格重写文本,并且提供修订功能,以帮助用户改善文本质量。http://rephraser.vercel.app写作免费Quillbot ParaphraserFuturepedia是一个免费的自动改写工具,它可以帮助你把原始文本转换成流畅、无语病的文本。它可以让你轻松地把文章、报告、文档等文本转换成更有表达力的文本。只需要输入或粘贴文本,然后点击“重新表达”,Futurepedia就可以帮助你把文本改写成更有表达力的文本。http://try.quillbot.com/futurepedia写作免费,有增值会员ParaphraserParaphrase Tool是一款基于AI技术的文本变异工具,支持超过100种语言,可以帮助用户快速生成文本的变异版本,提高文本的多样性和可读性。http://paraphrasetool.com写作收费,但可先试用 ,$4.99/moWordfixerBotWordfixerBot是一款句子改写、语法检查、文本摘要和文本比较工具。它可以帮助用户更快更准确地完成文本编辑任务,提高文本质量。它拥有一个强大的自然语言处理引擎,可以检测文本中的语法错误,并给出准确的修改建议;它还可以自动摘要文本,帮助用户更快更准确地把握文本的主旨;此外,它还可以比较两段文本,帮助用户发现文本之间的差异。WordfixerBot是一款功能强大的文本编辑工具,可以帮助用户更快更准确地完成文本编辑任务,提高文本质量。http://www.wordfixerbot.com写作summarizer免费,有增值会员 ,$4/moRephraselyRephrasely是一个帮助您清晰表达思想并适应读者的写作过程的自然组成部分。使用Rephrasely可以帮助您结构化和简化这项工作,我们的重新表述工具提供20种模式,其中许多是免费的,可以实现这一目标。我们提供的20种模式各不相同,包括概括工具、免费语法检查器、简化文本模式和句子缩短器。http://rephrasely.com写作免费,有增值会员 ,$7.99/moGPT3 PlaygroundOpenAI Playground是一个在线的AI编程环境,它可以帮助你更好地理解和使用AI技术。它提供了一个可视化的界面,可以让你输入指令或选择预设,然后观察API如何响应,并尝试匹配你提供的上下文或模式。你可以通过更改模型来控制哪个模型完成你的请求。http://platform.openai.com/playground写作productivity免费,有增值会员UltraBrainstomerUltraBrainstomer可以帮助你快速、轻松地产生新的想法。它使用自然语言处理和机器学习来理解你的需求,并为你提供相关的、创造性的想法。它还提供了一系列的功能,如保存和分享你的想法,与他人合作,并跟踪你的进展。有了UltraBrainstomer,你可以把你的创造力提高到一个新的水平。http://ultrabrainstomer.com写作startup-tools收费,但可先试用 ,$20MgrWorkbench.aiMGR Workbench AI是一个基于人工智能的在线服务,旨在帮助企业快速、简单地完成一些繁琐的商业文书任务,比如员工绩效评估、发展计划和商业信函的起草。它拥有强大的自然语言处理技术,可以根据用户的输入自动生成文档,并且可以根据用户的要求进行定制化。MGR Workbench AI还提供了一系列的模板,可以帮助用户快速完成文档的起草,节省时间和精力。http://www.mgrworkbench.ai写作human-resources免费,有增值会员 ,$7.99/seatWriters BrewWriter’s Brew是一款AI写作助手,它可以在所有浏览器、原生应用和电子应用中运行。它拥有非常优惠的价格,比其他服务便宜10-100倍(通过使用自己的OpenAI密钥)。它可以帮助用户更快更准确地完成写作任务,并且可以提供更多的写作技巧和指导,以帮助用户提高写作水平。http://writersbrew.app写作email-assistant收费 ,$29Moji Writing AssistantMoji是一款基于GPT-3的写作助手应用,它可以帮助你更快、更轻松地撰写出更好的内容。 其中一个出色的功能是文字转图片功能,它可以将你的文字转换成视觉上令人惊叹的图片,非常适合用于社交媒体或者为你的博客文章增添一点额外的精彩。 此外,你还可以使用这款应用制作自己的音乐。http://apps.apple.com/us/app/moji-writing-assistant/id6443924609写作image-generatormusic免费,有增值会员 ,$10/moNeuroSpellNeuroSpell是一款基于深度学习的拼写和语法自动纠正器,支持30多种语言,并附带语音转文本功能。可以训练特定的领域词汇和短语,以及特定的错误纠正。其他功能包括人机循环优化、文本流改进/丰富、写作辅助、校对RPA、客户工作流输入丰富、语音转文本增强和光学字符识别错误纠正等。http://neurospell.com写作productivity免费AnalogenieAnalogenie是一款简单易用的工具,可以帮助用户生成类比,改善论点,解释复杂概念,帮助读者更好地理解内容。除了类比,用户还可以获得相关的GIF图片,可以下载或者直接复制嵌入链接添加到内容中。http://analogenie.com写作免费,有增值会员 ,$3.99/moKickresumeKickresume是一款全能的职业工具箱,它可以帮助您在秒内使用AI和可定制模板创建精美的简历或求职信。它由OpenAI的GPT-3提供支持,这是世界上最强大的语言模型,可以自动生成与人类作家无法区分的文本。告别作家的窘境。在秒内生成简历或求职信的第一稿。http://www.kickresume.com写作human-resources免费,有增值会员 ,$3.06/moCorrector AppCorrector.app是一款在线拼写检查器,它可以帮助你检查文本中的错误,并为改善文章流畅度提出语法建议。只需点击任何一个更正,就可以将其转换成不同的内容。它还会解释语法错误,让你明白自己哪里出错了。http://corrector.app写作免费 ,$29.99/moUpcatUpCat是一款浏览器插件,可以帮助Upwork用户为求职申请编写A.I生成的求职信。它可以帮助你在Upwork上搜索更加个性化的提案,并且可以实时提醒你最新的招聘信息。http://upcat.app写作human-resources免费,有增值会员typlyTyply是一款键盘应用,可以让你一键回复所有消息。它可以自动生成与对话内容相匹配的句子,让你可以一键回答问题或继续讨论。它可以节省你的时间,让你更有效地处理消息。http://typly.app写作productivity免费,有增值会员Maester.appMaester是一个基于GPT-3的模板引擎,它可以帮助你快速生成定制的输出,以满足你的重复需求,并且可以与世界分享。它可以帮助你在内容管理、大学和工作以及软件开发方面解决问题。http://maester.app写作productivity免费DREAM.pageDreamPage是一个AI驱动的写作平台,旨在帮助用户更轻松、更快速地创作出优质的文章。它拥有一系列的AI工具,可以帮助用户更好地组织文章结构,提升文章质量,更快地完成写作任务。此外,DreamPage还提供了一个友好的发布环境,可以让用户轻松地将文章发布到多个平台,让更多人看到你的文章。现在就加入DreamPage的等候名单,开启你的AI写作之旅吧!http://dream.page写作联系商务询价GlaspGlasp是一个社交网络高亮器,人们可以使用它从网络上高亮和组织引用和想法,而无需在屏幕之间来回切换,同时也可以访问其他志同道合的人的学习内容。为人类留下你的数字遗产,同时也为自己工作。他们还提供了一个摘要Youtube视频的工具。http://glasp.co/ai-writing写作memory免费OthersideaiOthersideAI是一款个人写作助手,它可以提供建议和句子完成功能,帮助您改善写作,无论您在哪里写作。它可以帮助您更快、更准确地完成写作任务,并且可以提供有用的技巧和指导,帮助您提高写作技能。OthersideAI还可以检测您的文章中的语法错误,拼写错误和标点错误,以帮助您更好地表达您的想法。http://www.othersideai.com写作免费Redacta.meRedacta.me是一个虚拟社区管理工具,它可以帮助用户快速、轻松、经济地创建原创的西班牙文文本。我们已经专门训练了人工智能来编写优秀的西班牙文文本,以满足用户的需求。Redacta.me提供了一个安全可靠的环境,可以让用户轻松地创建和管理文本,并且可以让用户节省时间和金钱。http://www.redacta.me写作收费,但可先试用 ,$21.60Tinq.ai - NLP APITinq.ai是一个易于使用且尖端的自然语言处理(NLP)API集合,可以快速而强大地将文本分析集成到您的应用程序中。从主题分类到情感分析和实体提取,我们都可以满足您的需求。只需几天的时间,而不是几个月,就可以实现这一目标!文本分析包括:抄袭检查器;自定义分类器;情感分析;命名实体识别。http://tinq.ai写作developer-tools免费,有增值会员 ,$15/moWordAIWordAI是一款AI内容生成工具,可以帮助用户提高内容质量,提升内容产出效率,节省时间和预算,创造出更多质量优秀的内容,让谷歌和读者都喜欢。它可以自动检测内容的可读性,并且可以自动替换内容中的词汇,以提高内容的可读性和质量。此外,它还可以自动生成新的内容,以满足用户的需求。http://wordai.com写作paraphraser收费,但可先试用 ,$27/moHelloScribeHelloScribe是一款AI工具,旨在帮助公关和营销专业人士更聪明地工作。它可以帮助你快速写作和头脑风暴,摆脱创意堵塞和浪费时间的困扰。它拥有强大的AI技术,可以帮助你更快地构思出更好的文字,更有效地表达你的想法,让你的文字更加流畅、更有力量。http://helloscribe.ai写作copywriting收费,但可先试用 ,$39/moCaliberAICaliberAI是一个利用人工智能技术帮助最小化诽谤风险的项目。它能够实时发现高风险内容,专门为编辑和人类监督提供支持。它还提供了一个API,可以根据您组织的风险容忍度自定义阈值。http://caliberai.net写作收费LuciaAILucia是一款先进的AI写作助手,它采用最新最先进的人工智能技术,可以帮助你更快、更好地完成写作任务。它可以帮助你更快地完成文章的编写,更准确地检查文章的语法和拼写,更有效地提高文章的可读性,以及更轻松地完成文章的编辑和重写。Lucia还可以帮助你更好地理解文章的结构,更好地把握文章的主题,更好地掌握文章的写作技巧,以及更好地提升文章的质量。http://luciaai.com写作paraphraser免费,有增值会员Proposal GenieProposalGenie.ai是一款基于AI的工具,可以帮助用户在Upwork上创建专业的提案。它易于使用,可以从任何设备上创建提案,建立可重复使用的个人资料,并添加关键词和语气等可选字段。http://www.proposalgenie.ai写作human-resources免费,有增值会员Penelope AIPenelope AI是一款先进的AI写作助手,可以让您无缝地加快写作速度。它可以帮助您重新排版、概括、生成故事或AI自动完成,让您的写作更加轻松高效。http://penelope-ai.vercel.app写作paraphrasersummarizer收费,但可先试用WritelyWritely是一款专为提升写作技能而设计的AI写作助手。它可以帮助你减少文字,更详细地阐述,或者简单地重新排列句子。它可以帮助你更快更准确地完成写作任务,让你的文章更加流畅,更具有吸引力。它还可以检测文章中的语法错误,拼写错误,以及拼写检查,让你的文章更加完美。http://www.writelyai.com写作paraphrasersummarizer收费,但可先试用 ,$25/moAIDuhAiDuH是一款基于AI技术的Chrome扩展,它可以帮助你节省98%的写作时间。它可以自动识别文本,并为你提供智能化的建议,让你的文章更加流畅、精彩。它还可以帮助你检查文章的语法和拼写,让你的文章更加完美。http://aiduh.com写作联系商务询价LanguageToolLanguageTool是一个拼写检查工具,它不仅可以检查拼写错误,还可以对所有可能的文本进行完整的写作分析。除了拼写、语法和词汇选择外,它还可以检查语言风格。它支持30多种语言和方言,其主要语言有英语、西班牙语、德语、法语、荷兰语和葡萄牙语。在英语版本中,您可以选择六种标准变体。此外,LanguageTool还提供基于A.I.的重写功能,可以帮助您重写整个句子,使其更简单、更短或更正式。http://languagetool.org写作paraphraser免费,有增值会员 ,$1.12/moWebCopilotWebcopilot是一个AI写作助手,可以帮助你更快地完成写作任务。它可以根据你的输入,自动生成文章,节省你的时间,让你更多地关注重要的事情。它可以帮助你更快地完成写作任务,提高你的写作效率,让你更加专注于写作。http://www.webcopilot.co写作免费Text Generator PluginText Generator是一个开源的AI助手工具,它将生成式人工智能的力量带入Obsidian中的知识创造和组织的力量。 例如,使用Text Generator根据您的知识数据库生成想法、有吸引力的标题、摘要、大纲和整个段落。 可能性是无穷的!http://text-gen.com写作productivity免费ComposeCompose通过智能技术,可以帮助您更快地完成文字任务,提高工作效率。它可以帮助您更快地完成文字任务,提高工作效率,并且可以自动检测文字中的语法错误,提供更准确的文字内容。http://www.compose.ai写作免费HandyPluginsHandywriter是一款基于AI的写作助手,可以帮助您为WordPress创建内容。它可以检查抄袭,甚至可以修复语法和拼写错误。它还可以帮助您更快地完成写作任务,提高写作质量,并且可以提供专业的写作建议。Handywriter还可以帮助您更好地管理您的写作时间,更有效地完成您的写作任务。http://handyplugins.co/handywriter写作收费,但可先试用 ,$9.99/monichessNichesss是一个自动写作服务,它可以帮助你轻松解决写作难题,无论是博客文章、广告、社交媒体内容、诗歌、商业想法等,只需点击一下按钮,就可以获得完美的文字内容。我们的机器人将为您提供一切写作服务。http://nichesss.com写作收费,但可先试用 ,$9/moSmartScribe它是一个由人工智能驱动的写作助手,帮助你更快更好地写作。它提供关于语法、拼写和风格的实时反馈,并建议更好的词汇和短语来改善你的写作。它还可以帮助你找到正确的词语,更清楚地表达你的想法。SmartScribe是任何想要更好、更快、更有效地写作的人的完美工具。http://www.smartscribe.app写作收费,但可先试用 ,$7.5/moWritewithlaikaWrite with Laika是一个机器学习驱动的文字创作项目,旨在帮助作家们更加轻松地创作出更加精彩的文字。它提供了一系列的机器学习工具,可以帮助作家们更快地完成文字创作,并且更加准确地表达他们的想法。它还提供了一个可以让作家们与其他作家分享想法的社区,以及一个可以让作家们更好地理解机器学习的学习中心。Write with Laika是一个可以帮助作家们更加轻松地创作出更加精彩的文字的神奇机器学习项目。http://www.writewithlaika.com写作联系商务询价LexLex.page是一个专为作家和写作者设计的在线写作平台,旨在帮助他们提高写作技能,提升写作效率,并解锁他们最佳的写作潜力。它提供了一系列的工具,包括文本编辑器、语法检查器、拼写检查器、语义检查器、句子结构检查器等,可以帮助作家们更快更准确地完成他们的写作任务。此外,它还提供了一个专业的写作社区,可以帮助作家们与其他写作者交流经验,提高写作水平。http://lex.page写作联系商务询价QuasiQuasi Market是一个AI驱动的市场,旨在支持艺术家、程序员和音乐家等创作者创造出更多的艺术品、代码和音乐等。它提供了一个可以让创作者以及消费者参与的平台,让创作者可以分享他们的作品,消费者可以购买他们喜欢的作品,并且可以通过AI技术来改善创作者的作品。Quasi Market还提供了一个可以让创作者和消费者交流的社区,让他们可以更好地了解彼此,从而更好地支持创作者的创作。http://quasi.market写作musicart收费,但可先试用 ,$5/mo彩云小梦彩云科技推出的智能AI故事写作工具https://if.caiyunai.com/写作GrammarlyAI语法检查写作助手https://www.grammarly.com/写作QuillBotAI写作润色工具https://quillbot.com/写作DeepL WriteDeepL推出的AI驱动的写作助手https://www.deepl.com/write写作火山写作字节跳动旗下团队推出的英语写作助手https://www.writingo.net/写作NovelAIAI小说故事创作工具https://novelai.net/写作BearlyAI阅读总结、写作和内容生成助手https://bearly.ai/写作ContentBotAI快速写作工具https://contentbot.ai/写作Compose AI免费的Chrome浏览器自动化写作扩展https://www.compose.ai/写作Copysmith企业级和电商文案生成https://copysmith.ai/写作Magic WriteCanva旗下AI文案生成器https://www.canva.com/magic-write/写作Spell.tools高颜值AI内容营销创作工具https://spell.tools/写作RewordAI文章写作https://reword.co/写作HyperWriteAI写作助手帮助你创作内容更自信https://hyperwriteai.com/写作TypefaceAI创意内容创作助手https://www.typeface.ai/写作爱改写AI写作和改写润色辅助工具https://www.aigaixie.com/写作悉语阿里旗下智能文案工具,一键生成电商营销文案https://chuangyi.taobao.com/pages/aiCopy写作Effidit腾讯AI Lab开发的智能创作助手https://effidit.qq.com/写作秘塔写作猫AI写作,文章自成https://xiezuocat.com/写作火龙果写作AI驱动的文字生产力工具https://www.mypitaya.com/写作HeyFriday国内团队推出的智能AI写作工具https://www.heyfriday.cn/home写作WPS智能写作WPS旗下在线智能写作工具https://aiwrite.wps.cn/写作易撰新媒体AI内容创作助手https://www.yizhuan5.com/写作智搜Giiso写作机器人,内容创作AI辅助工具https://www.giiso.com/写作TextaAI博客和文章一键生成https://texta.ai/写作SudowriteAI故事写作工具,多种风格选择https://www.sudowrite.com/写作ClosersCopyAI文案写作机器人https://www.closerscopy.com/写作AnywordAI文案写作助手和文本生成器https://anyword.com/写作ParagraphAI基于ChatGPT的AI写作应用https://paragraphai.com/写作LongShotAI长文章写作工具https://www.longshot.ai/写作Jounce无限制免费AI文案写作https://www.jounce.ai/写作Elephas与Mac、iPhone、iPad集成的个人写作助手https://elephas.app/写作AISEOAI创作SEO优化友好的文案和文章https://aiseo.ai/index.html写作Writer企业级AI内容创作工具https://writer.com/写作SurferSEOAI SEO大纲和内容优化写作工具https://surferseo.
要求用回溯法求解8-皇后问题,使放置在8*8棋盘上的8个皇后彼此不受攻击,即:任何两个皇后都不在同一行、同一列或同一斜线上。请输出8皇后问题的所有可行解。 用回溯法编写一个递归程序解决如下装载问题:有n个集装箱要装上2艘载重分别为c1和c2的轮船,其中集装箱i的重量为wi(1≤ i ≤ n),且Σ𝑤𝑖≤𝑐1_+_𝑐2_𝑛𝑖=_1_。问是否有一个合理的装载方案可以将这n个集装箱装上这2艘轮船?如果有,请给出装载方案。 提示:参考子集和数问题的求解方法。 举例:当n=3,c1=c2=50,且w=[10,40,40]时,可以将集装箱1和2装到第一艘轮船上,集装箱3装到第二艘轮船上;如果w=[20,40,40]时,无法将这3个集装箱都装上轮船。 实验内容: Transliteration Yāoqiú yòng huísù fǎ qiújiě 8-huánghòu wèntí, shǐ fàngzhì zài 8*8 qípán shàng de 8 gè huánghòu bǐcǐ bù shòu gōngjí, jí: Rènhé liǎng gè huánghòu dōu bùzài tóngyī xíng, tóngyī liè huò tóngyī xié xiàn shàng. Qǐng shūchū 8 huánghòu wèntí de suǒyǒu kěxíng jiě. Yòng huísù fǎ biānxiě yīgè dìguī chéngxù jiějué rúxià zhuāngzǎi wèntí: Yǒu n gè jízhuāngxiāng yào zhuāng shàng 2 sōu zàizhòng fēnbié wèi c1 hé c2 de lúnchuán, qízhōng jízhuāngxiāng i de zhòngliàng wèi wi(1≤ i ≤ n), qiě S𝑤𝑖≤𝑐1_+_𝑐2_𝑛𝑖=_1_.
学习思路:翻译成英文就可以
公式是:主体描绘 + 核心主体 + 主体动作 + 风格 + 光效 + 色彩 + 视角 + 质量 + 命令
描写人物可添加的修饰词:服装细节精致,
咒语001:中国风
一位穿着红色汉服、中式风格的女孩,原始照片,长发,难忘的微笑,水汪汪的眼睛,脸红的,红膜和瞳孔绕圈,可爱、漂亮,瞳孔周围的反光,超高分辨率,专业照明,光子贴图,基于物理渲染,电影特效风格,8K分辨率
咒语002:中国幻想风
1、东方仙子,中国古代主题,幻想风格,柔和的灯光,特写,8K画质,虚幻引擎
2、一个东方仙子拿着剑,中国古代主题,幻想风格,发光调色板,深白色和青色背景,聚焦敏锐,全身特写,8K画质,虚幻引擎
discord英文:An Eastern fairy holding a sword, with the theme of ancient China and a fantasy style, illuminated with a color palette, against a deep white and blue background, sharply focused with a full body close-up shot, in 8K resolution with Unreal Engine --q 3 --s 750
目录
1. 查找的基本概念
2. 顺序查找和折半查找
2.1 顺序查找
2.1.1 一般线性表的顺序查找
2.1.2 有序表的顺序查找
2.2 折半查找
2.3 分块查找
2.4 相关练习
3. 树型查找 3.1 二叉排序树
3.1.1 二叉排序树的定义
3.1.2 二叉排序树的查找
3.1.3 二叉排序树的插入
3.1.4 二叉排序树的构造
3.1.5 二叉排序树的删除
3.1.6 二叉排序树的查找效率分析
3.2 平衡二叉树
3.2.1 平衡二叉树的定义
3.2.2 平衡二叉树的插入
3.2.3 平衡二叉树的删除
3.2.4 平衡二叉树的查找
4. 红黑树
4.1 红黑树的定义
4.2 红黑树的插入
4.3 红黑树的删除
4.4 相关练习
5. B 树和 B+ 树
5.1 B 树及其基本操作
5.1.1 B 树的高度(磁盘存取次数)
5.1.2 B 树的查找
5.1.3 B 树的插入
一、Kafka是什么?
Kafka是一个分布式的基于发布/订阅模式的消息队列。分布式消息队列可以看成是将这种先进先出的数据结构独立部署在服务器上,应用程序可以通过远程访问接口使用它。
二、Kafka的工作机制是什么?
1.基本概念
2.消息模型
发布订阅模式:一对多,消费者消费数据之后不会清除消息
一次消息写入多次消费,当然前提是消费者位于不同的消费者组。
3.存储机制
Kafka的消息是存储在磁盘的,所以数据不易丢失。
4.生产流程
1)主线程首先将业务数据封装成ProducerRecord对象
2)调用send方法将消息放入消息收集器RecordAccumlator中暂存
3)Sender线程将消息信息构成请求
4)执行网络IO的线程从RecordAccumlator中将消息取出并批量发送出去
5.消费流程
Kafka消费者从属于消费者组。消费者组内的消费者订阅的是相同主题,每个消费者接收主题的一部分分区的消息。
三、Kafka常见面试题
1.Kafka的多分区多副本机制有什么好处?
1)Kafka通过将特定topic指定到多个partition,各个partition分布到不同的Broker上,这样能够提供比较好的并发能力。
2)Partition可以指定对应的replica数,这也极大地提高了消息存储的安全性和容灾能力。
2.Kafka如何实现高效读写?
1)顺序写入磁盘:在日志文件尾部追加,顺序写入且不允许修改。
2)页缓存:每次从磁盘中加载一页的数据到内存中这样可以减少IO次数。
3)零拷贝技术:只用将磁盘中的数据复制到页面缓存中一次,然后将数据从页面缓存中发送到网络中,避免了重复复制操作。
常规数据交互模式:
零CPU拷贝模式:
splice系统调用可以在内核缓冲区和socket缓冲区之间建立管道来传输数据,避免了两者之间的CPU拷贝操作。
3.为什么消费者用pull模式从broker中读取数据?
pull模式可以根据消费者的能力以适当的消费速率消费消息,避免造成网络拥塞。pull模式的不足之处在于,如果kafka没有数据,消费者会陷入空循环中,针对这一点,Kafka的消费者会在消费时传入timeout参数,如果当前Kafka中没有数据,消费者会等待一个timeout时长再返回。
4.Kafka如何保证消息的顺序消费呢?
1)当partition只有一个时可以做到全局有序,Kafka只能保证分区内部消息消费的有序性。
2)在发送消息时指定key和postion,从而可以保证间隔有序。
5.Kafka如何保证消息不丢失?
1)生产者确认
topic的每个partition收到producer发送的数据后,都需要向producer发送ack,如果producer收到ack,就会进行下一轮发送,否则重新发送数据。
Leader维护了一个动态的ISR(in-sync replica),它是一个保持同步的follower集合。当ISR中的follower完成数据的同步之后,leader就会给follower发送一个ack。如果follower长时间未从leader同步数据,则该follower将被踢出ISR,该时间由阈值replica.lag.max.ms参数设定。Leader发生故障后,ISR将会重新选举新的Leader。
Kafka为用户提供了三种可靠性级别,用户可根据对可靠性和延迟的要求权衡。
ack=0,生产者在成功写入消息之前不会等待任何来自服务器的响应,如果出现问题生产者感知不到,但能够以网络支持的最大速度发送消息。
ack=1,默认值,只要集群的首领节点leader收到消息,生产者就会收到一个来自服务器的成功响应。如果消息无法到达首领节点,生产者会收到一个错误响应,为了避免数据丢失,生产者将重发消息。如果收到写成功通知,但首领节点还没来的及同步follower节点就崩溃了,也会造成数据丢失。
ack=-1,只有当所有所有参与复制的节点收到消息后,生产者会收到一个来自服务器的成功确认。如果在follower同步完成之后,broker返回ack之前,leader发生故障,那么会造成数据重复。
2)消费者确认
一次poll会拉取一批消息,对应的消费位移是一个区间,如果是拉取信息之后进行位移提交,在消费中间中间发生了故障,会造成消息丢失现象。如果是消费完成之后进行位移提交,在消费中间发生了故障,会造成重复消费现象。
将位移提交方式改为手动提交,即每次消费完成之后提交,可以避免因为消费未完成出现异常导致的消息丢失。
6.Kafka如何保证消息不重复消费?
自动提交offset,在下一次提交位移之前消费者崩溃了,那么又会从上一次位移提交的地方重新开始消费,这样便造成了重复消费。
使用异步提交方式,此时可以设置一个递增的序号来维护异步提交的顺序,每次位移提交之后就增加对应的序号值。在遇到位移提交失败需要重试的时候,可以检查所需要提交的位移和序号值的大小,如果前者的值大于后者,则说明有更大的位移已经提交了,不需要进行本次重试;如果前者等于后者,则进行重试。除非编码错误,否则不会出现前者大于后者的情况。
7.broker宕机后如何保证副本间数据的一致性?
1)follower发生故障后,会被临时踢出ISR,待该follower恢复后,follower会读取本地磁盘记录的HW,并将log文件高于HW的部分截取掉,从HW开始向leader进行同步,等该follower大于partition的HW时,即follower追上leader时,就可以重新加入ISR了。
2)leader发生故障后,会从ISR重新选举一个新的leader,为了保证多个副本之间数据的一致性,所有follower会先将各自的log文件高于HW的部分截取掉,重新从新的leader同步数据。
注意,这只能保证副本之间数据的一致性,不能保证数据不丢失或者不重复。
8.Zookeeper在kafka中的作用?
Broker注册:在Zookeeper上有个专门记录broker服务器列表的节点,每个broker启动时,都会在/brokers/ids下创建属于自己的节点,每个broker会将自己的IP地址和端口信息记录到节点上去。
Topic注册:同一个topic的消息会被分成多个分区并分布在多个broker上,这些分区和broker的对应关系也都是Zookeeper在维护,对应到Zookeeper中可能会创建文件/brokers/topics/my-topic/partitions/0,/brokers/topics/my-topic/partitions/1。
负载均衡:为了提供更好的并发能力,Kafka会尽力将同一个topic的partition分布到不同的broker,当Consumer消费的时候,Zookeeper可以根据当前的partition数量和Consumer数量进行动态负载均衡。
博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
java项目精品实战案例《100套》https://blog.csdn.net/weixin_39709134/category_11128297.html?spm=1001.2014.3001.5482https://blog.csdn.net/weixin_39709134/category_11128297.html?spm=1001.2014.3001.5482
Java微信小程序项目实战《100套》https://blog.csdn.net/weixin_39709134/category_12022111.htmlhttps://blog.csdn.net/weixin_39709134/category_12022111.html
目录
一、前言介绍:
1.1 项目摘要 1.2 目的意义:
二、主要技术: 2.1 Spring Boot框架
2.2 B/S架构
2.3 Java语言技术
三、系统设计:
3.1 系统功能设计
3.2 主要购物流程 四、前台主要功能: 4.1 登录注册:
4.2 系统首页:
4.3 菜品列表:
4.4 菜品详情:
4.5 购物车信息:
4.6 订单信息:
4.7 个人中心:
五、后台主要功能: 5.1 后台登录:
5.2 用户管理:
5.3 商品管理:
5.4 订单管理:
5.5 论坛管理:
5.6 公告资讯: 六、SQL参考 七、项目总结: 八、源码获取:
一、前言介绍: 1.1 项目摘要 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐渐增多,因此,在计算机上安装软件来发挥其高效地信息处理的作用,则很受人们的青睐。对于阿正东北菜馆点餐系统信息来讲,通过手工形式处理,在面对庞大的信息数量时,就显得不适宜了,首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,为了解决上述问题,有必要建立餐厅点餐管理系统,来规范菜馆点餐系统信息管理流程,让管理工作可以系统化和程序化,同时,餐厅点餐管理系统的有效运用可以帮助管理人员准确快速地处理信息。
1.2 目的意义: 餐厅点餐管理系统可以对点餐系统信息进行集中管理,可以真正避免传统管理的缺陷。餐厅点餐管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,餐厅点餐管理系统都可以轻松应对。所以,餐厅点餐管理系统的运用是让点餐系统信息管理升级的最好方式。它可以实现信息处理的便利化要求,还可以规范信息处理的流程,让事务处理成为管理人员手中的一件简单事,而不是之前手工处理时的困难事。尽管餐厅点餐管理系统具备较完善的功能,但是也需要管理人员利用闲暇时间提升自身素质以及个人能力,在操作餐厅点餐管理系统时可以最大化运用阿正东北菜馆点餐系统提供的功能,让系统在满足高效率处理数据的同时,也能始终稳定运行,还可以确保数据的可靠性与数据处理的质量。
二、主要技术: 2.1 Spring Boot框架 Spring Boot是一个根据Spring框架的轻量快速开发框架,能够帮助开发者迅速搭建靠谱高效率应用程序。根据自动部署和协议书好于配备,优化了Spring的研发流程,使开发者可以更加致力于业务逻辑。
7-4 自定义异常类:成绩异常(ScoreException)(分数 30)
自定义一个异常类ScoreException,继承自Exception类。有一个私有的成员变量message(异常提示信息,String类型);一个公有的无参数的构造方法,在方法中将message的值确定为“您输入的成绩异常,请核实!”;一个公有的方法show(),该方法的功能是输出message的值。
定义一个学生类Student,有一个私有成员变量score(成绩,double类型);一个带参数的公有方法setScore() 用于设置学生的成绩,该方法声明可能抛出异常ScoreException,当设置的成绩为负数或超过100时,会抛出一个异常对象;一个公有方法getScore() 用于获取学生的成绩。
在测试类Main中,创建一个Student类的对象zhangsan,尝试调用setScore()方法来设置他的成绩(成绩从键盘输入,double类型),然后调用getScore()方法获取到该成绩后再将其输出。因用户的输入存在不确定性,以上操作有可能捕捉到异常ScoreException,一旦捕捉到该异常,则调用show()方法输出异常提示。不管是否有异常,最终输出“程序结束”。使用try…catch…finally语句实现上述功能。
输入格式:
输入一个小数或整数。
输出格式:
可能输出:
成绩为XXX
程序结束
也可能输出:
您输入的成绩异常,请核实!
程序结束
输入样例1:
-20
输出样例1:
您输入的成绩异常,请核实!
程序结束
输入样例2:
90
输出样例2:
成绩为90.0
程序结束
import java.util.Scanner; class ScoreException extends Exception { // 自定义异常类ScoreException private String message; // 私有成员变量message(异常提示信息,String类型) public ScoreException () { this.message = "您输入的成绩异常,请核实!"; } public void show() { // 公有show()方法输出message的值 System.out.println(message); } } class Student { // 学生类Student private double score; public Student() {} public Student(double score) { this.
摘要 随机森林回归是一种集成学习算法,通过组合多个决策树来实现回归任务,构建多个决策树,并将它们组合成一个强大的回归模型。本文将会从随机森林回归算法的算法原理、Python实现及实际应用进行详细说明。
1 绪论 在现在的数据分析及数学建模等竞赛中,机器学习算法的使用是很常见的,除了算法实现还需要对赛题或自己所获得的数据集进行数据预处理工作,本文默认读者的数据均已完成数据预处理部分。
2 材料准备 Python编译器:PyCharm社区版或个人版等
数据集:本文所使用的数据集样例如图2.1所示,如有需要,请私发笔者电子邮箱,获取元数据。
图2.1 数据集样例 3 算法原理 随机森林回归是一种集成学习算法,它通过组合多个决策树来实现回归任务,通过构建多个决策树,并将它们组合成一个强大的回归模型,具体步骤如下:
Step 1:随机选择一个样本子集作为该决策树的训练集。
Step 2:随机选择一部分特征(总特征数的平方根)作为该决策树的特征集。
Step 3:基于训练集和特征集构建决策树,直到达到预定的叶子节点数或无法分割为止。
Step 4:重复以上步骤,建立多颗决策树。
Step 5:对于一个新的样本,将它输入到每棵决策树中,得到多个预测结果。
Step 6:对多个预测结果进行平均,得到最终的预测结果。
其算法公式基于决策树回归模型,每个决策树的预测函数可以表示为如公式(1)所示:
式中:k表示第k棵决策树, 表示输入样本,表示第棵决策树的叶子节点数,表示第棵决策树第个叶子节点的预测值,表示第棵决策树第叶子节点的样本集合。
多棵决策树的预测函数可以表示为:
式中:K表示决策树的数量。
在模型评估上,随机森林回归的常用指标包括均方误差(MSE)和R-squared(R2),一般来说,MSE的值越小,说明模型对数据的拟合程度越好,R2的值越接近于1,说明模型对数据的拟合程度越好,反之亦然。其计算公式如下:
式中,表示样本数量, 表示第 个样本的真实值, 表示第 个样本的预测值。
式中: 表示所有样本真实值的平均值。
其算法原理示意图如图3.1所示:
图3.1 随机森林回归原理示意图
4 算法Python实现 4.1 数据加载 此处利用pandas库进行读取数据,第一列特征为目标变量,其余的列特征作为自变量。
import pandas as pd # 读取数据 data = pd.read_excel('DataRFL.xlsx') # 分割自变量和目标变量 X = data.iloc[:, 1:] y = data.iloc[:, 0] 4.2 将数据集切分为训练集和测试集 使用train_test_split函数对数据集进行切分,30%作为测试集,70%作为训练集。
2020年年初国家科技部正式印发《关于破除科技评价中“唯论文”不良导向的若干措施(试行)》通知,明确要求破除“唯论文”论不良导向,打造中国高质量科技期刊。那么高质量的国产期刊有哪些呢?
一、化学类
1. Chinese Journal of Analytical Chemistry | 国产之光!这本三区刊物国人发文占比98%,接收中文稿件!
评语:Chinese Journal of Analytical Chemistry作为一本国产SCI刊物,对于国人的友好程度自是不必多说,加之版面费亲民、审稿效率高、接收中文文章,可以说是毕业党的福音!
2. Science China-Chemistry | 最新预测IF上升41.4%,国人占比82%,这本国产期刊中的黑马你了解吗?
评语:《中国科学》旗下系列期刊之一,国人占比82%,审稿效率非常高。Science China-Chemistry官网信息表明,该刊物正在处于向“完全开放获取”刊物转型的过程中,未来会成为OA期刊。
3. Chinese Journal of Catalysis | 免版面费,1区国产期刊,国人占比77%,最快1个月接收!
评语:影响因子6分+、国人发文比例高、接受率高的化学类TOP期刊,不收取版面费。
4. Science China-Earth Sciences | 国产牛刊!中科院和国家自然科学基金委共同主办,国人发文占比80%!
评语:由中科院和国家自然科学基金委共同主办,最新预测IF较2019年上升22.1%,从投稿到接收需要的时间一般在3~5个月。
二、医学类
1. International Journal of Oral Science | 最新预测影响因子上涨90.8%!这本Nature出版社旗下国产期刊国人友好、发文相对较快!
评语:International Journal of Oral Science是牙医科学领域TOP期刊,近两年影响因子有望实现两连跳。国人友好、审稿效率相对较高,作为Nature出版社旗下刊物,该刊的潜力还是非常大的!
2. Frontiers of Medicine | 厚积薄发?影响因子在2分线挣扎多年的国产期刊,近两年IF直线上升!
评语:Frontiers of Medicine作为一本国产期刊,有众多大牛坐镇,质量还是非常不错的!虽然目前仍处于中科院3区,但近年来影响因子直线上升,发展前景还是值得期待的。目前国人占比超七成,相关领域的小伙伴抓紧了!
3. Chinese Journal of Natural Medicines | 有“中国科技期刊卓越行动计划”加持,这本国产期刊前景一片大好!
评语:Chinese Journal of Natural Medicines虽为3区刊物,但口碑不错。审稿效率高、版面费低,作为一本国产刊物,又有“中国科技期刊卓越行动计划”加持,前景一片大好,方向相关的小伙伴心动不如行动!
文章目录 一、vscode下载二、jdk下载以及环境配置三、在vscode安装插件四、你可以肆无忌惮的在里面开始你的Java代码之路啦!!! 小白保姆教程
废话不多说,上干货
一、vscode下载 官网:https://code.visualstudio.com/
安装过程:
1、点开安装包
------我同意
2、全部勾选(建议)
3、开始安装
自用vscode:https://www.aliyundrive.com/s/EC6AJm5RNXQ
二、jdk下载以及环境配置 官网:https://www.oracle.com/java/technologies/downloads/
自用jdk:jdk-19_windows-x64_bin.exe https://www.aliyundrive.com/s/EFSJig3VaaF
配置Java环境
1、找到 jdk 的安装路径
2、我的电脑右键 点击属性
3、点击高级设置
4、点击高级–再点击环境变量
5、双击Path
6、新建Path 把jdk路径+“\bin”放到里面,退出点击三次确定
三、在vscode安装插件 1、打开VScode分别安装两个插件 ①Chinese ②Extension Pack for Java
四、你可以肆无忌惮的在里面开始你的Java代码之路啦!!! public class Main { public static void main(String[] args) { System.out.println("Hello,World!"); } } 运行结束:
往采纳,记得一键三连哟
如有不对,望指正