《硅基物语.我是灵魂画手》一本书讲透AI绘画,AIC松鼠活动第六期

《硅基物语·我是灵魂画手》 当AI遇上绘画,会打开怎样的奇妙世界? 用ChatGPT+Midjourney西出人类的灵魂与梦想 用StableDiffusion+D-ID画出青春绚丽的渴望 激活每个人隐藏的绘画天赋 人人都能成为顶尖绘画大师 如果你问我对于 AI绘画的态度,我会告诉你:新生事物是强大的,它们终将迅猛发展起来,并取代旧事物。这并不是说AI绘画作品会取代此前人类的绘画成果和艺术结品,而是作为一个“过滤网”般的存在,不断地过滤绘画领域的杂质,提升人类绘画的整体水平,并在人类生活中占据越来越重要的地位。 在未来,AI将会成为人类最得心应手的“画笔”,帮助人们成为“神笔马良”,就算是一个普通人,也可以借助 AI成为顶尖的画师。 一本将AI绘画讲透的探秘指南,通过丰富的实践案例操作,通俗易懂地讲述AI绘画的生成步骤生动展现了AI绘画的魔法魅力。从历史到未来,跨越百年时空,从理论到实践,讲述案例操作:从技术到哲学,穿越多个维度,从语言到绘画,落地实战演练。AI绘画的诞生,引发了奇点降临,点亮了AGI(通用人工智能),并涉及 Prompt、风格,技术细节、多模态交互,AIGC等一系列详细讲解。让您轻松掌握生图技巧,创造出独特的艺术作品,书写属于自己的艺术时代。 《硅基物语.我是灵魂画手》这本书,以其深入浅出的笔触,为我们描绘了一个硅基生物视角的世界,同时无比巧妙地将人类的灵魂与技术的冲击结合在一起,展示了未来可能的一种生活方式。它在叙述中融合了科技、艺术、哲学等多个领域的知识,形成了一个既现实又超越现实的故事世界。 首先,这本书的背景设定就非常新颖。它把我们带入一个硅基生物的世界,将人类对于生命的理解从碳基扩展到了硅基。在这个世界里,硅基生物拥有与人类完全不同的生命形态和思维方式,这为我们提供了一个全新的视角来审视我们自己的世界,以及我们对于生命的理解。 同时,《硅基物语.我是灵魂画手》的主要角色——灵魂画手,也是一个非常有趣的角色设定。他是一个通过硅基技术实现灵魂转移的画家,他的存在将人类的精神世界与高科技完美地结合在一起。他通过画笔,将他的灵魂感知和理解的世界表现出来,这让我们看到了一个从未有过的硅基生物的世界观和价值观。 在这本书中,硅基生物的世界和人类世界的对比,以及灵魂画手通过画笔展现的世界,都给我们留下了深刻的印象。它不仅仅是在讲述一个虚构的故事,更是在探讨人类、技术、艺术、哲学等多个领域的深刻主题。 例如,书中通过硅基生物和人类的对比,探讨了生命的本质和多样性。生命的存在形式可以有多种可能,不仅仅局限于我们熟知的碳基生物。这种思考方式,打破了我们对生命的固有认知,拓宽了我们的想象空间。 再如,通过灵魂画手的角色,书中探讨了人类的精神世界和高科技的关系。灵魂画手通过硅基技术实现了灵魂转移,这让我们思考,如果科技发展到一定程度,我们是否可以通过科技手段来延长生命,甚至实现永生?同时,他通过画笔将他的内心世界表现出来,这又让我们思考,艺术是如何反映和表现生命的,以及艺术与科技的关系是什么? 总的来说,《硅基物语.我是灵魂画手》这本书,以其独特的背景设定和深入的主题探讨,为我们提供了一个全新的视觉和思考的空间。它让我们重新审视生命的本质,思考科技与人性的关系,反思艺术的价值和意义。 我们可以从中看到作者的想象力和深厚的文化修养。他将硅基生物的设定,灵魂画手的角色创设,人类世界和硅基世界的对比,以及科技、艺术、哲学等多个领域的知识融合在一起,形成了一个既复杂又统一,既现实又超越现实的故事世界。 硅基生物的设定打破了我们对生命的传统认知,让我们看到生命的多样性和广阔性。灵魂画手的角色则让我们看到了艺术在反映和表现生命,以及在探索人性和世界的过程中的重要角色。人类世界和硅基世界的对比,让我们反思我们自己的生活方式和价值观,以及我们对于生命和世界的理解。而科技、艺术、哲学等多个领域的知识的融合,让我们看到了这个故事世界的深度和广度。 这本书的语言表达也非常出色。作者以其独特的笔触,将这个复杂而深邃的故事世界展现在我们面前。他的语言既精细又生动,既富有哲理又充满诗意,让我们在阅读的过程中既能感受到故事的紧张和激动,也能体味到故事的深度和魅力。 总之,《硅基物语.我是灵魂画手》是一本非常值得一读的书。它不仅仅提供了一个全新的视角和思考空间,也提供了一个深入探讨生命、科技、艺术、哲学等多个领域的平台。无论你是对科技有深入研究的人,还是对艺术有独特见解的人,或者是对哲学有深厚兴趣的人,都可以在这本书中找到自己的思考和启示。 好书推荐:《硅基物语·我是灵魂画手》 松鼠活动:本期的优质好书就推荐到这里了,下期再见! 活动日期:8.7-8.14 领取方式:博主私信,进行奖励兑换

grdle 的安装与配置 、gradle和jdk版本对应关系

java与gradle对应的版本关系 Java Java Gradle需要Java版本在8到19之间。目前还不支持Java 20及更高版本。 Java 6和Java 7仍然可以用于编译,但已经不适合用于测试。Gradle 9.0不支持Java 6和Java 7的测试。任何完全支持的Java版本都可以用于编译或测试。 然而,最新的Java版本可能只支持编译或测试,但还不支持运行Gradle。 对于较旧的Gradle版本,请参见下表,哪个Gradle版本支持哪个Java版本。表1。 Java兼容性Java版本第一个Gradle版本支持它8 2.0 9 4.3 10 4.7 11 5.0 12 5.4 13 6.0 14 6.3 15 6.7 16 7.0 17 7.3 18 7.5 19 7.6 20 8.1⚠ Java versionFirst Gradle version to support it82.094.3104.7115.0125.4136.0146.3156.7167.0177.3187.5197.6208.1 ⚠ Gradle的安装 我安装6.3的版本 Gradle 官网 下载完成后,进行解压 环境配置 配置环境变量,新建名为 GRADLE_HOME 值为你的 Gradle 安装(解压)路径的环境变量 然后将 %GRADLE_HOME%\bin 添加到 Path 环境变量中,注意与前一个变量需要用;隔开,然后点击确定 打开控制台,输入 gradle -v 配置gradle仓库地址 在gradle解压目录里面,新建一个 repository 目录

python中第三方库——lxml库的最新详细安装教程

方法一: win+r打开cmd,直接输入pip install lxml。 (最简单的办法,但是有一大堆因素导致无法安装成功,博主就是,呜呜呜) 方法二: 1.win+r打开cmd,输入pip install wheel,先安装wheel库了才能安装.whl文件。 2.确定电脑安装的python版本,在lxml官方网站https://pypi.org/project/lxml/#files里寻找对应的版本进行下载 以本人为例,我电脑的python版本是3.11,64位 所以选择lxml-4.9.3-cp311-cp311-win_amd64.whl下载 3.在电脑的python文件夹内创建一个lxml文件夹,将下载好的whl放在该目录下,在cmd中cd跳转至该目录,运行pip install lxml-4.9.3-cp311-cp311-win_amd64.whl,即可安装成功

