大家好,我是程序员晓晓。
最近,阿里巴巴智能研究院在AI领域可谓动作频频,新品发布不断,前面有Animate AnyOne,AnyText等,最近又发布了一个新品ReplaceAnything。
ReplaceAnything,翻译成中文就是替代万物。官网声称"随心所欲地替换,并且是超高质量的内容替换"。它可以用于很多场景,比如人物替换、服装替换、物体替换以及背景替换等等。
体验地址:https://huggingface.co/spaces/modelscope/ReplaceAnything
论文地址:https://aigcdesigngroup.github.io/replace-anything/
一. ReplaceAnything功能介绍
背景替换
在电商领域只需要一张产品图片,其他的交给 AI 就可以了,想替换什么背景替换什么背景。
身份证照片和全家福的背景更换
服装替换
保留被遮盖区域的内容替换人物的服装。
人物替换
在保留特定区域内容的前提下,替换照片中的人物
二. ReplaceAnything使用体验
目前体验主要是在huggingface网站,选择【Image Create】栏目。
在最上面有Instructions指导说明,操作只需要4步。
【第一步】:图片上传,可以从本地电脑上传,也可以从样例中选择一张图片。
【第二步】:鼠标点击Input image区域选择要保留的对象(或者上传一个黑白蒙版图像,其中白色表示你想要保持不变的区域)
相关说明:
(1)点击图片中不同的区域系统会自动识别相关的元素,比如上面的图片如果我们只是在衣服上面点击,那么系统可能只会识别出衣服。如果我们需要识别出整个人,可能需要点击多次,每次点击都会记录上次已点击选中的元素。
(2)区域选择方式
foreground: 前景选择,保留遮盖区域一般选择前景
background: 背景选择
(3)Undo Seg : 用于撤销上一次的选择
【第三步】:输入提示词或参考图片生成新内容
输入提示词:A girl was sitting on the grass in the park
【第四步】: 点击【Run】按钮。
每次运行系统会默认生成4张图片。
好了,今天的分享就到这里了,感兴趣的小伙伴快去体验一下吧。
写在最后 感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
若有侵权,请联系删除
本篇博客为大家整理华为 OD 考友反馈 C 卷抽中题,经过 1 个的考友复盘,目前已经收录 100+ 题目,预计在有 2 周可以收集完整。
所有题目,都有考友截图反馈,同时欢迎大家机考过后,提供橡皮擦真题,获取题解
💎 订阅专栏,也可获取未公开的题目(原因是解题组还没有写完题解💎) 由于 C 卷考试更加严格,可拍照发送题目,效果如下。D 卷属于 C 卷系列,比 C 卷多了双机位,用于特殊考友~
想要获取华为 OD 统一考试 C & D 卷,可提前订阅专栏 订阅专栏,永久阅读,C & D 卷也会同步更新到专栏内,无需二次订阅。
特别提醒,订阅专栏前一定要看好题解语言哦~
华为 OD 机考 Python:https://blog.csdn.net/hihell/category_12199275.html华为 OD 机考 C++ :https://blog.csdn.net/hihell/category_12199283.html华为 OD 机考真 C 语言: https://blog.csdn.net/hihell/category_12225286.html华为 OD 机考 JAVA :https://blog.csdn.net/hihell/category_12201821.html华为 OD 机考 JS: https://blog.csdn.net/hihell/category_12201825.html华为 OD 机考 Golang: https://blog.csdn.net/hihell/category_12231589.html 华为 OD 机考 C 卷 100 分抽中题目(最全真题库) 序号题目题解清单1字符串序列判定(旧题新用)JAVA 解法:https://dream.blog.csdn.net/article/details/129548118
Python 解法:https://dream.
生成式人工智能(AIGC)之最全详解图解 1. AIGC的发展历程1.1 AIGC演化重要时间节点AIGC发展历程图OpenAI大语言模型发展进程 1.2技术推进路线 2.AIGC技术场景2.1 技术场景 3.1AIGC相关应用4.AIGC未来发展前景4.1 人工智能相关科研重要性 5.人工智能顶会论文辅导(全球科研论文辅导顶尖团队)关于如何报名人工智能顶会论文辅导请后台私信我 5.1 简介 6.AIGC应用班 1. AIGC的发展历程 AIGC(AI-Generated Content)是利用人工智能技术来生成内容。2021年之前,AIGC生成的主要还是文字,而新一代模型可以处理的格式内容包括:文字、语音、代码、图像、视频、机器人动作等等。AIGC被认为是继专业生产内容(PGC,professional-generated content)、用户生产内容(UGC,User-generated content)之后的新型内容创作方式,可以在创意、表现力、迭代、传播、个性化等方面,充分发挥技术优势。
1.1 AIGC演化重要时间节点 AIGC发展历程图 图片来源于网络
OpenAI大语言模型发展进程 AIGC绘画模型发布时间以及影响意义对抗生成网络(GAN)2014年 真正“教会”AI自己绘画扩散模型(Diffusion Model)2020年 大幅提升AI绘画水平stable Diffusion2022年 推动AI绘画商业化发展 1.2技术推进路线 生成模型在人工智能领域有着悠久的历史,可以追溯到1950年代,随着隐马尔可夫模型(HMM)和高斯混合模型(GMM)的发展。这些模型生成了语音和时间序列等顺序数据。然而,直到深度学习的出现,生成模型的性能才有了显著的提高。在深度生成模型的早期,不同的领域通常没有太多重叠。在自然语言处理(NLP)中,生成句子的传统方法是使用N-gram语言建模学习单词分布,然后搜索最佳序列。但是,这种方法不能有效地适应长句。为了解决这个问题,后来引入了递归神经网络(RNNs)用于语言建模任务,允许对相对较长的依赖性进行建模。随后开发了长短期记忆(LSTM)和门控循环单元(GRU),它们利用门控机制在训练过程中控制记忆。这些方法能够在一个样本中处理大约200个标记,与N-gram语言模型相比,这标志着一个显著的改进。同时,在计算机视觉(CV)中,在基于深度学习的方法出现之前,传统的图像生成算法使用了纹理合成和纹理映射等技术。这些算法是以手工设计为基础的功能,并且是有限的,可以生成复杂多样的图像。2014年,生成对抗网络(Generative Adversarial Networks,简称GAN)首次被提出,这是该领域的一个重要里程碑,因为它在各种应用中取得了令人瞩目的成果。变分自编码器(VAE)和其他方法(如扩散生成模型)也被开发出来,用于对图像生成过程进行更精细的控制,并能够生成高质量的图像。
2017 年,Vaswani 等人为 NLP 任务引入了 Transformer,后来被应用于 CV,然后成为各个领域中许多生成模型的主要骨干 。在 NLP 领域,许多著名的大型语言模型,例如 BERT 和 GPT,都采用 transformer 架构作为其主要构建块,与以前的构建块(即 LSTM 和 GRU)相比具有优势。在CV中,Vision Transformer(ViT)和Swin Transformer后来通过将Transformer 架构与视觉组件相结合,进一步发展了这一概念,使其能够应用于基于图像的下游。除了变压器为单个模态带来的改进外,这种交集还使来自不同领域的模型能够融合在一起,以实现多模态任务。多模态模型的一个例子是CLIP。CLIP是一个联合视觉语言模型,它将Transformer架构与视觉组件相结合,使其能够根据大量的文本和图像数据进行训练。由于它在预训练期间结合了视觉和语言知识,因此它还可以用作多模态提示生成中的图像编码器。总之,基于 Transformer 的模型的出现彻底改变了 AI 的生成,并导致了大规模训练的可能性。近年来,研究人员也开始引入基于这些模型的新技术。例如,在NLP中,人们有时更喜欢小样本提示,而不是微调,这是指在提示中包括从数据集中选择的几个示例,以帮助模型更好地理解任务需求。在视觉语言中,研究人员经常结合具有自监督对比学习目标的模态特定模型,以提供更强大的表示。未来,随着AIGC的重要性日益凸显,将引入越来越多的技术,为这一领域注入活力。
2.AIGC技术场景 2.1 技术场景 可以将AIGC相关技术场景拓展到四个主要场景:文本处理、音频处理、图像处理、视频处理。
2.3.1 文本处理
目前,文本处理是AIGC相关技术距离普通消费者最近的场景,也是技术较为成熟的场景,许多应用公司都会从多个维度出发,辅助业务拓展与商业化过程中。一般说来文本处理可以细分为营销型、销售型、续写型、知识型、通用型、辅助型、交互型、代码型。
2.3.2 音频处理
此处主要介绍由语音合成技术来生成的相关应用,与视频相关的将放在视频部分说明。目前的音频处理主要分为三类:音乐型、讲话型、定制型,很多公司都专注于此。AI的应用将优化供给效率,改善整体利润水平。
摘 要
随着计算机科学技术的高速发展,计算机成了人们日常生活的必需品,从而也带动了一系列与此相关产业,是人们的生活发生了翻天覆地的变化,而网络化的出现也在改变着人们传统的生活方式,包括工作,学习,社交等,网络的出现使地球上居住的陌生人不再像以前一样遥不可及,它拉近了人与人之间的距离,使我们的地球变成了一个村。随着我国的高等教育的普及,大学生的队伍也正在不断壮大,为了方便大学生对学校、老师以及同学之间相互了解相互交流,建设一个互动的校园论坛成为了首当其冲的重要任务。与此同时,这将给学校以及在校生的工作和学习生活带来了极大的便利。
校园论坛主要功能模块包括轮播图管理,网站公告管理,资源管理(校园资讯,资讯分类),系统用户(管理员,注册用户),模块管理(帖子板块,论坛帖子,意见反馈)等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用Thinkphp框架、JSP技术、Ajax技术进行业务系统的编码及其开发,实现了校园论坛的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对校园论坛的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现校园论坛的部署与运行。
关键词:校园论坛;PHP;Thinkphp
Design and Implementation of Campus Forum
Based on Web
Abstract
With the rapid development of computer science and technology, computers have become a necessity for people's daily life, which has also led to a series of related industries. People's lives have undergone tremendous changes, and the emergence of networking is also changing people's traditional lifestyles, including work, learning, social networking, etc. The emergence of the Internet makes strangers living on the earth no longer as remote as before, It has narrowed the distance between people and turned our planet into a village.
交通管理在线服务系统目录
目录
基于Springboot的交通管理系统设计与实现
一、前言
二、系统功能设计
三、系统实现
1、用户信息管理
2、驾驶证业务管理
3、机动车业务管理
4、机动车业务类型管理
四、数据库设计
1、实体ER图
五、核心代码 六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
基于Springboot的交通管理系统设计与实现 一、前言 交通管理在线服务系统的有效运用可以帮助管理人员准确快速地处理信息。交通管理在线服务系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为idea,选择的数据库工具为Mysql。以此搭建开发环境实现交通管理在线服务系统的功能。其中管理员管理用户,新闻公告。
交通管理在线服务系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,交通管理在线服务系统都可以轻松应对。
关键词:交通管理在线服务系统;SpringBoot框架,系统分析,数据库设计
二、系统功能设计 为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。
三、系统实现 1、用户信息管理 如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,还进行了对用户名称的模糊查询的条件
图5.1 用户信息管理页面
2、驾驶证业务管理 如图5.2显示的就是驾驶证业务管理页面,此页面提供给管理员的功能有:查看已发布的驾驶证业务数据,修改驾驶证业务,驾驶证业务作废,即可删除,还进行了对驾驶证业务名称的模糊查询 驾驶证业务信息的类型查询等等一些条件。
图5.2 驾驶证业务管理页面
3、机动车业务管理 如图5.3显示的就是机动车业务管理页面,此页面提供给管理员的功能有:根据机动车业务进行条件查询,还可以对机动车业务进行新增、修改、查询操作等等。
图5.3 机动车业务管理页面
4、机动车业务类型管理 如图5.4显示的就是机动车业务类型管理页面,此页面提供给管理员的功能有:根据机动车业务类型进行新增、修改、查询操作等等。
图5.4 机动车业务类型管理页面
四、数据库设计 1、实体ER图 交通管理系统的E-R图如下图所示:
(1)下图是驾驶证业务实体和其具备的属性。
图4.1 驾驶证业务实体属性图
(2)下图是用户实体和其具备的属性。
图4.2 用户实体属性图
(3)下图是机动车业务实体和其具备的属性。
图4.3 机动车业务实体属性图
(4)下图是违法处理业务实体和其具备的属性。
图4.4 违法处理业务实体属性图
(5)下图是用户表实体和其具备的属性。
图4.5 用户表实体属性图
(6)下图是新闻信息实体和其具备的属性。
图4.6 新闻信息实体属性图
五、核心代码 package com.service.impl; import com.
数据处理是专业人士经常面对的问题,尤其是在大型数据集的情况下。有效总结和分析数据非常重要,能从数据中获取有价值的见解。SQL提供了一组强大的聚合函数,可以帮助数据科学家和数据分析师更好地处理和分析数据。
本文介绍10个实用的SQL聚合函数,并举例说明其在实际应用中的使用方法,有助于读者更好地理解SQL聚合函数的工作原理和应用场景。
1 基本聚合函数 1.1 COUNT 用于计算表中的行数或列中的非空值数量。
SELECT COUNT(*) AS total_rows FROM orders; 1.2 SUM 用于计算数值列中值的总和。
SELECT SUM(sales_amount) AS total_sales FROM transactions; 1.3 AVG 用于计算数值列中值的平均值(平均数)。
SELECT AVG(price) AS average_price FROM products; 1.4 MIN和MAX 可查找列中的最小值和最大值。
SELECT MIN(stock_quantity) AS min_quantity, MAX(stock_quantity) AS max_quantity FROM inventory; 2 分组聚合函数 2.1 GROUP BY 按照一个或多个列对数据进行分组,并对每个组应用聚合函数。
SELECT category, AVG(price) AS avg_price FROM products GROUP BY category; 2.2 HAVING 根据聚合值对分组结果进行过滤筛选,只有满足指定条件的组才会被包含在结果集中。
SELECT category, AVG(price) AS avg_price FROM products GROUP BY category HAVING AVG(price) > 100; 3 统计聚合函数 3.
JavaScript中的变量监听:实时捕捉变化的利器 在JavaScript开发中,经常需要监听变量的改变,并在变量值发生变化时执行相应的操作。这种实时捕捉变化的功能对于构建交互性强的应用程序至关重要。本文将介绍如何在JavaScript中监听变量的改变,以及常用的方法和技巧,帮助你更好地利用这个强大的特性。
JavaScript中监听变量的好处 实时更新UI:监听变量的改变可以帮助我们实时更新用户界面(UI)。例如,在一个表单中,当用户输入或选择某个值时,我们可以监听相应的变量,并在变量改变时立即更新UI,以提供实时的反馈和交互体验。数据绑定:变量的改变往往与应用程序中其他部分的状态和数据有关联。通过监听变量的改变,我们可以实现数据绑定,确保相关数据的一致性。当变量的值改变时,我们可以自动更新与之相关联的数据,以保持应用程序的状态同步。触发特定操作:在某些情况下,我们希望在变量的值发生改变时执行特定的操作或逻辑。通过监听变量的改变,我们可以捕捉到变化的事件,并在事件发生时触发相应的操作。例如,在游戏中,当玩家的得分变化时,我们可以监听得分变量,并在得分改变时更新游戏界面或执行其他与得分相关的逻辑。数据验证:在表单验证和数据处理中,监听变量的改变可以帮助我们实时验证数据的有效性。当用户输入或更改数据时,我们可以监听相应的变量,并在变量改变时立即进行数据验证,以提供及时的错误提示和反馈。监控和调试:通过监听变量的改变,我们可以实时监控应用程序的状态和数据流动,帮助我们调试和排查问题。当变量的值改变时,我们可以记录日志、打印调试信息或触发断点,以便更好地理解应用程序的行为和状态。 Getter和Setter方法 JavaScript提供了Getter和Setter方法,可以用于在获取和设置变量值时执行自定义的操作。通过这种方式,我们可以捕捉变量的改变,并在变化时执行相应的逻辑。
let _name = ''; // 定义Getter和Setter方法 Object.defineProperty(this, 'name', { get: function() { return _name; }, set: function(value) { _name = value; console.log('变量name发生了改变'); // 执行其他操作 } }); // 设置变量值 this.name = 'John'; 在这个例子中,我们使用Object.defineProperty()方法定义了一个名为name的属性,其中包括了Getter和Setter方法。当设置name属性的值时,Setter方法会被触发,我们可以在Setter方法中编写自定义的操作。在这个例子中,我们在Setter方法中添加了一条打印语句,用于捕捉变量name的改变。
Proxy对象 ES6引入的Proxy对象是JavaScript中的另一个强大工具,可以用于监听对象的操作,并在操作发生时执行相应的逻辑。通过Proxy对象,我们可以监听变量的改变,并在变化时触发回调函数。
let data = { name: 'John' }; // 创建一个Proxy对象 let proxy = new Proxy(data, { set: function(target, key, value) { target[key] = value; console.log(`变量${key}发生了改变`); // 执行其他操作 return true; } }); // 设置变量值 proxy.
大数据技术原理与应用实验指南——HBase安装与编程实践 一、 实验目的
(1) 熟练使用HBase操作常用的Shell命令。
(2) 熟悉HBase操作常用的Java API。
二、 实验内容
(1) 安装HBase软件。
(2) 编程实现指定功能,并利用Hadoop提供的Shell命令完成相同的任务(实现增、删、改、查基本操作,统计表的行数,打印表的记录等操作)。
三、 实验平台(软件版本)
VirtualBox-6.1.4
jdk-8u162-linux-x64.tar
ubuntukylin-16.04-desktop-amd64
hadoop-3.1.3
FileZilla_3.17.0.0_win64_setup 这是一个用于将windows文件与linux互相传的软件-
hbase-2.2.2-bin.tar.gz
四、 实验步骤 (全分布环境下搭建HBase ——一主三从并实现 HBase 的Java Api )
实验思维导图:
全分布环境下搭建HBase (1)下载安装Hbase,将Hbase传送至linux系统上的根目录下。
(2)解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local,命令如下:
$ cd ~ $ sudo tar -zxvf ~/hbase-2.2.2-bin.tar.gz -C /usr/local (3)将解压的文件名hbase-2.2.2改为hbase,以方便使用,命令如下:
$ cd /usr/local $ sudo mv ./hbase-2.2.2 ./hbase (4)下面把hbase目录权限赋hadoop用户:
$ cd /usr/local $ sudo chown -R hadoop ./hbase (5)配置环境变量,集群上的每个节点都要配置:
$ vim ~/.bashrc 在尾部加:(之后保存退出)
前言 Termux安装后,就相当于把手机变成了一台Linux服务器,而且现在手机卡通常是能拿到ipv6公网地址的,所以,这个服务器能干啥?
编程搭建网站跑脚本 本文讲述的就是怎么在Termux搭建安卓编译环境,实现手机app自产自编,自己搞自己,脱离电脑搞app开发。
Step1 配置sdkmanager 打开android 官网,下载sdkmanager最新版,推送到Termux中,创建android sdk 保存目录,解压commandline-tools并进行调整,参考android sdk标准目录,把解压内容都放到latest中。
不要直接解压,这个commandline-tools解压后不是标准目录。
标准的sdk目录是这样的
脚本执行处理:
curl -O https://googledownloads.cn/android/repository/commandlinetools-linux-11076708_latest.zip ANDROID_HOME=~/android/sdk/ mkdir -p $ANDROID_HOME unzip `ls |grep "commandlinetools-linux.*_latest.zip"` -d $ANDROID_HOME # cmdline-tools 的产物需要移动到cmdline-tools/latest目录中,这是android sdk固定的路径组织形式 # 压缩包没有包含在latest文件夹中,自己移动一下 mv $ANDROID_HOME/cmdline-tools/* $ANDROID_HOME/latest mv $ANDROID_HOME/latest $ANDROID_HOME/cmdline-tools 啥,命令有点多,手指打字累死
那还是连接个蓝牙键盘吧,打开手机otg功能,就可以自由输入了,啥,你没有蓝牙键盘?没事,淘宝几元一个usb otg转接头,把键盘插到手机上也可以。
啥?都没有,那你还是开启sshd服务,电脑连接手机吧,可以参考作者前一篇文。
Step2 配置android环境变量 命令
vim ~/.bashrc 配置:
echo "用户:"$(whoami) if pgrep -x "sshd" >/dev/null then echo #echo "sshd运行中..." else sshd echo "自动启动sshd" fi export ANDROID_HOME=~/android/sdk export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH 执行source .
注:文章参考:
MySQL 更新数据 不同条件(批量)更新不同值_update批量更新同一列不同值-CSDN博客文章浏览阅读2w次,点赞20次,收藏70次。一般在更新时会遇到以下场景:1.全部更新;2.根据条件更新字段中的某部分内容;3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法。_update批量更新同一列不同值https://blog.csdn.net/chengyj0505/article/details/128357191 本篇主要介绍mysql数据库中的不同条件批量更新不同的值。更新时会遇到以下场景:
1.全部更新;
2.根据条件更新字段中的某部分内容;
3.根据不同的条件更新不同的值
以下是几种场景中常用的update方法。
一、场景分类 二、具体用法 2.1 根据条件更新值 根据指定条件更新(多列)(全部更新)
把表中 [符合条件的行的] 列名1字段中的值全部修改为值1 [,列名2字段中的值修改为值2]。
语法:
update 表名
set 列名1 =值1 [,列名2 = 值2]
[where 条件];
替换指定值(多列)(部分更新) 把表中 [符合条件的行的] 列名1字段中的查找内容全部修改为替换内容 [,列名2字段中的查找内容全部修改为替换内容]。
语法:
update 表名 set 列名1 = replace(列名1, '查找内容', '替换内容') [, 列名2 = replace(列名2, '查找内容', '替换的内容')] [where 条件];
2.2 按照不同条件(批量)更新不同值 使用if update 表名
set 列名1 = if (条件1,值1,值2),
列名2 = if (条件2,值3,值4)
[where 条件];
使用case when update 表名
一、Nacos 功能介绍 Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一个分布式服务注册、配置管理,以及服务健康管理平台。在微服务架构中,配置管理是至关重要的一环,Nacos 提供了可靠、动态的配置管理功能,为分布式系统的配置中心提供了便捷的解决方案。
Nacos的主要功能图:
Nacos 除了可以作为服务的注册中心,同样可以作为集中管理配置信息的配置中心来使用。我们通过在 Nacos 的控制台中对配置信息进行修改,可以直接作用到应用,避免应用的重新发布,这个过程叫配置的热更新。
下面我们就来一步一步介绍如何在 Spring Cloud 微服务项目里搭建 Nacos 配置中心。
二、安装 Nacos Nacos的安装相对简单,首先需要从官方网站下载最新版本的Nacos Server压缩包。解压后,通过执行相应的启动脚本,即可启动Nacos服务。在启动过程中,可以通过修改配置文件来配置Nacos的各项参数,例如数据库配置、端口号等。
可以参考我之前写过的这篇文章:SpringCloud-搭建Nacos服务中心
三、项目引入 Nacos 首先我们准备好或者创建一个微服务项目,如果不会创建,可以参考:
SpringCloud-创建多模块项目
项目准备好之后,我们引入 Nacos,引入注册中心的流程可以参考下面的文章:
SpringCloud-项目引入Nacos
这次,由于我们需要使用到 Nacos 配置管理的功能,所以每个服务模块的 pom.xml 里还需要引入用于 Nacos 配置管理的 jar 包:
<!-- Maven 依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> 四、Nacos控制台新建配置 我们访问 Nacos 的控制台页面,Nacos 控制台默认地址是 localhost:8848/nacos,创建配置:
配置起名为:springcloud-provider.yaml,类型选为 YAML 类型,配置内容我们写一个时间格式:
pattern: dateformat: yyyy-MM-dd HH:mm:ss 其他内容我们先不写,Namespace 用于指定命名空间来实现环境隔离,Namespace 是最外层的环境,向内依次是 Group 和服务。
点击发布,可以看到这条配置已经显示在控制台了。
创建配置成功,接着,我们要去实现项目读取 Nacos 上的配置。 五、微服务项目读取配置 1、创建bootstrap.
目录
一.浏览器的进程模型
1.进程
2.线程
二.浏览器的进程和线程
1. 浏览器进程
2. 网络进程
3. 渲染进程
三.渲染主线程
四.异步
五.优先级
1. 延时队列:
2.交互队列:
3.微队列:
六.JS 的事件循环
附加:JS 中的计时器能做到精确计时吗
一.浏览器的进程模型 1.进程 程序运行需要有专属的内存空间,可以把这块内存空间简单的理解为进程
在这里我们把不同的颜色看做不同的程序运行时所需要的内存空间,每个应用至少有一个进程,进程之间相互独立,如果要联系,需要双方同意.
2.线程 有了进程之后就可以开始运行代码,那么谁来运行代码呢?其实就是线程
一个进程至少有一个线程(换句话说,就是给你分配内存空间,你就要去利用)
进程开启后会自动创建一个线程运行代码,该线程称之为主线程.
如果程序需要同时执行多个代码,主线程就会启动更多的线程来执行代码,所以一个进程中可以包含多个线程
二.浏览器的进程和线程 浏览器是一个多进程多线程的应用程序
浏览器内部工作极其复杂。
为了避免相互影响,为了减少连环崩溃的几率,当启动浏览器后,它会自动启动多个进程。
可以在浏览器的任务管理器中查看当前的所有进程
其中,最主要的进程有:
1. 浏览器进程 主要负责界面显示、用户交互、子进程管理等。浏览器进程内部会启动多个线程处理不同的任务。
2. 网络进程 负责加载网络资源。网络进程内部会启动多个线程来处理不同的网络任务。
3. 渲染进程 渲染进程启动后,会开启一个**渲染主线程**,主线程负责执行 HTML、CSS、JS 代码。
默认情况下,浏览器会为每个标签页开启一个新的渲染进程,以保证不同的标签页之间不相互影 响。
三.渲染主线程 渲染主线程是浏览器中最繁忙的线程,需要它处理的任务包括但不限于:
- 解析 HTML/解析 CSS(解析成Dom树和Cssom树)
- 计算样式
- 布局
- 处理图层
- 每秒把页面画 60 次
- 执行全局 JS 代码
目录
一、微信小程序介绍
1.什么是小程序?
2.小程序可以干什么?
3.微信小程序特点
二、账号申请 1.账号注册
2.测试号申请
三、安装开发工具
四、开发小程序
五、目录结构
JSON 配置
小程序配置 app.json
工具配置 project.config.json
页面配置 page.json
JSON 语法
WXML
WXSS 样式
JS 逻辑交互
util公共函数定义及读取
六、小程序配置
全局配置
页面配置
sitemap 配置
调试
一、微信小程序介绍 微信小程序官网:https://mp.weixin.qq.com/cgi-bin/wx
1.什么是小程序? 2017年度百度百科十大热词之一
微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装,用完即走,实际上是需要安装的,只不过小程序的体积特别小, 下载速度很快,用户感觉不到下载的过程 )
限制:同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。
2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。
微信小程序是一种轻量级的应用程序,可在微信内部直接使用,无需下载安装即可使用。它可以提供各种功能,包括游戏、媒体、社交、购物等,并能够与微信的社交功能紧密结合,方便用户进行分享和交流。小程序通常具有简洁的界面和快速的加载速度,用户可以在微信内直接打开并使用,无需额外安装其他应用。开发者可以使用微信小程序开发工具进行开发,采用HTML5、CSS3、JavaScript等前端技术进行构建,并且可以通过微信官方提供的开放接口和能力来实现各种功能。微信小程序在用户体验、开发成本和推广渠道等方面有很大的优势,因此越来越受到开发者和用户的欢迎。 2.小程序可以干什么? 同App进行互补,提供同app类似的功能,比app操作更加简洁的轻应用
通过扫一扫或者在微信搜索即可下载
用户使用频率不高,但又不得不用的功能软件,目前看来小程序是首选
连接线上线下
开发门槛低, 成本低
3.微信小程序特点 微信小程序在功能和使用方式上与传统应用程序有些不同、其特点具有便捷、轻量、社交化和丰富的功能特点,为用户提供方便快捷的应用体验,同时也为开发者提供了更多的开发和推广渠道
无需下载安装:微信小程序可以直接在微信中使用,用户无需下载和安装额外的应用程序。只要搜索并打开小程序,即可使用其中的功能。
轻量级应用:微信小程序相对于传统应用程序来说,体积较小且加载速度快,用户可以快速访问并使用。
社交化体验:微信小程序与微信的社交网络紧密连接,用户可以方便地与好友分享小程序的内容、功能或者游戏成绩等。同时,小程序还可以使用微信的一些社交功能,例如发送消息、转发内容等。
丰富的功能:微信小程序支持多种功能和服务,包括但不限于在线购物、打车、外卖订购、游戏娱乐、新闻阅读、生活服务等。开发者可以根据自己的需求来开发不同类型的小程序。
快速开发与迭代:微信小程序开发相对较为简单,开发者可以使用基于前端技术的开发工具来创建和调试小程序。此外,小程序的更新和迭代也相对容易,开发者可以随时更新小程序的功能和内容。
开放接口和能力:微信提供了丰富的开放接口和能力,使开发者可以与微信生态系统进行深度整合,例如使用支付接口进行支付、使用地理位置接口获取用户位置、使用用户信息接口进行授权登录等。
二、账号申请 1.账号注册 开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序。
进入小程序注册页: https://mp.weixin.qq.com/wxopen/waregister?action=step1&source=mpregister&token=&lang=zh_CN
根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号。
在这个小程序管理平台,你可以管理你的小程序的权限,查看数据报表,发布小程序等操作。
登录小程序后台,我们可以在菜单 “开发”-“开发设置” 看到小程序的 AppID 了 。
[python] 罗技动态链接驱动库DLL 控制 键鼠 最近在玩搬砖游戏晶核, 每天有很多重复繁琐的"打卡"操作, 得知隔壁御三家游戏就有大佬做了自动收割的辅助工具,我就想模仿写一个.不过大佬们写的开源工具厉害得多,加了神经网络自动识别,实现寻路和点击功能.我目前最多就是实现一个简单连点器加色块识别而已,而且这种原始手动的方法很不方便,我原本还想着写个表格导入操作功能.最后也不了了之了.太懒了. << Python调用罗技驱动实现功能 >> https://www.python100.com/html/1S27NYQO8H34.html<< FPS游戏自动枪械识别+压枪(以PUBG为例) >> https://blog.csdn.net/weixin_37827742/article/details/124242964<< AimLab OPENCV开源(包含Sendinput + Fov等代码) >> https://www.bilibili.com/video/BV1q34y1e7ic/ 一、准备工作 需要安装python 3.8.10 64位 带 IDLE 的版本. 因为我会使用pyautogui来获取屏幕分辨率等操作,使用tkinter来创建简易弹窗提示操作;如果你只需要控制鼠标的话就不需要上述2个软件包,不然最好和我一样的python版本,32位或是版本太新太久都不支持pyautogui,或者使用其他软件包代替也可以.tkinter软件包是安装IDLE时自带的,不能手动安装,只能通过安装IDLE来安装,很奇怪.我尝试了很久得出这样一个个结论.本教程使用的是动态链接驱动库是罗技的LGS_9.02.65_x64_Logitech.exe版本, 注意不能是其他版本,不然对不上,先安装这个驱动程序,那动态链接库才有效果.安装完成后的软件界面是这样的: 最后在程序中加载dll文件, 就可以驱动键鼠了.该软件只需要开机打开一次即可.打开后退出也会继续生效.但是关机重启后又失效,所以开机后要打开一次,之后关闭退出就行.另外关于dll文件,第一次接触的人可能不懂是什么,没关系,因为我也不懂是啥.不过不影响使用,dll有点像别人打包好的库,具有一些函数,你导入到自己的.py后,就可以直接使用这些函数.使用一些工具depends22_x64可以查看dll打包了什么函数,这里我只会通过名字和实践猜测每个函数的功能. 注意!!! 不同地方下载的dll文件可能是不同人打包的,可能函数名或函数功能不太一样. 二、开始敲代码 1. 框架 先写个基本框架, 里面包含了开头注释, 软件包导入, 打印函数打包, pid函数打包, 主函数打包; 一个等待填写的空类; """ 时间 : 2023年12月30日 07:34:48 作者 : Lovely_him 说明 : 兴趣使然 """ #!/usr/bin/env python3 import sys import win32api import os # 获取文件路径 import time # 获取时间和延时 import ctypes # 调用dll文件 import tkinter as tk # python 内置库,需要安装时勾选安装IDE才会安装,坑爹 import threading # 多线程 import pyautogui # 获取屏幕鼠标坐标 import random # 随机数 def print_tkui(strs): "
目录
一、逆向基础
1.1 语法基础
1.2 作用域
1.3 窗口对象属性
1.4 事件
二、浏览器控制台
2.1 Network
Network-Headers
Network-Header-General
Network-Header-Response Headers
Network-Header-Request Headers
2.2 Sources
2.3 Application
2.4 Console
三、加密参数的定位方法
3.1 巧用搜索
3.2 堆栈调试
3.3 控制台调试
3.4 监听XHR
3.5 事件监听
3.6 添加代码片
3.7 Hook
四、常见的压缩和混淆
4.1 JavaScript压缩
4.2 JavaScript混淆
4.3 javascript-obfuscator示例
4.3.1 代码压缩
4.3.2 变量名混淆
4.3.3 字符串混淆
4.3.4 代码自我保护
4.3.5 控制流平坦化
4.3.6 无用代码注入
4.3.7 对象键名替换
4.3.8 禁用控制台输出
4.3.9 调试保护
4.3.10 域名锁定
4.3.11特殊编码
五、常见的编码和加密
需要使用函数pairwise,发现python版本偏低,尝试了把anaconda中jupyter notebook中的python环境升级到3.10。
步骤如下:
在Anaconda Prompt中依次执行以下命令:
# 更新conda环境 conda update conda # 更新anaconda环境 conda update anaconda 为了避免对现有环境产生影响,创建一个新的虚拟环境安装python3.10。执行以下命令创建一个名为python3.10的虚拟环境:
# 创建环境 conda create -n python3.10 python=3.10 # 激活虚拟环境 conda activate python3.10 安装Python3.10
# 安装python3.10 conda install python=3.10 # 激活3.10版本 conda activate python=3.10 在base下查看当前conda环境配置
conda info --envs 如果显示python3.10环境,那么python3.10就安装成功了。
回到anaconda要在左侧list中的environment环境中进行配置,将之前的环境更换为python3.10,就可以使用了。
在C++中,max函数是一个非常实用的函数,它用于比较两个或更多数值并返回其中的最大值。这个函数在头文件中定义。
下面是如何在C++中使用max函数的一些示例:
#include <iostream> #include <algorithm> // 引入algorithm头文件以使用max函数 int main() { int a = 10; int b = 20; int max_value = std::max(a, b); // 使用max函数比较a和b,并将结果存储在max_value中 std::cout << "Max value is: " << max_value << std::endl; return 0; } 在这个例子中,std::max(a, b)将返回a和b中的较大值,并将结果存储在max_value中。
如果你想要比较的是两个以上的数值,你可以使用std::max的另一个版本,这个版本接受一个初始化器列表:
#include <iostream> #include <algorithm> int main() { int a = 10; int b = 20; int c = 30; int max_value = std::max({a, b, c}); // 使用max函数比较a、b和c,并将结果存储在max_value中 std::cout << "
目录
1.在Pycharm下载GitHub Copilot插件
2.使用Github账号授权
3.使用GitHub Copilot
3.1 接受或者拒绝代码建议
3.2 查看下一个建议
3.3 接受部分建议
3.4 根据注释生成代码建议
4.Github Copilot Chat的使用
GitHub Copilot 是一个 AI 结对程序员,可在您编码时提供自动完成风格的建议。您可以通过开始编写要使用的代码或编写描述您希望代码执行的操作的自然语言注释来接收来自 GitHub Copilot 的建议。 GitHub Copilot 会分析您正在编辑的文件以及相关文件中的上下文,并从文本编辑器中提供建议。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。
GitHub Copilot 针对公共仓库中出现的所有语言进行了训练。对于每种语言,您收到的建议质量可能取决于该语言的训练数据的数量和多样性。例如,JavaScript 在公共存储库中得到了很好的体现,并且是 GitHub Copilot 支持的最佳语言之一。在公共存储库中代表性较少的语言可能会产生较少或不太可靠的建议。
GitHub Copilot 在 Visual Studio Code、Visual Studio、Vim、Neovim、JetBrains IDE 套件和 Azure Data Studio 中作为扩展提供。
GitHub Copilot 是一项付费功能,需要按月或按年订阅。GitHub Copilot 订阅可以通过 Copilot 个人帐户 GitHub.com 个人帐户支付和管理,也可以通过 GitHub Copilot Business 的组织帐户进行支付和管理。
目录
一、 基础理论
二、数据准备
三、构建线性混合效应模型(LMMs)
3.1 lme4线性混合效应模型formula
3.2 随机截距模型构建及检验
3.3 随机截距模型分析结果解释及可视化
3.4 随机斜率模型构建、检验及可视化
四、线性混合效应模型选择
4.1 多模型比较
4.2 模型最优子集筛选
一、 基础理论 各个数据模型都包含一些假设,当数据满足这些假设时,使用这些模型得到的结果才会更准确。比如广义线性模型要满足“线性”和“独立性”等条件。为了适应更多数据类型,开发出了各种模型,可根据数据情况,选择合适的模型。比如,如果数据不满足“线性”,则可考虑广义可加模型;如果不满足“独立性”,则可以考虑混合效应模型(mixed effect model)。
多水平模型同时包含多个分类因子数据,最主要特点就是非独立性,在多个水平上都存在残差,因此适合混合效应模型,总的来说,其思想就是把高水平上的差异估计出来,这就使得残差变小,估计的结果更为可靠。混合效应模型又称随机效应模型(Random Effect model),分层线性模型,随机系数模型,方差成分模型等。
比如,一份包含不同施肥处理的多土层微生物数据,其中不同施肥处理与不同土壤深度即是嵌套数据(多水平数据)。
如果用线性模型分析不同施肥处理间微生物群落的差异,则没有考虑到不同土壤深度的微生物群落的差异,暗含了假设:不同土壤深度的微生物群落随不同施肥处理变化的截距与斜率都是相同的。不同土壤深度土壤的微生物群落差异就被线性模型归类到误差中去了。
如何解决这一问题呢?其中一种方法就是使用固定效应模型(Fixed Effect Model),即将不同土壤深度的微生物群落结构随不同施肥处理变化的截距差异和斜率差异都估计出来。在土壤深度分类较少时可以这么做,将次级分类水平作为虚拟变量回归,3分类,则估计2个截距差异和斜率差异。当次级分类水平过多时,需要估计的参数太多,用虚拟变量就会消耗太多的自由度,估计结果不可靠,此时即可考虑使用混合效应模型。
固定效应与随机效应因子之间没有明显的分类,但显然随机效应因子要是分类数据,且数据跟随机效应存在相关性。有文章推荐随机效应的分类水平最好大于5类,因为当分类水平较少时,模型对方差的估计不太准确。当随机因子大于1个时,随机因子间的关系也需要注意,根据随机因子间关系,可能包括交叉(Crossed)、部分交叉或嵌套(nested)。
混合效应模型也分为线性混合效应模型、广义线性混合效应模型和非线性混合效应模型。此文章介绍使用R中lme4包进行线性混合效应模型分析。
线性混合效应模型假设:
1. 残差应该是正态分布的-可以适当放宽,前提是预测值与残差没有相关性,
2. 残差的方差是同质的-非常重要的假设;
3. 随机效应的观测是相互独立的;
4. 自变量与因变量存在线性关系;
5. 自变量间不存在相关性-方差膨胀因子筛选或者数据降维。
当然,对数据中异常点的检测也是很有必要的。
二、数据准备 此套数据是嵌套数据,包含分类因子depth和tillage。嵌套数据中包含多个分类自变量,数据是非独立性的,模型构建时考虑使用混合效应模型。选择pH为因变量。
# 设置工作路径 #knitr::opts_knit$set(root.dir="D:\\EcoEvoPhylo\\MEM\\LMM")# 使用Rmarkdown进行程序运行 Sys.setlocale('LC_ALL','C') # Rmarkdown全局设置 #options(stringsAsFactors=F)# R中环境变量设置,防止字符型变量转换为因子 library(tidyverse) library(rstatix) library(car) library(lme4) library(lmerTest) # 模型固定效应系数检验 library(multilevelTools) # 模型诊断检验 library(extraoperators) library(JWileymisc) # 模型诊断及APAStyler以表格形式输出模型结果 library(effectsize) # 计算标准化回归系数 library(influence.
医学图像处理期刊投稿推荐,我猜想每个科研人一开始都是非顶刊不投,俺也一样,奈何能力有限,本人在5个月内投稿了4次(一直被拒稿呜呜呜) 最终接收,感觉自己算很快的,很少浪费时间,投的期刊处理都很快,遂分享投稿经验(顺便记录自己人生第一篇一作SCI中稿)
computer methods and programs in biomedicine(CMPB) 2023.8 submit
2023.9 reject 拒稿意见:接收文章过多,文章创新有限
结果:推荐转投computers in biology and medicine(CIBM)并确保送审
个人感觉:CMPB不愧是顶刊,拒的就是快
computers in biology and medicine(CIBM) 2023.9 submit
2023.9 under review
2023.10 拒稿推荐转投, 条件接收
审稿人意见:2修1拒,拒稿的审稿人是名医生,认为文章临床意义较小; 另外两个审稿人建议加实验和文章提炼创新点,其他就没啥严厉的问题。
看到两个审稿人意见都不犀利,特别是审稿人还要我引用他们的文章,所以觉得还有抢救的机会,于是积极加实验,改文章争取重投
重投computers in biology and medicine(CIBM) 2023.10 ——2023.11大修加实验,改文章 (和打了鸡血一样嗷嗷干),最后argue重投成功
2023.11 resubmit
2023.11 重投后under review
2023.12 拒稿推荐转投, 条件接收
2024.1 接受转投
个人感觉:CIBM的处理速度巨快,两次投稿都是1个月左右出结果。IF 还是7.7,听说还升到了中科院顶刊,我差一点就是发顶刊的人了QAQ
某其他SCI期刊(避免被开盒就不细说了hhh) 2024.1 submit
2024.2 accept