需要做一个项目管理工具,其中使用到了甘特图。发现全网甘特图解决方案比较少,于是自动动手丰衣足食。前面我用Python和Node.js前端都做过,这次仅仅是移植到Android上面。其实甘特图非常简单,开发也不难,如果我专职去做,能做出一个非常棒产品。我写这个只是消遣,玩玩,闲的蛋痛,所以不怎么上心,就搞成下面这德行吧。仅仅供大家学习,参考。那天心情好了,完善一下。屏幕布局文件
React Gantt 项目教程
秋或依
ReactGantt项目教程react-ganttAganttchartforreact项目地址:https://gitcode.com/gh_mirrors/re/react-gantt项目介绍ReactGantt是一个基于React的甘特图组件,旨在为React应用程序提供一个高性能的甘特图解决方案。该项目由ClayRisser开发,是一个开源项目,托管在GitHub上。ReactGantt组
JAVA设计模式之模板模式
偶遇急雨洗心尘
java设计模式开发语言
设计模式设计模式(DesignPattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行
GitHub使用完全指南:从注册到上手的全流程解析
echoarts
github
(仅作占位说明,实际写作中需删除)今天咱们来聊聊程序员必备的GitHub使用指南(手把手教学版)!!!作为一个从零开始踩过无数坑的老司机,我把这些年总结的实战经验都整理在这里了。无论你是刚接触编程的萌新,还是想系统梳理GitHub知识的老手,这篇指南都能让你少走80%的弯路!一、注册与基础设置(超级重要)1.注册账号(3分钟搞定)打开GitHub官网(要是打不开后面有解决方案),点击右上角的Sig
车载充气泵气压传感器选型
随着汽车工业的快速发展,车载充气泵已成为现代车辆不可或缺的便携设备。本文围绕车载充气泵方案设计,重点探讨气压传感器DSH700B的核心技术优势及其在智能充气系统中的关键作用,为行业提供创新性解决方案参考。一、DSH700B气压传感器的技术特性DSH700B作为高精度数字气压传感器,具备以下核心参数:测量范围:0~1500kPa,覆盖汽车轮胎(200-350kPa)及越野设备高压需求精度等级:±0.
Error: Waveform5.vwf.vt(30): near “1“: syntax error, unexpected INTEGER NUMBER, expecting ‘)‘ Erro
嘉陵妹妹
quartusquartus
Error:Waveform5.vwf.vt(30):near“1”:syntaxerror,unexpectedINTEGERNUMBER,expecting‘)’Error:e:/quartus/modelsim_ase/win32aloem/vlogfailed.ExecutingONERRORcommandatmacro./deng01.doline4解决方案:1:将输出端口output改
Java打造同城道路救援利器:车辆救援,全程无忧保障
省钱兄科技
java开发语言
Java打造同城道路救援利器:车辆救援,全程无忧保障在城市化进程加速、车辆保有量激增的背景下,传统道路救援模式因响应慢、资源分散、信息孤岛等问题,已难以满足用户对“秒级响应”的期待。基于Java技术栈构建的同城道路救援系统,通过精准定位、智能调度、全流程数字化管理三大核心能力,重新定义了救援行业的技术标准,成为车辆救援领域的标杆解决方案。一、精准定位:误差<3米,救援“零偏差”1.多源数据融合定位
Visual Studio高版本到低版本的转换
RevsInterstellar
QT笔记visualstudioandroidide
由于VS版本比较多,低版本无法直接打开高版本的工程文件,通过对工程文件进行一些修改可以解决这些问题。通过修改Solution文件和Project文件,可以使低版本转换为高版本。修改解决方案文件使用记事本打开.lsn文件:FormatVersion(解决方案文件版本)和VS版本的对应关系:VisualStudio2005-FormatVersion9.00VisualStudio2008-Forma
切换自定义键盘导致系统键盘收起,小窗模式组件不应该失焦,如何解决?
bug菌¹
全栈Bug调优(实战版)harmonyos切换自定义键盘小窗模式组件
本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up! 备注:部分问题/难题源自互联网,经过精心筛选和整理,结合数
【JS-6-ES6中的let和const】深入理解ES6中的let和const:块级作用域与变量声明的新范式
AllenBright
#JSjavascriptes6开发语言
在ES6(ECMAScript2015)之前,JavaScript中只有var一种变量声明方式,这导致了许多作用域相关的问题。ES6引入了let和const两种新的变量声明方式,彻底改变了JavaScript的作用域规则。本文将深入探讨let和const的特性、优势以及它们与var的区别。1.var的问题与ES6的解决方案1.1var的局限性在ES5及之前版本中,var声明存在几个主要问题:函数作
借助职星学院企业培训系统,推动企业人才发展
github_staredu
大数据学习
在企业的发展进程中,人才是核心竞争力。如何培养和发展人才,成为企业面临的重要课题。职星学院企业培训系统为企业提供了一套全面、高效的人才培养解决方案,通过其强大的功能,推动企业人才的持续发展。职星学院的课程管理功能助力企业打造知识共享平台。企业可以将内部的优秀经验、技术知识等转化为课程资源,存储在系统中,实现知识的沉淀和传承。同时,企业还可以引入外部优质课程,拓宽员工的知识面和视野。课程的更新和维护
字符串比较忽略全角半角,忽略大小写的方法
adis789
vb.netc#
C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化在C#项目中添加引用Microsoft.VisualBasic.dll,可以在C#程序中直接使用VB.NET中丰富的函数1//命令行编译:csc/r:Microsoft.VisualBasic.dllTest.cs23//如果是用VisualStudio.NETIDE,请按以下方法为项目添加引用:4//打开[解决方案资源管理器],
后端开发工程师(.Net方向)
Flora051
求职招聘
5年以上,23-30k职位描述:工作内容:1、负责相应产品模块的需求分析、框架设计和编码工作;2、分析项目需求,能给出良好的解决方案,并协助其他人员完成开发及调试工作;3、Codereview,编写单元测试,高质量完成功能;4、持续关注新的技术,选择适合的技术持续迭代改进产品。任职资格:1.计算机相关专业,必须本科及以上学历,5年以上.net研发经验(core3年以上);2.有医疗健康开发经验者优
从传统Cube到现代化指标体系:物化视图驱动的指标平台升级之路
镜舟科技
StarRocks物化视图数据架构OLAP数据分析数据库湖仓一体
在高并发、高吞吐量的数据分析场景下,简单的事情往往变得不那么简单。一个业务逻辑简单的指标大盘,在日常情况下可能运行良好,但一旦面临大促或年终数据汇总等高峰期,就会出现卡顿甚至崩溃的情况。为什么在这些特定场景下,原本稳定的系统会变得不稳定?这是因为传统的指标大盘解决方案在设计时,往往没有针对高并发、多维度分析和秒级刷新等特殊需求做好充分准备。一、传统数据架构在指标分析场景下的困境1.指标平台的常见诉
trycatch捕获不到的错误
前端javascript
在浏览器环境的JavaScript中,try...catch是处理运行时错误的常用机制,但并非所有错误都能被其捕获。以下是无法被try...catch捕获的几类错误及其原因与解决方案:⚠️1.语法错误(SyntaxErrors)原因:语法错误发生在代码解析阶段,此时代码尚未执行,try...catch无法捕获。示例:try{consta=;//缺少赋值表达式}catch(e){console.lo
PCDN与边缘计算:流量处理的双赢方案
数据库
PCDN与边缘计算:流量处理的双赢方案在数字化时代,宽带流量的快速增长对传统网络架构提出了更高要求。视频、直播、云计算等应用消耗了大量带宽资源,如何高效、低成本地处理流量成为行业关注的重点。PCDN(Peer-to-PeerContentDeliveryNetwork)与边缘计算的结合,为流量优化提供了双赢解决方案。PCDN通过利用用户闲置带宽和存储资源,构建分布式网络,使内容分发更接近终端用户。
SpringCloud系列(41)--SpringCloud Config分布式配置中心简介
前言:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,但由于每个服务都需要必要的配置信息才能运行,所以—套集中式的、动态的配置管理设施是必不可少的,为此SpringCloudConfig就是一套集中式管理的技术解决方案。1、什么是SpringCloudConfigSpringCloudConfig为微服务架构中的微服务提供集中化的外部配置支持
互联网大厂Java面试指南:从基础到高阶技术栈与业务场景实战
yiiyx
Java场景面试宝典JavaSpringBoot微服务面试分布式系统
互联网大厂Java面试指南:从基础到高阶技术栈与业务场景实战场景介绍本文模拟互联网大厂高级Java工程师面试场景,涵盖JavaSE、Spring生态、微服务、数据库、缓存、消息队列等技术栈,结合音视频、电商、金融等业务场景,提供3轮渐进式提问与详细解析。技术栈核心语言与平台:JavaSE(8/11/17),JakartaEE(JavaEE),JVM构建工具:Maven,Gradle,AntWeb框
现代 JavaScript (ES6+) 入门到实战(六):异步的终极形态 - async/await 的优雅魔法
程序员阿超的博客
ES6+完全进化指南:从ES5到现代JSjavascriptes6开发语言
在上一篇,我们用Promise把“回调地狱”改造成了优雅的链式调用。这已经是一个巨大的进步了。但是,当逻辑复杂时,一长串的.then()仍然会降低代码的可读性,我们的大脑依然需要切换到“异步模式”去理解代码。有没有一种方法,能让我们像写同步代码(一行接一行)那样去写异步代码呢?答案是肯定的!ES7(ES2017)带来了async/await,它被誉为JavaScript异步编程的“终极解决方案”。
Vue中的v-if与emit事件传递:一个常见陷阱分析
发现你走远了
vue.jsjavascript前端
Vue中的v-if与事件传递:一个常见陷阱分析在Vue开发中,v-if与事件传递的组合可能会导致一些难以排查的问题。本文将分析一个典型案例,并提供解决方案。问题描述在一个登录流程中,我们有三个组件嵌套:InviteCodeDialog(邀请码验证组件)PcLogin(登录组件,包含InviteCodeDialog)PcLoginView(页面组件,包含PcLogin)每个组件都有自己的日志输出:/
多模态融合相机L3CAM
moonsims
人工智能
多模态融合相机L3CAML3CAM是Beamagine公司推出的多模态传感器融合技术,结合了激光雷达(LiDAR)和可见光摄像头,旨在为自动驾驶、工业机器人和其他需要精确环境感知的应用场景提供高效、安全的解决方案。L3CAM技术参数L3CAM结合了LiDAR和可见光摄像头,使其能够提供三维空间感知及图像级别的环境识别能力激光雷达部分(LiDAR)探测范围:大约200米(具体范围根据不同环境和反射面
Python爬虫实战:使用Scrapy+Selenium+Playwright高效爬取Coursera课程信息
Python爬虫项目
2025年爬虫实战项目python爬虫scrapy微信开发语言科技selenium
前言在当今信息爆炸的时代,在线教育平台如Coursera提供了海量的高质量课程资源。对于学习者、教育研究者和数据分析师来说,获取这些平台的课程信息具有重要价值。本文将详细介绍如何使用Python爬虫技术高效爬取Coursera课程信息,并分析其中的技术难点与解决方案。1.Coursera网站分析Coursera是一个典型的现代Web应用,具有以下特点:采用React/Vue等前端框架构建,大量内容
苍穹外卖Day07
guslegend
windows
缓存菜品问题用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。结果:系统响应慢、用户体验差解决方案通过Redis来缓存菜品数据,减少数据库查询操作缓存逻辑分析:每个分类下的菜品保存一份缓存数据数据库中菜品数据有变更时清理缓存数据DishController代码改写(用户端)publicResult>list(LongcategoryId){//构造r
SpringBoot+WebSocket实现直播连麦
雨轩智能
java及Linux相关教程springbootwebsocket后端
一、引言随着互联网技术的发展,直播已成为一种主流的内容传播形式。其中,连麦功能作为直播互动的重要手段,能够有效提升用户参与感和观看体验。本文将介绍如何使用SpringBoot和WebSocket技术构建一个直播连麦系统,实现主播与观众之间的实时音视频交流和文字聊天功能。为了方便DEMO的运行,本系统基于纯内存操作实现核心业务逻辑,不依赖外部数据库或者缓存组件。二、技术设计2.1技术栈后端:Spri
java项目启动报错‘dependencies.dependency.systemPath‘ for com.jacob:jacob:jar must specify an absolute path
橙-极纪元JJYCheng
javadependenciessystemPath
java项目启动报错’dependencies.dependency.systemPath’forcom.jacob:jacob:jarmustspecifyanabsolutepath我的建议请看《解决方案7-让Maven只专注拉取远程的第三方包》这样,你的Maven只专注拉取远程的第三方包其他操作交给编辑器如果你觉着这样不是你的风格请看《解决方案1-运行mvninstall:install-f
js动画html标签(持续更新中)
843977358
htmljs动画mediaopacity
1.jQuery 效果 - animate() 方法 改变 "div" 元素的高度: $(".btn1").click(function(){ $("#box").animate({height:"300px
springMVC学习笔记
caoyong
springMVC
1、搭建开发环境
a>、添加jar文件,在ioc所需jar包的基础上添加spring-web.jar,spring-webmvc.jar
b>、在web.xml中配置前端控制器
<servlet>
&nbs
POI中设置Excel单元格格式
107x
poistyle列宽合并单元格自动换行
引用:http://apps.hi.baidu.com/share/detail/17249059
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.
jquery 获取A href 触发js方法的this参数 无效的情况
一炮送你回车库
jquery
html如下:
<td class=\"bord-r-n bord-l-n c-333\">
<a class=\"table-icon edit\" onclick=\"editTrValues(this);\">修改</a>
</td>"
j
md5
3213213333332132
MD5
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MDFive {
public static void main(String[] args) {
String md5Str = "cq
完全卸载干净Oracle11g
sophia天雪
orale数据库卸载干净清理注册表
完全卸载干净Oracle11g
A、存在OUI卸载工具的情况下:
第一步:停用所有Oracle相关的已启动的服务;
第二步:找到OUI卸载工具:在“开始”菜单中找到“oracle_OraDb11g_home”文件夹中
&
apache 的access.log 日志文件太大如何解决
darkranger
apache
CustomLog logs/access.log common 此写法导致日志数据一致自增变大。
直接注释上面的语法
#CustomLog logs/access.log common
增加:
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-d.log 
Hadoop单机模式环境搭建关键步骤
aijuans
分布式
Hadoop环境需要sshd服务一直开启,故,在服务器上需要按照ssh服务,以Ubuntu Linux为例,按照ssh服务如下:
sudo apt-get install ssh
sudo apt-get install rsync
编辑HADOOP_HOME/conf/hadoop-env.sh文件,将JAVA_HOME设置为Java
PL/SQL DEVELOPER 使用的一些技巧
atongyeye
javasql
1 记住密码
这是个有争议的功能,因为记住密码会给带来数据安全的问题。 但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Developer记住密码。 位置:Tools菜单--Preferences--Oracle--Logon HIstory--Store with password
2 特殊Copy
在SQL Window
PHP:在对象上动态添加一个新的方法
bardo
方法动态添加闭包
有关在一个对象上动态添加方法,如果你来自Ruby语言或您熟悉这门语言,你已经知道它是什么...... Ruby提供给你一种方式来获得一个instancied对象,并给这个对象添加一个额外的方法。
好!不说Ruby了,让我们来谈谈PHP
PHP未提供一个“标准的方式”做这样的事情,这也是没有核心的一部分...
但无论如何,它并没有说我们不能做这样
ThreadLocal与线程安全
bijian1013
javajava多线程threadLocal
首先来看一下线程安全问题产生的两个前提条件:
1.数据共享,多个线程访问同样的数据。
2.共享数据是可变的,多个线程对访问的共享数据作出了修改。
实例:
定义一个共享数据:
public static int a = 0;
Tomcat 架包冲突解决
征客丶
tomcatWeb
环境:
Tomcat 7.0.6
win7 x64
错误表象:【我的冲突的架包是:catalina.jar 与 tomcat-catalina-7.0.61.jar 冲突,不知道其他架包冲突时是不是也报这个错误】
严重: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.dep
【Scala三】分析Spark源代码总结的Scala语法一
bit1129
scala
Scala语法 1. classOf运算符
Scala中的classOf[T]是一个class对象,等价于Java的T.class,比如classOf[TextInputFormat]等价于TextInputFormat.class
2. 方法默认值
defaultMinPartitions就是一个默认值,类似C++的方法默认值
java 线程池管理机制
BlueSkator
java线程池管理机制
编辑
Add
Tools
jdk线程池
一、引言
第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
关于hql中使用本地sql函数的问题(问-答)
BreakingBad
HQL存储函数
转自于:http://www.iteye.com/problems/23775
问:
我在开发过程中,使用hql进行查询(mysql5)使用到了mysql自带的函数find_in_set()这个函数作为匹配字符串的来讲效率非常好,但是我直接把它写在hql语句里面(from ForumMemberInfo fm,ForumArea fa where find_in_set(fm.userId,f
读《研磨设计模式》-代码笔记-迭代器模式-Iterator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.Arrays;
import java.util.List;
/**
* Iterator模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示
*
* 个人觉得,为了不暴露该
常用SQL
chenjunt3
oraclesqlC++cC#
--NC建库
CREATE TABLESPACE NNC_DATA01 DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPA
数学是科学技术的语言
comsci
工作活动领域模型
从小学到大学都在学习数学,从小学开始了解数字的概念和背诵九九表到大学学习复变函数和离散数学,看起来好像掌握了这些数学知识,但是在工作中却很少真正用到这些知识,为什么?
最近在研究一种开源软件-CARROT2的源代码的时候,又一次感觉到数学在计算机技术中的不可动摇的基础作用,CARROT2是一种用于自动语言分类(聚类)的工具性软件,用JAVA语言编写,它
Linux系统手动安装rzsz 软件包
daizj
linuxszrz
1、下载软件 rzsz-3.34.tar.gz。登录linux,用命令
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz下载。
2、解压 tar zxvf rzsz-3.34.tar.gz
3、安装 cd rzsz-3.34 ; make posix 。注意:这个软件安装与常规的GNU软件不
读源码之:ArrayBlockingQueue
dieslrae
java
ArrayBlockingQueue是concurrent包提供的一个线程安全的队列,由一个数组来保存队列元素.通过
takeIndex和
putIndex来分别记录出队列和入队列的下标,以保证在出队列时
不进行元素移动.
//在出队列或者入队列的时候对takeIndex或者putIndex进行累加,如果已经到了数组末尾就又从0开始,保证数
C语言学习九枚举的定义和应用
dcj3sjt126com
c
枚举的定义
# include <stdio.h>
enum WeekDay
{
MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};
int main(void)
{
//int day; //day定义成int类型不合适
enum WeekDay day = Wedne
Vagrant 三种网络配置详解
dcj3sjt126com
vagrant
Forwarded port
Private network
Public network
Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点。
端口映射(Forwarded port),顾名思义是指把宿主计算机的端口映射到虚拟机的某一个端口上,访问宿主计算机端口时,请求实际是被转发到虚拟机上指定端口的。Vagrantfile中设定语法为:
c
16.性能优化-完结
frank1234
性能优化
性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写分离,集群,缓存等), 软件设计(比如多线程并行化,选择合适的数据结构), 数据库设计层面(合理的表设计,汇总表,索引,分区,拆分,冗余等) 以及微观(软件的配置,SQL语句的编写,操作系统配置等)根据软件的应用场景做综合的考虑和权衡,并经验实际测试验证才能达到最优。
性能水很深, 笔者经验尚浅 ,赶脚也就了解了点皮毛而已,我觉得
Word Search
hcx2013
search
Given a 2D board and a word, find if the word exists in the grid.
The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or ve
Spring4新特性——Web开发的增强
jinnianshilongnian
springspring mvcspring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装配置tengine并设置开机启动
liuxingguome
centos
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
Ubuntu上可以这样安装
sudo aptitude install libdmalloc-dev libcurl4-opens
第14章 工具函数(上)
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/
Xelsius 2008 and SAP BW at a glance
blueoxygen
BOXelsius
Xelsius提供了丰富多样的数据连接方式,其中为SAP BW专属提供的是BICS。那么Xelsius的各种连接的优缺点比较以及Xelsius是如何直接连接到BEx Query的呢? 以下Wiki文章应该提供了全面的概览。
http://wiki.sdn.sap.com/wiki/display/BOBJ/Xcelsius+2008+and+SAP+NetWeaver+BW+Co
oracle表空间相关
tongsh6
oracle
在oracle数据库中,一个用户对应一个表空间,当表空间不足时,可以采用增加表空间的数据文件容量,也可以增加数据文件,方法有如下几种:
1.给表空间增加数据文件
ALTER TABLESPACE "表空间的名字" ADD DATAFILE
'表空间的数据文件路径' SIZE 50M;
&nb
.Net framework4.0安装失败
yangjuanjava
.netwindows
上午的.net framework 4.0,各种失败,查了好多答案,各种不靠谱,最后终于找到答案了
和Windows Update有关系,给目录名重命名一下再次安装,即安装成功了!
下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=17113
方法:
1.运行cmd,输入net stop WuAuServ
2.点击开