如何申请文心一言&文心千帆大模型API调用资格、获取access_token,并使用SpringBoot接入文心一言API

前段时间,百度文心一言&文心千帆大模型开放了API调用的测试,接下来,教大家申请测试资格并接入文心千帆大模型的API。 一、文心一言&文心千帆的测试资格申请 1. 确保拥有一个百度智能云的账号 右上角点击注册,内容如实填写并完成实名认证。 注册与认证详细内容不再赘述。 2. 文心千帆大模型资格申请 进入文心一言&文心千帆大模型介绍页,点击申请体验 会进入填写问卷页,没有什么技巧,如实填写问卷信息即可,记得每一项要尽量详细,然后点击提交,接下来等待即可。 已经申请通过的会显示我这个页面。 不出意外的话,接下来一天两天内你会收到如下短信 收到信息代表你申请通过,并且会赠送一张20的券,可根据文档自行使用。 3.(可选,非必要)文心千帆控制台 在这里你可以进行模型的体验与参数调节,具体功能请各位自行摸索。 二、获取文心千帆的access_token 众所都周知,百度的文心千帆大模型是通过access_key进行鉴权的,所以我们要调用API必须要申请一个access_key。 1.创建应用,获取API Key与Secret Key 进入文心千帆大模型控制台,点击创建应用。 填写你要创建的应用信息,最下面还有个应用介绍,如实填写就好。 创建成功后,左侧选择应用列表,里面可以看到刚刚创建的应用,里面包含了AppID、API Key、Secret Key(需点击显示),这些请务必不要泄露。 我们需要API Key、Secret Key 2. 获取access_token 方法一:浏览器发送请求 复制这两个Key,并替换下面链接的 [API Key] 与 [Secret Key] https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key] 例如: https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=ad456sa4d5fhr5kfh&client_secret=df45d14g5xsdtsc 浏览器访问这个链接,你会得到一个json报文 我们需要关心的是这两个键值对, expires_in 与 access_token expires_in:Access Token的有效期(秒为单位,默认有效期30天) access_token:要获取的Access Token; 方法二:百度在线调试工具 在线调试工具 左侧输入 API Key 与 Secret Key ,点击调试即可,参数与方法一一致。 方法三:编写发送请求 在线调试工具 这里面有每种语言的例程,可以直接复制修改。 三、接入文心一言API 官方文档 官方文档提供了四个模型,其中ErnieBot就是我们熟悉的文心一言,我们以这个为例,其他的与之类似或相同。 作为Java程序员,我就分别以一个 Java 程序和 SpringBoot 应用为例介绍怎么接入。

(C语言版)力扣(LeetCode)题库1-5题解析

力扣(LeetCode)题库1-5题解析 1.两数之和题目解析 2.两数相加题目解法 3.无重复字符的最长字串题目解法 4. 寻找两个正序数组的中位数题目解法 5. 最长回文子串题目解法 结语 1.两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 题目链接:两数之和 解析 代码如下: int* twoSum(int* nums, int numsSize, int target, int* returnSize){ for(int i=0;i<numsSize;i++) { for(int j=i+1;j<numsSize;j++) { if(nums[i]+nums[j]==target) { int* ret=malloc(sizeof(int)*2); ret[0]=i; ret[1]=j; *returnSize=2; return ret; } } } *returnSize=0; return NULL; } 这道题最简单的一种写法,就是两层循环嵌套遍历数组每一位和后面的每一位进行相加,最终找到后将两数存入需返回的数组,遍历结束若没找到符合的值,则返回空。 2.两数相加 题目 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

数据结构入门(C语言版)图的概念和功能函数实现

图的概念和功能函数实现 前言1.图的定义和术语1.1 定义1.2 常用术语 2.图的存储结构2.1 图的数组(邻接矩阵)存储表示2.2 图的邻接表存储表示 3.图的遍历3.1 深度优先搜索3.2 广度优先搜索3.3 示例 4.连通网的最小生成树4.1 克鲁斯卡尔(Kruskal)算法4.2 普里姆(Prim)算法 5.图的建立及其接口函数的实现结语 前言 图是一种比线性表和树更复杂的数据结构。在线性表中,数据元素之间仅有线性关系每个元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间存在明显的层次关系,并且每层的元素可能和下一层的多个元素(即其孩子结点)相邻,但只能和上一层的个元素(即其双亲结点)相邻。而在图形结构中,结点之间的关系可以是任意的,图中任意两个元素之间都可能相邻。图的应用极为广泛,俗话说“千言万语不如一张图”,因此图是计拿机应用过程中对实际问题进行数学抽象和描述的强有力的工具。图论是专门研究图的性质的一个数学分支,在离散数学中占有极为重要的地位。图论注重研究图的纯数学性质,而数据结构中对图的讨论则侧重于在计算机中如何表示图以及如何实现图的操作和应用等。 1.图的定义和术语 1.1 定义 图(graph)由一个顶点(vertex)的有穷非空集 V(G)和一个弧(arc)的集合 E(G)组成通常记作 G-(V,E)。图中的顶点即为数据结构中的数据元素,孤的集合 E实际上是定义在顶点集合上的一个关系。以下用有序对(u,w)表示从到w 的一条弧(arc)。孤有方向性,需以一带箭头的线段表示,通常称 (没有箭头的出发端)为弧尾(tail)或始点(initianode),称w(带箭头的终止端)为弧头(head)或终点(terminal node),此时的图称为有向图(digraph)。若图中从 乙到w 有一条弧,同时从w到也有一条弧,则以无序对(v,w)代替这两个有序对(v,w)和(w,v),表示 v和w 之间的一条边。此时的图在顶点之间不再强调方向性的特征,称为无向图(undigraph)。 例如图(a)中的 G,是有向图G1=(V1,{A1}) 其中: V1={A,C,B,F,D,E,G} A1={<A,B>,<B,C>,<B,F>,<B,E>,<C,E>,<E,D>,<D,C>,<E,B>,<F,G>} 图(b)中的 G2为无向图G2=(V2,{E2}) 其中: V2={A,B,C,D,E,F} E ={(A,B),(A,C),(B,C),(B,E),(B,F),(C,F),(C,D),(E,F),(C,E)} 注意:有向图的边用<>,无向图的边用() 在实际应用中,图的弧或边往往与具有一定意义的数相关,称这些数为“权(weight)”。分别称带权的有向图和无向图为有向网(network)和无向网,如图©和(d)所示。 1.2 常用术语 稀疏图和稠密图 假设用 n 表示图中顶点数目,用 e 表示边或弧的数目。若不考虑顶点到其自身的弧或边,则对于无向图,边数 e 的取值范围是 0到 n(n-1)/2。称具有 n(n-1)/2条边的无向图为完全图(completed graph)。对于有向图,弧的数目 e的取值范围是到n(n-1)。称具有 n(n-1)条弧的有向图为有向完全图。若 e<nlogn,则称为稀疏图(sparse graph),反之称为稠密图(dense graph)。 子图 假设有两个图G=(V,{E})和G’=(V’,{E’})如果V’属于V且E’属于E,则称G’为G的子图(subgraph)。如下图 度、入度和出度 若 u一>v是图中一条弧,则称u邻接到v,或v邻接自u。图中所邻接到该顶点v的弧(即以它为弧头的弧)的数目,称为该顶点的入度(indegree),记作 ID(v);反之,从某顶点u出发的弧(即邻接自该顶点的弧)的数目,称为该顶点的出度(outdegree),记作 OD(u)。顶点 v的入度和出度之和称为该顶点的总度,简称为度(degree),记作 TD(v).

