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
wxWidget源码阅读
源码阅读
:分布式服务注册中心XXL-REGISTRY(基于1.0.2)
前言因为公司最近项目原因正好用到了《分布式任务调度平台XXL-JOB》,项目结束打算看看他的源码,发现他还依赖于《分布式服务框架XXL-RPC》,于是我决定先看XXL-RPC。但当我正准备看的时候,我发现XXL-RPC依赖于《分布式服务注册中心XXL-REGISTRY》,于是我决定先看XXL-REGISTRY让我们先看看它自己怎么吹自己的[1.1概述]XXL-REGISTRY是一个轻量级分布式服务
鸡熟了
·
2023-11-25 15:06
【
源码阅读
】【苦练基本功】Golang内置函数分析
Golangpackagebuiltin中内置函数我分为两部分介绍,第一部分为基础类型,第二部分为包含函数、接口,较复杂一些第一部分//boolisthesetofbooleanvalues,trueandfalse.typeboolbool//trueandfalsearethetwountypedbooleanvalues.const(true=0==0//Untypedbool.false=
在路上的德尔菲
·
2023-11-25 13:12
基础
golang
go
redis
源码阅读
2 - 解读makefile, make编译生成 redis-cli redis-server
下载源码
[email protected]
:redis/redis.git生成带debug信息的redis-server和redis-clicdredismakeCFLAGS="-g-O0"指定编译参数支持debug增加CFLAGS="-g-O0"参数,支持编辑器debugmakeCFLAGS="-g-O0"官方关于debug说明连接https://redis.io/topics/deb
youwen21
·
2023-11-24 23:09
redis
redis
数据库
git
deepxde
源码阅读
笔记(长期更新)
2023.11.23阅读的deepxdeversion:1.9.01.train_aux_vars,即pde当中的第三个参数这个变量的含义困惑很久。最后发现就是operatorlearning的PDEs方程parameters。脉络:defpdeaux_vars->deepxde目前支持tf1最多,但是对其他框架也有支持,仓库的主要维护者LuLu跟百度应该有合作,目前对paddlepaddle的支
构建的乐趣
·
2023-11-24 17:22
笔记
源码阅读
笔记--job
job就是对work的封装(应该对应于咱们项目中的task,只不过facebook做了一个封装)。job可以触发或者分派在下面三种情况:立即,在调用线程中立即派发NBIO,进行IO相关操作,以及一些定时器相关的操作普通线程池,libphenom可以有多个线程池Jobdefinitionstructph_job_def{//Thecallbacktorunwhenthejobisdispatched
sxr008
·
2023-11-24 13:05
SpringBoot源码初学者(一):SpringBoot功能扩展接口的使用与源码分析
长时间的学习当中,也总结出这些文章的部分问题:没有说明用法,直接讲解源码,其实很多新手对SpringBoot了解不够多,还不明白怎么用,更不要想能理解源码了
源码阅读
跳跃大,没有说
敲代码的旺财
·
2023-11-24 09:53
Vue
源码阅读
- 文件结构与运行机制
vue已是目前国内前端web端三分天下之一,同时也作为本人主要技术栈之一,在日常使用中知其然也好奇着所以然,另外最近的社区涌现了一大票vue
源码阅读
类的文章,在下借这个机会从大家的文章和讨论中汲取了一些营养
沙子揉碎在眼睛里
·
2023-11-24 08:50
vue
vue
源码分析
运行机制
FreeRTOS
源码阅读
笔记4--semphr.h
信号量是特殊的队列--无法存储消息的队列,相关的接口函数声明在semphr.h中,通过宏定义替换队列函数实现。4.1创建二值信号量xSemaphoreCreateBinary()4.1.1函数原型queueQUEUE_TYPE_BINARY_SEMAPHORE:一个宏,表示创建队列的类型是二值信号量4.1.2函数框架创建二值信号量实际上是,创建了一个队列,这个队列的长度为1,存储队列消息的空间为0
c_up
·
2023-11-23 07:26
笔记
源码阅读
(一)--python数据分析
github地址us_baby_names项目地址tv_inspired_baby_names项目地址运行使用环境python2.7(运行过程中缺少包自行安装)jupyter1.0.0安装使用运行代码##cd进.ipynb所在目录cdpython##开启jupyterjupyternotebook捕获.PNG点击对应文件(注意要先把数据集下载到对应目录)然后点击运行,等待一段时间就会出现结果。结果
genglintong
·
2023-11-22 15:22
Vue3
源码阅读
(9):渲染器 —— diff 算法
这篇文章讲解Vue中常说的diff算法,既会讲解Vue3的版本,也会讲解Vue2的版本。1,前置知识1-1,diff算法的作用diff算法用于更新元素节点的子节点1-2,元素子节点的类型元素的子节点有三种类型,分别是:空、文本、元素节点(一个或者多个)。新旧节点的子节点各有三种情况,所以总共有9中情形,分别是:newVNode的子节点oldVNode的子节点需要进行的操作1空空不做任何操作2空文本
纷飞丿
·
2023-11-21 20:57
vue3源码阅读系列
vue.js
前端
javascript
Vue3
源码阅读
(8):渲染器 —— 总体思路
这篇文章先从整体视角了解一下渲染器。渲染器的作用是将VNode渲染到页面上,具体操作包括挂载和更新。第一次渲染的时候就是挂载操作,挂载只需要创建新的元素并将元素挂载到页面上即可。下次渲染的时候,由于页面上已经有真实DOM了,所以下次渲染是更新操作,更新操作需要细致的比较新老VNode,然后对页面上的真实DOM进行最小量的更新。首先看下自定义渲染器API1,自定义渲染器API自定义渲染器API的官方
纷飞丿
·
2023-11-21 20:27
vue3源码阅读系列
vue.js
前端
javascript
源码阅读
笔记:分布式服务框架XXL-RPC(基于1.4.1)todo
前言:接上篇,看完了注册中心,该看看RPC框架了——《分布式服务框架XXL-RPC》老样子,想看看它自己怎么吹的1.1概述>XXL-RPC是一个分布式服务框架,提供稳定高性能的RPC远程服务调用功能。拥有"高性能、分布式、注册中心、负载均衡、服务治理"等特性。现已开放源代码,开箱即用。>1.2特性>1、快速接入:接入步骤非常简洁,两分钟即可上手;2、服务透明:系统完整的封装了底层通信细节,开发时调
鸡熟了
·
2023-11-21 11:39
Apache ShenYu
源码阅读
系列-基于WebSocket的数据同步
ApacheShenYu是一个异步的,高性能的,跨语言的,响应式的API网关。在ShenYu网关中,数据同步是指,当在后台管理系统中,数据发送了更新后,如何将更新的数据同步到网关中。ApacheShenYu网关当前支持ZooKeeper、WebSocket、Http长轮询、Nacos、Etcd和Consul进行数据同步。本文的主要内容是基于WebSocket的数据同步源码分析。本文基于shenyu
子夜2104
·
2023-11-21 09:30
shenyu
apache
websocket
java
[
源码阅读
]SMUG Planner
ASafeMulti-GoalPlannerforMobileRobotsinChallengingEnvironments动态规划算法实现函数1.从起点开始连接起点到最后一个TOI的所有POI并计算路径代价,2.然后转入到上一个TOI(倒数第二个),计算新的TOI到刚刚的TOI内所有POI之间的路径以及代价,3.计算当前TOI每一个POIj到起点时经过的上一个TOI的第k个POI,记录下路径代价
星星的月亮叫太阳
·
2023-11-21 07:06
开源代码阅读
算法
动态规划
数据结构
java--org.springframework.web.servlet.FrameworkServlet 抽象类 -
源码阅读
- 笔记 - spring mvc ( 二 )
第一步:用户GET请求—>调用Servlet的service()方法,而抽象类型javax.servlet.http.HttpServlet实现了service()方法HttpServlet的service()做了请求类型分发,调用doGet方法第二步:org.springframework.web.servlet.FrameworkServlet抽象类重写了HttpServlet的doGet方法
听心的原因
·
2023-11-21 03:27
jsp
servlet
spring
java
mvc
书籍、视频、GiteeGitHub项目
EffectiveC++、MoreEffectiveC++、STL源码剖析、深度探索C++模型服务器:TCP/IP网络编程、Linux高性能服务端编程、Linux多线程服务端编程:使用muduoC++网络库其他:通用
源码阅读
指导书视频其他资源拓跋阿秀
君莫vv
·
2023-11-20 23:57
书籍及视频
音视频
c语言
开发语言
seata
源码阅读
-AT模式
demo用例image.png角色划分:TM:事务管理,开启、提交、回滚分布式事务RM:资源管理,注册、汇报、执资源,负责接收TC发过来的提交、回滚消息,并作出提交,回滚操作TC:事务管理器服务功能,存储事务日志、补偿异常事务等、集中管理事务全局锁(全局行锁)整体流程:•TM开启分布式事务,TM向TC注册全局事务记录;•按业务场景,编排数据库、服务等事务内资源(RM向TC汇报资源准备状态);•TM
w_j_y
·
2023-11-19 20:54
Superset
源码阅读
(TODO)
我的Superset
源码阅读
笔记版本Superset1.3.2一、技术框架搭建环境参考ApacheSuperset二次开发环境配置Superset使用到的技术框架:前端采用,D3–React:为数据提供渲染为
终回首
·
2023-11-19 14:19
大数据
大数据
superset
BI
Apache Hive
源码阅读
环境搭建
前置软件:JDK1.8Maven3.3.91下载源码#下载源码gitclonehttps://github.com/apache/hive.gitcdhive#查看标签gittag#切换到要阅读的指定版本的taggitcheckoutrel/release-2.1.02编译源码mvncleaninstall-DskipTests执行报错日志如下E:\os_ws\hive\common>mvncle
终回首
·
2023-11-19 14:08
#
Apache
Hive
大数据
apache
hive
hadoop
[
源码阅读
]——Sylar服务器框架:定时器模块
定时器模块定时器模块概述sylar定时器设计Timer类定时器管理类总结定时器模块概述 sylar是基于epoll实现了定时器的功能,由于epoll的精度是毫秒级,所以其定时器的精度也是毫秒级。关于定时器有基于时间轮的设计、时间堆的设计等,在sylar中,其采用了最小堆的设计。具体关于定时器的讲解大家可以参考本人之前做的阅读笔记:【阅读】《Linux高性能服务器编程》——第十一章。 定时器通常
甄姬、巴豆
·
2023-11-19 08:32
Sylar学习
服务器
linux
c++
第十章 Spring之
源码阅读
——IOC篇
Spring
源码阅读
目录第一章Spring之最熟悉的陌生人——IOC第二章Spring之假如让你来写IOC容器——加载资源篇第三章Spring之假如让你来写IOC容器——解析配置文件篇第四章Spring
穷儒公羊
·
2023-11-19 05:05
Spring
spring
java
Spring
源码阅读
之类型转换
Spring
源码阅读
之类型转换一、Spring类型转换实现基于JavaBeans接口的类型转换器实现基于java.beans.PropertyEditor接口扩展Spring3.0+通用类型转换实现Spring3.0
ClarenceZero
·
2023-11-19 05:21
Spring源码阅读
spring
HashMap
源码阅读
1整体架构HashMap底层的数据结构主要是:数组+链表+红黑树。其中链表的长度大于等于8时,链表会转化成红黑树,当红黑树的大小小于等于6时,红黑树会转化成链表,整体的数据结构如下:图中左边竖着的是HashMap的数组结构,数据的元素可能是单个Node,也可能是个链表,也可能是个红黑树,比如数组小标索引为2的位置就是一个链表,下标索引为9的位置对应的就是红黑树。1.1类注释从HashMao的类注释
Shaw_Young
·
2023-11-19 04:53
DPDK(二)l2fwd
源码阅读
1.解析命令行参数l2fwd的命令行参数分两部分:EAL和程序本身的参数,中间以–分隔开。例如:./l2fwd-c0x3-n4---p3-q1其中-c和-n就是EAL的参数,-p和-q就是程序配置参数。在解析参数的时候也是分两部分解析的。a.EAL初始化(初始化的同时解析第一部分参数)ret=rte_eal_init(argc,argv);//有时间应该好好看一下,比较重要if(ret端口处理/*
slmgr_43210604
·
2023-11-18 20:42
DPDK
dpdk
l2fwd
源码
二层转发
odoo16前端框架
源码阅读
——env.js
env.js(env的初始化以及服务的加载)路径:addons\web\static\src\env.js这个文件的作用就是初始化env,主要是加载所有的服务。如orm,title,dialog等。1、env.js的加载时机前文我们讲过前端的启动函数,start.js,其中有这么两句,这里有两个函数makeEnv和startServices,都在同级目录的env.js里constenv=makeE
加菲大叔
·
2023-11-18 19:17
odoo16前端框架分析
前端
odoo
skywalking源码解析系列一: agent插件加载原理
本来想通过笔记对这一年来的
源码阅读
及理解成果进行记录,无意中发现这篇文章写得相当的好,也懒得去写了,因此直接转载,后续该系列文章会夹杂着转载与原创,
Mr.Songx
·
2023-11-17 17:26
skywalking源码系列
分布式
apm
wxwidget
编译安装_Ubuntu/Debian/Linux Mint 中编译安装 wxWidgets 框架
wxWidgets是一个开源的跨平台的C构架库,它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK或Motif的Unix和MacOS。wxWidgets是一个C程序开发框架/库,支持Windows、Mac、Linux中使用相同的代码跨平台开发。它主要用C写成,但也可以与其他语言绑定比如Python、Perl、Ruby。本教程中我将向你展示如何在基于D
思睿-three
·
2023-11-17 01:05
wxwidget编译安装
【FastCAE
源码阅读
9】鼠标框选网格、节点的实现
一、VTK的框选支持类vtkInteractorStyleRubberBandPickFastCAE的鼠标事件交互类是PropPickerInteractionStyle,它扩展自vtkInteractorStyleRubberBandPick。vtkInteractorStyleRubberBandPick类可以实现鼠标框选物体,默认情况下按下键盘r键开启框选模式,这时拖动鼠标可拾取物体。VTK
loveoobaby
·
2023-11-16 07:56
FastCAE源码阅读
c++
图形渲染
Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)
69908381/article/details/134106510出自【进步*于辰的博客】因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的
源码阅读
能力和编码素质
进步·于辰
·
2023-11-16 06:04
Java-API简析
Java-API简析
FilterOutputStm
Java-API简析_java.io.FilterInputStream类(基于 Latest JDK)(浅析源码)
69908381/article/details/134106285出自【进步*于辰的博客】因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的
源码阅读
能力和编码素质
进步·于辰
·
2023-11-16 06:34
Java-API简析
Java-API简析
FilterInputStrm
倾情分享:Android 开发者们不要错过的网站宝藏~
期望给各位AndroidROM开发者、App开发者带来最全最官方的学习资料~文章目录AOSPChromiumCDD&CTS
源码阅读
AndroidSDKJDKAndroidOSVGooglePlayGradleMADJetpackKotlinAndroidS
TechMerger
·
2023-11-16 03:05
Jetpack
App
Android
android
java
jetpack
chromium
flutter
Spring源码(一)
Spring
源码阅读
(一)1.IOC工厂核心部分1.工厂如何解析xml1.怎么读取配置文件,获得IO资源在我们的Spring框架中,我们有封装的资源读取接口Resource,而在这个接口中的实现类例如:
StopM
·
2023-11-15 20:43
spring
java
后端
Fastjson2你开始使用了吗?来看看源码解析
本篇将采用代码测试+
源码阅读
的方式对FastJson2的性能提升做一个较为全面的探索。一、环境准备首先,我们搭建一套用于测试的环境,这里采用springboot项目,分别创建两个
JAVA序码
·
2023-11-15 18:12
java
算法
spring
boot
μC/OS-II
源码阅读
笔记 —— 内核深度剖析
一个程序猿郁结十年的青苹果Bush2014-4-24前言此文发表在此,由于正吃菜的我才疏学浅,文中难免有错误的地方,欢迎看官和过客指正批评,痛骂也无妨,我虚心接受所有的鄙视。目录概述缩略语01何谓任务?02任务与中断有啥异同?03何谓原子性操作?04任务栈是怎么回事?05何谓现场?06临界保护对子中C语言的变量跟汇编子函数中的寄存器是怎样联系起来的?07任务切换时具体做些什么?08任务切换在什么时
俟命
·
2023-11-14 19:22
操作系统
单片机
c语言
stm32
Android 动态换肤框架原理
1.Android系统PhoneWindow
源码阅读
1.1.Activity实例化PhoneWindowActivity:finalvoidattach(Contextcontext,ActivityThreadaThread
龙德施泰.冯.置
·
2023-11-14 02:10
Android开发
android
【FastCAE
源码阅读
8】调用gmsh生成网格
FastCAE使用gmsh进行网格划分,划分的时候直接启动一个新的gmsh进程,个人猜测这么设计是为了规避gmsh的GPL协议风险。进行网格划分时,其大体运行如下图:一、Python到gmshModule模块GUI操作到Python这步不再分析,比较简单。执行的Python代码大概如下:gmsher=Mesher.Gmsher()gmsher.setDim(3)gmsher.selectedAll
loveoobaby
·
2023-11-13 16:07
FastCAE源码阅读
c++
odoo16前端框架
源码阅读
——启动、菜单、动作
odoo16前端框架
源码阅读
——启动、菜单、动作目录:addons/web/static/src1、main.jsodoo实际上是一个单页应用,从名字看,这是前端的入口文件,文件内容也很简单。
加菲大叔
·
2023-11-12 20:54
odoo16前端框架分析
前端框架
odoo
odoo16前端框架
源码阅读
——boot.js
odoo16前端框架
源码阅读
——boot.js从名字就能看出来,这个文件是一个启动文件。
加菲大叔
·
2023-11-12 06:04
odoo16前端框架分析
前端框架
javascript
odoo
【FastCAE
源码阅读
7】视图方向切换按钮实现原理
在FastCAE工具栏上有视图切换按钮,如下图所示:本文介绍如何实现。FastCAE集成了Python解析器,当单击按钮时,中间用Python执行的,最后调用MainWindow.dll库接口实现的。具体的Python代码在Python模块的py文件夹下的MainWindow.py文件中。这几个按钮都是调用的setView方法,只是入参不同而已。MainWindow.dll库对外的接口在MainW
loveoobaby
·
2023-11-11 08:25
FastCAE源码阅读
c++
WSL下
源码阅读
工具LXR(Linux Cross-Referencer)的配置
题外话:不知道是不是太久没有配置/部署软件的原因,上手配置LXR给我的体感比较不好,因此写下此博客记录该工具配置的过程项目官网:zh/LXR项目参考教程1:史上最详细的LXR安装介绍_mosenyang的博客-CSDN博客_lxr安装参考教程2:Ubuntu22.04.1配置LXR阅读Linuxkernel源码_LaderBen的博客-CSDN博客个人配置环境:Windows11+WSL2(Win
silverlb
·
2023-11-11 05:22
linux
源码软件
编辑器
odoo16前端框架
源码阅读
——rpc_service.js
odoo16前端框架
源码阅读
——rpc_service.js先介绍点背景知识,这样方便阅读代码。
加菲大叔
·
2023-11-11 04:49
odoo16前端框架分析
rpc
javascript
odoo
Vuex
源码阅读
(2):实现原理
如果直接从源码的入口文件开始解读,并不能很好的理解消化,因为不知道Vuex的核心实现原理,会使读者很茫然,并不知道某段代码是做什么的。所以在这里,我首先对Vuex的实现原理进行解读。Vuex实现的核心其实是利用了Vue实例的响应式特性。我们在代码中通过newVuex.Store({})生成Store实例。这个Store实例会被从上而下(父级到子级)的赋值到每个Vue实例对象的$store属性上,每
纷飞丿
·
2023-11-10 17:56
vuex源码阅读系列
javascript
vue
源码
前端
Spring
源码阅读
-ClassPathXmlApplicationContext
第一步:new一个ClassPathXmlApplicationContext对象ClassPathXmlApplicationContextxmlContext=newClassPathXmlApplicationContext("mylearn.xml");第二步:调用构造方法publicClassPathXmlApplicationContext(StringconfigLocation)t
学海无涯我为舟
·
2023-11-10 00:26
spring
java
后端
[
源码阅读
]——Sylar服务器框架:IO协程调度模块
IO协程调度模块epoll相关内核事件表epoll_wait函数LT和ET模式EPOLLONESHOT事件IO协程调度模块概述IO协程调度器具体实现总结epoll相关内核事件表 epoll是Linux特有的I/O复用函数。其使用一组函数来完成任务,将用户关心的文件描述符上的事件放在内核里的一个时间表中,无需像select和poll每次调用都要重复传入文件描述符集或事件集。epoll需要使用一个额
甄姬、巴豆
·
2023-11-09 18:34
Sylar学习
服务器
linux
epoll
c++
[
源码阅读
]——Sylar服务器框架:协程模块
协程模块协程概念sylar协程模块其他协程概念 按照本人简单的理解,协程可以看成是一个轻量级的线程,或者是可以切换出去的函数。相比之下本人认为其和函数更像,只是在程序中,如果我们在函数fun()中执行函数test(),则是test()必须执行完毕后,才会返回fun()继续执行。而对于协程来说,其可以执行一半退出,让出cpu执行权。同样,当满足其执行要求时,其会从退出的地方继续执行,又获得了CPU
甄姬、巴豆
·
2023-11-09 18:04
Sylar学习
服务器
linux
多线程
[学习分享]----sylar服务器框架
源码阅读
--协程调度模块
协程调度模块sylar作者在本站的地址为这里,也可以查看作者主页,也有视频教程可以点击这里。此外,也可以看一下赵路强大佬的关于sylar协程模块的博客点击这里,我本人在阅读sylar源码的时候也是参考了赵路强大佬的解析可以点击这里。各位看官也可以加我的qq和我讨论2511010742在上期博客中,实现了两个协程之间的切换,但是单独的切换两个协程并不能做到什么高效率的事情,在一个子协程中不可以直接调
码上自有颜如玉
·
2023-11-09 18:00
linux
服务器
c++
odoo16前端框架
源码阅读
——ormService.js
odoo16前端框架
源码阅读
——ormService.js路径:addons\web\static\src\core\orm_service.js简单翻译一下代码中的注释:ORM服务是js代码和python
加菲大叔
·
2023-11-09 18:26
odoo16前端框架分析
javascript
前端
odoo
Nacos源码系列——第一章(Nacos核心源码主线剖析上)
在大多数的公司中,你能用你的知识解决问题就可以,不一定非要涉及到源码,但是你们应该知道如果想进大厂的话,对读源码的能力是非常高的,甚至像阿里,字节这样的厂,面试经常会问到,尤其是做中间件组件,对开源框架的
源码阅读
能力
风清扬逍遥子
·
2023-11-08 22:19
Dubbo微服务专题
java
【FastCAE
源码阅读
6】C++与Python的集成,实现相互调用
分析FastCAE代码之前先看看C++与Python如何相互调用的。一、C++调用Python先写个C++调用Python的例子,然后再来看FastCAE集成Python就比较简单了。直接上代码:#include#include"python.h"intmain(){Py_Initialize();PyRun_SimpleStringFlags("print('helloworld')",NULL
loveoobaby
·
2023-11-08 15:27
FastCAE源码阅读
c++
AFL
源码阅读
笔记(二)—— llvm_mode 和 pass 源码
书接上回:AFL
源码阅读
笔记(一)——gcc普通插桩上一篇文章中我们分析了传统编译器(gcc、clang)背景下进行插桩,整体而言比较粗暴,思路是碰到可插桩的情况,通过trampoline跳到插桩代码(
CSU_DEZ_THU
·
2023-11-08 10:05
AFL
llvm
afl
fuzzing
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他