- ‘float‘ object cannot be interpreted as an integer
多欢喜
深度学习进阶课程error
今天写代码的时候遇到了新的问题:'float'objectcannotbeinterpretedasaninteger代码出错地方:forminibatch_indexinrange(num_training_batches):找到num_traininng_batches:num_training_batches=size(training_data)/mini_batch_size理论上感觉没
- python数据类型
乐乐ovo
pythonpython
Python数据类型内置数据类型在编程中,数据类型是一个重要的概念。变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。在这些类别中,Python默认拥有以下内置数据类型:文本类型:str数值类型:int,float,complex序列类型:list,tuple,range映射类型:dict集合类型:set,frozenset布尔类型:bool二进制类型:bytes,bytearray,m
- Python笔记6----数组
weixin_34293911
python数据结构与算法c/c++
1、Python中的数组形式:用list和tuple等数据结构表示数组一维数组:list=[1,2,3,4]二维数组:list=[[1,2,3],[4,5,6],[7,8,9]]用array模块:array模块需要加载,而且运用的较少通过array函数创建数组(数组中的元素可以不是同一种类型),array.array('B',range(5))>>array('B',[1,2,3,4,5])提供a
- 轻松切换npm镜像源:npm config set registry使用指南
小柒笔记
npm前端node.js
在开发过程中,我们经常需要从npm安装依赖包。然而,有时候npm的官方源可能因为网络问题而变得缓慢,影响我们的工作效率。本文将介绍如何使用npmconfigsetregistry命令来切换npm镜像源,提高安装依赖包的速度。npmconfigsetregistry命令简介npmconfigsetregistry命令用于设置npm的镜像源,它支持多种镜像源,如cnpm、taobao、npmjs等。通
- 【HTML】元素 自定义属性 设置与获取(两种方式-含data-*)
Sam9029
html前端javascript
介绍了两种自定义属性的方式一:完全自定义二:data-*内置的自定义方式1.自定义属性名Clickme!varbtn=document.querySelector('button')console.log(btn.getAttribute('desc'))//获取属性值btn.setAttribute('tip','pleaseclickbutton')//设置属性值–2.data-*自定义属性名
- gorm RecordNotFound
darcyaf
gorm中,RecordNotFound()方法只能在结构体中使用,如果是slice类型,则不会报ErrRecordNotFound这个错误先前写的时候发现result.RecordNotFound()这个方法没用,然后看看源码,在callback_query.go中有以下逻辑:ifkind:=results.Kind();kind==reflect.Slice{isSlice=trueresul
- Hadoop windows intelij 跑 MR WordCount
piziyang12138
一、软件环境我使用的软件版本如下:IntellijIdea2017.1Maven3.3.9Hadoop分布式环境二、创建maven工程打开Idea,file->new->Project,左侧面板选择maven工程。(如果只跑MapReduce创建java工程即可,不用勾选Creatfromarchetype,如果想创建web工程或者使用骨架可以勾选)image.png设置GroupId和Artif
- fluentd 简介,日志收集并导入BigQuery
nvd11
CloudspringEtlspringboot
日志收集的工具有很多种例如Splunk,很多大公司都在使用,但是个人使用的话并不合适,主要是需要license的…钱是1个大问题另1个常见开源的解决方案是ELK,但是搭建和学习成本高,如果只是为了日志收集并不值。对于k8s方案,还有1个开源选择,就是fluentd,本文的主题。Fluentd的简介Fluentd是一个开源的数据收集器,旨在实现日志数据的统一收集、处理和转发。它支持多种数据源和数据格
- K8S - Emptydir - 取代ELK 使用fluentd 构建logging saidcar
nvd11
K8Skubernetes
由于k8s的无状态service通常部署在多个POD中,实现多实例面向高并发。但是k8s本身并没有提供集中查询多个pod的日志的功能其中1个常见方案就是ELK.本文的方案是利用fluentdsidecar和emptydir把多个pod的日志导向到bigquery的table中。Emptydir的简介Kubernetes中的EmptyDir是一种用于容器之间共享临时存储的空目录卷类型。EmptyDi
- 关于jquery的on(“click”,function(){}),事件绑定无效
微特尔普拉斯
javascriptjquery
之前在做jquery时,遇到一个问题,就是我在append一个给啊标签绑定click点击事件时不起作用,jquery的版本时3.4.1,也找不到起的错误.就是没触发:$(self).find(".comment-action.cancel").off("click");//console.log("点击了取消回复的按钮!");$(self).find(".comment-action.cancel
- 几率odds与逻辑回归
元气小地瓜
https://www.jianshu.com/p/aa73938f32ee几率odds从Odds角度理解LogisticRegression模型的参数13December20151.引言无论在学术界,还是在工业界,LogisticRegression(LR,逻辑回归)模型[1]是常用的分类模型,被用于各种分类场景和点击率预估问题等,它也是MaxEntropy(ME,最大熵)模型[2],或者说So
- docker registry提示Layer already exists但blob数据不存在
nangonghen
dockerdocker容器运维
1概述1.1环境版本信息如下:a、操作系统:centos7.6b、registry版本:v2.7.11.2现象registry的blob目录下的文件被GC之后,再重新dockerpush旧镜像提示Layeralreadyexists,即从服务端响应的数据来看推送镜像是成功的,但在blob目录中写入相应的文件,即实际上推送镜像是失败的。执行dockerpull请求,registry告知manifes
- 长安链java-sdk打成jar包部署找不到配置文件,springBoot项目制作Docker镜像
FAFU_kyp
长安链JAVA基础知识#Dockerjavajar开发语言长安链
长安链使用sdk_config.yml的形式来引入用户的各种证书文件,但是打成jar包部署在服务器上会提示找不到文件。由于国内对镜像的限制,我选用了阿里的龙蜥镜像,里面提供java1.8的环境,因为长安链要1.8的环境dockerpull anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6解决方案就是制作成
- python 程序设计
JungleChow
PythonPython
importsyss=sys.stdin.readline().split()forlineinsys.stdin:s=sys.stdin.read().strip().split()line1=input()line2=input().split()line3=input().strip().split()list=[]list=n*['1']data=list(range(n))列表中字符串转
- Hadoop学习第三课(HDFS架构--读、写流程)
小小程序员呀~
数据库hadoop架构bigdata
1.块概念举例1:一桶水1000ml,瓶子的规格100ml=>需要10个瓶子装完一桶水1010ml,瓶子的规格100ml=>需要11个瓶子装完一桶水1010ml,瓶子的规格200ml=>需要6个瓶子装完块的大小规格,只要是需要存储,哪怕一点点,也是要占用一个块的块大小的参数:dfs.blocksize官方默认的大小为128M官网:https://hadoop.apache.org/docs/r3.
- 三十五、Gin注册功能实战
Boo_T
gogingolang开发语言后端
目录一、创建请求组二、service下创建register.go文件三、实现密码加密功能四、在register方法中使用encryptPassword函数一、创建请求组const(rootPath="/api/"noAuthPath="/out/api/")//创建请求组noAuth:=r.Group(noAuthPath)//注册功能路由绑定noAuth.POST("cms/register",
- hadoop启动HDFS命令
m0_67401228
java搜索引擎linux后端
启动命令:/hadoop/sbin/start-dfs.sh停止命令:/hadoop/sbin/stop-dfs.sh
- ArcGIS地图切片原理与算法
数智侠
GIS
ArcGIS地图切图系列之(一)切片原理解析点击打开链接ArcGIS地图切图系列之(二)JAVA实现点击打开链接ArcGIS地图切图系列之(三)MapReduce实现点击打开链接
- 打造专属云存储:私有Docker Registry全面解读与实战部署
IT运维先森
Dockerdocker容器
在容器技术大行其道的今天,DockerRegistry作为容器镜像的中央仓库,扮演着至关重要的角色。当公开的官方镜像库无法满足企业对安全性、可控性及定制化的需求时,搭建私有DockerRegistry就显得尤为必要。本文旨在深入剖析私有DockerRegistry的核心功能、部署方法以及管理策略,并在文末抛砖引玉,引发关于私有Registry进阶实践与未来趋势的讨论。一、私有DockerRegis
- Docker Registry Web:一站式私有Docker Registry管理解决方案
邹澜鹤Gardener
DockerRegistryWeb:一站式私有DockerRegistry管理解决方案项目介绍docker-registry-web是一个专为私有DockerRegistryv2设计的Web界面和安全服务,它提供了浏览仓库、标签和镜像的能力,并具备基于角色的身份验证和审计功能。通过简单的Docker命令,您可以快速启动并开始管理您的Docker镜像。项目技术分析该项目基于Java开发,利用Dock
- 只会SQL语句,可以做什么工作?
King.624
sql大数据人工智能mysql数据库数据分析开发语言
1、SQL是什么首先简单介绍一下SQL(StructuredQueryLanguage),是一种可以进行数据提取、聚合、分析,并对数据库进行构建和修改的编程语言。相对来说,SQL上手非常容易,因为语法结构比较固定,新手初学几天就可以轻松上手,懂得最基本的select,from,where,groupby等语法的使用,完成一个基本的SQL程序。当然,初学之后,就要面临一些进阶的挑战,比如利用join
- Django 创建好的模块怎么在后台显示
u010373106
pythonDjangodjango数据库sqlite
1、配置模型及其需要显示的数据刚才创建好的tests的增删改查,在后台是不显示的,所以需要进行配置,在刚才创建好的模块里找到admin.py文件,在里面进行如下配置fromdjango.contribimportadminfrom.importmodelsfrom.modelsimportTests#Registeryourmodelshere.classTestsAdmin(admin.Mode
- 【React】MobX
小秀_heo
React及其周边生态react.js前端前端框架
概述mobx实现像vue一样声明式的修改数据,我们在项目中直接使用mobx+mobx-react。mobxjs/mobx-react:ReactbindingsforMobX(github.com)https://zh.mobx.js.org/the-gist-of-mobx.htmlstate数据action动作derivation派生computedobserver监听变化,包裹的React组
- VBA 把Excel表当做一个大数据库来操作
码猩
excelVBA专栏excel数据库
VBA把Excel表当做一个大数据库来操作SubSqlQueryBJD(strBillNoAsString)DimstrSqlAsStringDimarrCol()AsStringDimstrLineWhereDimarrWhere()AsStringDimstrWhereValAsStringDimstrResultShowRngAsStringDimstrWhereRngAsStringDim
- dubbo 服务消费原理分析之服务目录
DEARM LINER
dubbojava架构后端springboot
文章目录前言一、RegistryDirectory1、DynamicDirectory2、RegistryProtocol.doCreateInvoker2、RegistryProtocol.subscribe3、ListenerRegistryWrapper.subscribe4、FailbackRegistry.subscribe5、ZookeeperRegistry.doSubscribe6
- bigquery_到Google bigquery的sql查询模板,它将您的报告提升到另一个层次
张_伟_杰
javamysqlsqlpython数据库
bigqueryInthispost,we’resharingreporttemplatesthatyoucanbuildwithSQLqueriestoGoogleBigQuerydata.在本文中,我们将分享您可以使用SQL查询为GoogleBigQuery数据构建的报告模板。First,you’llfindoutaboutwhatyoucancalculatewiththestandarde
- 【计算机毕设-大数据方向】基于Hadoop的电商交易数据分析可视化系统的设计与实现
程序员-石头山
大数据实战案例大数据hadoop毕业设计毕设
博主介绍:✌全平台粉丝5W+,高级大厂开发程序员,博客之星、掘金/知乎/华为云/阿里云等平台优质作者。【源码获取】关注并且私信我【联系方式】最下边感兴趣的可以先收藏起来,同学门有不懂的毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多同学解决问题前言随着电子商务行业的迅猛发展,电商平台积累了海量的数据资源,这些数据不仅包括用户的基本信息、购物记录,还包括用户的浏览行为、评价反馈等多
- python学习笔记第5节-类和函数
梁鋐俐
我们在前面的学习中学会了一个叫type()的函数,用它来判断变量的类型,变量和它当下存储的数据绑定在一起。例如a=[4,5,6,7]print(type(a))输出a=range(10,20,2)print(type(a))输出a=Trueprint(type(a))输出a={‘a54’:56}print(type(a))输出a={‘a54’,56}print(type(a))输出a=‘tyuio
- 分布式离线计算—Spark—基础介绍
测试开发abbey
人工智能—大数据
原文作者:饥渴的小苹果原文地址:【Spark】Spark基础教程目录Spark特点Spark相对于Hadoop的优势Spark生态系统Spark基本概念Spark结构设计Spark各种概念之间的关系Executor的优点Spark运行基本流程Spark运行架构的特点Spark的部署模式Spark三种部署方式Hadoop和Spark的统一部署摘要:Spark是基于内存计算的大数据并行计算框架Spar
- spark常用命令
我是浣熊的微笑
spark
查看报错日志:yarnlogsapplicationIDspark2-submit--masteryarn--classcom.hik.ReadHdfstest-1.0-SNAPSHOT.jar进入$SPARK_HOME目录,输入bin/spark-submit--help可以得到该命令的使用帮助。hadoop@wyy:/app/hadoop/spark100$bin/spark-submit--
- 多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
- How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
- Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
- Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
- 浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
- 关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
- You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
- MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
- mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
- 自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
- threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
- activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
- 【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
- 【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
- Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
- java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
- 返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
- [科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
- 过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
- java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
- 网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
- mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
- MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
- base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
- JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
- apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
- java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
- 你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
- [一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
- Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源