全网最清晰JAVA NIO,看一遍就会

目录 目录 1.概述 1.1.计算机的IO模型 1.2.NIO概述 2.buffer 2.1.概述 2.2.API 2.3.代码示例 3.channel 3.1.概述 3.2.API 3.2.1.读写 3.2.2.文件复制 3.2.3.阻塞与非阻塞 4.selector 4.1.概述 4.2.代码示例 1.概述 1.1.计算机的IO模型 在聊IO之前一定要了解计算机的IO模型,因为编程语言的所有和IO有关的API,本质上一定是对于计算机IO模型的抽象。 计算机的IO其实就是在内存中为各个IO设备分配了属于它的一块内存,向这块内存中进行读写即可完成IO。这块内存是位于计算机内存中的内核段中的。 一次完整的IO过程是: 1.CPU执行IO指令 2.将内核段中数据读到用户段 3.用户段中数据交给CPU 4.CPU的执行结果写回用户段 5.用户段中存的结果写回内核段 如果对计算机的内存分段、IO等相关概念不熟悉的同学,可以移步博主的另一篇文章,里面详细介绍了相关内容: 详解零拷贝__BugMan的博客-CSDN博客 1.2.NIO概述 NIO,non-blocking IO,从JDK1.4版本开始引入,其直观的特点就是非阻塞,深入一点来看的话,NIO推出之前的JAVA BIO只是对TCP进行了简单的封装,用户只能对进行简单的IO,而整个计算机底层,在内存中的IO过程是被封装成了黑盒的。NIO对计算机底层的IO过程做了抽象,开放出来了内存粒度的API,让使用者可以更加细粒度的从计算机内存的角度来控制IO。 如果不是很了解BIO的同学可以移步作者的另一篇文章,其中详细讲解了BIO: JAVA BIO__BugMan的博客-CSDN博客 NIO有三大核心: channelbufferselector 1.buffer: 可以理解为用户段的内存的抽象。 2.channel: 可以理解为用户段和内核段IO区的连接的抽象,当然直接理解为内核段的IO区的抽象其实也可以。 3.selector: NIO实现非阻塞式IO的核心,其可以基于事件监听的方式,选择准备好的channel,再去其中将数据读到buffer中,然后去操作buffer中的数据。这里要是有点晕,不要紧,后文在selector章节,会详细介绍。 2.buffer 2.1.概述 buffer,理解为用户段中一块内存的抽象即可。 既然是一块内存,那么其本质上就是用来进行数据读写的一个容器,由java.nio包定义,顶级接口为Buffer,定义了一套API用来管理缓 冲区中的数据针对存储不同的数据类型,有不同的buffer: ByteBufferCharBufferShortBufferIntBufferLongBufferFloatBufferDoubleBuffer buffer具有以下几个基本属性: 容量(capacity),buffer的大小,buffer创建后,容量不能更改。限制(limit) ,buffer可用的大小,limit之后的区域无法进行读写。位置(position) 表示接下来要读写的数据的所在位置。标记(mark) 标记一个位置的索引,调用reset()方法可以回到该位置上 图示: 2.2.API Buffer clear() 清空缓冲区并返回对缓冲区的引用Buffer flip()为 将缓冲区的界限设置为当前位置,并将当前位置充值为 0 0int capacity() 返回 Buffer 的 capacity 大小boolean hasRemainingO) 判断缓冲区中是否还有元素int Timit0 返回 Buffer 的界限(Timit) 的位置Buffer limit(int n) 将设置缓冲区界限为 n,并返回一个具有新 imit 的缓冲区对象Buffer mark() 对缓冲区设置标记int position() 返回缓冲区的当前位置 positionBuffer position(int n) 将设置缓冲区的当前位置为 n ,并返回修改后的 Buffer 对象int remaining() 返回 position 和 imit 之间的元素个数Buffer reset() 将位置 position 转到以前设置的 mark 所在的位置Buffer rewind() 将位置设为为 0, 取消设置的 markget() : 读取单个字节get(byte[] dst): 批量读取多个字节到 dst 中get(int index): 读取指定索引位置的字节(不会移动 position)put(byte b): 将给定单个字节写入缓冲区的当前位置put(byte[] src): 将 src 中的字节写入缓冲区的当前位置put(int index,byte b): 将指定字节写入缓冲区的索引位置(不会移动 position) 2.

数据结构刷题训练——链表篇(一)

目录 前言 题目一:链表的中间节点 思路 分析 题解 题目二:链表中倒数第k个结点 思路 分析 题解 题目三:合并两个有序链表 思路 分析 题解 方法二 题解 题目四:链表的回文结构 思路 分析 题解 总结 前言 今天我将开启一个新的专栏,数据结构与算法刷题训练营,题目从基础简单题目开始逐步进阶,以便于初学者巩固和运用所学的知识。 题目一:链表的中间节点 题目描述: 示例与提示: 题目链接 链表的中间节点https://leetcode.cn/problems/middle-of-the-linked-list/description/ 思路 题目中的链表属于单链表,我们要怎么计算中间节点呢?先遍历一遍链表统计链表节点个数,然后计算出中间节点,再遍历到需要返回的节点。这或许是大多数人能想到的方法。但是这种方法效率太低。今天我向大家介绍一种新的做题思路,这种方法在其他题目中也是适用。 快慢指针法: 我们可以创建两个指针,一个快指针一次走两步,一个慢指针一次走一步。当快指针走到尾时,返回慢指针就是中间节点。 分析 情况一: 节点为奇数个。 假设节点有5个,那需要返回的节点就是第3个节点。初始时,两指针都指向第一个节点,慢指针一次走一步,快指针一次走两步。执行一次情况如上图。当快指针走到最后一个节点时就要结束如下图: 情况二: 节点为偶数个。 这是已经执行两次后的状态,接下来fast指针继续走: fast指向NULL,而slow指向要返回的节点。 题解 了解完整体思路,我们依据分析中的情况进行编写代码: struct ListNode* middleNode(struct ListNode* head) { struct ListNode* fast=head,*slow=head; while(fast&&fast->next) { slow=slow->next; fast=fast->next->next; } return slow; } 题目二:链表中倒数第k个结点 题目描述: 题目链接 倒数第k个节点https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking 思路 这道题目依然可以使用快慢指针的方法来寻找倒数第k个节点。先让快指针走k步,然后让两指针同时向后移动,知道快指针遍历完链表结束。 分析 初始情况下,两指针都指向第一个节点,先让fast指针走k步: 我们假设要找倒数第3个节点,fast走3步就指向了第四个节点。 然后两指针开始同时移动:

springcloud微服务架构(eureka、nacos、ribbon、feign、gateway等组件的详细介绍和使用)

