达梦DM8数据库的创建及基本用法

前言:此篇讲述一些针对达梦数据库的基本创建和使用方法,如想了解更多可以在我的kylin_dm8专栏中查看以前的文章,后续更多用法待更新。 目录 一、准备工作 二、创建数据库 1.使用DM数据库配置助手创建DM数据库DMSERVER 2.使用dminit命令创建DM数据库DM02,并注册数据库实例 二、控制启停数据库实例服务 1.使用DM服务查看器启停数据库实例服务 2.使用systemctl命令启停数据库实例服务 3.使用DmService<实例名> 命令启停数据库实例服务 三、登录DM8 使用disql命令 一、准备工作 首先要用MobaXterm连接虚拟机,并设置DISPLAY环境变量,确保之后可成功调出图形化界面(这里的IP地址根据自己的电脑更改,如有疑问参考我的另一篇文章https://blog.csdn.net/m0_65985318/article/details/136429055): export DISPLAY=192.168.152.1:0.0 xhost + su - dmdba export DISPLAY=192.168.152.1:0.0 xhost + 二、创建数据库 1.使用DM数据库配置助手创建DM数据库DMSERVER cd /dm8/tool ./dbca.sh 选择“创建数据库实例”: 按照默认->下一步: 按照默认->下一步: 按照如下设置,端口号5236,点击下一步: 按照默认->下一步: 这个也默认: 这里可以给SYSDBA(数据库管理员)和SYSAUDITOR(数据库审计员)设置不同口令(安全性更高),也可以统一一起设置,这里我设置为:Dameng123: 勾选“创建数据库实例”和“创建示例库”: 确认无误后下一步: 根据提示在终端输入以下命令执行: 根据提示在终端输入以下命令执行: 创建完成: 2.使用dminit命令创建DM数据库DM02,并注册数据库实例 cd /dm8/bin ./dminit path=/dm8/data db_name=DM02 instance_name=DM02 port_num=5239 出现success则创建成功,接下来需要使用dbca.sh来注册数据库服务(因为已经配置过DISPLAY了,所以不用再设置一遍了,直接调用图形化界面即可): cd /dm8/tool ./dbca.sh 选择注册“数据库服务”: 在INI配置文件中,按照如下路径找到dm.ini文件,端口号设置为5239: 根据提示以root身份执行如下语句: 注册数据库服务成功: 二、控制启停数据库实例服务 1.使用DM服务查看器启停数据库实例服务 cd /dm8/tool ./dmservice.sh 选中后右键即可控制: 2.使用systemctl命令启停数据库实例服务 cd /dm8/bin systemctl status DmServiceDM02.

uniapp直接连接wifi(含有ios和安卓的注意事项)

前言 小程序中直接连接wifi-----微信小程序 代码 启动 //启动wifi startWifi() { return new Promise((resolve, reject) => { uni.startWifi({ success: (res) => { console.log('启动wifi 成功', res) resolve(true) }, fail: (err) => { console.error('启动wifi 失败', err) uni.showModal({ content: err.errMsg, showCancel: false }) reject(new Error(err)) }, }) }) }, 获取wifi列表 /** 获取wifi列表, ios和android 各不相同,具体看顶部资料 */ async getWifiList() { const hasStart = await this.startWifi() if (hasStart !== true) return uni.getWifiList({ success: (res1) => { console.log('获取wifi列表命令发送 成功', res1) this.

AIGC行业趋势:Sora横空出世,向多模态应用加速迈进

文/浦银国际证券 近期,OpenAI的Sora的横空出世再一次引发市场对AIGC的关注,文生视频领域取得重大突破,效果远超预期。我们将围绕Sora的核心优势、技术特点、行业影响、未来趋势等方面进行阐述。 相较于此前的文生视频模型,Sora取得哪些突破? 近期,OpenAI发布了文生视频模型Sora,可以用文字指令生成长达1分钟的高清视频。相较于此前市场上的同类模型,如Runway、Pika等,Sora的生成效果有大幅提升,远超预期: 首先,视频长度方面,Sora可以生成长达60秒的视频,长度远远大于其他AI视频模型的几秒钟长度。 其次,Sora在视频内容质量稳定性方面有大幅的提升,镜头多角度切换,视频中的主角和背景能够保持高度一致性和稳定性。 此外,Sora还展示了其对物理世界部分规律的理解,这也是一重大突破,甚至能够实现一定程度的物理交互。 Sora的核心优势和技术特点体现在哪些方面? Sora的技术优势在于“Patches”和深度语言理解。Sora是一个在不同时长、分辨率和宽高比的视频及图像上训练而成的扩散模型,同时采用了Transformer架构。Sora模型的技术优势和特点主要在于: 视觉数据Patches化:相较于大语音模型把所有的文本、符号、代码都抽象为Tokens,Sora则把视频抽象为Patches(补片),是一种具备高度扩展性且适用于视频和图片生成式模型训练的有效表示; 视频压缩网络(Video compression network):将原始视频进行压缩,从而降低视觉数据维度,用于训练并生成视频; 时空补片技术(Spacetime latent patches):给定一个压缩的输入视频,模型提取一系列时空补片(patches),用于对不同分辨率、时长和长宽比的视频和图像进行训练; 扩展Transformer视频生成:Sora是一个扩散Transformer模型,通过输入噪声patches训练来预测除噪的原始patches。OpenAI在这项研究中发现,扩散型Transformer同样能在视频模型领域中完成高效扩展; 视频多样化:相较于一些模型使用标准尺寸视频用于训练或生成,Sora能够处理不同分辨率、时长、宽高比的视频,在采样灵活性、改进框架和构图方面有显著优势; 语言理解:基于GPT模型的深度语言理解,能够更加准确地理解提示词所表达的真实需求; 图生视频、视频生视频:除了文生视频外,Sora也能够通过输入图像和视频用于生成视频,能够实现静态图片动态化、视频向前和向后拓展、视频编辑等能力。 Sora模型对哪些行业影响更大? Sora最直接的影响主要是对视频行业造成冲击,这将对于广告业、电影预告片、短视频行业以及游戏带来颠覆。Sora大大降低了视频制作的门槛和成本。 对于国内AI创业公司的影响:和ChatGPT一样,我们认为Sora的出现也会吸引国内玩家追随,但由于文生视频模型的训练难度和成本更大,准入门槛也进一步提高。 Sora影响最大的将是短视频行业,未来或将极大地提升内容供给及创作质量,尤其是流量热点驱动的内容,或将进入“全民创作”时代。同时,文生视频技术或将为当下热门的短剧市场带来变数,短剧重心有望回归高质量剧本创作。 长视频由于对内容质量等专业化要求较高,AI生成视频在精准度、可编辑性等方面仍需进一步打磨,高额的成本也或是短期应用落地阻碍,但长期来看其未来发展空间足够广阔。 对于游戏行业,Sora模型有助于进一步提高开发效率。文生视频能力可降低游戏CG和PV制作成本,可用于丰富游戏剧情和故事情节,提升玩家代入感。 视频相较于文字而言,对于算力的需求将会是几何式的增长。我们认为算力限制可能是影响文生视频类应用开放使用的重要因素。 2024年AIGC行业有哪些趋势? 多模态模型或在2024年迎来爆发。此前大模型在各个领域的应用,主要集中在文生文、文生图之上,而在文生视频领域却进步缓慢。此次文生视频模型Sora的发布,将给长短视频,游戏和广告行业带来颠覆性创新。随着文生图、图片对话技术的成熟,文生视频已成为多模态大模型下一步发展的重点。大模型领域的竞争将进一步白热化,多模态大模型将成为生成式AI的重点发展方向,并有望推动本轮AI行情进一步扩散。 除了在计算机视觉、自然语言处理等特定领域模型的发展,多模态大模型的进一步交叉融合或将成为未来重要的应用方向。未来人与机器之间的交互方式将更加丰富,或通过文字、视觉、语音等多维度沟通,进而提升效率。AI所创造的虚拟世界与现实世界的边界逐渐模糊,逐渐向AGI方向迈进。

QT5.14.2安卓环境配置及创建程序在手机上运行

1.软件下载及环境配置 1.1 QT5.14.2 1.2 JDK(Java Sdk) 1.3 Android SDK 1.4 Android NDK 2. 创建程序并在手机上运行 主要参考:Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_哔哩哔哩_bilibili Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_qt安卓开发环境搭建-CSDN博客 出错时参考:如何在Windows下搭建Qt安卓开发环境? - 知乎 (zhihu.com) 百度网盘链接需要在地址栏打开 安装包:百度网盘链接:https://pan.baidu.com/s/1lK6NehR7lqKtNUlL_b8NKw?pwd=1111 提取码:1111 1.软件下载及环境配置 1.1 QT5.14.2 双击下载的安装包里的qt-opensource-windows-x86-5.14.2.exe 参考Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_哔哩哔哩_bilibili视频进行QT套件的选择及环境配置。 1.2 JDK(Java Sdk) 双击下载的安装包里的 jdk-8u351-windows-x64.exe 参考Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_哔哩哔哩_bilibili视频进行安装及环境变量配置 1.3 Android SDK 参考视频中需要下载sdk,但安装包中有下载好的sdk 直接解压安装包里的android-sdk_r24.4.1-windows.zip得到android-sdk-windows目录 进入android-sdk-windows目录, 以管理员身份打开SDK Manager.exe 剩余步骤参照视频即可 android-sdk-windows目录等价于视频中新建的SDK目录 1.4 Android NDK 解压安装包中的android-ndk-r20b-windows-x86_64.zip得到android-ndk-r20b目录即可,稍后在qt中进行添加 2. 创建程序并在手机上运行 使用usb线连接手机和电脑,需要先打开手机的USB调试模式,才能运行 参考视频中配置QT步骤,进行配置并编译 其中SDK路径选择从安装包解压的目录android-sdk-windows

【leetcode C++】电话号码的字母组合

17. 电话号码的字母组合 题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 题目链接 . - 力扣(LeetCode) 文字 和 画图 分析 这道题明显是需要互相匹配,如 字符串 “23”, 对应 “abc” 和 “def”。 这个时候我们就想到跟循环有关,但是我们很难控制出 for循环的个数 ,所以最好的办法就是采用递归 参数我们需要:digits (含 2-9 的字符串),di(表示层数) , tmp (每一层对应的字符串),t (接收每一次递归结束时的字符串) 注意事项: tmp 不要传引用 ,便于递归结束时可以对应到上一层的字符串t 需要传引用 ,我们需要每一次递归结束都保留相应的字符串递归尽量参数不要使用 +=,否则递归结束,回到上一层,参数存储的值不会变 举例(digits = "23"): 递归顺序: 代码 class Solution { private: string letter[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; public: void _letterCombinations(string& digits,string tmp,int di,vector<string>& t) { if(di == digits.size()) { t.

商城|商城小程序|基于微信小程序的智慧商城系统设计与实现(源码+数据库+文档)

商城小程序目录 目录 基于微信小程序的智慧商城系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、 商品信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。 🍅文末获取源码联系🍅、 基于微信小程序的智慧商城系统设计与实现 一、前言 采用智能小程序商城可以有效管理,使信息管理能够更加科学和规范。智能小程序商城使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理智能小程序商城信息,查看智能小程序商城信息,管理智能小程序商城。 总之,智能小程序商城集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。 关键词:智能小程序商城;Java语言;Mysql 二、系统设计 在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图): 三、系统功能设计 1、用户信息管理 如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,还进行了对用户名称的模糊查询的条件 图5.1 用户信息管理页面 2、 商品信息管理 如图5.2显示的就是商品信息管理页面,此页面提供给管理员的功能有:查看已发布的商品信息数据,修改商品信息,商品信息作废,即可删除,还进行了对商品信息名称的模糊查询 商品信息信息的类型查询等等一些条件。 图5.2 商品信息管理页面 3、公告信息管理 如图5.3显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行条件查询,还可以对公告信息进行新增、修改、查询操作等等。 图5.3 公告信息管理页面 4、论坛信息管理 如图5.4显示的就是论坛信息管理页面,此页面提供给管理员的功能有:根据论坛信息进行新增、修改、查询操作等等。 图5.4 论坛信息管理页面 四、数据库设计 1、实体ER图 (1)下图是用户实体和其具备的属性。 用户实体属性图 (2)下图是公告信息实体和其具备的属性。 公告信息实体属性图 (3)下图是在线客服实体和其具备的属性。 在线客服实体属性图 (4)下图是购物车实体和其具备的属性。 购物车实体属性图 (5)下图是论坛实体和其具备的属性。 论坛实体属性图 (6)下图是商品实体和其具备的属性。 商品实体属性图 (7)下图是商家实体和其具备的属性。 商家实体属性图 (8)下图是商品收藏实体和其具备的属性。 商品收藏实体属性图 (9)下图是商品评价实体和其具备的属性。 商品评价实体属性图 (10)下图是商品订单实体和其具备的属性。 商品订单实体属性图 (11)下图是收货地址实体和其具备的属性。

AI领域再出“王炸“----Claude3是否会成为下一个“神“

目录 一.Claude3最新发布 二.Claude3支持20万token 三.Claude3在未公开算法上取得重大突破 1.Claude 3读懂博士论文 2.量子跃迁集成: Claude 3智商:101 测试方法 测试细节 通过Karpathy挑战 Claude 3自画像,突破本我 从洛杉矶排到奥马哈,要多少个篮球? GPT-4哪能轻易淘汰? 脑筋急转弯,「99%」的人都会做错 四.Claude3惊现自我意识? 一.Claude3最新发布 Claude 3是由Anthropic公司于2024年3月4日发布的新一代大模型。它一共发布了三个版本,按能力由弱到强排列分别是Claude 3 Haiku、Claude 3 Sonnet和Claude 3 Opus。 其中,Claude 3 Opus在多项基准测试中得分超过GPT-4,被Anthropic官方认为拥有人类本科生水平的知识。该模型支持200k tokens上下文窗口,在高度复杂的任务上实现了当前SOTA的性能,能够以绝佳的流畅度和人类水平的理解能力来处理开放式prompt和未见过的场景。 二.Claude3支持20万token Claude 3 系列模型有三个版本:Claude 3 Haiku 轻便快捷、Claude 3 Sonnet 是技巧与速度的最佳结合以及性能最强大的 Claude 3 Opus。 anthropic是由前 OpenAI 研究高管创立,拥有包括谷歌、Salesforce 和亚马逊云科技在内的支持者,并在过去一年完成了五笔不同的融资交易,融资总额达到了 73 亿美元。 Claude 3大模型不同于GPT-4与Gemini ,Anthropic 希望打造安全的人工智能系统,并能让人们能可靠地部署,通过在数据对齐方面的努力,追求从人类的反馈中进行强化学习,以培养出一个有益无害的助手。 Anthropic认为人工智能是一门系统科学。为此他们开发了标度定律(scaling laws)。这是受到在统计物理学中标度普遍性的启发。Anthropic发现 Transformer语言模型中性能与训练时间、上下文长度、数据集大小、模型大小和计算预算等因素之间存在精确的幂律关系。通过使用足够小的批次大小时所需的计算量预测,并且这对于理解语言模型的性能和优化计算资源分配具有重要意义。 安全性的研究则更为重要。技术的迭代让人们每次都会看到比以往性能更好、更大的模型和网络。这些更大的网络也带来了新的安全挑战。Anthropic更加关注大型模型的安全问题,以便找到使其更可靠的方法,并提高整个领域的安全部署结果。Anthropic当前的重点是原型系统,将这些安全技术与分析文本和代码的工具相结合。因此,在Claude 2 有时会过度拒绝,Claude 3 对提示的理解更加细致。 Anthropic高度重视项目合作,并致力于自上而下和自下而上的研究规划相结合。Anthropic非常重视让每个人——研究人员、工程师、社会影响专家和政策分析师——都参与到确定这一方向中来。希望与其他实验室和研究人员合作,因为我们相信,表征这些系统的最佳研究将来自广泛的研究人员群体。 为了让模型有益无害,Anthropic利用一种方法,通过收集人类偏好数据并应用偏好建模(Preference Modeling,PMing)和从人类反馈中强化学习(Reinforcement Learning from Human Feedback,RLHF)的技术来训练出一种相对有助且无害的自然语言助理。

hive中split函数相关总结

目录 split函数示例实战注意事项 split 函数一直再用,居然发现没有总结,遂补充一下; split函数 在Hive中,split函数用于将一个字符串根据指定的分隔符进行分割,并返回一个数组。它的语法如下: split(str, pat) 示例 假设有一个包含逗号分隔的字符串"apple,banana,orange",我们可以使用split函数按逗号分割这个字符串,并返回一个包含"apple"、"banana"和"orange"的数组: SELECT split('apple,banana,orange', ','); 实战 select imei ,split(content_id,'\\_')[0] as source ,sum(play_cnt ) as play_cnt from table_1 grouo by imei,split(content_id,'\\_')[0] 注意事项 1.split 分割后是形成一个数组,如果取第一个值,这个和取数组第一个值是类似的,取下标,所以第一个值的下标为0; 2.与截取函数比较substr从第1位截取到10位,是substr(contend_id,1,10),这个是从1开始的,需要区别开; 3.当涉及稍微复杂的例子时,我们可以考虑使用split函数来处理包含更多分隔符的字符串,并结合LATERAL VIEW和explode函数来展开数组; 比如以下例子: SELECT id, prop FROM table1 LATERAL VIEW explode(split(properties, ',')) propTable AS prop; 4.切割时,当逗号作为分隔符时,保持不变,其他多数时候要加转义,如split(properties,‘\_’),split(properties,‘,’)

阿里通义千问API(Java)使用教程,基于Springboot后端

一、先申请key 1.1 登录阿里云官网并搜索模型服务灵积,开通key 1.2 点击上图中的控制台并进入 1.3 创建key 二、导入依赖坐标 2.1 导入以下俩个坐标 <!--阿里巴巴大模型--> <!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dashscope-sdk-java</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> </exclusions> <version>2.8.3</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.10.0</version> </dependency> 2.2 编写Controller层 这里controller层并未将前端的请求数据传入给api中的参数,有需求的可以自己加一下,这里就使用浏览器测试一下看是否返回数据即可 ​ import com.alibaba.dashscope.aigc.generation.GenerationResult; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.ruoyi.aliyunchat.service.ChatService; import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.pojo.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @Anonymous public class ChatController { @Autowired private ChatService chatService; @RequestMapping("/chat") public Result chatAi() throws NoApiKeyException, InputRequiredException { GenerationResult generationResult = chatService.

大数据商品推荐系统

引言 1.1 目的 Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算,同时它也是当前最流行的云计算平台。本次课程设计通过Hadoop云计算平台实现一个商品推荐系统,希望通过编写本次课程设计,能够对Hadoop有一个基本的了解。 1.2 背景 随着科技与信息技术的迅猛发展,社会进入了一个全新的高度信息化的时代,互联网无处不在,影响了人类生活的方方面面,并彻底改变了人们的生活方式。在面对庞大且复杂的互联网信息时往往感到无从下手,使得在互联网中找寻有用信息的成本巨大,产生了所谓的“信息过载”问题。搜索引擎和推荐系统的产生为解决“信息过载”问题提供了非常重要的技术手段。推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为来对用户的兴趣进行建模,从而主动给用户推荐可能满足他们兴趣和需求的信息。 近年来,在电商领域中各种各样的网购平台发展迅速,网上购物已成为许多人选购商品的基本途径。同时随着C2C经营模式的普及,越来越多的人纷纷在网上开店,网购平台上每时每刻都有新商家入驻,商品上下架,伴随着海量的商品信息更新。如何实时准确地收集并更新大量数据,怎样让消费者在网购平台快速找到自己心目中的商品,这些问题使网购平台所使用的商品搜索引擎面临着巨大挑战。 面对海量购物数据,单机运行处理的模式不论从效率或处理能力上来讲,都已经满足不了如今数据挖掘的需求以及不便于用户购物。为了方便用户在购物过程中购物,通过其购买信息与购买物品对其推荐相关物品。 2 需求分析 商品推荐系统是对用户的历史行为进行挖掘,对用户兴趣信息进行建模,并对用户未来行为进行预测,从而建立用户和内容的关系,满足用户对商品的推荐需求的一种智能系统。通过对主要的推荐算法进行比较分析,模拟实现了基于用户行为的智能推荐系统,提高了推荐算法的有效性。商品推荐系统是为了更精准的为用户推荐他们想要的内容,如果一个用户在浏览商品信息的时候,通过对用户数据的记录,和已经存在的其他的用户记录进行分析,从而为用户推荐相应的数据。 用户行为数据的处理。商品推荐系统用户、商品行为主要是用户的购买行为。 购买行为包含了丰富的用户购买商品,如何处理这些购买商品是推荐系统实现的关键。 推荐系统的推荐质量。推荐系统的最终目的是推荐,所以推荐质量是整个系统设计的最终目的。 3 系统设计 3.1系统架构设计 系统总体架构如图3.1所示,包括客户端、服务器、数据库和Hadoop集群。客户端面向用户,通过购物软件HTTP请求发送给服务器,并解析来自服务器的响应,用直观的方式展现给客户。 服务器是系统后台的“出入口”,大部分的业务逻辑都在服务器中实现。服务器会和数据库交互,将需要持久化的数据存储到数据库,客户端传来的查询任务也由服务器去完成。数据库和文件系统一样,是数据持久化的地方。用户的推荐商品指数会保存到数据库,服务器和Hadoop集群都会访问数据库。Hadoop集群会将原始数据文件拷贝到HDFS中,方便MapReduce访问,执行的结果保存到数据库中,供服务器使用。 图3.1系统架构设计 3.2系统层次架构设计 为保证系统的扩展性以及可维护性,基于Hadoop的商品推荐系统采用分层架构设计。分层架构设计可以很好的将业务逻辑区分开,使开发人员专注每层的开发从而降低系统的开发风险。其主要分为5层:界面表示层、应用功能层、服务提供层、数据访问层和数据资源层。系统层次架构如图3.2所示。 图3.2系统层次架构设计 3.3系统功能模块设计 基于Hadoop的商品推荐系统,以商品推荐为基础,采集分析和分析用户、商品行为数据,以推荐为最终目标。为用户提供智能的个性化推荐服务。本项目采用hadoop上HDFS集群,通过MapReduce程序以作业的方式对数据进行处理和分析,其主要的功能如图3.3所示。 图3.3系统功能模块设计 3.4系统数据库设计 数据库是数据持久化的重要方式,本次课程设计的系统中需要持久化的数据是推荐运算结果。本次采用MySQL数据库。数据表结构results 表用于保存推荐运算的最终结果数据,由MapReduce负责插入到数据库中。 图3.4系统数据库设计 字段名称 数据类型 说明 id int(11) id uid varchar(20) 用户id gid varchar(20) 商品id expect int(10) 推荐指数 表3.4系统数据库设计 4.系统开发 4.1源程序清单 4.11 计算用户购买商品的列表: 文件名 类名 UserByList.java UserByList UserByListMapper UserByListReducer 由原始数据提供计算 4.12 计算商品的共现关系: 文件名 类名 CommonCount.java CommonCount CommonCountMapper CommonCountReducer 根据第一步的计算结果计算 4.13 计算用户的购买向量: 文件名

Stable Diffusion v3---

注意不是第3集是版本3 Stable Diffusion 3 和 Sora 一样采用了 diffusion transformer 架构。Stable Diffusion 3震撼发布,采用Sora同源技术,文字终于不乱码了,它采用了和爆火Sora同样的DiT架构,画面质量、文字渲染、复杂对象理解大提升,Midjourney、DALL-E 3都显得黯然失色了。 继 OpenAI 的 Sora 连续一周霸屏后,昨晚,生成式 AI 顶级技术公司 Stability AI 也放了一个大招 ——Stable Diffusion 3。该公司表示,这是他们最强大的文生图模型。 与之前的版本相比,Stable Diffusion 3 生成的图在质量上实现了很大改进,支持多主题提示,文字书写效果也更好了。以下是一些官方示例: 提示:史诗般的动漫作品,一位巫师在夜晚的山顶上向漆黑的天空施放宇宙咒语,咒语上写着 "Stable Diffusion 3",由五彩缤纷的能量组成(Epic anime artwork of a wizard atop a mountain at night casting a cosmic spell into the dark sky that says "Stable Diffusion 3" made out of colorful energy) 提示:电影照片,教室的桌子上放着一个红苹果,黑板上用粉笔写着 "go big or go home" 的字样(cinematic photo of a red apple on a table in a classroom, on the blackboard are the words "

Springboot各版本与Java JDK的对应关系及JDK商用版本

Spring Boot各版本对应的 JDK 如下: Spring Boot 2.5.x:-> JDK 16 及以上版本。 Spring Boot 2.4.x:-> JDK 11 及以上版本。 Spring Boot 2.3.x:-> JDK 8 及以上版本,建议使用 JDK 11 及以上版本。 Spring Boot 2.2.x:-> JDK 8 及以上版本,建议使用 JDK 11 及以上版本。 Spring Boot 2.1.x:-> JDK 8 及以上版本。 Spring Boot 2.0.x:-> JDK 8 及以上版本。 Spring Boot 1.5.x:-> JDK 7 及以上版本。 Spring Boot 1.4.x:-> JDK 7 及以上版本。 Spring Boot 1.3.x:-> JDK 7 及以上版本。 对于开发工作来说,开发可以选择任意版本,但是涉及到商用,企业使用,我们还是需要关注一下JDK的商用收费问题。以下列出可免费商用的部分内容: 从 2019 年开始,Oracle 宣布某些版本开始收费。 JDK8 之前版本,仍然免费。 JDK8 免费版本到 8u202,从 8u211版本开始收费。 JDK9、JDK10,全版本免费。 JDK11,免费版本到 11.

Python错题集-7:DeprecationWarning: Conversion of an array with ndim(被弃用警告)

1问题描述 DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.) X[i] = np.random.normal(loc=Ex, scale=np.abs(Enn), size=1) 2代码详情 import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False def plot_cloud_model(Ex, En, He, n, ax, label='', color = 'r',marker = 'o'): ''' Ex 期望 En 熵 He 超熵 n 云滴数量 ''' Y = np.

【汇总JDK的各个版本特性以及未来版本规划】

曾梦想执剑走天涯,我是程序猿【AK】 目录 简述概要知识图谱JDK 8JDK 9JDK 10JDK 11JDK 12 及以后[JDK 17 (LTS)](https://openjdk.org/projects/jdk/17/)JDK 18JDK 19JDK 20[JDK 21 (LTS)](https://openjdk.org/projects/jdk/21/)JDK 22 (development)JDK 23 (development) 简述概要 持续与OpenJDK官网进行定期更新,方便学习,方便查阅,也希望让各位感觉浏览官网慢,不知道魔法的小伙伴,能随时浏览学习。 知识图谱 Java Development Kit (JDK) 8 是一个重要的版本,因为它引入了许多新特性和改进,这些特性在后续版本中继续得到发展。以下是 JDK 8 及其之后版本的一些关键特性和更新: https://openjdk.org/projects/jdk/ JDK 8 Lambda 表达式:引入了函数式编程的特性,使得代码更加简洁和灵活。Lambda 表达式允许你以一种更简洁的方式表示匿名函数。 Stream API:提供了一种新的抽象,可以让你以声明性方式处理集合数据。Stream API 支持并行操作,可以提高数据处理的效率。 接口的默认方法:允许在接口中定义默认实现,这在之前的版本中是不允许的。这使得可以在不破坏现有实现的情况下向接口添加新方法。 方法引用:可以更简洁地引用方法或构造器。方法引用是 Lambda 表达式的语法糖。 新的日期和时间 API:引入了 java.time 包,提供了一套全新的日期和时间处理类,如 LocalDate、LocalTime、LocalDateTime 等,这些类旨在克服旧版 java.util.Date 类的不足。 Nashorn JavaScript 引擎:一个新的轻量级 JavaScript 运行时,允许在 JVM 上执行 JavaScript 代码。 性能改进:JDK 8 在垃圾回收器和 JIT 编译器方面进行了优化,提高了性能。 JDK 9 模块系统(Jigsaw):引入了模块化特性,允许开发者将应用程序分割成独立的模块,提高了代码的可维护性和可扩展性。

Java实战:SpringBoot集成单点登录CAS

本文将详细介绍如何使用SpringBoot集成单点登录CAS,包括CAS的基本概念、集成步骤、具体代码示例等。通过阅读本文,我们将了解到单点登录的实现原理,并能够将这些知识应用到实际项目中。 一、引言 单点登录(Single Sign-On,简称SSO)是一种身份认证和授权技术,允许用户在多个应用系统中使用同一套用户名和密码进行登录。这种方式不仅可以提高用户体验,还可以减少系统的维护成本。CAS(Central Authentication Service)是一种常见的单点登录解决方案,被广泛应用于企业级应用中。 二、CAS的基本概念 在介绍SpringBoot集成CAS之前,我们先来了解一下CAS的基本概念。 1. CAS Server CAS Server是单点登录系统的核心组件,负责用户的认证和授权。用户在CAS Server上进行登录,登录成功后,CAS Server会生成一个Ticket,并将该Ticket发送给用户。 2. CAS Client CAS Client是集成在各个应用系统中的客户端组件,负责与CAS Server进行通信,完成用户的认证和授权。用户在访问应用系统时,CAS Client会检查用户是否已经登录,如果没有登录,则会重定向到CAS Server进行登录。 3. Ticket Ticket是CAS系统中的一种认证票据,用于验证用户的身份。CAS Server在用户登录成功后,会生成一个Ticket,并将该Ticket发送给用户。用户在访问应用系统时,需要提供该Ticket,CAS Client会使用该Ticket向CAS Server验证用户的身份。 三、SpringBoot集成CAS的步骤 在SpringBoot中集成CAS,需要完成以下几个步骤: 1. 添加依赖 首先,我们需要在项目的pom.xml文件中添加Spring Security和CAS的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.jasig.cas.client</groupId> <artifactId>cas-client-core</artifactId> <version>3.6.1</version> </dependency> 2. 配置CAS Server地址 在application.properties文件中,配置CAS Server的地址: cas.server.url=https://cas.example.com:8443/cas 3. 配置Spring Security 在Spring Security的配置类中,我们需要配置CAS相关的认证和授权规则。下面是一个示例代码: import org.jasig.cas.client.session.SingleSignOutFilter; import org.jasig.cas.client.validation.Cas20ServiceTicketValidator; import org.springframework.security.cas.ServiceProperties; import org.springframework.security.cas.authentication.CasAssertionAuthenticationToken; import org.springframework.security.cas.web.CasAuthenticationEntryPoint; import org.springframework.security.cas.web.CasAuthenticationFilter; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.

Mariadb简介、安装和简单使用

目录 1 mariadb1.1 简介1、介绍2、版本说明3、支持mariadb的客户端 1.2 在Ubuntu 22.04安装配置mariadb -- 使用apt1、安装2、保护数据库 - 做一些基本设置3、在Linux上使用 1.3 卸载mariadb 1 mariadb 1.1 简介 1、介绍 MariaDB是MySQL关系数据库管理系统的一个分支,由社区开发,有商业支持,旨在继续保持在GNU GPL下开源。MariaDB的开发是由MySQL的一些原始开发者领导的,他们担心甲骨文公司收购MySQL后会有一些隐患。 MariaDB打算保持与MySQL的高度兼容性,与MySQL API和命令精确匹配。MariaDB自带了一个新的存储引擎Aria,它可以替代MyISAM,成为默认的事务和非事务引擎。它最初使用XtraDB作为默认存储引擎, 并从10.2版本切换回InnoDB。 MariaDB 是一个快速、可扩展、性能一流的数据库,支持更多存储引擎。它还维护许多插件、工具和实用程序,使其成为最好的数据库之一。 MariaDB 主要用于维护库存、管理交易和客户信息。 2、版本说明 MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。 从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。 3、支持mariadb的客户端 MariaDB的API和协议兼容MySQL,另外又添加了一些功能,这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。在此基础上,由于担心甲骨文MySQL不再开源,Fedora等Linux发行版已经在最新版本中以MariaDB取代MySQL维基媒体基金会的服务器同样也使用MariaDB取代了MySQL。 以下是支持mariadb的客户端: DBEdit:一个免费的MariaDB数据库和其他数据库管理应用程序。Navicat:一系列Windows、Mac OS X、Linux下专有数据库管理应用程序。HeidiSQL:一个Windows上自由和开放源码的MySQL客户端。它支持MariaDB的5.2.7版本和以后的版本。phpMyAdmin:一个基于网络的MySQL数据库管理应用程序 1.2 在Ubuntu 22.04安装配置mariadb – 使用apt 1、安装 # 更新系统 sudo apt update && sudo apt upgrade # 安装mariadb的依赖包 sudo apt-get install wget software-properties-common dirmngr ca-certificates apt-transport-https -y # 安装mariadb sudo apt install mariadb-server mariadb-client -y # 查看是否安装成功 # 查看数据库的版本,两个命令都可以 mariadb -V mariadb --version # 检查MariaDB的状态 systemctl status mariadb.

flink: 通过Sink将数据写入MySQL

一、依赖添加 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-jdbc_2.12</artifactId> <version>1.11.1</version> </dependency> 二、两种方式写MySQL: package cn.edu.tju.demo; import org.apache.flink.api.common.functions.*; import org.apache.flink.api.common.serialization.SimpleStringSchema; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.configuration.Configuration; import org.apache.flink.connector.jdbc.JdbcConnectionOptions; import org.apache.flink.connector.jdbc.JdbcSink; import org.apache.flink.streaming.api.collector.selector.OutputSelector; import org.apache.flink.streaming.api.datastream.*; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.streaming.api.functions.co.CoMapFunction; import org.apache.flink.streaming.api.functions.source.SourceFunction; import org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkFunction; import org.apache.flink.streaming.connectors.elasticsearch.RequestIndexer; import org.apache.flink.streaming.connectors.elasticsearch7.ElasticsearchSink; import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer; import org.apache.flink.streaming.connectors.redis.RedisSink; import org.apache.flink.streaming.connectors.redis.common.config.FlinkJedisPoolConfig; import org.apache.flink.streaming.connectors.redis.common.mapper.RedisCommand; import org.apache.flink.streaming.connectors.redis.common.mapper.RedisCommandDescription; import org.apache.flink.streaming.connectors.redis.common.mapper.RedisMapper; import org.apache.flink.util.Collector; import org.apache.http.HttpHost; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringSerializer; import org.elasticsearch.action.index.IndexRequest; import org.

【学习】python之使用pandas提示TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding‘

文章目录 前言一、pandas是什么?二、排查步骤1、定位:确认出错位置3、尝试分析、百度可能出现的原因2、确认我的运行环境配置3、换库:曲线拯救4、最终分析 总结 前言 桨桨,终于有东西可以来记录解决的问题点啦~ 背景是在使用pandas一直无法转换成excel,排查了很久,终于在做了一个细微的调整实现成功了。 一、pandas是什么? pandas 是基于NumPy 的一种工具。我的理解:这个包可以实现读取excel,写入excel的功能,分别是readexcel,toexcel。 二、排查步骤 1、定位:确认出错位置 运行报错提示 Traceback (most recent call last): File df02.to_excel(filename_to,encoding=‘utf-8’) File “E:\Python\Python310\lib\site-packages\pandas\util_decorators.py”, line 333, in wrapper return func(*args, **kwargs) TypeError: NDFrame.to_excel() got an unexpected keyword argument ‘encoding’ 3、尝试分析、百度可能出现的原因 根据这段错误提示,可以确认应该是toexcel时,因为utf-8的编码导致冲突。 我直接print 了的我的结果集, print(df02) 发现程序其实是能打印我的结果集的,那应该是toexcel 时报错。 百度了下这句 NDFrame.to_excel() got an unexpected keyword argument 'encoding' 查询结果:引用一下博主的分析(引用下专业的分析~谢谢!) 1、版本过低2、使用新库来转换excel 2、确认我的运行环境配置 因为,这支程序在我本机上一直运行错误,用同事的3.8的python 运行完全没问题。 就把原因锁定在是否运行环境不同? 确认结果如下: python :3.10pandas已安装2.2 Successfully installed pandas-2.2.1 判定结果应该不是运行环境问题 3、换库:曲线拯救 使用了图2博主大大的方法,EXCEL的确出现了。也算解决了。 但是打开excel提示文件格式不对,受损了、 似乎不是很适用我的情况。

SpringBoot集成flink

Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。 最大亮点是流处理,最适合的应用场景是低时延的数据处理。 场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。 环境搭建: ①、安装flink https://nightlies.apache.org/flink/flink-docs-master/zh/docs/try-flink/local_installation/ ②、安装Netcat Netcat(又称为NC)是一个计算机网络工具,它可以在两台计算机之间建立 TCP/IP 或 UDP 连接。 用于测试网络中的端口,发送文件等操作。 进行网络调试和探测,也可以进行加密连接和远程管理等高级网络操作 yum install -y nc # 安装nc命令 nc -lk 8888 # 启动socket端口 无界流之读取socket文本流 一、依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>springboot-demo</artifactId> <groupId>com.et</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>flink</artifactId> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 添加 Flink 依赖 --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java</artifactId> <version>1.17.0</version> </dependency> <!

java中如何给一个对象的list,根据对象的某个字段分组

在Java中,可以使用Stream API和Collectors.groupingBy()方法来对对象的List进行分组。假设我们有一个包含对象的List,每个对象都有一个字段用来分组,可以按照如下方式进行分组: 假设要对一个包含Person对象的List按照age字段进行分组,代码如下所示: import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class GroupingExample { public static void main(String[] args) { List<Person> personList = getPersonList(); // 获取包含Person对象的List // 使用Stream API和Collectors.groupingBy()方法对List进行分组 Map<Integer, List<Person>> groupedByAge = personList.stream() .collect(Collectors.groupingBy(Person::getAge)); // 输出分组结果 groupedByAge.forEach((age, persons) -> { System.out.println("Age: " + age); persons.forEach(person -> System.out.println(person.getName())); }); } // Person 类示例 public static class Person { private String name; private int age; public Person(String name, int age) { this.