开发工具:微信开发者工具Stable1.05.21020210注意:目前canvas2d开发工具看不到效果,需要真机预览才可以看到效果效果图:下面是动态加载网络字体的api:写的是一个全局加载的//app.jsApp({onLaunch(){//加载全局字体for(leti=0;i
DataWorks Copilot × DeepSeek-R1 来了!给你的智能数据开发加满 buff
DataWorksCopilot×DeepSeek-R1来了!DataWorksCopilot,作为一站式智能数据开发治理平台DataWorks的智能助手,借助AI推理和自然语言处理能力,通过提供代码辅助和智能应用开发功能,为开发者和企业用户带来便捷高效的数据开发体验。现在,DataWorksCopilot与DeepSeek-R1模型深度对接,支持DeepSeek-R1-671B模型与DeepSe
京东详情 API 接口有什么应用与价值?
前端后端运维数据挖掘api
在电商行业蓬勃发展的今天,数据成为了驱动业务增长和创新的核心要素。京东作为国内知名的电商巨头,拥有海量的商品资源和丰富的业务数据。京东详情API接口就像是一把钥匙,为开发者、商家以及数据分析师打开了通往这些宝贵数据的大门。通过该接口,我们能够获取到京东平台上商品的详细信息,包括商品描述、价格、库存、评价等,这些数据在电商业务的各个环节都具有不可估量的应用价值。本文将深入探讨京东详情API接口的应用
深入解析Spring Cloud五大组件:构建微服务架构的核心利器
一位卑微的码农
架构springcloud微服务
引言在当今的互联网时代,微服务架构已经成为构建复杂应用的主流方式。SpringCloud作为微服务架构的佼佼者,提供了一系列强大的工具和组件,帮助开发者快速构建和部署微服务应用。本文将深入解析SpringCloud的五大核心组件,帮助你全面掌握SpringCloud的核心技术。1.SpringCloudNetflixEureka:服务注册与发现1.1什么是Eureka?Eureka是Netflix
一文讲清产品动销是什么?如何提升动销能力?
销售管理
在现代商业环境中,“产品动销”是一个频繁出现的术语,它直接影响着企业的销售业绩和市场份额。那么,什么是产品动销?如何提升产品的动销能力呢?今天我们就来详细聊聊这个话题。所参考的工具是>>>https://s.fanruan.com/4xlkc一、什么是产品动销?产品动销,顾名思义,就是指产品从企业销售渠道出库并被终端客户购买的过程。动销的核心是产品能够在市场上得到有效销售,即被消费者实际购买和使用
5分钟实现在Mac浏览器上自动阅读
程序员
前言笔者最近因工作原因,从win系统切换成Mac系统,众所周知,Mac与win使用方式有些许差别,而且距离笔者上一次使用Mac大概已经有两年多了,两年前初出茅庐,还没有阅读的习惯,而在今年,因各种原因,闲暇时间我通常会在微信读书上找一些电子书来看。在win上,自动滚动页面是鼠标中键自带的能力,而当我尝试使用Mac的鼠标中键进行相同操作时,发现并没有效果,进行了一些资料查询和咨询了一些Mac使用者后
React 中props和state的区别
黑马嘎
react.js
文章目录前言一、props用法二、给props设置一个默认值三、State和Props两者的区别总结前言state和props主要的区别在于props是不可变的,而state可以根据与用户交互来改变。这就是为什么有些容器组件需要定义state来更新和修改数据。而子组件只能通过props来传递数据。一、props用法classMyComponentextendsReact.Component{//此
关于网页自动化工具DrissionPage进行爬虫的使用方法
web15117360223
面试学习路线阿里巴巴自动化爬虫运维
目录一.简介二.使用1.安装方式2.基本用法3.模式4.元素交互4.SessionPage5.运行JS6.结语一.简介最近在学python的过程中,发现了一个好用的爬虫库DrissionPage——一个基于python的网页自动化工具。据具官方文档(官方网址:https://drissionpage.cn/)介绍:它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和r
红队视角出发的k8s敏感信息收集——Kubernetes API 扩展与未授权访问
周周的奇妙编程
kubernetes容器云原生
针对Kubernetes第三方组件与Operator的详细攻击视角分析,涵盖ServiceMesh、HelmReleases和DatabaseOperators的潜在风险及利用方法。攻击链示例1.攻击者通过未授权的Tiller服务部署恶意HelmChart→2.创建后门Pod并横向移动至Istio控制平面→3.提取Envoy配置发现未加密的数据库服务→4.通过MySQLOperator创建管理员账
义父们,支持我兄弟参加CSDN博客之星2024!他是一名优秀的运维工程师!
qq_42856429
运维java开发语言
标题:支持我兄弟参加CSDN博客之星2024!他是一名优秀的运维工程师!大家好,今天想为大家推荐一位非常优秀的技术博主——XMYX-0。他是一名专注于运维领域的开发者,尤其擅长Kubernetes(K8s)和Python自动化运维。他正在参加CSDN博客之星2024活动,希望大家能够为他投上宝贵的一票!为什么支持他?Kubernetes(K8s)领域的深度实践者在K8s领域有着丰富的实战经验。他的
深入解析Spring Cloud:微服务架构的利器(下)
Wells974
爪哇架构springcloud微服务
在上一篇文章中,我们介绍了SpringCloud的基本概念、核心组件以及如何在Java项目中使用SpringCloud进行服务注册与发现。本文将继续探讨SpringCloud的负载均衡、配置管理、服务熔断和API网关等高级特性。4.负载均衡4.1使用RibbonSpringCloudRibbon是一个客户端负载均衡器,与Eureka无缝集成,支持多种负载均衡策略。在服务消费者项目中,引入Ribbo
【第15章:量子深度学习与未来趋势—15.3 量子深度学习在图像处理、自然语言处理等领域的应用潜力分析】
再见孙悟空_
#【深度学习・探索智能核心奥秘】深度学习机器学习人工智能音视频自然语言处理量子深度学习量子学习未来
一、开篇:为什么我们需要关注这场"量子+AI"的世纪联姻?各位技术爱好者们,今天我们要聊的这个话题,可能是未来十年最值得押注的技术革命——量子深度学习。这不是简单的"1+1=2"的物理叠加,而是一场可能彻底改写AI发展轨迹的范式转移。想象这样一个场景:你现在训练一个GPT-5级别的模型,不需要耗费价值上亿美元的算力资源,不需要等待数周的训练时间,甚至不需要纠结于模型参数是否过拟合。这就是量子深度学
Lua 5.1中文编程手册:全面指南与实践
元楼
本文还有配套的精品资源,点击获取简介:Lua是一种轻量级脚本语言,常嵌入到应用程序中提供扩展性。本手册是Lua5.1版本的官方文档中文翻译,涵盖了语法、特性到使用方法的全面指南。内容包括基础语法、数据类型、表、控制结构、函数、模块、元编程、错误处理、C接口、垃圾收集、线程及标准库等关键概念。此外,还包含如何解压和使用手册的说明。手册适用于各级别开发者,并为多个应用领域提供了实践指导。1.Lua语言
基于深度学习YOLOv10的PCB板缺陷检测系统(附完整资源+PySide6界面+训练代码)
人工智能_SYBH
深度学习YOLO人工智能目标检测python
引言:在现代制造业中,电子元件和PCB(印刷电路板)是非常重要的基础设施。PCB缺陷检测是生产过程中至关重要的一步。传统的缺陷检测方法主要依靠人工检查,这不仅效率低,而且容易受到人眼疲劳的影响。随着深度学习技术的不断发展,基于深度学习的自动化缺陷检测已成为研究的热点,尤其是在计算机视觉领域。YOLO(YouOnlyLookOnce)系列算法凭借其高速和高精度的优势,成为了目标检测领域的佼佼者。本文
券商api有哪些用途?如何申请和使用券商api进行股票交易?
股票程序化交易接口
量化交易股票API接口Python股票量化交易大数据券商api股票交易申请使用股票量化接口股票API接口
Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)股票量化,Python炒股,CSDN交流社区>>>自动化交易功能券商API允许投资者编写程序来实现自动化交易。在股票市场中,价格波动瞬息万变,人工交易可能会因为反应速度慢而错过最佳交易时机。通过自动化交易程序,利用券商API,可以根据预设的交易策略,如当股票价格达到某个设定值时自动买
html5游戏引擎-Pharse.js学习笔记(一)
18520195858
游戏javascriptc/c++ViewUI
1.前言前几天随着flappybird这样的小游戏的火爆,使我这种也曾了解过html5技术的js业余爱好者也开始关注游戏开发。研究过两个个比较成熟的html5游戏引擎,感觉用引擎还是要方便一些。所以决定从今天正式开始研究html5游戏引擎,并且将从看官网demo的学习整理成博客和大家一起分享。我了解过cocos-2dforhtml5和phaser.js这两个引擎,其中前者比较复杂,对于有过coco
基于 GBase 数据库的海量数据处理与性能优化
big crab
数据库oracle
一、引言随着大数据时代的到来,海量数据的存储和高效处理成为各行业的核心需求。GBase系列数据库(包括GBase8a、GBase8s和GBase8c)以其强大的性能、灵活的存储架构以及高效的查询优化功能,成为处理大规模数据的理想选择。本文将从GBase数据库的特性出发,探讨如何在实际应用中进行海量数据的高效处理,同时提供相关代码示例,帮助开发者更好地理解和应用GBase数据库。二、GBase数据库
java web 项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码 ...
weixin_34383618
java前端后端ViewUI
导读:主要从4个方面来阐述,1:背景;2:思路;3:代码实现;4:使用一:封装背景像easyui之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL,以及设置URL反回来的值和select的text,和value的对应关系,这有2个问题:一使用者必须知道URL,二,如果页面有10个下拉表表,要请求后台10次,肯定影响性能,而我想要的是使用者只要申明用哪个数据字典就行了,
IDEA接入GPT王炸秘籍,开发分析界面与ChatGPT直接无缝衔接
数行天下
AI赋能intellij-ideagptchatgptpythonjava
大家好,我是数行天下,普通中间群体是凭借技术或业务在各行各业打工的重要群体,是AI技术的实践和推动者,个体的数字化程度越高就越能在百年未有之变局的AI时代赢得先机。各行各业数据分析、系统开发人员,科研领域研究人员,设计师,及各单位文字工作者等,谁能快速学习、加快效率,产出的内容更优质,在内卷化日益严重的环境中就更有竞争力。由于各种限制,大部分人无法有效使用GPT,即使费力注册成功也因为科学上网时间
LLM 大模型学习必知必会系列(一):大模型基础知识篇
汀、人工智能
LLM技术汇总人工智能自然语言处理promptRAGLLM模型训练模型部署
LLM大模型学习必知必会系列(一):大模型基础知识篇魔搭ModelScope开源的LLM模型魔搭ModelScope欢迎各个开源的LLM模型在社区上做开源分享。目前社区上已经承载了来自各个机构贡献的不同系列的LLM模型。并且社区的开发者也在这些模型的基础上,贡献了许多创新应用,并在ModelScope的创空间上进行分享。本专题初步梳理了当前社区上一些典型的LLM以及对应的创空间应用,方便大家对于L
《深入浅出LLM基础篇》(三):大模型结构分类
GoAI
深入浅出LLM深入浅出AI自然语言处理NLP大模型LLM人工智能transformerchatgpt
AI学习星球推荐:GoAI的学习社区知识星球是一个致力于提供《机器学习|深度学习|CV|NLP|大模型|多模态|AIGC》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于前沿论文解读、资料共享、行业最新动态以、实践教程、求职相关(简历撰写技巧、面经资料与心得)多方面综合学习平台,强烈推荐AI小白及AI爱好者学习,性价比非常高!加入星球➡️点击链接✨专栏介
本地部署 DeepSeek:环境准备 + 详细步骤 + 高级部署方案 + 可视化工具集成 + 故障排除手册 + 性能优化建议
Katie。
人工智能技术发展aideepseek人工智能人工智能大模型
前言随着人工智能技术的迅猛发展,大语言模型(LLM)在多个行业中的应用日益广泛,从自然语言处理、内容生成到智能客服、医疗诊断等领域,AI正在深刻改变传统的工作方式和业务流程。DeepSeek作为一家新兴的AI公司,凭借其高效的AI模型和开源的优势,迅速在竞争激烈的AI市场中脱颖而出。其模型不仅在性能上表现出色,还通过开源策略吸引了大量开发者和企业的关注,形成了一个活跃的社区生态。然而,随着AI技术
【PCIe XDMA开发】XDMA与MIG位宽一致性要求
RunningCamel
PCIeFPGAPCIeXDMA
在基于FPGA的PCIeXDMA与MIG(MemoryInterfaceGenerator)协同设计中,位宽一致性对传输效率有重要影响,但具体实现需结合系统架构和性能需求综合考虑。一、位宽一致性的必要性数据路径对齐要求XDMA的AXI接口位宽(如128/256/512位)需与MIG的物理接口位宽保持一致15。若两者不一致,需插入位宽转换模块(如AXIDataWidthConverter),这会引入
jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点学习永无止境跨域众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
mysql 分区查询优化
annan211
java分区优化mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScriptPromise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
[Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
[设计]字体创意设计方法谈
brotherlamp
UIui自学ui视频ui教程ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java算法面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
mysql导出数据中文乱码问题
daizj
mysql中文乱码导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHPsmartysae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
第八章 流量复制/AB测试/协程
jinnianshilongnian
nginxluacoroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
修改phpMyAdmin导入SQL文件的大小限制
pda158
sqlmysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
Tomcat性能调优方案
Sobfist
apachejvmtomcat应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
SQLServer学习笔记
vipbooks
数据结构xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一