目录 一、微服务演变 1、单体架构(Monolithic Architecture) 2、分布式架构 3、微服务 4、 总结 5、微服务架构 5.1、 微服务技术对比 5.2、企业需求 二、spring cloud springCloud与SpringBoot的版本兼容关系 1、服务拆分及远程调用 1.1、服务拆分 1.1.1、服务拆分注意事项 1.1.2、项目实战 1.1.3、总结 1.2、远程调用 1.2.1、远程调用方法 1.2.2、实现远程调用步骤 1)注册RestTemplate 1.3、提供者与消费者 三、Eureka注册中心 1、服务调用出现的问题 2、 Eureka基本原理 回顾之前我们的几个问题: 总结 3、手动实战 3.1、搭建eureka服务注册中心(服务名称) 3.2、注册user-service 将user-service服务注册到EurekaServer步骤: 1、在user-service项目中引入spring-cloud-starter-netflix-eureka-client的依赖 2、在application.yml位置文件中编写配置 总结: 3.3、在order-service完成服务拉取 1.修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口: 2.在order-service项目的启动类OrderApplication中的RestTemplate添加负载均衡注解: 总结 四、Ribbon负载均衡 1、负载均衡流程 源码执行流程: 2、Ribbon负载均衡策略 2.1、 负载均衡策略 2.2、调整负责均衡策略的规则 方式一:代码方式 方式二:配置文件方式 3、Ribbon饿加载 3.1、配置开启配置饥饿加载 总结 1.Ribbon负载均衡规则 2.负载均衡自定义方式 3.饥饿加载 五、Nacos注册中心 1、nacos和eureka对比 2、Nacos下载安装服务注册中心 2.1下载nacos 2.2、解压Nacos 2.2.1、配置端口 2.2.2.启动nacos服务注册中心 3、将服务注册到nacos服务注册中心 总结: 1.Nacos服务搭建 2.Nacos服务注册或发现 4、Nacos服务分级存储模型

【数据分析入门】人工智能、数据分析和深度学习是什么关系?如何快速入门 Python Pandas?

目录 一、前言二、数据分析和深度学习的区别三、人工智能四、深度学习五、Pandas六、Pandas数据结构6.1 Series - 序列6.2 DataFrame - 数据框 七、输入、输出7.1 读取/写入CSV7.2 读取/写入Excel7.3 读取和写入 SQL 查询及数据库表 八、调用帮助九、选择(这里可以参考上一篇文章的 Numpy Arrays 相关部分)9.1 取值9.2 选取、布尔索引及设置值9.2.1 按位置9.2.2 按标签9.2.3 按标签/位置9.2.4 布尔索引9.2.5 设置值 十、删除数据十一、排序十二、查询序列与数据框的信息12.1 基本信息12.2 汇总 十三、应用函数十四、数据对齐14.1 内部数据对齐14.2 使用 Fill 方法运算 十五、后记 本文详细介绍了人工智能、数据分析和深度学习之间的关系,并就数据分析所需的Pandas库做了胎教般的入门引导。祝读得开心! 一、前言 本文是原 《数据分析大全》、现改名为 《数据分析》 专栏的第二篇,我在写这篇文章的时候突然意识到——单靠我是不可能把数据分析的方方面面都讲得明明白白,只是是我自己知道什么,然后再输出我所明白的知识罢了。所以《数据分析大全》的“大全”两个字还真是担不起,就改成 《数据分析》 了。 本篇主要介绍数据分析中 Python Pandas 相关知识点,打算通过这一篇帮助大家顺利入门Python Pandas,掌握基本的用法和思想。 上一期《数据分析大全》——Numpy基础可能讲的太过侧重代码而忽略了讲解,如果是还未入门的小白可能看完都不知道讲了啥、为什么要讲这些。 实用性强和门槛低才是好文章的必要因素,像之前的那一篇就太过强调实用了。结果文章是简短了,可除了已经入门或从事相关工作的同行外,没几个能明白讲了啥的。因此,本篇吸取之前的教训,在交稿前又认真地完善了文章的措辞,加上段落间的衔接和引例等语句,方便小白也能看懂。 让我先来填一下上期的坑,聊聊数据分析和深度学习都有什么区别和联系。 二、数据分析和深度学习的区别 数据分析也好,深度学习也罢,都是一种新的技术,而新技术的产生则是为了解决现实中遇到的问题。我们可以姑且把现实问题分为简单问题和复杂问题。简单问题,只需要简单分析,我们使用数据分析就够了。而复杂问题,则需要复杂分析,我们这才使用机器学习。 ——那什么是简单问题,什么是复杂问题呢? 简单问题就比如是今年学院奖学金的评选情况、今天公司的业绩这类问题,数据量不是很大,我们就用数据分析。 而我们天天使用的某宝、某东这类购物APP,它会根据你的历史购物习惯(这里面有着海量的数据),来给推荐你可能感兴趣的商品。那是如何做到的呢?对于这种复杂问题,这类APP背后使用的就是机器学习以及相应的推荐算法。 三、人工智能 人工智能的范围很广,广义上的人工智能泛指通过计算机(机器)实现人的头脑思维,使机器像人一样去决策。 机器学习是实现人工智能的一种技术。在机器学习分很多方法(算法),不同的方法解决不同的问题。深度学习是机器学习中的一个分支方法。 总结一下:人工智能、机器学习和深度学习的关系是:人工智能包含机器学习,机器学习包含深度学习(方法),即数据分析>机器学习>深度学习>机器学习。 四、深度学习 深度学习在图像,语音等富媒体的分类和识别上取得了非常好的效果,所以各大研究机构和公司都投入了大量的人力做相关的研究和开发。 举个众人皆知的例子,那就是2016年谷歌旗下DeepMind公司开发的阿尔法围棋(AlphaGo)战胜人类顶尖围棋选手。阿尔法围棋的主要工作原理就是“深度学习”。 五、Pandas 咳咳,扯远了,本篇文章要讲的Pandas还没说呢。 在学习任何东西之前,我们都应该明白两个问题——它能干什么?我能用它做什么? 我相信肯定有人和我在入门数据结构时一样,对这个叫“Pandas”的库有很多问题——Pandas是什么?Pandas一词是怎么来的?Pandas是做什么的?…让我们来一起解决这些困惑。 首先,Pandas是什么?是Panda→熊猫吗? 这听起来很Cool…但很显然我们不可能用熊猫来帮助我们进行数据分析的工作。其实,Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。

【分布式流控组件 Sentinel 快速入门】——图文详解操作流程

