- 【踩坑日记23】UserWarning: Plan failed with a cudnnException: CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR
longii11
python人工智能
问题描述/mnt/lab/XXX/anaconda3/envs/diffusion_ddpo/lib/python3.10/site-packages/torch/nn/modules/conv.py:456:UserWarning:PlanfailedwithacudnnException:CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR:cudnnFinalize
- 【踩坑日记34】FutureWarning: You are using `torch.load` with `weights_only=False` (the current default val
longii11
python
问题描述FutureWarning:Youareusing`torch.load`with`weights_only=False`(thecurrentdefaultvalue),whichusesthedefaultpicklemoduleimplicitly.Itispossibletoconstructmaliciouspickledatawhichwillexecutearbitraryc
- MGT204 Corporate Finance
后端
MGT204CorporateFinance&PortfolioValuationIndividualassignmentWeighting-100%ofthemarksforthismoduleThisisanindividualassignmentof2,500wordsforguidancepurposes.Thehandindateis:Tuesday20thMay2025by4.00pm
- HarmonyOS NEXT 长时任务的学习和总结
架构教育
想要使用鸿蒙的长时任务需要配置权限:ohos.permission.KEEP_BACKGROUND_RUNNING并在module.json5中配置需要处理的长时任务类型,此处以定位为例:{..."backgroundModes":[//长时任务类型的配置项"location"]}]然后再合适的地方调用startBackgroundRunning方法开启长时任务,通过调用stopBackgroun
- windows 上删除 node_modules
默默@85
使用工具visualstudiocodewindows
在Windows11上,你可以通过命令行来删除node_modules文件夹并清除npm缓存。以下是具体步骤:删除node_modules打开命令提示符(CommandPrompt)或终端(PowerShell)。导航到项目目录。你可以使用cd命令。例如:cdpath\to\your\project执行以下命令来删除node_modules文件夹:rd/s/qnode_modules或者如果你使用
- Webpack常见配置实例
码上跑步
webpack前端node.js
webpack实例打包构建流程对应的常见配置1.mode:'development'2.entry:'./src/index.js'3.output4.module.rules5.Loader6.Plugin7.devServerwebpack.config.jswebpack常见配置实例配置详解mode:‘development’:设置Webpack运行模式,可以是developme
- 微信小程序入门与实战
qq_31535517
文章列表页的实现构建静态列表数据读取数据将数据存储在内存中构建工具类获取内存数据在对应页面调取缓存数据定义模板的item组件item.wxml使用item.wxml模板定义模板的item样式item.wxss使用item.wxss样式构建静态列表数据新建data.js文件模拟数据导出模块数据属性解析module.exports将数据导出varpostList=[{date:"Jan282017",
- CMake构建C++20 Module实例(使用MSVC)
arong-xu
ModernC++c++c++20linuxmodules
提醒:本文中的例子是在MSVC(MicrosoftVisualStudio2022Preview)编译环境上面测试通过的,截止文章更新时,没有在Clang/GCC上面验证通过.本文所有的源代码以及工程配置均可下载.背景在传统的C++编译过程中,代码的构建通常分为三个主要步骤:预处理:处理#include等指令,将头文件内容展开并插入到代码中.编译:将预处理后的代码转换为机器可以理解的目标文件.链接
- BB5112 Business Decision Modelling
后端
AssignmentBriefing(Level5)ModuleNameBusinessDecisionModellingModuleCodeBB5112AssignmentTitleAssignment2TypeofSubmissionOnlinethroughCanvasWeightingoftheassignmentintheoverallmodulegrade70%WordCount/Ti
- 【技术栈】yaml与properties的用法
Elephant_King
#SSM#SpringBootyaml
properties赋值方式:变量名=值name=123yaml的赋值方式:变量名:值(:后面一定有一个空格!)特殊:1.注意给链表和map的赋值方式2.可以运用EL表达式来实现随机数person:name:司天羿${random.uuid}age:${random.int}lists:-123-456-789maps:{123:456,789:101}
- BB5112 Business Decision Modelling
后端
AssignmentBriefing(Level5)ModuleNameBusinessDecisionModellingModuleCodeBB5112AssignmentTitleAssignment2TypeofSubmissionOnlinethroughCanvasWeightingoftheassignmentintheoverallmodulegrade70%WordCount/Ti
- Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建
遇安.YuAn
Spark大数据平台组件搭建hadoop大数据Sparkscala环境搭建
搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联,都是从零开始搭建。如果将文章中的配置文件修改内容复制粘贴的话,所有配置文件添加的内容后面的注释记得删除,可能会报错。保险一点删除最好。Scala环境搭建上传安装包解压并重命名rz上传如果没有安装rz可以使用命令安装:yuminstall-ylrzsz这里我将scala解压到/opt/module目录下:tar-zxvf/op
- nginx用dockerfile封装带nginx-module-vts的镜像
Eunyeon2__
nginxlinuxdocker
准备初始化镜像nginx:1.27.2https://download.csdn.net/download/qq_37579157/90460903一、逻辑:1.载官方基础镜像,安装依赖和编译的工具2.下载nginx-module-vts,(需要和nginx的版本对应上,不然会报错),我这里直接用git拉取失败,所以手动从git上下载下来,再解压后复制进去3.下载nginx部署包,因为自带的镜像编
- VSCode 配置优化指南:打造极致高效的前端开发环境
超级小狗
vscodeide编辑器
VSCode配置优化指南:打造极致高效的前端开发环境一、基础环境配置:让开发更流畅1.性能优化设置//settings.json{"files.autoSave":"afterDelay",//自动保存(延迟1秒)"files.exclude":{//隐藏非必要文件"**/.git":true,"**/.DS_Store":true,"**/node_modules":true//大型项目建议保留
- React Native 源码分析(一)——启动流程
薛瑄
ReactNativereactnative源码分析
本系列文章,是分析Android的ReactNative的源码,主要包括以下文章,和以往的源码系列一样,分析主流程的代码,不会细致到每一行(但相比上一篇的Gradle源码分析,要细致很多),会涉及到java、C++、js等源码。前三篇RN版本是0.64.0,后面是0.72.01、ReactNative源码分析(一)——启动流程2、ReactNative源码分析(二)——NativeModules桥
- node_modules/@types/lodash-es/node_modules/@types/lodash/common/object.d.ts:1026:46
茶颜悅色
vue.js前端javascript
Vue3项目打包报错:因为重新安装了依赖,一些外部库升级,用到了ts的新语法,报错内容就是TS语法不兼容。这些语法是在TypeScript:Documentation-TypeScript4.8发出的新特性。我的ts版本为4.5.5所以在打包的过程中会报错。解决方案:提升ts至兼容版本,或直接升到最新版本yarnaddtypescript@latest-D
- 一、Java-封装playwright UI自动化(java properties工具--owner 处理配置信息 )
北冥有鱼喵喵
javaui自动化
1、owner介绍官网:https://owner.aeonbits.org/github:https://github.com/lviggiano/ownergithub中文翻译:https://github.com/cyfonly/owner-docOWNERAPI是一个Java库,其目标是在应用程序中最大程度地减少properties文件处理所需代码。在自动化测试中,需要处理Properti
- ConditionalOnProperty注解使用介绍、应用场景以及示例代码
小猿、
springbootspringspringspringboot
概述@ConditionalOnProperty是SpringFramework中的一个条件注解,用于根据配置文件中的属性值来决定是否创建特定的bean或者是否启用特定的配置。创建某个bean或者执行某个配置。它的工作方式类似于SpringBoot的application.properties或application.yml中的属性配置。当指定的属性在配置文件中存在且值符合条件时,相关的配置才会生
- 【微知】如何查看Mellanox网卡上的光模块的信息?(ethtool -m enp1s0f0 看型号、厂商、生产日期等)
北冥的备忘录
Linux命令Mellanox服务器
背景服务器上插入的光模块经常被忽略,往往这里是定位问题最根本的地方。如何通过命令查看?命令ethtool提供了-m参数,m是module-info的意思,他是从光模块的eeprom中读取数据。(应该是用i2c协议读取的)ethtool-menp1s0f0实操本文实操2种光模块插在同一个设备上(设备是CX525G)。一个是1G的千兆SFP光模块另一个是25G的SFP28的光模块SFP和SFP28的区
- Transformer 代码剖析15 - Transformer模型代码 (pytorch实现)
lczdyx
Transformer代码剖析transformerpytorch深度学习embedding人工智能python
一、模型架构全景解析1.1类定义与继承关系classTransformer(nn.Module):该实现继承PyTorch的nn.Module基类,采用面向对象设计模式。核心架构包含编码器-解码器双塔结构,通过参数配置实现NLP任务的通用处理能力。TransformerEncoderDecoderMulti-HeadAttentionFeedForwardMaskedMulti-HeadAtten
- Python从入门到精通
航叔啦
python开发语言
1.Python变量使用进阶在Python程序中创建、改变、查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域。Python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定。只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用域的概念。在作用域中定
- HTTP/1.1 和 HTTP/2 的区别,HTTP/2 有哪些新特性?
程序员黄同学
node.js前端开发JavaScripthttp网络协议网络
HTTP/1.1和HTTP/2的区别及新特性详解一、核心区别:连接管理与多路复用HTTP/1.1使用「短连接」或「持久连接」,但每个TCP连接在同一时刻只能处理一个请求(HOLBlocking)。浏览器通常通过开启多个TCP连接(6-8个)缓解阻塞,但增加了服务器压力。//HTTP/1.1下需合并资源减少请求数(但可能影响缓存)//使用工具如Webpack合并JS:module.exports={
- 鸿蒙中打开相机相册
出了名的会写bug
数码相机harmonyos华为
1。module.json5中配置相应的权限requestPermissions:[{"name":"ohos.permission.CAMERA","reason":"$string:permission_reason_camera","usedScene":{"abilities":["EntryAbility"],"when":"inuse"}},{"name":'ohos.permissi
- 解锁 ES6 访问器属性 Getter & Setter
代码里的小猫咪
前端访问器属性GetterSetter
在JavaScriptES6及其后续版本中,可以使用访问器属性(AccessorProperties)来定义getter和setter,从而拦截对象属性的访问和赋值。这种机制不仅提供了更灵活的属性管理方式,还能增强数据的封装性和安全性。1.访问器属性(Getters和Setters)在ES6的class语法中,可以使用get和set关键字定义访问器属性,这样可以像访问普通属性一样调用方法,而不需要
- vue学习笔记 export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue‘
xiaoweiwei99
前端htmlvue.js学习javascript
版本:vue3vue/cli5.0.0做写store时报错importVuefrom"vue";importVuexfrom"vuex";importgettersfrom"./getters";importuserfrom"./modules/user";Vue.use(Vuex);conststore=newVuex.Store({modules:{user,},getters,});expo
- ES6 中 module 备忘清单,你可能知道 module 还可以这样用!
@大迁世界
这是一份备忘单,展示了不同的导出方式和相应的导入方式。它实际上可分为3种类型:名称,默认值和列表????// 命名导入/导出 export const name = 'value'import { name } from '...'// 默认导出/导入export default 'value'import anyName from '...'// 重命名导入/导出 export { name a
- 探索multiparty:简化Node.js中的文件上传处理
管展庭
探索multiparty:简化Node.js中的文件上传处理multipartyAnode.jsmoduleforparsingmultipart-formdatarequestswhichsupportsstreams2项目地址:https://gitcode.com/gh_mirrors/mu/multiparty在当今这个高度数字化的时代,文件上传功能已成为Web应用的标配。无论是图片分享平
- spring boot 是如何加载配值文件的
花花进修
springbootspringboot
publicSpringApplication(ResourceLoaderresourceLoader,Class...primarySources){this.sources=newLinkedHashSet();this.bannerMode=Mode.CONSOLE;this.logStartupInfo=true;this.addCommandLineProperties=true;th
- DeepSeek到TinyLSTM的知识蒸馏
猴的哥儿
笔记python机器学习深度学习神经网络AI编程
一、架构设计与适配模型结构对比:DeepSeek(教师模型):基于Transformer,多头自注意力机制,层数≥12,隐藏层维度≥768TinyLSTM(学生模型):单层双向LSTM,隐藏单元128,全连接输出层表示空间对齐:classAdapter(nn.Module):def__init__(self,in_dim=768,out_dim=128):super().__init__()sel
- 深度解析Ant Design Pro 6开发实践
i建模
前端开发前端开发react.jstypescriptant-design
深度解析AntDesignPro6全栈开发实践:从架构设计到企业级应用落地一、AntDesignPro6核心特性与生态定位(技术架构分析)作为AntDesign生态体系的旗舰级企业应用中台框架,AntDesignPro6基于以下技术栈实现突破性升级:模块联邦架构:通过Webpack5的ModuleFederation实现秒级热更新,工程启动时间缩短60%3全链路TypeScript支持:从路由配置
- ViewController添加button按钮解析。(翻译)
张亚雄
c
<div class="it610-blog-content-contain" style="font-size: 14px"></div>// ViewController.m
// Reservation software
//
// Created by 张亚雄 on 15/6/2.
- mongoDB 简单的增删改查
开窍的石头
mongodb
在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作
在mongo中对于不存在的表当你用db.表名 他会自动统计
下边用到的user是表明,db代表的是数据库
添加(insert):
- log4j配置
0624chenhong
log4j
1) 新建java项目
2) 导入jar包,项目右击,properties—java build path—libraries—Add External jar,加入log4j.jar包。
3) 新建一个类com.hand.Log4jTest
package com.hand;
import org.apache.log4j.Logger;
public class
- 多点触摸(图片缩放为例)
不懂事的小屁孩
多点触摸
多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener
- 有关浏览器窗口宽度高度几个值的解析
换个号韩国红果果
JavaScripthtml
1 元素的 offsetWidth 包括border padding content 整体的宽度。
clientWidth 只包括内容区 padding 不包括border。
clientLeft = offsetWidth -clientWidth 即这个元素border的值
offsetLeft 若无已定位的包裹元素
- 数据库产品巡礼:IBM DB2概览
蓝儿唯美
db2
IBM DB2是一个支持了NoSQL功能的关系数据库管理系统,其包含了对XML,图像存储和Java脚本对象表示(JSON)的支持。DB2可被各种类型的企 业使用,它提供了一个数据平台,同时支持事务和分析操作,通过提供持续的数据流来保持事务工作流和分析操作的高效性。 DB2支持的操作系统
DB2可应用于以下三个主要的平台:
工作站,DB2可在Linus、Unix、Windo
- java笔记5
a-john
java
控制执行流程:
1,true和false
利用条件表达式的真或假来决定执行路径。例:(a==b)。它利用条件操作符“==”来判断a值是否等于b值,返回true或false。java不允许我们将一个数字作为布尔值使用,虽然这在C和C++里是允许的。如果想在布尔测试中使用一个非布尔值,那么首先必须用一个条件表达式将其转化成布尔值,例如if(a!=0)。
2,if-els
- Web开发常用手册汇总
aijuans
PHP
一门技术,如果没有好的参考手册指导,很难普及大众。这其实就是为什么很多技术,非常好,却得不到普遍运用的原因。
正如我们学习一门技术,过程大概是这个样子:
①我们日常工作中,遇到了问题,困难。寻找解决方案,即寻找新的技术;
②为什么要学习这门技术?这门技术是不是很好的解决了我们遇到的难题,困惑。这个问题,非常重要,我们不是为了学习技术而学习技术,而是为了更好的处理我们遇到的问题,才需要学习新的
- 今天帮助人解决的一个sql问题
asialee
sql
今天有个人问了一个问题,如下:
type AD value
A
- 意图对象传递数据
百合不是茶
android意图IntentBundle对象数据的传递
学习意图将数据传递给目标活动; 初学者需要好好研究的
1,将下面的代码添加到main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:/
- oracle查询锁表解锁语句
bijian1013
oracleobjectsessionkill
一.查询锁定的表
如下语句,都可以查询锁定的表
语句一:
select a.sid,
a.serial#,
p.spid,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$process p, v$s
- mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]
征客丶
mysqlosx
场景:在 mac osx 10.10 下安装 mysql 5.6 的二进制文件。
环境:mac osx 10.10、mysql 5.6 的二进制文件
步骤:[所有目录请从根“/”目录开始取,以免层级弄错导致找不到目录]
1、下载 mysql 5.6 的二进制文件,下载目录下面称之为 mysql5.6SourceDir;
下载地址:http://dev.mysql.com/downl
- 分布式系统与框架
bit1129
分布式
RPC框架 Dubbo
什么是Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接
- 那些令人蛋痛的专业术语
白糖_
springWebSSOIOC
spring
【控制反转(IOC)/依赖注入(DI)】:
由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。
简单的说:对象的创建又容器(比如spring容器)来执行,程序里不直接new对象。
Web
【单点登录(SSO)】:SSO的定义是在多个应用系统中,用户
- 《给大忙人看的java8》摘抄
braveCS
java8
函数式接口:只包含一个抽象方法的接口
lambda表达式:是一段可以传递的代码
你最好将一个lambda表达式想象成一个函数,而不是一个对象,并记住它可以被转换为一个函数式接口。
事实上,函数式接口的转换是你在Java中使用lambda表达式能做的唯一一件事。
方法引用:又是要传递给其他代码的操作已经有实现的方法了,这时可以使
- 编程之美-计算字符串的相似度
bylijinnan
java算法编程之美
public class StringDistance {
/**
* 编程之美 计算字符串的相似度
* 我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
* 1.修改一个字符(如把“a”替换为“b”);
* 2.增加一个字符(如把“abdd”变为“aebdd”);
* 3.删除一个字符(如把“travelling”变为“trav
- 上传、下载压缩图片
chengxuyuancsdn
下载
/**
*
* @param uploadImage --本地路径(tomacat路径)
* @param serverDir --服务器路径
* @param imageType --文件或图片类型
* 此方法可以上传文件或图片.txt,.jpg,.gif等
*/
public void upload(String uploadImage,Str
- bellman-ford(贝尔曼-福特)算法
comsci
算法F#
Bellman-Ford算法(根据发明者 Richard Bellman 和 Lester Ford 命名)是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore zu 也为这个算法的发展做出了贡献。
与迪科
- oracle ASM中ASM_POWER_LIMIT参数
daizj
ASMoracleASM_POWER_LIMIT磁盘平衡
ASM_POWER_LIMIT
该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1。该初始化参数是动态参数,可以使用ALTER SESSION或ALTER SYSTEM命令进行修改。示例如下:
SQL>ALTER SESSION SET Asm_power_limit=2;
- 高级排序:快速排序
dieslrae
快速排序
public void quickSort(int[] array){
this.quickSort(array, 0, array.length - 1);
}
public void quickSort(int[] array,int left,int right){
if(right - left <= 0
- C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节
dcj3sjt126com
C语言
# include <stdio.h>
int main(void)
{
/*
1、一个变量的地址只用第一个字节表示
2、虽然他只使用了第一个字节表示,但是他本身指针变量类型就可以确定出他指向的指针变量占几个字节了
3、他都只存了第一个字节地址,为什么只需要存一个字节的地址,却占了4个字节,虽然只有一个字节,
但是这些字节比较多,所以编号就比较大,
- phpize使用方法
dcj3sjt126com
PHP
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面介绍一个它的使用方法,需要的朋友可以参考下
安装(fastcgi模式)的时候,常常有这样一句命令:
代码如下:
/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么?
phpize是用来扩展php扩展模块的,通过phpi
- Java虚拟机学习 - 对象引用强度
shuizhaosi888
JAVA虚拟机
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8090276 转载请注明出处!
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。
引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Wea
- .NET Framework 3.5 Service Pack 1(完整软件包)下载地址
happyqing
.net下载framework
Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framewo
- JAVA定时器的使用
jingjing0907
javatimer线程定时器
1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
privatejava.util.Timer timer;
timer = newTimer(true);
timer.schedule(
newjava.util.TimerTask() { public void run()
- Webbench
流浪鱼
webbench
首页下载地址 http://home.tiscali.cz/~cz210552/webbench.html
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相
- 第11章 动画效果(中)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- windows下制作bat启动脚本.
sanyecao2314
javacmd脚本bat
java -classpath C:\dwjj\commons-dbcp.jar;C:\dwjj\commons-pool.jar;C:\dwjj\log4j-1.2.16.jar;C:\dwjj\poi-3.9-20121203.jar;C:\dwjj\sqljdbc4.jar;C:\dwjj\voucherimp.jar com.citsamex.core.startup.MainStart
- Java进行RSA加解密的例子
tomcat_oracle
java
加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。 数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。 对称加密指的是发送者和接收者共用同一个密钥的加解密方法。 非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的
- Android_ViewStub
阿尔萨斯
ViewStub
public final class ViewStub extends View
java.lang.Object
android.view.View
android.view.ViewStub
类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewSt