E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Cache学习笔记
SAP MM
学习笔记
42 - 特殊调达流程 - 受托品(寄售)
SAPMM
学习笔记
41-特殊调达流程-外注加工-CSDN博客咱们继续学习特殊调达流程。本章主要讲受托品。1,什么是受托品(寄售)仕入先提供的商品,商品是放在你公司了,但是所属还是属于仕入先的。
东京老树根
·
2024-02-15 10:08
MM
SAP学习笔记
SAP
学习
笔记
代码随想录算法训练营第三十一天|● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和
仅做
学习笔记
,详细请访问代码随想录●理论基础●455.分发饼干●376.摆动序列●53.最大子序和●理论基础有同学问了如何验证可不可以用贪心算法呢?
一枚清澈愚蠢的研究生
·
2024-02-15 10:37
letcode
算法
视觉SLAM十四讲
学习笔记
——第五讲 相机与图像
这一讲主要内容就是了解摄像机的成像模型以及OpenCV的使用。1.四种坐标系坐标系基本描述世界坐标系因为摄像机和物体可以随便摆放在空间中的任何位置,所以我们必须用一个固定的坐标系来描述空间中任何物体的位置和摄像机的位置和朝向,这个基准坐标系我们称之为世界坐标系。在计算机视觉中,我们通常把世界坐标系定义为摄像机坐标系或者所观测的物体的中心。摄像机坐标系摄像机坐标系的原点是摄像机的光心,X、Y轴分别平
晒月光12138
·
2024-02-15 10:06
视觉SLAM十四讲学习笔记
自动驾驶
计算机视觉
人工智能
随机过程及应用
学习笔记
(三)几种重要的随机过程
介绍独立过程和独立增量过程。重点介绍两种独立增量过程-—维纳过程和泊松过程。目录前言一、独立过程和独立增量过程1、独立过程(IndependentProcess)2、独立增量过程(IndependentIncrementProcess)二、正态过程(高斯过程)1、正态过程的定义编辑2、正态过程的概率分布三、维纳过程(Brown运动)1、定义2、概率分布及数学特征3、性质四、泊松过程1、定义2、概率
苦瓜汤补钙
·
2024-02-15 10:36
学习
笔记
视觉slam十四讲
学习笔记
(四)相机与图像
理解理解针孔相机的模型、内参与径向畸变参数。理解一个空间点是如何投影到相机成像平面的。掌握OpenCV的图像存储与表达方式。学会基本的摄像头标定方法。目录前言一、相机模型1针孔相机模型2畸变单目相机的成像过程3双目相机模型4RGB-D相机模型二、图像计算机中图像的表示三、图像的存取与访问1安装OpenCV2存取与访问总结前言前面介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中
苦瓜汤补钙
·
2024-02-15 10:06
视觉SLAM十四讲
笔记
相机
机器学习
MySQL基础(二)——
学习笔记
一.MySQL存储引擎1.体系结构从上至下:连接-服务-引擎(包括索引)-存储层2.存储引擎(mysql默认innodb)#建表时指定存储引擎CREATETABLE表名(字段1字段1类型[COMMENT字段1注释],......字段n字段n类型[COMMENT字段n注释])ENGINE=INNODB[COMMENT表注释];#查询存储引擎showengines;存储引擎特点:innoDB:DML操
tmy99
·
2024-02-15 10:33
mysql
学习
笔记
《UE5_C++多人TPS完整教程》
学习笔记
13 ——《P14 创建插件(Creating A Plugin)》
本文为B站系列教学视频《UE5_C++多人TPS完整教程》——《P14创建插件(CreatingAPlugin)》的
学习笔记
,该系列教学视频为Udemy课程《UnrealEngine5C++MultiplayerShooter
SHOTJEE
·
2024-02-15 10:14
#
ue5
c++
游戏
《UE5_C++多人TPS完整教程》
学习笔记
14 ——《P15 创建我们自己的子系统(Creating Our Own Subsystem)》
本文为B站系列教学视频《UE5_C++多人TPS完整教程》——《P15创建我们自己的子系统(CreatingOurOwnSubsystem)》的
学习笔记
,该系列教学视频为Udemy课程《UnrealEngine5C
SHOTJEE
·
2024-02-15 10:14
#
ue5
游戏
c++
《UE5_C++多人TPS完整教程》
学习笔记
15 ——《P16 会话接口委托(Session Interface Delegates)》
本文为B站系列教学视频《UE5_C++多人TPS完整教程》——《P16会话接口委托(SessionInterfaceDelegates)》的
学习笔记
,该系列教学视频为Udemy课程《UnrealEngine5C
SHOTJEE
·
2024-02-15 09:13
#
ue5
游戏
c++
桥蕴《亲密关系》张德芬推荐序
克里斯多福·孟的《亲密关系》是很多大V都在推荐的非常经典的书,因此桥蕴亲密关系
学习笔记
先从这本书开始分享。首先来看本书译者、著名畅销书作者张德芬推荐序的重点内容:其一,每个人都很难摆脱亲密关系困扰。
桥蕴
·
2024-02-15 09:17
易效能
学习笔记
90――工具
倒计时组合软件:Timers番茄钟与倒计时的区别:番茄钟是指专注的精神,而不是时间上倒计时的概念。番茄钟的使用组合你可以尝试设置4个番茄钟,前三组都是专注工作25分钟,5分钟休息,最后一组是工作25分钟,休息30分钟。
豆浆油条_bdb7
·
2024-02-15 09:54
Shell
学习笔记
(三)-shell变量
Shell语言是一种动态类型和弱类型语言,因此,在Shell中无需显示地声明变量,且变量的类型会根据不同的操作符而发生变化.静态类型语言:在程序编译期间就确定变量类型的语言,如java,C++等动态类型语言:在程序运行期间才确定变量类型的语言,如PHP,Python等.一shell变量介绍什么是变量?在一个脚本周期内,其值可以发生改变的量就是变量。LinuxShell中的变量分为,系统变量和用户自
小关暗器
·
2024-02-15 09:56
学习
笔记
linux
shell
(delphi11最新学习资料) Object Pascal
学习笔记
---第5章第1节(动态数组)
5.1.4动态数组在传统的Pascal中,数组的大小是固定的,并且在声明数据类型时限制了元素的数量。然而,ObjectPascal支持动态数组的直接和本地实现。注解:“直接实现动态数组”与使用指针和动态内存分配来获得类似效果的方法截然不同…后者代码非常复杂且容易出错。顺便说一句,动态数组是大多数现代编程语言中唯一的一种结构形式。动态数组是动态分配的,并进行引用计数(使得参数传递更快,因为只传递引用
langfengyl
·
2024-02-15 09:16
Object
Pascal
Handbook
学习
笔记
delphi
delphi11
Object
Pascal
(delphi11最新学习资料) Object Pascal
学习笔记
---第5章第1节(静态数组)
第5章数组与记录我在第二章介绍数据类型时,提到了ObjectPascal中既有内置数据类型又有自定义数据类型。自定义数据类型的一个简单示例是在该章节中介绍的枚举类型。自定义类型的真正强大体现在更高级的机制中,比如数组、记录和类。在本章中,我将讲述前两个机制,基本上它们的存在可以追溯到Pascal的早期定义,但经过多年的改变(现在变得更加强大),它们与早期同名的定义类型几乎没有相似之处。在本章末尾,
langfengyl
·
2024-02-15 09:45
Object
Pascal
Handbook
学习
笔记
delphi
delphi11
Object
Pascal
(delphi11最新学习资料) Object Pascal
学习笔记
---第5章第1节(开放式数组形参)
5.1.5开放式数组形参对于数组的使用有一个非常特殊的场景,即用于向函数传递一个灵活的参数列表。除了直接传递数组外,本节和下一节还将解释两种特殊的语法约定。在上一段代码中的Format函数就是一个使用了这种约定的函数,它的第二个参数接受一个就地定义的数组值。与C语言(以及其他一些基于C语法的语言)不同,在传统的Pascal语言中,函数或过程总是有固定数量的参数。然而,在ObjectPascal中,
langfengyl
·
2024-02-15 09:15
Object
Pascal
Handbook
学习
笔记
delphi
delphi11
Object
Pascal
《人生算法》
学习笔记
—复利
昨天我们学习了内核,找到自己的内核,然后不断复制迭代,将会带来庞大的复利效果。这要求我们把前面几段的心法都准备好了,复利才会带来“几何级数增长”的效果,如果没有达到复利的效果,那么说明前面6段的功夫显得有些苍白,显然,成长不是单一的维度的努力,成长是在一个系统里面打怪升级,环环相扣啊!我们的父辈,如果找到了复利的途径,都是属于少数的幸运儿,但当今社会,复利不再属于某一批幸运儿的礼物,而是我们必须攻
万万千千
·
2024-02-15 09:52
【阿里铁军课
学习笔记
】-【销售心态】43快准狠消灭“更年期”,转型成功不遥远
【销售心态】43快准狠消灭“更年期”,转型成功不遥远讲师:李立恒(阿里军校校长)继续聊更年期,上一期我们聊到了更年期的一些症状,总结来说,更年期产生的诱因,我自己总结是两种,一种呢我们把它称为是一个自然演变的规律,一个人做一个事情,前期投入的精力很饱满,这是很正常的,到了中期就稍微力道不足,到了后期再去爆发,这是一个规律,是很正常的。第二种就是纯技术层面的,比如说在这运动项目里面有一个项目是跑步,
马一
·
2024-02-15 09:49
分布式缓存上—浅谈缓存的理解
1.2作用1.3原理2.缓存的分类2.1CDN缓存应用场景优点2.2反向代理缓存应用场景2.3本地应用缓存应用场景缓存介质实现1.通过编程实现2.Ehcahe缓存数据过期策略3.分布式缓存3.1Mem
cache
d
ZNineSun
·
2024-02-15 09:39
分布式
缓存
CDN
设计原则
反向代理
过期策略
缓存服务器 性能指标,浅谈服务端的缓存
隔离,重要的
cache
资源,或者量大的要进行物理隔离。降低耦合,减少互相影响。做local
cache
,有时候可以解决热点问题,而且走unixsock更快,尤其单次请求大量key的时候更靠谱。
恶魔公子维吉尔
·
2024-02-15 08:38
缓存服务器
性能指标
浅谈本地缓存的应用
本地缓存的选择本地缓存可选择:JVM堆/Eh
cache
/Guava
Cache
(1)Eh
cache
:支持堆外缓存,持久化。
梦之救赎
·
2024-02-15 08:38
缓存
java
后端
jvm
浅谈项目的缓存使用
Spring缓存@
Cache
able方法,关于用法,网上已经有很多这样的例子,这里不展开了,主要要注意Springboot1.x与2.x的调用区别、统一命名格式的定义、默认使用JDK序列化还是JSON序列化
u013323965
·
2024-02-15 08:08
Java
Web
Cache
缓存
Redis由浅到深层次讲解和springboot实战(服务器层面的搭建部署)
2、Mem
cache
d(缓存)+Mysql+垂直拆分(读写分离)
三横同学
·
2024-02-15 08:06
服务器
redis
redis
spring
boot
服务器
前端HTML5/HTML+CSS3/CSS
学习笔记
(六)
表单的应用认识表单创建表单认识表单注:表单”是网页上用于输入信息的区域,用来实现网页与用户的交互、沟通。例如注册页面中的用户名和密码输入、性别选择、提交按钮等都是用表单相关的标记定义的。创建表单在HTML5中,标记被用于定义表单域,即创建一个表单,以实现用户信息的收集和传递,中的所有内容都会被提交给服务器。各种表单控件与之间的表单控件是由用户自定义的,action、method为表单标记的常用属性
LHBxiaobin
·
2024-02-15 08:03
HTML+CSS学习
前端
html
css
【百面机器
学习笔记
】模型评估
模型评估指标准确率(Accuracy)准确率是指分类正确的样本占总样本个数的比例。Accuracy=n(correct)/n(total)当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。所以,当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准确率的最主要因素。精确率(Precision)&召回率(Recall)精确率是指分类正确的正样本个数占分类器判定为正样本
葡萄肉多
·
2024-02-15 08:06
学习笔记
-2021-04-02
学习笔记
:1.70岁时,人类的肌肉会流失1/4,90岁时,达到1/2。最有效的抵抗方式就是肌肉力量练习,强烈推荐举重或深蹲。有两点:第一,人年龄越大,越应该重训。
正版瓷心鱼
·
2024-02-15 08:24
HttpRunner3.X
学习笔记
(2)-用例结构解析
一、官方推荐的pytest格式httprunner可以支持三种格式的用例,分别是pytest、yaml和json。yaml和json是以前的版本所使用的用例格式,但是在3.x版本上,官方强烈建议使用的是pytest格式的用例。image.png官方的用例格式关系图,可以看出来,httprunner在对于第三方导出的har文件进行了转换处理,有的人喜欢转换成json,有的人喜欢转换成yaml。但是最
立品
·
2024-02-15 08:19
《余映潮谈阅读教学设计》一书
学习笔记
(一)
图片发自App1.《有一种教学能力叫发现》追求发现,能够让我们关注教材、关注教学、关注教法、关注资料,关注于教学有关的事物与现象。追求发现,能够让我们变通思维、开阔思路、拓宽眼界、增加教学兴趣、引来新鲜活水。追求发现,能够让教学研究更加务实、让教学设计更有创意、让教学内容更有新意与美感。发现了八种基本途径:一、发现有趣的材料。用联想的方法,或穿插引入,或由此及彼,发挥其在教学中的妙用。二、发现知识
小草文字苑
·
2024-02-15 07:10
《薛兆丰的经济学课》第二十讲
学习笔记
第20讲|寻租——乞丐没有白拿施舍结合自身想一下,这一讲似乎也可以延伸的聊一聊『无效努力』。不知道你们有没有在上学的时候遇到过这样的同学,他特别特别的努力,努力到老师都心疼他,但是他的成绩就是不好。他不傻不笨,智商正常,那么为什么会这样呢?很大的可能是他所有的勤奋都是无效的。可能他花了大量的精力在他不擅长的事情上,导致在他擅长的事情上他已经没有精力去钻研,从而形成了一个恶性循环。如同我每天写这个学
阿亮的学习笔记
·
2024-02-15 07:03
「Python」2020.04.12
学习笔记
| 第六章文件目录之序列化+目录getcwd()、chdir(path)、cur(dir)、pardir()+十级深层目录小练习
学习测试开发的Day101,真棒!学习时间为1H40M第九次全天课(下午视频二2H40M-3H27M_END)image.png如果有问题的话,保存的时候选择此模式,并把前面多余的几个字节去掉即可!序列化image.png程序中我们经常用到变量,但是当程序一关,这个变量就没有了,我们想把这个变量的状态记下来,变量除了有值还会有类型,如果下次我们还是想用这个变量怎么办?只能手写,但是如果我们想保存上
Yetta的书影屋
·
2024-02-15 07:17
GraphicsMagick 的 OpenCL 开发记录(八)
将问题最终定位在了RunOpenCLBenchmark()的结尾DestroyImage(resizedImage);处,即在Destroy
Cache
Info()中应该有清除OpenCL相关内存的代码。
遍地是牛
·
2024-02-15 06:24
GraphicsMagick
的
OpenCL
开发
GraphicsMagick
OpenCL
c++
GraphicsMagick 的 OpenCL 开发记录(九)
ImageMagick中的number_channels成员(一)在ImageMagick中number_channels成员出现频率有点高,经调试发现ImageMagick中图片对象初始化时通过调用OpenPixel
Cache
遍地是牛
·
2024-02-15 06:24
GraphicsMagick
的
OpenCL
开发
GraphicsMagick
ImageMagick
OpenCL
c++
第七周小结
花漫开,一个在嘈杂生活中有所坚持的女子,这里有书评影评,有
学习笔记
,有微小观点。人生是有趣的旅途,我兴致勃勃在学习,在经历,在记录。欢迎关注,结伴同行。
花漫开
·
2024-02-15 06:57
【沁恒CH32学习】——RISC-V架构
学习笔记
作为新手第一次接触RISC-V架构时。我首先百度简单了解了ARM架构和RISC-V架构的区别,以我个人的理解是ARM架构代表之前的复杂指令集,而RISC-V架构代表着精简指令集。就比如说同样是一个舞蹈动作,复杂指令集可能会是一个命令就完成舞蹈动作,而精简指令集是由手,腿的动作组合而成。而我这次的学习的重点并不是围绕着指令集,而是基于RISC-V架构的CHV103R8T6开发板的应用上。我们知道接触
大蒙同学
·
2024-02-15 06:10
stm32
物联网
risc-v
RSIC-V“一芯”
学习笔记
(三)——读后感以及部分PA0工作
文章目录一、别像弱智一样提问二、提问的智慧三、安装linux以及配置问题3.1关于问题配置一、别像弱智一样提问提问前,应该清晰问自己几个问题,1.是否尝试了在搜索引擎进行搜索过2.相关的手册和文档是否看了3.找找有没有常见的问题文档(FAQ)4.学会圈出重点二、提问的智慧我看到这里的时候,我真的是十分惊讶的,这写真的太详细了,有点看不懂。总结就是,第一、调整好心态,第二、问题详尽,第三、上网礼仪,
周末不下雨
·
2024-02-15 06:09
RSIC-V“一芯”
linux
fluent udf 设置
学习笔记
,教学视频来自bilibili怂管木觉兽
稳态与瞬态仿真的区别·稳态仿真迭代,残差收敛。内部速度分布:稳态,充分发展·瞬态仿真,残差在一个范围内呈现出波浪形木觉兽链接:瞬态仿真跟稳态仿真的异同木觉兽链接:UDF第一讲基本概念Userdefinedfunctions用户自定义函数一、分类按作用方式不同,分为解释型和编译型解释型:相对独立的程序,在fluent迭代前或迭代后,会改变一下内存里的数据。编译型:动态链接库,让fluent连接它。这
小芙芙的打卡之路
·
2024-02-15 06:40
2023-01-05人生愿望第67/100天#Monself#
学习笔记
#模块6:战胜内耗#愿望作业17
DAY67(愿望作业)马克·吐温曾说:之后的二十年,你更可能因为那些你没有去做的事情而后悔。而不是因为那些你做了的事。所以别想太多,勇敢去做吧!【愿望执行】打卡日16请按以下格式完成你的愿望打卡,并用文字/图片形式上传。1、今天你为自己的100天愿望做了些什么?2、在这个过程中你遇到了什么问题?又是怎么解决的呢?3、今天过后,你的愿望达成度是多少了?(例如:5%、10%)4、请你在鲸打卡里,给同期
萧瑟归去
·
2024-02-15 05:39
【项目】高并发内存池
内存池相关知识池化技术内存池malloc定长内存池的实现高并发内存池整体框架设计Thread
Cache
对齐规则封装FreeList类封装thread
cache
类TLS无锁访问Cenctral
Cache
整体设计页号规定
那个楠人
·
2024-02-15 05:02
缓存
c++
c语言
visual
studio
散列表
后端
sql
软件评测师
学习笔记
-计算机体系结构分类
Flynn分类记忆方法:S:singleI:instructionM:MultipleD:data
Go_Viola
·
2024-02-15 05:50
异常检测-基于统计学的方法-
学习笔记
-2
异常检测的
学习笔记
并非原创,而是搜索各位大佬的帖子整理而得。如有冒犯,请联系我。1.概述统计学⽅法对数据的正常性做出假定。它们假定正常的数据对象由⼀个统计模型产⽣,而不遵守该模型的数据是异常点。
Rank_Fan007
·
2024-02-15 05:37
记一次PHP并发性能调优实战 -- 性能提升104%
那肯定就更好了业务背景框架及相应环境laravel5.7,mysql5.7,redis5,nginx1.15centos7.5bbrdocker,docker-compose阿里云4C和8G问题背景php已经开启op
cache
PHP9年架构师
·
2024-02-15 04:59
关于 SAP 电商云首页加载时触发的 OCC API 请求
lang=en&curr=USD
Cache
-Con
JerryWang_汪子熙
·
2024-02-15 04:31
里仁篇第四章
学习笔记
原文:子曰:“苟志于仁矣,无恶也。”释义:这个“恶”有两种解释,一种是念wù,憎恶、厌恶;一种是念è,恶念、恶行。这两种解释可以会通。孔子说:“如果一个人立志于仁,就不会厌恶别人了(或者就不会有恶行了)。”引经据典:朱熹在《集注》上解释:“苟,诚也。志者,心之所之也。其心诚在于仁,则必无为恶之事矣。”苟,就是诚,至诚,诚心;志,就是内心对某一件事情的向往、仰慕,从而发出决定得到它的内心誓愿。思考题
卓玛秦
·
2024-02-15 04:07
【黑马程序员】C++
学习笔记
--入门篇(上)
第一阶段基础语法入门(上)1C++初始1.1第一个C++程序编写一个C++程序总共分为4个步骤:创建项目创建文件编写代码运行程序以devC++为例1.1.1创建项目1.1.2创建文件此处忘记截图了,步骤为右键单击“未命名3文件,选择“重命名”1.1.3编写代码通用代码#includeusingnamespacestd;intmain(){system("pause");return0;}1.1.4
山楂橙子
·
2024-02-15 04:41
C/C++
c++
学习
笔记
算法
开发语言
c语言
201811【29】怎样成为精力管理高手
本周共学学习人:姜玉莲第7节高效使用你的精力
学习笔记
:1.你的注意力在哪里,你的精力就流向那里三个方法让你拥有专注力:☞设定清晰的目标。☞给你的大脑加一个外挂,把碎片信息清理出去。
小莲2017
·
2024-02-15 04:03
Linux释放内存
如下图表示,(total)总物理内存是809MB,(used)已使用167MB,(free)剩余285MB,(buff/
cache
)缓存356MB,(available)可用于新进程的内存514MB,此部分包含包括空闲内存
b2105859
·
2024-02-15 03:55
Linux
Shell
Linux
《道德经说什么》
学习笔记
72
一、原文民不畏威,则大威至。无狎其所居,无厌其所生。夫唯不厌,是以不厌。是以圣人自知,不自见;自爱,不自贵。故去彼取此。二、译文人民不畏惧统治者的威严,就会发生大的麻烦。不要让人民住的地方越来越狭小,不要让他们的生存受到压迫。不去压迫人民,他们才不会对统治者的行为感到厌烦。所以圣人有自知之明,不自我表现;珍爱自己的生命但不自认为高贵。所以舍弃后者而取前者。三、解读1.我们都熟悉孟子所讲的“民为贵,
我来也007
·
2024-02-15 02:59
Android Studio不停的Indexing的问题
AndroidStudio不停的Indexing的问题依次点击File-->invalidate
Cache
s/Restart...
柏林billy
·
2024-02-15 02:20
NoSQL-lesson13-Redis缓存技术-运维篇
key-value)RDBMS:MySQL,Oracle,MSSQL,PGNoSQL:Redis,MongoDB,列存储存储相关NewSQL----->分布式数据库架构(学习了MongoDB)缓存产品介绍:mem
cache
d
学无止境_9b65
·
2024-02-15 02:16
【Python入门】23.正则表达式
本
学习笔记
基于廖雪峰的Python教程,如有侵权,请告知删除。
三贝_
·
2024-02-15 02:11
学习笔记
:武志红的心理课|问答|身心合一是瞬间,准备是王道
图片发自App平时做好准备,而关键时刻,可以使用身心合一的方法,让自己超常发挥。自恋性竞争的力量无时不在,接受它的推动让自己变得更强;在关键性的决赛时刻,放下自恋与头脑,信任身体,创造出身心合一的奇迹力量。这节课,主要学到的是,如何调整自恋性竞争和身心合一境界的关系。合理的利用好自恋的力量,促使自己去努力拼搏,更高更强。在临近巅峰时,要适时的放下自恋和头脑对自己的控制,完全交由身体,以期达到最完美
进化的鱼
·
2024-02-15 02:10
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他