💧 分布式流控组件 S e n t i n e l 快速入门 \color{#FF1493}{分布式流控组件 Sentinel 快速入门} 分布式流控组件Sentinel快速入门💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 💧 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 💐 🥣 《每天一点小知识》专栏的文章可以丰富你的知识库,滴水成河~ 🌊 🎐 《Redis》专栏的文章是在学习Redis时,整理的笔记与记录的思考~ 🥏 🥕 《RabbitMQ》专栏的文章是在学习尚硅谷课程时整理的笔记,方便复习巩固~ 🍑 🪁 希望本文能够给读者带来一定的帮助~🌸文章粗浅,敬请批评指正!🐥 文章目录 🐳Sentinel快速入门:图文讲解操作流程1. Sentinel简介2. 安装Sentinel控制台3. @SentinelResource注解4. Sentinel的使用配置5. Sentinel流控规则6. Sentinel服务降级7. Sentinel热点key限流8. Sentinel系统规则9. 总结 🐳结语 🐳Sentinel快速入门:图文讲解操作流程 1. Sentinel简介 Sentinel是阿里巴巴开源的分布式系统的流量控制组件,旨在保护分布式系统在高并发和故障情况下的稳定性。它提供了实时的流量控制、熔断降级、系统负载保护等功能,是微服务架构中不可或缺的一环。 2. 安装Sentinel控制台 💧Sentinel控制台是Sentinel的管理工具,可以帮助您监控和管理Sentinel的各种规则和限制。安装步骤如下: 下载Sentinel控制台的jar包运行命令:java -jar sentinel-dashboard-xxx.jar 启动nacos作为服务注册中心 3. @SentinelResource注解 💧注解@SentinelResource用于标记受Sentinel保护的资源,可以定义资源的限流和降级策略。 @SentinelResource(value = "protectedResource", blockHandler = "handleBlock", fallback = "

web期末作业设计网页:动漫网站设计——哆啦A梦(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 动漫网页设计作业 web网页设计与开发 html实训大作业

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜欢的可以下载! 嗨,欢迎来到深巷积木青春的小店。这篇文章主要讲解HTML5+CSS3制作网站,请一起学习吧。 作品目录 一、📚网站介绍 二、🔗网站效果 🧩1.图片演示 三、💒网站代码 二、📚网站介绍 📔网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。 📓网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站的效果。 📘网站素材方面:计划收集各大平台好看的图片素材,并精挑细选适合网页风格的图片,然后使用PS做出适合网页尺寸的图片。 📒网站文件方面:网站系统文件种类包含:html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件; 📙网页编辑方面:网页作品代码简单,可使用任意HTML编辑软件(如:​​Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++​​​ 等任意html编辑软件进行运行及修改编辑等操作)。 其中: (1)📜html文件包含:其中index.html是首页、其他html为二级页面; (2)📑 css文件包含:css全部页面样式; (3)📄 js文件包含:js实现动态轮播特效, 表单提交, 点击事件等等(个别网页中运用到js代码)。 三、🔗网站效果 四、💒代码展示 代码说明:以下仅展示部分代码供参考~ 🧱HTML结构部分代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="

Stable Diffusion最全保姆级安装教程(建议收藏)

Midjourney 因细致的画图风格备受大家的欢迎,但由于其网络环境以及会员费,导致入门门槛过高,拦住了很多对AIGC感兴趣的小伙伴。 今天阿良就教大家,不需要魔法,也不用交会员费,尽情玩转AI出图的保姆级安装教程,建议收藏。 一、优势 对于Midjourney 高额的会员费,SD的高性价比成为了大多数人的选择 不需要魔法,想怎么玩就怎么玩 SD虽然免费,但是吃显存,有条件的建议显存配置拉到最高(一次性买卖,总比每个月给MJ交钱性价比高,作为长期使用的工具,投入还是值得的) 二、软件准备 1、在整个安装过程中,我们需要用到以下软件: Python 3.10.6,一定要用这个版本!! Git 一键启动器 软件可以到官网上自行下载,不会下载的也没关系,阿良已经帮你们把软件打包下载好了。 领取方法: 需要安装包的可以关注我后台丝 三、软件安装 3.1、安装Python 1、运行exe安装包,打开安装界面,注意把Add Python to PATH选项勾上,然后选择自定义安装 2、点击Next 3、选择自定义安装路径后,点击安装 4、等待安装完成 5、安装成功 6、点击Win+R,输入cmd,在打开界面命令行中输入 Python -V,显示 Python 3.10.6 就表示安装成功 7、在命令行输入python -m pip install --upgrade pip将pip生到最新版 升级过程中有可能会遇到报错,不用管,多试几次,实测第二次执行命令就成功了 3.2、安装Git 1、运行exe安装包,点击Next 2、选择自定义安装路径,然后点击Next 3、安装完成 4、在cmd中输入git --version,显示git version 2.XX.0.windows.1就表示安装成功 3.3、下载SD源码 找一个磁盘空间大一点的地方,作为SD的存储目录,至少20G以上,目前我什么都没做,光安装完成就用了13G多 1、创建SD存储文件夹 2、打开你的文件夹,然后在地址栏输入cmd后回车,进入命令行界面,注意:这边打开cmd界面的时候,需要用管理员命令打开,不然会提示连不上git 3、在命令行输入git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 将源码下载到你的文件夹中 4、安装后,启动项目,这里推荐B站秋葉大大的启动器,一键启动/修复/更新/模型下载管理全支持,我也帮大家整理好了 5、运行启动器运行依赖exe文件,进行安装 6、解压启动器zip文件,将里面的两个文件复制到SD源码的根目录下 7、点击A启动器进行启动,点击一键启动,这里需要等待比较长的时间,大概一个小时左右 8、启动成功后,会自动打开 http://127.0.0.1:7860 页面,这是就表示启动成功了 3.4、汉化 1、依次点击Extensions --> Available --> Load from加载插件列表,将Hide extensions with tags下的localization勾掉

外部排序算法总结

一.内排总结 在之前博客里,博主已经介绍了各种内部排序算法的原理和C语言代码实现,不懂的朋友可以在同系列专栏里选择查看,今天介绍常见排序算法的最后一点,也就是外部排序。在此之前,我们先对外部排序的各种算法做一下简单的总结。 算法种类时间复杂度(最好)时间复杂度(最坏)时间复杂度(平均)空间复杂度稳定性折半插入排序O(n)O(n2 )O(n2 )O(1)是直接插入排序O(n)O(n2 )O(n2 )O(1)是希尔排序------------O(1)否冒泡排序O(n)O(n2 )O(n2 )O(1)是快速排序O(nlog2 n)O(n2 )O(nlog2 n)O(log2 n)否简单选择排序O(n2 )O(n2 )O(n2 )O(1)否堆排序O(nlog2 n)O(nlog2 n)O(nlog2 n)O(1)否2路归并排序O(nlog2 n)O(nlog2 n)O(nlog2 n)O(n)是基数排序O(d(n+r))O(d(n+r))O(d(n+r))O®是 针对每种排序算法的效率差别,我已经总结在上面的表格里了,同时我后面还写了一份针对408范围内的所有数据结果和算法的效率分析专项总结,大家可以期待一首。 二.外部排序 1.外排概念 前面介绍过的排序方法都是在内存中进行的(称为内部排序)。而在许多应用中,经常需要对大文件进行排序,因为文件中的记录很多,无法将整个文件复制进内存中进行排序。因此,需要将待排序的记录存储在外存上,排序时再把数据一部分一部分地调入内存进行排序,在排序过程中需要多次进行内存和外存之间的交换。这种排序方法就称为外部排序。 2.排序方法 文件通常是按块存储在磁盘上的,操作系统也是按块对磁盘上的信息进行读写的。因为磁盘读/写的机械动作所需的时间远远超过内存运算的时间(相比而言可以忽略不计),因此在外部排序过程中的时间代价主要考虑访问磁盘的次数,即I/O次数。 外部排序通常采用归并排序法。它包括两个阶段:①根据内存缓冲区大小,将外存上的文件分成若干长度为l的子文件,依次读入内存并利用内部排序方法对它们进行排序,并将排序后得到的有序子文件重新写回外存,称这些有序子文件为归并段或顺串;②对这些归并段进行逐趟归并,使归并段(有序子文件)逐渐由小到大,直至得到整个有序文件为止。 3.举例说明 用上面这个例子来说明,我们假设左边是外存中的待排序序列,右边是我们的内存。(这里我们只是举例,实际上用到外部排序时,外存数据量非常庞大,这里只是演示。)这里涉及一部分操作系统的知识点,但都是计算机专业,应该都学过,内存的数据修改完之后是要写回外存的,所以我们这里有两个输入缓冲区和一个输出缓冲区,输入缓冲区用来读入磁盘数据,输出缓冲区用于把数据写回磁盘。 由于我们的外部排序是基于归并排序算法的,归并排序算法要求初始序列有序,所以这里我们在开始外部排序之前(或者说正式排序之前也就是叫预排序),我们需要构造初始有序序列。我们首先从磁盘读取两个块数据进入内存,然后在内存中对这两个块的数据进行某一种内部排序。 针对本例的前两个数据块,当排序结果写满一个输出缓冲区时,我们把输出缓冲区的数据写回外存。以此类推,预排序就是把外存的数据每两个块读入内存后排序,排序后写回结果。这里的几个块一读是基于内存中输入缓冲区的个数有关,它的选取和外部以及内部空间的大小有关。 预排序后的结果应该是这样的: 接下来我们的外存中就存在初始有序序列了,所以可以开始进行正常的归并排序了。这里注意,预排序是两个数据块一读,所以两个数据块就形成了一个初始子序列哦,这里只有8个初始子序列哦。接下来把子序列1和子序列2的第一块分别读入输入缓冲区,开始内部排序,还是一样,输出缓冲区已满我们就写回外存。这里还有一点注意哦,当某个时刻比如输入缓冲区1的数据完了,我们不是把输入缓冲区2的数据直接填到输出缓冲区,而是把原来子序列后面的数据块读入内存哦(假设我们这里使用的内部排序算法也是归并排序),这样两个子序列是不是又合并成了一个大的子序列。然后两个大的子序列又可以合并成一个更大的序列,直到最后只有一个序列表示我们外部排序完成。 4.效率分析 我们应该知道,这里影响时间效率的最大因素其实是I/O口的读取次数,内部排序的时间相较于I/O口的读取的读取时间是很少的。所以如果我们想要提高外部排序的时间效率,那么就得想办法减少I/O口的读取次数。 一般地, 对r个初始归并段,做k路平衡归并,归并树可用严格k叉树(即只有度为k与度为0的结点的k叉树)来表示。第一趟可将r个初始归并段归并为 ⌈ r / k ⌉ \lceil{r/k}\rceil ⌈r/k⌉ 个归并段,以后每趟归并将m个归并段归并成 ⌈ m / k ⌉ \lceil{m/k}\rceil ⌈m/k⌉个归并段,直至最后形成一个大的归并段为止。树的高度-1 =「logr1=归并趟数S。可见,只要增大归并路数k,或减少初始归并段 个数r,都能减少归并趟数s,进而减少读写磁盘的次数,达到提高外部排序速度的目的。 三.败者树 上节讨论过,增加归并路数k能减少归并趟数s,进而减少I/O次数。然而,增加归并路数k时,内部归并的时间将增加。做内部归并时,在k个元素中选择关键字最小的记录需要比较k-1次。每趟归并n个元素需要做(n-1)(k-1)次比较,s趟归并总共需要的比较次数随k增长而增长。因此内部归并时间亦随k的增长而增长。这将抵消由于增大k而减少外存访问次数所得到的效益。因此,不能使用普通的内部归并排序算法。为了使内部归并不受k的增大的影响,引入了败者树。 败者树是树形选择排序的一种变体,可视为一棵完全二叉树。k个叶结点分别存放k个归并段在归并过程中当前参加比较的记录,内部结点用来记忆左右子树中的“失败者”,而让胜者往上继续进行比较,一直到根结点。若比较两个数,大的为失败者、小的为胜利者,则根结点指向的数为最小数。 这是实现一个5路归并的败者树的例子。 可见,使用败者树后,内部归并的比较次数与k无关了。因此,只要内存空间允许,增大归并路数k将有效地减少归并树的高度,从而减少I/O次数,提高外部排序的速度。值得说明的是,归并路数k并不是越大越好。归并路数k增大时,相应地需要增加输入缓冲区的个数。若可供使用的内存空间不变,势必要减少每个输入缓冲区的容量,使得内存、外存交换数据的次数增大。当k值过大时,虽然归并趟数会减少,但读写外存的次数仍会增加。 四.置换-选择排序(生成初始序列) 减少初始归并段个数r也可以减少归并趟数S。若总的记录个数为n,每个归并段的长度为l,则归并段的个数r=「nll 1。采用内部排序方法得到的各个初始归并段长度都相同(除最后一段外),它依赖于内部排序时可用内存工作区的大小。因此,必须探索新的方法,用来产生更长的初始归并段,这就是本节要介绍的置换-选择算法。 设初始待排文件为FI,初始归并段输出文件为FO,内存工作区为WA, FO和WA的初始状态为空,WA可容纳w个记录。置换选择算法的步骤如下: 1)从FI输入w个记录到工作区WA。2)从WA中选出其中关键字取最小值的记录,记为MINIMAX记录。3)将MINIMAX记录输出到FO中去。4)若FI不空,则从FI输入下一个记录到WA中。5)从WA中所有关键字比MINIMAX记录的关键字大的记录中选出最小关键字记录,作为新的MINIMAX记录。6)重复3) ~5),直至在WA中选不出新的MINIMAX记录为止,由此得到一个初始归并段,输出一个归并段的结束标志到FO中去。7)重复2)~6),直至WA为空。由此得到全部初始归并段。 五.最佳归并树 文件经过置换-选择排序后,得到的是长度不等的初始归并段。下 面讨论如何组织长度不等的初始归并段的归并顺序,使得I/O次数最少?

