- JS 中的DOM 操作
天涯学馆
大前端&移动端全栈架构javascript前端
目录概念Node接口NodeList接口,HTMLCollection接口ParentNode接口,ChildNode接口Document节点Element节点属性的操作Text节点和DocumentFragment节点
- JS 中的BOM 操作
天涯学馆
大前端&移动端全栈架构javascript前端
目录浏览器模型概述window对象Navigator对象,Screen对象CookieXMLHttpRequest对象同源限制CORS通信Storage接口History对象
- CSS工具与工作流
天涯学馆
大前端&移动端全栈架构css前端
CSS工具与工作流是前端开发中的重要组成部分,它们帮助开发者提高编写、维护和优化CSS代码的效率。以下是一些关键的CSS工具与工作流实践:代码组织与结构预处理器:如Sass、Less或Stylus,提供了变量、嵌套规则、混合(mixins)、函数等特性,使得CSS更易于管理和维护。模块化:将CSS分解成小的、可管理的模块或组件,常用的方法有BEM(BlockElementModifier)、SMA
- CSS实验性功能及CSS4特性
天涯学馆
大前端&移动端全栈架构css前端
CSS4目前仍然是一个宽泛的概念,因为CSS的发展通常是通过一系列逐步完善的模块来进行的,而不是一次性推出一个全新的“第四代”。许多所谓的“CSS4”特性实际上是正在开发或已经草案阶段的CSS模块,它们可能在未来的CSS规范中被正式采纳。选择器4::is()和:where()伪类允许动态选择一组元素。:has()伪类选择器允许基于子元素选择父元素。:scope伪类用于在ShadowDOM中选择元素
- JS数据类型&运算符&标准库
天涯学馆
大前端&移动端全栈架构javascript开发语言前端
目录数据类型运算符标准库对象Object对象属性描述对象Array对象包装对象Boolean对象Number对象Strin
- PostCSS 及其插件
天涯学馆
大前端&移动端全栈架构postcss前端javascript
PostCSS及其插件PostCSS是一个工具,它允许开发者通过使用JavaScript插件来转换CSS。这些插件可以执行各种任务,如添加浏览器前缀、转换新的CSS语法、优化和压缩CSS等。1.PostCSS基本概念PostCSS是一个处理器,它接收CSS输入,然后通过一系列插件转换输出。与CSS预处理器(如Sass、Less)不同,PostCSS处理的是标准CSS,但可以扩展CSS语法。2.安装
- CSS预处理器Stylus
天涯学馆
大前端&移动端全栈架构cssstylus前端
CSS预处理器StylusStylus是一款高效的CSS预处理器,它提供了简洁灵活的语法来帮助开发者更高效地编写和管理CSS代码。下面是一些基础到进阶的Stylus代码教程,涵盖变量、嵌套、混合、继承、运算符等核心特性。1.安装Stylus在项目中使用Stylus前,你需要先安装Stylus编译器。如果你使用的是Node.js,可以通过npm安装:npminstall-Dstylus2.基本使用变
- CSS性能优化
天涯学馆
大前端&移动端全栈架构css性能优化前端
在构建高性能的网页时,CSS性能优化是一个至关重要的环节。它不仅影响页面的加载速度,还关系到用户体验和搜索引擎优化。下面我们将深入探讨CSS性能优化的各个方面:1.最小化HTTP请求合并CSS文件:将多个CSS文件合并成一个,减少HTTP请求次数,加快页面加载速度。内联CSS:对于小量的CSS,可以直接在HTML中内联,减少HTTP请求。使用数据URI:对于背景图片或图标,可以使用base64编码
- 优秀CSS3开源库
天涯学馆
大前端&移动端全栈架构css3前端css
优秀CSS3开源库Bootstrap:https://getbootstrap.com/一个强大的前端框架,提供了许多用于构建响应式网站的工具和组件。Foundation:https://get.foundation/另一个流行的前端框架,也提供了许多用于构建响应式网站的工具和组件。Bulma:https://bulma.io/一个基于Flexbox的CSS框架,提供了简洁、可靠和可自定义的样式。
- CSS3优秀动画代码示例
天涯学馆
大前端&移动端全栈架构css3前端css
目录旋转立方体悬停效果动画路径动画纯CSS进度条文字打字机效果3D翻转卡片SVG路径跟随动画SVG心跳动画
- CSS3过滤与混合模式
天涯学馆
大前端&移动端全栈架构css3前端css
过滤与混合模式filterfilter属性应用于元素本身,允许您对元素的内容(包括其子元素)应用图形效果,如模糊、阴影、颜色调整等。这有助于实现图像编辑软件中常见的视觉效果。其基本语法如下:element{filter:none|[]*|;}none:无滤镜效果。:滤镜函数,常见的包括:blur(px):模糊效果,参数为模糊半径(像素值)。
- CSS3边框与轮廓
天涯学馆
大前端&移动端全栈架构css3前端css
CSS3边框与轮廓border-radiusborder-radius属性用于设置元素边框的圆角半径。通过这个属性,您可以使元素的角呈现圆形或椭圆形外观,而不是传统的直角。其语法格式如下:.element{border-radius:[horizontal-radiusvertical-radius]|[radius];}horizontal-radius和vertical-radius分别指定水
- CSS3盒模型与布局
天涯学馆
大前端&移动端全栈架构css3前端css
盒模型与布局居中对齐文本居中对齐水平居中使用text-align:center;属性在块级元素内使内联元素(如文本、图片等)水平居中。.parent{text-align:center;}垂直居中使用line-height设置为与容器高度相同的值,实现单行文本的垂直居中。.parent{height
- CSS3文字与字体
天涯学馆
大前端&移动端全栈架构css3前端css
文字与字体@font-face用途:定义一种自定义字体,使其可以在网页中使用。通过@font-face规则,可以指定字体名称、来源(通常是URL)以及字体的各种变体(如常规、粗体、斜体等)。@font-face{font-family:'MyCustomFont';src:url(
- CSS3颜色与透明度
天涯学馆
大前端&移动端全栈架构css3css前端
颜色与透明度opacity用途:设置元素及其所有子元素的不透明度。取值范围为0.0(完全透明)至1.0(完全不透明),默认值为1.0。Opacity:1.0(default)
- CSS布局和定位应用方案
天涯学馆
大前端&移动端全栈架构css前端
目录浮动布局绝对布局表格布局响应式布局弹性布局网格布局多栏布局浮动布局CSS3浮动布局的核心在于使用float属性将元素移出文档流,通过左右浮动来排列元素,并结合clear属性或清除浮动技巧(如这里的伪元素法)来处理浮动带来的副作用。尽管浮动布局在某些简单布局中依然实用,但对于更复杂的布局需求
- HTML5 性能优化和计算机硬件使用
天涯学馆
大前端&移动端全栈架构html5性能优化前端
目录启用硬件加速图像与媒体优化资源加载与缓存CSS与布局优化JavaScript性能优化浏览器兼容性与特性检测启用硬件加速Canvas绘图<
- HTML5 通信方式及应用
天涯学馆
大前端&移动端全栈架构html5前端html
目录postMessageAPIWebSocketsServer-SentEvents(SSE)FetchAPI/XMLHttpRequest(XHR)WebWorkers&ServiceWorkersHTML5提供了多种通信方式,使得浏览器中的Web应用能够实现页面间、窗口间、甚至与外部服务的有效通信。这些通信方式大大提升了Web应用的交互性和复杂性,为构建现代、富客户端Web应用奠定了基础。以
- HTML5 WebGL技术应用
天涯学馆
大前端&移动端全栈架构前端html5html
目录WebGL基础知识WebGL库WebGL学习资料大型WebGL应用WebGL基础知识前端开发基础:熟悉HTML、CSS和JavaScript。数学基础:了解向量、矩阵运算、线性代数和基本几何概念。图形学基础:掌握基本的计算机图形学原理,如光照、纹理、变换、投影等。WebGLAPI的基本使用,包括创建画布、着色器、程序、缓冲区等。了解WebGL的渲染过程和管道,包括顶点处理、三角形剪裁、光照、纹
- HTML5 Canvas图形绘制技术应用
天涯学馆
大前端&移动端全栈架构html5前端html
HTML5Canvas图形绘制技术应用目录Canvas基础知识基本绘图操作路径操作文本绘制图像绘制变换复合图形与剪切阴影
- 全面认识Web标准和浏览器内核引擎
天涯学馆
大前端&移动端全栈架构前端javascript前端框架
全面认识Web标准和浏览器内核引擎目录Web、网页、浏览器Web网页浏览器Web标准W3C组织Web标准浏览器常见的浏览器浏览器的组成浏览器工作原理Web、网页、浏览器WebWeb(WorldWideWeb)即全球广域网,也称为万维网。我们常说的Web端就是网页端。网页网页是构成网站的基本元素。网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。
- 一个 windows 自动语音识别案列
小Tomkk
PythonAIwindows语音识别人工智能python
一个windows自动语音识别案列之前给写过一段很有意思的代码,今天分享给大家!文章目录一个windows自动语音识别案列前言一、需要安装一些python库二、代码如下三,测试总结下前言一、需要安装一些python库speech_recognition:这是一个用于语音识别的库。它可以帮助将语音转换为文本。安装命令:pipinstallSpeechRecognitionpyttsx3:这是一个文本
- Python的工作日判断库(含调休)——chinese_calendar
今晚务必早点睡
Pythonpython开发语言
chinese_calendar库使用场景chinese_calendar库主要用于处理中国农历和节假日相关的日期计算和判断。以下是一些常见的使用场景:判断日期是否为工作日:chinese_calendar提供了is_workday()函数,可以判断指定日期是否为工作日,包括周末、法定节假日等。判断日期是否为节假日:chinese_calendar提供了is_holiday()函数,可以判断指定日
- HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理
想养一只!
javaHashMap底层实现原理红黑树B+树原理CAS实现原理volatile关键字的使用
HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理首先HashMap是Map的一个实现类,而Map存储形式是键值对(key,value)的。可以看成是一个一个的Entry。Entry所存放的位置是由key来决定的。Map中的key是无序的且不可重复的,所有的key可以看成是一个set集合,如果出现Map中的key如果是自定义类的对象,则
- 如何用python读取流量包
谛听汪
网络
要用Python读取流量包,你可以使用网络编程库,例如scapy或pyshark。使用scapy,你需要安装它并导入scapy库。然后,你可以使用sniff()函数捕获流量包。例如:fromscapy.allimport*defpacket_callback(packet):print(packet.show())#使用默认的网卡捕获流量包sniff(prn=packet_callback)#使用
- 构建一个安全可靠的身份认证中心和资源服务中心:SpringSecurity+OAuth2.0的完美结合(一)
凛鼕将至
Java技术栈高级攻略java安全架构安全
本系列文章简介:本系列文章将详细介绍如何使用SpringSecurity和OAuth2.0构建身份认证中心和资源服务中心。我们将从基本的认证和授权开始,逐步扩展到高级功能,如单点登录、多因素认证等。同时,我们还将介绍如何使用SpringSecurity和OAuth2.0提供的其他功能,如注销、记住我等。通过本系列文章的学习,大家将掌握如何使用SpringSecurity和OAuth2.0构建一个安
- html自学学多久,HTML和CSS要学多久? 入门需要多长时间?
安检
html自学学多久
HTML和CSS要学多久?相信很多想要学习网页前端开发的小伙伴都会有这个疑问,今天W3Cschool小编就来和大家探讨一下这个问题。作为Web前端开发的基础,HTML和CSS是都是非常基础的语言,但是想要以此为工作的话,只是掌握HTML和CSS还是不够的,JS也需要学习。这样还不够,最好还能花一些时间学习一下近几年非常火的HTML5和CSS3,这样才能算是完全掌握了Web前端相关技术。如果单说HT
- aspose 换行写_利用Aspose.Word控件实现Word文档的操作
weixin_39974223
aspose换行写
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般使用Aspose.Cell来实现我想要的各种Excel报表输出。虽然一直也知道Aspose.Word是用来生成Word文档的,而且深信其也是一个很强大的控件,但一直没用用到,所以就不是很熟悉。偶然一次
- 【Oracle11g SQL详解】创建与管理视图:`CREATE VIEW`、`ALTER VIEW` 和 `DROP VIEW`
爱技术的小伙子
Oracle11gsql数据库
创建与管理视图:CREATEVIEW、ALTERVIEW和DROPVIEW视图(View)是SQL中的一种虚拟表,是从数据库中一个或多个表的查询结果创建的。它不存储实际数据,而是存储查询的定义,用户可以像使用表一样使用视图。在实际业务中,视图被广泛用于数据抽象、权限管理、简化复杂查询等场景。一、CREATEVIEW:创建视图1.语法CREATEVIEWview_nameASSELECTcolumn
- python scapy模块_python使用scapy模块实现ping扫描
漆园吏
pythonscapy模块
关于scapyScapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具。换言之,Scapy是一个强大的操纵报文的交互程序。它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。Scapy可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试
- 多线程编程之join()方法
周凡杨
javaJOIN多线程编程线程
现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?
Java实现过程如下:
public class T1 implements Runnabl
- java中switch的使用
bingyingao
javaenumbreakcontinue
java中的switch仅支持case条件仅支持int、enum两种类型。
用enum的时候,不能直接写下列形式。
switch (timeType) {
case ProdtransTimeTypeEnum.DAILY:
break;
default:
br
- hive having count 不能去重
daizj
hive去重having count计数
hive在使用having count()是,不支持去重计数
hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;
FAILED: SemanticExcep
- WebSphere对JSP的缓存
周凡杨
WAS JSP 缓存
对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。
现服务
- 设计模式总结
朱辉辉33
java设计模式
1.工厂模式
1.1 工厂方法模式 (由一个工厂类管理构造方法)
1.1.1普通工厂模式(一个工厂类中只有一个方法)
1.1.2多工厂模式(一个工厂类中有多个方法)
1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
&n
- 实例:供应商管理报表需求调研报告
老A不折腾
finereport报表系统报表软件信息化选型
引言
随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标
1、通过报表为采购决策提供数据分析与支撑
2、对供应商进行综合评估以及管理,合理管理和
- mysql
林鹤霄
转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html
mysql -uroot -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@centos var]# service mysql
- Linux下多线程堆栈查看工具(pstree、ps、pstack)
aigo
linux
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) &n
- html input与textarea 值改变事件
alxw4616
JavaScript
// 文本输入框(input) 文本域(textarea)值改变事件
// onpropertychange(IE) oninput(w3c)
$('input,textarea').on('propertychange input', function(event) {
console.log($(this).val())
});
- String类的基本用法
百合不是茶
String
字符串的用法;
// 根据字节数组创建字符串
byte[] by = { 'a', 'b', 'c', 'd' };
String newByteString = new String(by);
1,length() 获取字符串的长度
&nbs
- JDK1.5 Semaphore实例
bijian1013
javathreadjava多线程Semaphore
Semaphore类
一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。
S
- 使用GZip来压缩传输量
bijian1013
javaGZip
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。
PJL Compressi
- 【Java范型三】Java范型详解之范型类型通配符
bit1129
java
定义如下一个简单的范型类,
package com.tom.lang.generics;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value = value;
}
}
- 【Hadoop十二】HDFS常用命令
bit1129
hadoop
1. 修改日志文件查看器
hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml
cat edits.xml
修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志
2. fsimage查看HDFS中的块信息等
&nb
- 怎样区别nginx中rewrite时break和last
ronin47
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。
location /
{
proxy_pass http://test;
- java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class CombinationToSum {
/*
第21 题
2010 年中兴面试题
编程求解:
输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,
使其和等
- eclipse svn 帐号密码修改问题
开窍的石头
eclipseSVNsvn帐号密码修改
问题描述:
Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。
解决思路:
删除subclipse记录的帐号、密码信息,重新输入
- [电子商务]传统商务活动与互联网的结合
comsci
电子商务
某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。
如何避免销售量和利润率增加的
- java 解析 properties-使用 Properties-可以指定配置文件路径
cuityang
javaproperties
#mq
xdr.mq.url=tcp://192.168.100.15:61618;
import java.io.IOException;
import java.util.Properties;
public class Test {
String conf = "log4j.properties";
private static final
- Java核心问题集锦
darrenzhu
java基础核心难点
注意,这里的参考文章基本来自Effective Java和jdk源码
1)ConcurrentModificationException
当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是:
1)用listIterator, 它支持在遍历的过程中修改元素,
2)不用listIterator, new一个
- 1分钟学会Markdown语法
dcj3sjt126com
markdown
markdown 简明语法 基本符号
*,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号
空白行表示另起一个段落
`是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签
换行
单一段落( <p>) 用一个空白行
连续两个空格 会变成一个 <br>
连续3个符号,然后是空行
- Gson使用二(GsonBuilder)
eksliang
jsongsonGsonBuilder
转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述
GsonBuilder用来定制java跟json之间的转换格式
二.基本使用
实体测试类:
温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField
- 报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList
gundumw100
android
有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f
- JavaWeb之JSP指令
ihuning
javaweb
要点
JSP指令简介
page指令
include指令
JSP指令简介
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
JSP指令的基本语法格式:
<%@ 指令 属性名="
- mac上编译FFmpeg跑ios
啸笑天
ffmpeg
1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
2、安装yasm-1.2.0
curl http://www.tortall.net/projects/yasm
- sql mysql oracle中字符串连接
macroli
oraclesqlmysqlSQL Server
有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的语法如下:
Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CON
- Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate
qiaolevip
学习永无止境每天进步一点点git纵观千象
// 报错如下:
$ git pull origin master
fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce
rtificate
// 原因:
由于git最新版默认使用ssl安全验证,但是我们是使用的git未设
- windows命令行设置wifi
surfingll
windowswifi笔记本wifi
还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么
教你命令行设置 笔记本电脑wifi:
1、开启wifi命令
netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456
netsh wlan start hostednetwork
pause
其中pause是等待输入,可以去掉
2、
- Linux(Ubuntu)下安装sysv-rc-conf
wmlJava
linuxubuntusysv-rc-conf
安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
背景知识
sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf
- svn切换环境,重发布应用多了javaee标签前缀
zengshaotao
javaee
更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。
然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。
检出