- python版 聊天软件
qinhoupingss
Python
#!/usr/bin/python3.4fromtkinterimport*fromtkinter.filedialogimportaskopenfilenameimporttimefromthreadingimportThreadimportsocketimportsysimportos.pathimportprocess#聊天实现类classChatClient(Thread):#构造函数de
- Gitee批量删除仓库
jaymou
开发工具gitee
Gitee批量删除仓库文章目录Gitee批量删除仓库生成一个GiteeToken通过Python调用GiteeAPI参考文档生成一个GiteeToken右上角下拉->设置->安全设置->私人令牌->生成新令牌,注意将令牌保存(只会出现一次)通过Python调用GiteeAPI顶部帮助与支持->产品文档->OpenAPI文档API地址:Gitee帮助中心根据相关API生成的Python代码impor
- 在 Debian 上使用和配置 SSH 的指南
滴答滴答滴嗒滴
入门指南debiandebianssh服务器
SSH(SecureShell)是用于在不安全网络上安全登录远程计算机和执行命令的协议。本文将详细介绍如何在Debian系统上安装、配置和使用SSH。1.安装SSH首先,您需要安装OpenSSH服务器和客户端(也可直接安装服务器端:openssh-server)。您可以使用以下命令来安装它们:sudoaptupdatesudoaptinstallopenssh-serveropenssh-clie
- OAuth2.0 功能与使用场景
java
OAuth2.0,全称为“开放授权2.0”(OpenAuthorization2.0),是一种开放标准的授权协议。它允许用户授权第三方应用访问他们在另一个服务提供方上的数据,而无需分享他们的凭据(如用户名、密码)。这一机制的目的是为了提供一个安全、高效的方法,让用户可以控制自己的数据共享,同时允许第三方应用在获得用户授权的情况下访问这些数据。一、OAuth2.0的核心功能1、授权委托允许第三方应用
- UE5中开启ACES工作流程
CG星空
UE蓝图ue5
首先要开启OCIO插件OpenColorIO创建配置下载ACEShttps://github.com/colour-science/OpenColorIO-Configs/tree/feature/aces-1.2-config加载ACES的ocio选择Srgb选择ACES参考链接:https://zhuanlan.zhihu.com/p/534357694https://www.youtube.
- OpenHarmony子系统开发 - init启动引导组件(七)
__Benco
openharmony子系统开发harmonyos人工智能
OpenHarmony子系统开发-init启动引导组件(七)九、Seccomp策略使能开发指导概述功能简介Seccomp(Securecomputingmode)是Linuxkernel支持的一种安全机制。在Linux系统中,大量的系统调用可以不受限制地向用户态程序开放,但用户态程序并不需要所有的系统调用,此时不安全的代码如果滥用系统调用会对系统造成威胁。例如,一个进程中存在安全漏洞,攻击者可以运
- 使用Python和OpenCV进行指纹识别与验证
www_pp_
pythonopencv开发语言
在现代安全系统中,指纹识别因其唯一性和便捷性而成为一种广泛使用的生物识别技术。在本文中,我们将探讨如何使用Python编程语言和OpenCV库来实现一个基本的指纹识别和验证系统。环境设置首先,确保你的开发环境中安装了Python和OpenCV库。如果未安装,可以通过以下命令安装OpenCV:pipinstallopencv-python指纹识别原理指纹识别主要依赖于图像处理技术来识别和比较指纹图像
- 【bug】OPENCV和FPGA的版本对应关系
andeyeluguo
AI笔记bugopencv人工智能
如果opencv和FPGA的版本不对应,则会出现如下warning/usr/bin/ld:warning:libavcodec.so.57,neededby/usr/lib/gcc/aarch64-linux-gnu/7/../../../aarch64-linux-gnu/libopencv_videoio.so,mayconflictwithlibavcodec.so.58/usr/bin/l
- 超简单:Linux下opencv-gpu配置
李卓璐
学习笔记linuxopencv运维
1.下载opencv和opencv_contrib安装包1)使用命令下gitclonehttps://github.com/opencv/opencv.git-b4.9.0gitclonehttps://github.com/opencv/opencv_contrib.git-b4.9.02)复制链接去GitHub下载然后上传到服务器注意:看好版本,opencv和opencv_contrib安装包
- layer.open属性详解
前端
使用案例:layer.open({type:1,title:'查看',closeBtn:1,anim:2,shadeClose:true,area:['400px','500px'],content:$('#layer_demo'),btn:['确定','取消'],yes:function(index,layero){layer.close(index);},cancel:function(ind
- PyMOL开源版的安装教程
江南素雪
pythonpyqtnumpy
安装开源的PyMOL(open-source)PyMOL是一款用于蛋白质结构可视化,可进行蛋白互作分析、蛋白与分子对接、及药物设计等。以下是开源PyMOL软件的安装流程。如果对你有帮助的话麻烦点个关注加收藏啊,谢谢!!!1.PyMOL的使用依赖的Python环境安装PyMOL之前必须安装python,另外需要注意PyMOL的开源版本必须同python保持抑制,否则无法正常使用PyMOL。我是用的是
- 安装开源版Pymol
utf_8__
pyqtpythoncondapip
1.Pymolwiki的教程https://pymolwiki.org/index.php/Windows_Install2.StepbyStepInstallOpenSourcePymol2.xinWindowsbyConda3.自定义安装https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol-open-source,可下载需要的.whl文件这个链接貌
- fopen(),fopen_s()和wfopen_s()的差异
程工助力英语中国话
VisualC++2017从入门到精通mfcfopenfopen_swfopen_s
书籍:《VisualC++2017从入门到精通》的2.7字符串环境:visualstudio2022内容:GetBuffer()函数以下是fopen()、fopen_s()和_wfopen_s()的核心差异解析,结合安全特性、参数设计及适用场景:1.函数原型与参数设计特性fopen()fopen_s()_wfopen_s()参数类型constchar*filename,constchar*mode
- PyMOL开源项目安装与使用教程
高慈鹃Faye
PyMOL开源项目安装与使用教程pymol-open-sourceOpen-sourcefoundationoftheuser-sponsoredPyMOLmolecularvisualizationsystem.项目地址:https://gitcode.com/gh_mirrors/py/pymol-open-source1.项目的目录结构及介绍PyMOL开源项目的目录结构如下:pymol-op
- 全国流域水系数据集:助力地理信息与水资源管理的强大工具
凌同季
全国流域水系数据集:助力地理信息与水资源管理的强大工具中国水系流域套图.zip项目地址:https://gitcode.com/open-source-toolkit/6b18e项目介绍全国流域水系数据集是一个开源项目,旨在为地理信息系统(GIS)分析、水资源管理、环境研究等领域提供全面且精确的水系数据。该项目包含了全国范围内的面状水系、折线水系以及流域面积的相关信息,为研究人员和开发者提供了一个
- java生成openssh公钥,在Java Security中使用openssh公钥(ecdsa-sha2-nistp256)
程嵇邢滑
java生成openssh公钥
IsthereaJavalibrary/exampletoreadanopensshformatecdsapublickeytoaJCEPublicKeyinJava?IwanttouseECforJWT.TheformatI'mtryingtoreadisasperauthorized_keys,orGithubAPI(e.g.https://api.github.com/users/david
- sha2 java_在Java Security中使用openssh公钥(ecdsa-sha2-nistp256)
灵也有希望
sha2java
小编典典为了完整起见,这是我使用的代码。它是几乎纯的JCE,在帮助器方法中散布了Bouncycastle(这会更新Java安全中的“使用authorized_keys中的公共密钥”中的示例代码):...}elseif(type.startsWith("ecdsa-sha2-")&&(type.endsWith("nistp256")||type.endsWith("nistp384")||type
- 探索串口通信新高度:光耦隔离电路详解与应用
陈羚春Fiona
探索串口通信新高度:光耦隔离电路详解与应用【下载地址】串口通信光耦隔离电路资源下载分享本仓库提供了一个关于串口通信光耦隔离电路的资源文件下载。该资源文件详细介绍了如何在串口通信电路中使用光耦将接收和发送电路进行隔离。通过这种隔离设计,可以有效提高电路的抗干扰能力,确保数据传输的稳定性项目地址:https://gitcode.com/Open-source-documentation-tutoria
- 深入探索CMake:一份详尽的PDF教程
骆苹彬Donald
深入探索CMake:一份详尽的PDF教程【下载地址】CMake最详细教程下载CMake最详细教程下载本仓库提供了一份名为“CMake最详细教程.pdf”的资源文件下载项目地址:https://gitcode.com/Open-source-documentation-tutorial/37449项目介绍在软件开发的世界中,构建系统是不可或缺的一部分。CMake,作为一个跨平台的构建系统生成器,已经
- 深入 OpenPDF:高级 PDF 生成与操作技巧
随风九天
javaspringpdfOpenPDF
1引言1.1项目背景在许多企业级应用中,生成和操作PDF文档是一个常见的需求。PDF(PortableDocumentFormat)因其格式统一、易于打印和分发而被广泛使用。本文将介绍如何使用OpenPDF库在Java项目中生成和操作PDF文档。1.2技术选型理由OpenPDF:OpenPDF是一个开源的Java库,用于创建和操作PDF文档。它是iText库的一个分支,提供了丰富的功能和良好的性能
- OpenSSL 生成免费ip证书以及nginx前后端配置
你是我的天晴
运维tcp/ipnginx网络协议
没有域名,但是又需要https,可以使用OpenSSL生成一个绑定到IP地址的自签名SSL证书,并在Nginx中进行配置。以下是详细的步骤:1.生成自签名IPSSL证书步骤1:安装OpenSSL大多数Linux发行版默认已安装OpenSSL。如果未安装,可以使用以下命令安装:Ubuntu/Debian:sudoaptupdatesudoaptinstallopensslCentOS/RHEL:su
- 又要弯道超车了,DeepSeek复现狂潮:开源的力量与大模型的未来
有个人神神叨叨
开源人工智能aiDeepseek
DeepSeek的崛起DeepSeek以其低成本、高性能的特点在全球范围内引发了复现狂潮。这一现象被看作是开源对闭源的一次胜利,可能对美国的AI霸权构成威胁。DeepSeek的成功不仅在于其技术上的突破,更在于其开源策略,使得全球的研究者和开发者都能够参与到这一技术的复现和改进中来。关键项目:DeepSeek-R1与OpenR1DeepSeek-R1开源项目DeepSeek-R1是DeepSeek
- 使用 java-onnx 部署 PaddleOCR-v3 文本检测
0x13
深度学习/机器学习/强化学习ocrpaddlepaddle文本检测人工智能计算机视觉
文本检测:文本检测(TextDetection)是计算机视觉领域的经典问题,该技术旨在寻求一种可靠方法作为文本识别技术的前端,是目标检测(ObjectDetection)领域的一个子问题。模型推理输出文本区域需要经过二值化之后使用opencv查找轮廓,然后获取最小外接矩形并扩展得到最终的文本区域,后续需要矩形旋转、投影变换等操作作为文本识别的输入。文本识别可以用crnn等各种模型。paddlepa
- 毕设成品 opencv图像增强算法系统
m0_71572237
毕业设计python毕设
文章目录0简介1.基于直方图均衡化的图像增强2\.基于拉普拉斯算子的图像增强4\.基于伽马变换的图像增强软件实现效果最后0简介今天学长向大家分享一个毕业设计项目毕业设计opencv图像增强算法系统项目运行效果:毕业设计基于机器视觉的图像增强项目分享:见文末!1.基于直方图均衡化的图像增强直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观
- 小米辟谣“雷军广告报价37万起”;微信上线「附近的工作」功能;OpenAI漏洞赏金暴涨5倍至10万美元|极客头条
2501_91425658
微信
整理|苏宓出品|CSDN(ID:CSDNnews)一分钟速览新闻点!微信上线「附近的工作」功能,已覆盖全国超200个城市小米雷军:办武大雷军班压力很大,勉为其难答应先办5年李想宣布开源自研汽车操作系统理想星环OS百度Apollo向武汉大学捐赠8辆自动驾驶车辆:供师生教学科研小米王化回应雷军“广告报价”被数据平台曝光:雷总并未有计划接商单OpenAI:更新后的GPT-4o现已可供所有付费用户使用育碧
- HTTP响应头字段深度解析(一)
网络小白不怕黑
网络协议分析网络协议
HTTP/1.1200OKDate:Sun,30Mar202511:43:50GMTServer:Apache/2.4.46(Win32)OpenSSL/1.1.1gmod_fcgid/2.3.9aX-Powered-By:PHP/5.4.45Product:Z-BlogPHP1.6.6ValyriaSet-Cookie:ZDEDebuggerPresent=php,phtml,php3;path
- python中的pickle
*Major*
python中的picklepython中的picklepython中的picklepickle模块是对Python对象结构进行二进制序列化和反序列化的协议实现.pickle可以把字典、列表等结构化数据存到本地文件,读取后返回的还是字典、列表等结构化数据importpicklea={'name':'Major','age':22}withopen('text.txt','wb')asfile:pi
- Mineru保姆级部署教程
哈拉斯
人工智能pythonpdf
目录1.拉取mineru代码2.安装magic-pdf3.下载模型文件1.从modelscope下载模型(推荐)2.从HuggingFace下载模型4.修改配置文件以进行额外配置(针对想使用GPU加速的同学)5.demo测试MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。1.拉取mineru代码地址:GitHub-opendatala
- 轻量级JSON解析神器:cJSON库全面解析
郎杉忱Robust
轻量级JSON解析神器:cJSON库全面解析【下载地址】cJSON资源文件下载cJSON资源文件下载项目地址:https://gitcode.com/open-source-toolkit/67072项目介绍在当今的软件开发领域,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,广泛应用于各种场景。为了满足嵌入式系统和资源受限环境下的JSON解析需求,cJS
- 傅里叶变换C++实现方式
byxdaz
OpenCV图像处理与识别傅里叶变换
傅里叶变换(FourierTransform)是一种将信号从时域转换到频域的数学工具,广泛应用于信号处理、图像处理、通信等领域。傅里叶变换应用场景:频域滤波(如低通/高通滤波)边缘检测(频域分析)图像压缩(JPEG使用DCT,类似DFT)纹理分析在C++中实现傅里叶变换(FourierTransform),可以使用FFT(快速傅里叶变换)算法来提高计算效率。1、使用OpenCV(推荐)OpenCV
- 基本数据类型和引用类型的初始值
3213213333332132
java基础
package com.array;
/**
* @Description 测试初始值
* @author FuJianyong
* 2015-1-22上午10:31:53
*/
public class ArrayTest {
ArrayTest at;
String str;
byte bt;
short s;
int i;
long
- 摘抄笔记--《编写高质量代码:改善Java程序的151个建议》
白糖_
高质量代码
记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。
看完整本书,也记了不少笔记
- 【备忘】Django 常用命令及最佳实践
dongwei_6688
django
注意:本文基于 Django 1.8.2 版本
生成数据库迁移脚本(python 脚本)
python manage.py makemigrations polls
说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整
查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上):
python manage.p
- 阶乘算法之一N! 末尾有多少个零
周凡杨
java算法阶乘面试效率
&n
- spring注入servlet
g21121
Spring注入
传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容:
ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtil
- Jenkins 命令行操作说明文档
510888780
centos
假设Jenkins的URL为http://22.11.140.38:9080/jenkins/
基本的格式为
java
基本的格式为
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args]
下面具体介绍各个命令的作用及基本使用方法
1. &nb
- UnicodeBlock检测中文用法
布衣凌宇
UnicodeBlock
/** * 判断输入的是汉字 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
- java下实现调用oracle的存储过程和函数
aijuans
javaorale
1.创建表:STOCK_PRICES
2.插入测试数据:
3.建立一个返回游标:
PKG_PUB_UTILS
4.创建和存储过程:P_GET_PRICE
5.创建函数:
6.JAVA调用存储过程返回结果集
JDBCoracle10G_INVO
- Velocity Toolbox
antlove
模板toolboxvelocity
velocity.VelocityUtil
package velocity;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.c
- JAVA正则表达式匹配基础
百合不是茶
java正则表达式的匹配
正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作
正则表达式的用途;
字符串的匹配
字符串的分割
字符串的查找
字符串的替换
正则表达式的验证语法
[a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一
- 是否使用EL表达式的配置
bijian1013
jspweb.xmlELEasyTemplate
今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。
网
- 精通Oracle10编程SQL(1-3)PLSQL基础
bijian1013
oracle数据库plsql
--只包含执行部分的PL/SQL块
--set serveroutput off
begin
dbms_output.put_line('Hello,everyone!');
end;
select * from emp;
--包含定义部分和执行部分的PL/SQL块
declare
v_ename varchar2(5);
begin
select
- 【Nginx三】Nginx作为反向代理服务器
bit1129
nginx
Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:
接受客户端请求
将请求转发给被代理的服务器
从被代理的服务器获得响应结果
把响应结果返回给客户端
实例
本文把Nginx配置成一个简单的代理服务器
对于静态的html和图片,直接从Nginx获取
对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin
blackproof
maven报错
转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin
maven报错:
Plugin execution not covered by lifecycle configuration:
- 发布docker程序到marathon
ronin47
docker 发布应用
1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry
docker pull docker-registry
docker run -t -p 5000:5000 docker-registry
下载docker镜像并发布到私有registry
docker pull consol/tomcat-8.0
- java-57-用两个栈实现队列&&用两个队列实现一个栈
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/*
* Q 57 用两个栈实现队列
*/
public class QueueImplementByTwoStacks {
private Stack<Integer> stack1;
pr
- Nginx配置性能优化
cfyme
nginx
转载地址:http://blog.csdn.net/xifeijian/article/details/20956605
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必
- [JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术
comsci
java
对图形图像进行精确处理,需要大量的数学工具,即使是从底层硬件模拟层开始设计,也离不开大量的数学工具包,因为我认为,JAVA语言体系在图形图像处理模块上面的研发工作,需要从开发一些基础的,类似实时数学函数构造器和解析器的软件包入手,而不是急于利用第三方代码工具来实现一个不严格的图形图像处理软件......
&nb
- MonkeyRunner的使用
dai_lm
androidMonkeyRunner
要使用MonkeyRunner,就要学习使用Python,哎
先抄一段官方doc里的代码
作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRun
- Hadoop-- 海量文件的分布式计算处理方案
datamachine
mapreducehadoop分布式计算
csdn的一个关于hadoop的分布式处理方案,存档。
原帖:http://blog.csdn.net/calvinxiu/article/details/1506112。
Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同ja
- 以資料庫驗證登入
dcj3sjt126com
yii
以資料庫驗證登入
由於 Yii 內定的原始框架程式, 採用綁定在UserIdentity.php 的 demo 與 admin 帳號密碼: public function authenticate() { $users=array( &nbs
- github做webhooks:[2]php版本自动触发更新
dcj3sjt126com
githubgitwebhooks
上次已经说过了如何在github控制面板做查看url的返回信息了。这次就到了直接贴钩子代码的时候了。
工具/原料
git
github
方法/步骤
在github的setting里面的webhooks里把我们的url地址填进去。
钩子更新的代码如下: error_reportin
- Eos开发常用表达式
蕃薯耀
Eos开发Eos入门Eos开发常用表达式
Eos开发常用表达式
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2014年8月18日 15:03:35 星期一
&
- SpringSecurity3.X--SpEL 表达式
hanqunfeng
SpringSecurity
使用 Spring 表达式语言配置访问控制,要实现这一功能的直接方式是在<http>配置元素上添加 use-expressions 属性:
<http auto-config="true" use-expressions="true">
这样就会在投票器中自动增加一个投票器:org.springframework
- Redis vs Memcache
IXHONG
redis
1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。
2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
3. Redis支持数据的备份,即master-slave模式的数据备份。
4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Red
- Python - 装饰器使用过程中的误区解读
kvhur
JavaScriptjqueryhtml5css
大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, Cache等。
原文链接:http://www.gbtags.com/gb/share/5563.htm
Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:
@function_wrapper
de
- 架构师之mybatis-----update 带case when 针对多种情况更新
nannan408
case when
1.前言.
如题.
2. 代码.
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="list" index=&
- Algorithm算法视频教程
栏目记者
Algorithm算法
课程:Algorithm算法视频教程
百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji
程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。
一、课程内容:
课时1、算法的基本概念 + Sequential search
课时2、Binary search
课时3、Hash table
课时4、Algor
- C语言算法之冒泡排序
qiufeihu
c算法
任意输入10个数字由小到大进行排序。
代码:
#include <stdio.h>
int main()
{
int i,j,t,a[11]; /*定义变量及数组为基本类型*/
for(i = 1;i < 11;i++){
scanf("%d",&a[i]); /*从键盘中输入10个数*/
}
for
- JSP异常处理
wyzuomumu
Webjsp
1.在可能发生异常的网页中通过指令将HTTP请求转发给另一个专门处理异常的网页中:
<%@ page errorPage="errors.jsp"%>
2.在处理异常的网页中做如下声明:
errors.jsp:
<%@ page isErrorPage="true"%>,这样设置完后就可以在网页中直接访问exc