Go语言在人工智能时代的崭露头角:为何越来越多公司选择使用Go语言?

🌷🍁 博主猫头虎 带您 Go to Golang Language.✨✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 Golang Go语言在人工智能时代的崭露头角:为何越来越多公司选择使用Go语言?1. 引言2. 简洁的语法和易用性3. 高效的并发编程4. 出色的性能5. 内置的工具和标准库6. 适用于大规模项目6.1微服务架构 7. 跨平台支持7.1 跨平台开发 8. 社区和生态系统8.1 教育和学习资源 9. 实际成功案例9.1 云原生应用开发9.2 人工智能与机器学习9.3 物联网(IoT)9.4 安全性 10. 未来展望11 缺点和局限性12. 人工智能时代Go语言的流行1. 并发处理与高性能2. 跨平台和移动开发3. 快速开发与易用性4. 物联网和嵌入式系统5. 开源社区和工具支持6. 未来的发展和创新 小结13. 结论14. 参考文献 Go语言在人工智能时代的崭露头角:为何越来越多公司选择使用Go语言? 当今软件开发领域,Go语言(又称Golang)正逐渐崭露头角,越来越多的公司开始选择使用它作为其主要的编程语言。这一现象不仅仅是一时的潮流,而是基于Go语言独特优势的深思熟虑的决策。本文将从多个角度全面解读为什么越来越多的公司开始使用Go语言,并探讨其背后的原因。 1. 引言 Go语言是一门由Google开发的开源编程语言,于2009年首次亮相。其初衷是为了解决现有编程语言在开发大规模项目时的一些问题,例如复杂的语法和低效的并发处理。随着时间的推移,Go语言逐渐赢得了开发者的青睐,成为众多公司选择的首选语言之一。 2. 简洁的语法和易用性 Go语言的语法设计简洁而富有表达力,使得开发者能够更加专注于问题的解决,而不是语法的细节。例如,Go语言的函数定义和变量声明都非常直观,如下所示: func calculateSum(a int, b int) int { return a + b } var result = calculateSum(5, 3) 这种清晰的语法使得代码易于阅读和维护,降低了开发团队的沟通成本。

全网最详细的TVBOX带会员版二开图文教程:一、tvbox如意前端后台搭建教程;二、tvbox后台配置教程;三、tvbox源码Android Studio配置修改教程;四、tvbox源码as打包教程

一、TVBOX管理后台源码网站搭建; 搭建测试环境:PHP7.0、Nginx、按照好宝塔、配置解析好域名 1、请将下载好的tvbox源码压缩包进行解压,解压后得到的问题件如图所示 2、请将压缩包内的如图所指文件(1)上传到你的网站跟目录(记得是网站跟目录)并解压 3、请把以下文件修改为你自己的数据库:/include/db.config.php 4、itvbox_20230410_095638.sql数据库文件导入你的数据库(千万不能漏掉) 5、使用:您的域名+/admin/ 就可以访问你的tvbox如意管理后台啦!!! 用户:admin 密码:123456 (密码文件在:admin\userdata.php进行修改) 6、tvobx的源配置(就是点击首页跳出来的那些源):app里面的json文件就是对接的源,修改这个json文件,就可以配置不同的源 json文件第一行的******修改为你的实际域名 (tvbox如意后台的域名) (注意看app文件里啊里面有没有app.php这个文件) tvbox直播地址对接 等号后面的对应的是直播的路径: base64加密以后放在=号后面;网址后面不要带/ 格式为:例如http://*****/aap/tv.txt jar文件名要和实际的jar文件对应 二、tvbox的如意前端管理后台配置: 1、tvbox源的调用:json文件可以是你自己的,也可以是来自网络的 2、苹果cms源对接 扩展信息处:****/api.php/app/ app/App.php文件复制到苹果CMS 的application/api/controller里面即可 三、Android Studio(AS)配置修改教程: 1、签名,包名、版本的修改 Gradle Scripts:build.gradle(Module.app) 版本修改 包名修改: App/src/main/res/values/strings.xml修改app名称 app/src/main/java/com/github/tvbox/osc/util/Hawkconfia 如意链接地址 其他图片更换搜png换应用图标 app启动墙纸更换lanch_bg2.webp 四、tvbox源码as打包教程: tvbox如意客户端管理后台地址用base64加密后替换下图部分 网址后面不要带/ 2、将如意的APPKEY换掉这里的key 3、然后打包生成APK就可以啦!!!! 五、打包好的客户端大概样子如下,如果需要修改可以自行在AS修改打包就行 使用方法:点击首页就可以换源 好!我们就交流到这里,有未详尽的地方换源留言补充。 ———源码在第一张图片中———

前端:地图篇(一)

1、前言 在很多的出行程序中,都会使用到地图这一个功能,在实际的开发中我们也不会去开发一个自己的地图模型。如果自己开发一个地图模型,那么需要投入的成本、人力都是非常巨大的。所以我们很多网站和APP中使用的都是第三方的接口和JS,在案例中我们使用百度地图作为第三方。 2、工具准备 1、我们既然要使用第三方的功能,所以我们需要在百度中有一个账号。 点击这里,可以跳转到百度注册页面 2、其次呢,我们需要在百度地图开放平台申请开通开发者功能。 点击这里,可以跳转到百度地图开放平台 3、进入控制台后,进入应用管理 -> 我的应用 -> 创建应用,申请一个AK, 这个AK很重要,是访问百度相关API的密钥(用户标识)。 4、申请AK。 5、填写好相应的信息提交,分类要选择好,服务端对应的是后台程序,浏览器端对应的是前端程序,其他的分类也可以从字面意思了解得出来。 申请好AK后,我们就可以开始使用百度地图API了。 3、百度地图基本操作 使用百度地图的时候,我们要明白一点,百度已经为我们生成了地图模板,我们只需要添加相应的组件和相应的事件功能就可以了。 3.1、展示地图 因为百度已经为我们设计好了地图模板,所以我们可以使用HTML,也可以使用Vue等框架。这里我们使用基础的HTML。 3.1.1、创建HTML文件 创建一个简单的HTML文件,写一个ID为container的DIV。 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Baidu Map </title> <style type="text/css"> html{height:100%} body{height:100%;margin:0px;padding:0px} #container{height:100%} </style> </head> <body> <div id="container"></div> </body> </html> 3.1.2、引入百度地图JS 在引入百度地图的JS时,我们就需要使用到我们申请的AK。 <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=您的密钥"></script> 3.1.3、编写JS脚本 在我们引入百度地图的JS后,我们就需要自定义JS,将地图模板放入定义的container容器中。 <script> let map = new BMapGL.Map("container"); // 创建地图实例 let point = new BMapGL.

【2024大数据专业毕业设计必过选题】100个大数据专业毕设选题免费详细讲解,大数据毕业生必看毕设选题、创新点,hadoop/spark/hive/实时数据分析选题指导

2024年大数据专业毕设必过选题 选题注意事项: (1)数据是否能够获取 (2)工作量是否满足毕设要求 (3)代码是否通俗易懂,能否在短期内掌握 (4)选题是否具有现实意义,创新点 (5)个人电脑硬件是否支持运行大数据项目 大数据毕设项目主要流程: (1)大数据环境搭建:虚拟机搭建(分布式、伪分布式)、Hadoop、Hbase、Zookeeper、Hive、Hbase、Kafka、Flume等组件的安装 (2)数据获取与清洗:爬虫、公开渠道获取等 (3)数据分析:选择合适的大数据分析技术 (4)数据挖掘:聚类、预测、推荐等 (5)可视化展示:大屏、导航栏跳转等 一、Hive数据仓库相关选题 Hive数据仓库项目的核心仓库分层:ODS(源数据层)、DWD(数据明细层)、DWS(数据汇总层)、ADS(数据应用层) (1)基于hive的民宿价格分析系统 选题意义:在消费升级背景下,消费转型、消费提升成为新的研究热点.当前,中国旅游市场在加速复兴中,新型优质的中高端旅游产品推动旅游市场的迅速恢复.近两年民宿标准化文件相继出台,民宿行业对民宿评级工作的有序开展,使得民宿业进入了转型升级通道,也为民宿的理论研究创造出有利的条件。利用Hadoop、Hive、MapReduce等技术为用户解决在民宿选择问题,通过对用户所提供房屋的容纳人数、便利设施、洗手间数量、床的数量、卧室数量等相关信息,来进行可视化展示,更加详细的面向用户,更加清晰的展示当前房屋情况,为用户提供最合理的价格方案,该系统的设计目标是为用户提供可靠的可视化数据分析服务。 创新点:(1)对Hive数据仓库进行分层建设 (2)聚焦热点领域,较强的现实意义 (3)可视化大屏展示 技术路线: 1、数据爬取:基于python爬取去哪网相关民宿信息,并进行数据清洗 2、数据分析:基于Hive数据仓库进行数据存储和分析,分析维度包括:民宿价格均值、民宿评分排名、各区域民宿数量、民宿简介词云、民宿均价等 3、数据迁移:Sqoop 4、数据可视化:springBoot+echarts+MySQL可视化 (2)基于hive的厨具用品数据分析可视化 选题意义:目前智能手机随处可见,各种年龄段的人群都可以在网络上随心所欲的购买商品。巨量电商数据的存储及分析成为了人们普遍关注的话题。在大批量数据的计算场景中,时效性低的离线数据仓库是大多数业务的首要选择。 依托Hadoop大数据平台,基于Hive数据仓库对电商网站中厨具用品销售数据进行分析。以可视化大屏的形式对分析结果进行可视化展示。首先运用Python技术爬取京东网站厨具用品销售数据,爬取的数据存储至HDFS文件系统。基于Hive数据仓库和HiveSQL工具对数据进行分析。运用Sqoop数据迁移工具,将分析完成的数据迁移至MySQL数据库。最后,以SpringBoot、MyBaties、Echart等技术构建可视化大屏,将分析结果以可视化图表的形式进行展示。 创新点:(1)对Hive数据仓库进行分层建设 (2)聚焦热点领域,较强的现实意义 (3)可视化大屏展示 技术路线: 1、数据爬取:基于python爬取京东网站相关厨具销售信息,并进行数据清洗 2、数据分析:基于Hive数据仓库进行数据存储和分析,分析维度包括:品牌平均销量、商品好评率分析、用户来源、销售标题词云、品牌价格、产品销量 3、数据迁移:Sqoop 4、数据可视化:springBoot+echarts+MySQL可视化 (3)基于Hive的天气数据分析系统的设计与实现 选题意义:随着互联网、计算和存储技术的快速发展,气象部门存储的气象数据量日益剧增,我国每年新增的气象资料达到PB量级,同时气象数据类型相对复杂,这使得传统的数据存储和处理技术不能很好解决目前用户的需求。当前国内外许多研究团队都致力于归纳分析这些海量数据,并从中挖掘出具有现实意义的气象规律或模式。近几年,云计算技术作为互联网领域的新产物,它为海量数据存储和处理提供了新的契机,它在海量数据挖掘技术领域中具有显著的优势,且已经得到了广泛的应用。 创新点:(1)对Hive数据仓库进行分层建设 (2)聚焦民生领域,较强的现实意义 (3)可视化大屏展示 技术路线: 1、数据爬取:基于python爬取中国天气网站某城市历史天气信息,并进行数据清洗 2、数据分析:每个月的不同天气占比,气温变化情况研究,不同天气类型在本年出现的占比,不同风向类型在本年出现的占比,风力级别的分布占比,天气和风向的关系,天气和风力的关系 3、数据迁移:Sqoop 4、数据可视化:springBoot+echarts+MySQL可视化 (4)基于Hive的高校资产管理系统(工作量较大) 选题意义:如今高速发展的社会科技发达信息流通,人们的交流密切,生活也越来越方便,大数据就是这个高科技时代的产物。而数据中台可以整合加工数据使数据服务可视化,让数据价值变现,所以此次将就高校资产数据中台的数据资产智能采集展开研究。本课题研究的高校资产数据中台将重点关注于高校固定资产的智能分析及展示,以确保数据的丰富与完善并使数据管理易用。 创新点:(1)对Hive数据仓库进行分层建设 (2)运用Hive数据仓库进行数据储存 (3)数据上传、查询实现自动化 技术路线:数据储存:MySQL+Hive 系统搭建:SpringBoot+MyBaties+JSP+Layui 主要功能:用户信息管理、权限管理、数据管理、系统管理、资产查询等。 题目推荐: 基于hive的太原共享单车数据分析与实现(难度系数:⭐⭐⭐) 基于Hive的外汇交易数据分析与研究(难度系数:⭐⭐) 基于hive的垃圾分类大数据可视化(难度系数:⭐⭐) 基于hive的网络电视剧收视率与推荐分析的设计与实现(难度系数:⭐⭐⭐) 基于Hive的智慧社区建设方向的研究与分析(难度系数:⭐⭐⭐) 基于Hive的海鲜交易数据分析系统的设计与实现(难度系数:⭐⭐) 基于hive的boss直聘平台薪资数据分析(难度系数:⭐⭐⭐) 基于Hive的新能源汽车数据分析(难度系数:⭐⭐⭐) 基于Hive的小米产品销售数据分析(难度系数:⭐⭐) 基于Hive数据仓库的物流大数据平台的研究与设计(难度系数:⭐⭐⭐) 二、Hadoop/MapReduce相关选题 该类题目主要应用三个方向:(1)基于Hadoop、HDFS的特点,完成海量数据的储存(工作量较大)。(2)基于MapReduce计算框架的计算能力,进行海量数据分析。(3)基于MapReduce计算框架实现相关算法(算法模型实现、理解难度较大) 2.1 Hadoop数据储存相关题目

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils )

文章目录 一、下载 Hadoop二、解压 Hadoop三、设置 Hadoop 环境变量四、配置 Hadoop 环境脚本五、安装 winutils六、重启电脑七、验证 Hadoop 安装效果 一、下载 Hadoop Hadoop 发布版本在 https://hadoop.apache.org/releases.html 页面可下载 ; 当前最新版本是 3.3.6 , 点击 Binary download 下的 binary (checksum signature) 链接 , 进入到 Hadoop 3.3.6 下载页面 : 下载地址为 : https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz 官方下载速度很慢 ; 这里提供一个 Hadoop 版本 , Hadoop 3.3.4 + winutils , CSDN 0 积分下载地址 : https://download.csdn.net/download/han1202012/88157568 二、解压 Hadoop 解压时 , 不要直接使用 解压工具 解压 , 会报错 ; 在 " 搜索 " 中 , 搜索 cmd , 然后右键点击 命令提示符 应用 ,

java+Mysql 图书管理系统(idea)

目录 前言 部分界面截图 登录界面 注册界面 图书管理界面 关于我们界面 部分代码 登录界面 数据库工具类 前言 jdk 版本:openjdk version "11.0.12" MySql版本:5.7.40 加(vx:lixuanzi99313)帮调试 调试说明:远程协助 源代码:链接:https://github.com/lixuanzi/LibraryMansgementSystem 演示视频 【java+Mysql 图书管理系统 (idea) 附源码】 https://www.bilibili.com/video/BV1hx4y1u7af/?share_source=copy_web&vd_source=dd4a926a8cb08f13ae20e4d7331b51ca 部分界面截图 登录界面 注册界面 图书管理界面 关于我们界面 部分代码 登录界面 package com.lizixuan.ui; import com.lizixuan.component.BackGroundPanel; import com.lizixuan.util.JDBCUtils; import com.lizixuan.util.PathUtils; import com.lizixuan.util.ScreenUtils; import com.lizixuan.verification.Login; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.sql.Connection; import java.sql.SQLException; public class ApplicationMainInterface { JFrame jFrame = new JFrame("图书管理系统"); final int WIDTH = 600; final int HEIGHT = 400; // 组装视图 public void init() throws Exception { // 设置窗口居中 jFrame.