- 浏览: 1096733 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://blog.csdn.net/chen98qqkk/archive/2010/09/30/5916002.aspx
先简单解释下背景知识:
从FLEX4开始,所有web程序都默认使用RSL的编译方式。那用RSL编译的FLEX站点和普通FLEX站点有什么区别呢?简单的说就是,flash player会在你第一次访问任何一个这种FLEX站点时,缓存下大约1M的类库在系统里。下次用户访问这个站点或者任何其他flex站点时都不用再下载类库这部分文件。RSL编译方式就是在编译时把类库都分离出去了。这种编译方式,在同类flash程序通常大小要接近1M的情况下,可以编出100K左右的整站程序,比一张图片都小。好处自然是非常节省带宽和加载时间。我现在做的几个FLEX站点都采用这种编译方式,加上皮肤也采用全矢量绘图,编译出来的整站程序都保持在100K左右,有效的解决了FLASH加载慢的最大问题。
但问题出来了,有一小部分用户第一次访问站点时,总是出现无法缓存类库的问题,表现就是报错"ERROR:#2046"。或者有些用户原来能够访问成功(说明已经成功缓存过类库了),但突然也开始报错了。直接导致的后果就是根本不能加载程序,想要节省加载时间反而导致不能加载,让我一直很苦恼。从做第一个FLEX4程序开始,我就发现了这个问题,当时只有我的电脑不能访问我写的站点,而大家都能,并且我重装了系统几次,都不行。后来不知道怎么的,我又突然就能访问了,就没有太在意这个问题。现在想想,那时候我干了一件他们都没干的事:我修改过系统时间。调整到2008年了。
正好最近又无意中在论坛上看到高人解答,原来报错的用户也都存在同样的问题:系统时间出错了。因为用户系统的时间早于缓存的类库的有效签名时间,被flash player拒绝加载了。那时我刚好在实验室,又这么刚好就有台电脑就不能访问,查下它的时间是2000年。旁边的电脑都能访问。就修改了下时间测试,马上加载成功了~
困扰我很久的问题终于解决了,非常之高兴,遂写了个js脚本加在网页里,加载前先判断下服务器和客户机的时间差。如果太大就弹出提示。让用户把时间改正确,或者就直接跳转到我准备好的无类库缓存版站点。我有给每个flex站点都加上这种无缓存的版本,供应急用。就是简单再写一个full.html,把引用的程序改成对应的非RSL编译方式生成的swf即可。访问方法为:URL后加上full.html,使用上不会有任何差别。
那么RSL的问题算是完美解决了,顺便也把另一个问题解决了吧:在FLEX站点访问时,还会出现另一个问题,就是很多客户机的FLASH PLAYER版本过低,导致FLEX程序不加载,表现为一片空白,不提示任何信息(只有没有安装FP时,浏览器才会自动提示)。这会让用户误以为站点不能访问了。解决办法也是加上个JS脚本,判断一下FP的版本先。下面附上两个JS脚本,在IE/Firefox/chrome测试均完美通过。
检测时间差的JS脚本:
view plaincopy to clipboardprint?
01.var timegap = checkTime();
02.if(timegap>48)
03.{
04. alert("提示:我们检测到您的系统时间与服务器相差超过了48小时,\n这有可能导致程序无法加载。建议您修改回正确的系统时间,\n或在网址后加上full.html访问程序的无缓存版本。谢谢~")
05.}
06.
07.
08.
09.function checkTime()
10.{
11.var xmlHttp = false;
12.//获取服务器时间
13.try {
14.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
15.} catch (e) {
16.try {
17. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
18.} catch (e2) {
19. xmlHttp = false;
20.}
21.}
22.
23.if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
24.xmlHttp = new XMLHttpRequest();
25.}
26.
27.xmlHttp.open("GET", "null.txt", false);
28.xmlHttp.setRequestHeader("Range", "bytes=-1");
29.xmlHttp.send(null);
30.
31.severtime=new Date(xmlHttp.getResponseHeader("Date"));
32.//获取客户端时间
33.localtime=new Date();
34.//取得时间差
35.var jtime=Math.abs(localtime.getTime()-severtime.getTime());
36.return jtime/(60*60*1000); ;
37.}
var timegap = checkTime();
if(timegap>48)
{
alert("提示:我们检测到您的系统时间与服务器相差超过了48小时,\n这有可能导致程序无法加载。建议您修改回正确的系统时间,\n或在网址后加上full.html访问程序的无缓存版本。谢谢~")
}
function checkTime()
{
var xmlHttp = false;
//获取服务器时间
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
xmlHttp.open("GET", "null.txt", false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null);
severtime=new Date(xmlHttp.getResponseHeader("Date"));
//获取客户端时间
localtime=new Date();
//取得时间差
var jtime=Math.abs(localtime.getTime()-severtime.getTime());
return jtime/(60*60*1000); ;
}
检测Flash Player版本的JS脚本:
view plaincopy to clipboardprint?
01.var fls=flashChecker();
02.if(fls<10)
03.{
04. alert("您安装的Flash Player版本过低,页面即将跳转到Flash Player 10安装页面\n安装完成后请重启浏览器即可使用~");
05. window.location.href="http://get.adobe.com/cn/flashplayer/"; //如果你的程序是建设在内网,建议修改这个地址为你的内网链接
06.}
07.
08.function flashChecker()
09.{
10.var flashVersion=0; //flash版本
11.
12.if(document.all)
13.{
14.var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
15.if(swf) {
16.VSwf=swf.GetVariable("$version");
17.flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
18.}
19.}else{
20.if (navigator.plugins && navigator.plugins.length > 0)
21.{
22.var swf=navigator.plugins["Shockwave Flash"];
23.if (swf)
24. {
25. var words = swf.description.split(" ");
26. for (var i = 0; i < words.length; ++i)
27.{
28. if (isNaN(parseInt(words[i]))) continue;
29. flashVersion = parseInt(words[i]);
30.}
31.}
32.}
33.}
34.return flashVersion;
35.}
var fls=flashChecker();
if(fls<10)
{
alert("您安装的Flash Player版本过低,页面即将跳转到Flash Player 10安装页面\n安装完成后请重启浏览器即可使用~");
window.location.href="http://get.adobe.com/cn/flashplayer/"; //如果你的程序是建设在内网,建议修改这个地址为你的内网链接
}
function flashChecker()
{
var flashVersion=0; //flash版本
if(document.all)
{
var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(swf) {
VSwf=swf.GetVariable("$version");
flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
}
}else{
if (navigator.plugins && navigator.plugins.length > 0)
{
var swf=navigator.plugins["Shockwave Flash"];
if (swf)
{
var words = swf.description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
return flashVersion;
}
解决了这两个问题,现在就可以放心部署FLEX4站点了~
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen98qqkk/archive/2010/09/30/5916002.aspx#
return flashVersion;
}
解决了这两个问题,现在就可以放心部署FLEX4站点了~
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen98qqkk/archive/2010/09/30/5916002.aspx
先简单解释下背景知识:
从FLEX4开始,所有web程序都默认使用RSL的编译方式。那用RSL编译的FLEX站点和普通FLEX站点有什么区别呢?简单的说就是,flash player会在你第一次访问任何一个这种FLEX站点时,缓存下大约1M的类库在系统里。下次用户访问这个站点或者任何其他flex站点时都不用再下载类库这部分文件。RSL编译方式就是在编译时把类库都分离出去了。这种编译方式,在同类flash程序通常大小要接近1M的情况下,可以编出100K左右的整站程序,比一张图片都小。好处自然是非常节省带宽和加载时间。我现在做的几个FLEX站点都采用这种编译方式,加上皮肤也采用全矢量绘图,编译出来的整站程序都保持在100K左右,有效的解决了FLASH加载慢的最大问题。
但问题出来了,有一小部分用户第一次访问站点时,总是出现无法缓存类库的问题,表现就是报错"ERROR:#2046"。或者有些用户原来能够访问成功(说明已经成功缓存过类库了),但突然也开始报错了。直接导致的后果就是根本不能加载程序,想要节省加载时间反而导致不能加载,让我一直很苦恼。从做第一个FLEX4程序开始,我就发现了这个问题,当时只有我的电脑不能访问我写的站点,而大家都能,并且我重装了系统几次,都不行。后来不知道怎么的,我又突然就能访问了,就没有太在意这个问题。现在想想,那时候我干了一件他们都没干的事:我修改过系统时间。调整到2008年了。
正好最近又无意中在论坛上看到高人解答,原来报错的用户也都存在同样的问题:系统时间出错了。因为用户系统的时间早于缓存的类库的有效签名时间,被flash player拒绝加载了。那时我刚好在实验室,又这么刚好就有台电脑就不能访问,查下它的时间是2000年。旁边的电脑都能访问。就修改了下时间测试,马上加载成功了~
困扰我很久的问题终于解决了,非常之高兴,遂写了个js脚本加在网页里,加载前先判断下服务器和客户机的时间差。如果太大就弹出提示。让用户把时间改正确,或者就直接跳转到我准备好的无类库缓存版站点。我有给每个flex站点都加上这种无缓存的版本,供应急用。就是简单再写一个full.html,把引用的程序改成对应的非RSL编译方式生成的swf即可。访问方法为:URL后加上full.html,使用上不会有任何差别。
那么RSL的问题算是完美解决了,顺便也把另一个问题解决了吧:在FLEX站点访问时,还会出现另一个问题,就是很多客户机的FLASH PLAYER版本过低,导致FLEX程序不加载,表现为一片空白,不提示任何信息(只有没有安装FP时,浏览器才会自动提示)。这会让用户误以为站点不能访问了。解决办法也是加上个JS脚本,判断一下FP的版本先。下面附上两个JS脚本,在IE/Firefox/chrome测试均完美通过。
检测时间差的JS脚本:
view plaincopy to clipboardprint?
01.var timegap = checkTime();
02.if(timegap>48)
03.{
04. alert("提示:我们检测到您的系统时间与服务器相差超过了48小时,\n这有可能导致程序无法加载。建议您修改回正确的系统时间,\n或在网址后加上full.html访问程序的无缓存版本。谢谢~")
05.}
06.
07.
08.
09.function checkTime()
10.{
11.var xmlHttp = false;
12.//获取服务器时间
13.try {
14.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
15.} catch (e) {
16.try {
17. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
18.} catch (e2) {
19. xmlHttp = false;
20.}
21.}
22.
23.if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
24.xmlHttp = new XMLHttpRequest();
25.}
26.
27.xmlHttp.open("GET", "null.txt", false);
28.xmlHttp.setRequestHeader("Range", "bytes=-1");
29.xmlHttp.send(null);
30.
31.severtime=new Date(xmlHttp.getResponseHeader("Date"));
32.//获取客户端时间
33.localtime=new Date();
34.//取得时间差
35.var jtime=Math.abs(localtime.getTime()-severtime.getTime());
36.return jtime/(60*60*1000); ;
37.}
var timegap = checkTime();
if(timegap>48)
{
alert("提示:我们检测到您的系统时间与服务器相差超过了48小时,\n这有可能导致程序无法加载。建议您修改回正确的系统时间,\n或在网址后加上full.html访问程序的无缓存版本。谢谢~")
}
function checkTime()
{
var xmlHttp = false;
//获取服务器时间
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
xmlHttp.open("GET", "null.txt", false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null);
severtime=new Date(xmlHttp.getResponseHeader("Date"));
//获取客户端时间
localtime=new Date();
//取得时间差
var jtime=Math.abs(localtime.getTime()-severtime.getTime());
return jtime/(60*60*1000); ;
}
检测Flash Player版本的JS脚本:
view plaincopy to clipboardprint?
01.var fls=flashChecker();
02.if(fls<10)
03.{
04. alert("您安装的Flash Player版本过低,页面即将跳转到Flash Player 10安装页面\n安装完成后请重启浏览器即可使用~");
05. window.location.href="http://get.adobe.com/cn/flashplayer/"; //如果你的程序是建设在内网,建议修改这个地址为你的内网链接
06.}
07.
08.function flashChecker()
09.{
10.var flashVersion=0; //flash版本
11.
12.if(document.all)
13.{
14.var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
15.if(swf) {
16.VSwf=swf.GetVariable("$version");
17.flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
18.}
19.}else{
20.if (navigator.plugins && navigator.plugins.length > 0)
21.{
22.var swf=navigator.plugins["Shockwave Flash"];
23.if (swf)
24. {
25. var words = swf.description.split(" ");
26. for (var i = 0; i < words.length; ++i)
27.{
28. if (isNaN(parseInt(words[i]))) continue;
29. flashVersion = parseInt(words[i]);
30.}
31.}
32.}
33.}
34.return flashVersion;
35.}
var fls=flashChecker();
if(fls<10)
{
alert("您安装的Flash Player版本过低,页面即将跳转到Flash Player 10安装页面\n安装完成后请重启浏览器即可使用~");
window.location.href="http://get.adobe.com/cn/flashplayer/"; //如果你的程序是建设在内网,建议修改这个地址为你的内网链接
}
function flashChecker()
{
var flashVersion=0; //flash版本
if(document.all)
{
var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(swf) {
VSwf=swf.GetVariable("$version");
flashVersion=parseInt(VSwf.split(" ")[1].split(",")[0]);
}
}else{
if (navigator.plugins && navigator.plugins.length > 0)
{
var swf=navigator.plugins["Shockwave Flash"];
if (swf)
{
var words = swf.description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if (isNaN(parseInt(words[i]))) continue;
flashVersion = parseInt(words[i]);
}
}
}
}
return flashVersion;
}
解决了这两个问题,现在就可以放心部署FLEX4站点了~
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen98qqkk/archive/2010/09/30/5916002.aspx#
return flashVersion;
}
解决了这两个问题,现在就可以放心部署FLEX4站点了~
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chen98qqkk/archive/2010/09/30/5916002.aspx
发表评论
-
Flex数据绑定及其使用频繁的几种情况
2011-10-20 03:39 1461http://developer.51cto.com/art/ ... -
揭开Flex正则表达式的神秘面纱
2011-10-20 03:38 1237http://developer.51cto.com/art/ ... -
Flex模块化开发优势及技巧解析
2011-10-20 03:38 1768http://developer.51cto.com/art/ ... -
Flex模块化应用程序开发
2011-10-20 03:38 1187http://developer.51cto.com/art/ ... -
[转]Flex模块化的目的及其步骤
2011-10-20 03:35 1213http://developer.51cto.co ... -
翻译: Flash文本引擎, 第三部分: 布局
2011-10-20 02:36 0http://www.riade ... -
翻译: Flash文本引擎, 第二部分: 交互
2011-10-20 02:34 0http://www.riadev.com/flex-thre ... -
翻译: Flash文本引擎, 第一部分: 概述
2011-10-20 02:33 0http://www.riadev.com/flex-thre ... -
[转]flex操作XML,强力总结帖
2011-08-16 01:10 1072http://qiqishou.iteye.com ... -
[转]用ActionScript 开发高级可视化组件
2011-08-14 04:37 0用ActionScript 开发高级可视化组件 -
[转]AIR2.0 NativeProcess in Flash Builder 4.0
2011-08-07 23:37 1502AIR2.0 NativeProcess in Fla ... -
[转] Actionscript项目嵌入图片(设置九宫格缩放)
2011-07-27 02:04 2370我们知道在Flex项目中,嵌入外部图片,可以使用 [E ... -
[转]NumericStepper添加百分号
2011-07-26 23:32 1156请问 NumericStepper组件中添加百分号 ... -
[新闻资讯] [Flash/Flex] 走自己的路:重写AIR移动应用程序中的BACK按键
2011-06-15 13:44 1255http://bbs.9ria.com/viewthread. ... -
[转]关于Spark List控件和Spark DataGrid控件的提示
2011-06-02 05:23 1454http://bbs.9ria.com/viewthread. ... -
flex 3 能使用openwithDefaultApplication吗
2011-06-02 05:05 0最近用到了 使用air 来开启外部的程序。 我知道flash ... -
[Flex]Flex编程注意之Flex Complier参数
2011-05-19 19:56 1115http://fykyx521.iteye.com/blog/ ... -
Aarry和AarryCollection
2011-05-18 00:06 1240在AS3里面,数组里面可以存储字符串、数字、布尔值、或引用的类 ... -
[Flash/Flex] 给一个TitleWindow添加按钮的方法
2011-05-07 01:38 1700资讯类型: 翻译 来源页面: http://userflex. ... -
[转][Android] Android桌面应用程序-交通灯游戏源码
2011-04-25 02:46 0http://bbs.9ria.com/viewthread. ...
相关推荐
SWC是Shared Library Container的缩写,用于存储编译后的ActionScript类、资源和其他编译后的Flex组件。创建SWC通常涉及创建一个Flex库项目,在源代码目录下放置你的类和资源,然后构建项目以生成SWC文件。 ### 5. ...
- `Actionscript Build Path`:管理AS源码路径,设置输出目录,以及Library Path中的swc文件,可以选择merged into code或RSL加载方式。 通过以上步骤,你就成功地配置了一个集Flex Builder3和FDT3于一体的开发...
内容概要:本文详细介绍了用于智能车竞赛微缩电磁组的无线充电LCC-S仿真模型。该模型采用Simulink搭建,主要针对48V输入、1000W输出的无线充电系统进行仿真。文中不仅提供了具体的谐振参数(如L1=35uH,C1=62nF,C2=72nF),还分享了调整死区时间、耦合系数、负载突变测试等实践经验。此外,作者强调了实际应用中的注意事项,如元件选型、散热设计以及仿真与现实差异的处理方法。 适合人群:参与智能车竞赛的学生和技术爱好者,尤其是对无线充电技术和电力电子感兴趣的读者。 使用场景及目标:①帮助参赛队伍快速建立高效的无线充电系统仿真模型;②指导实际硬件搭建过程中参数的选择和优化;③提高系统效率,确保在比赛中的可靠性和性能。 其他说明:本文提供的模型已在Matlab 2023b中验证可行,建议使用者根据实际情况调整参数,并关注仿真与实际应用之间的差异。
基于springboot+vue的考研资讯平台管理系统:前端 vue2、element-ui,后端 maven、springmvc、spring、mybatis;角色分为管理员、学生;集成考研资讯、报考指南、资料信息、客服等功能于一体的系统。 ## 环境-239 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Node 14.14.0</b> - <b>JDK 1.8</b>
内容概要:本文详细介绍了将振动信号转化为二维图像并利用Transformer进行轴承故障诊断的方法。首先,通过格拉姆角场(GADF)、小波变换(DWT)和短时傅立叶变换(STFT)将一维振动信号转换为二维图像。然后,构建了一个基于Transformer的视觉模型,用于捕捉图像的全局特征。实验结果显示,该方法在凯斯西储大学轴承数据集上达到了98.7%的准确率,尤其在低信噪比环境下的表现优于传统方法。此外,文中提供了详细的代码实现和数据预处理步骤,以及一些实用的训练技巧。 适合人群:从事机械故障诊断的研究人员和技术人员,尤其是对深度学习应用于工业设备监测感兴趣的读者。 使用场景及目标:适用于工业环境中机械设备的故障预测与健康管理。主要目标是提高故障检测的准确性,特别是在复杂工况和低信噪比情况下,帮助维护团队及时发现潜在问题,降低维修成本。 其他说明:文中提到的所有代码和预训练模型均已开源,可供研究和教学使用。同时,作者分享了一些实践经验,如数据增强策略的选择和信号去噪方法的应用,有助于读者更好地理解和复现实验结果。
内容概要:本文档是《卡码网-25种ACM输入输出总结模板.pdf》,由程序员Carl编写,旨在帮助读者掌握ACM竞赛中常见的25种输入输出方式。文档详细介绍了多种编程语言(如C++、Java、Python、Go、JavaScript等)的实现方法,涵盖了从简单的A+B问题到复杂的链表操作、二叉树遍历等各类典型题目。每种输入输出方式均配有相应的练习题,帮助读者通过实际操作加深理解。此外,文档不仅提供代码模板,还强调了对问题的分析和解决思路。 适合人群:具备一定编程基础,尤其是准备参加ACM竞赛或从事算法相关工作的开发者。 使用场景及目标:①帮助读者快速掌握ACM竞赛中常见的输入输出格式;②提高编程效率,减少在笔试和面试中因输入输出处理不当而浪费的时间;③通过练习题巩固所学知识,提升解决实际问题的能力。 阅读建议:由于文档侧重于输入输出模板的总结,建议读者在学习过程中结合具体的编程语言特性进行实践,并尝试完成提供的练习题,以加深对模板的理解和应用。同时,注意不同语言之间的语法差异,灵活运用所学知识。
基于springboot的健身中心会员管理系统:前端 jsp、jquery,后端 maven、springmvc、spring、mybatis;角色分为管理员、用户;集成会员卡、留言板、公告、统计报表等功能于一体的系统。 ## 功能介绍 ### 客户 - 基本功能:登录,退出,个人资料查看与修改,密码修改 - 我的会员卡:会员卡查询,详情 - 充值信息:充值信息的列表查询,多条件搜索查询,详情 - 我的消费记录:消费记录查询,多条件搜索查询,详情 ### 管理员 - 账号管理:管理员账号信息的增删改查,密码修改 - 公告管理:公告信息的增删改查 - 客户管理:客户信息的增删改查 - 会员卡管理:会员卡信息的增删改查,多条件搜索查询,会员卡充值 - 留言板管理:留言板信息的列表查询,留言回复 - 统计报表管理:消费信息的查询统计,充值信息的查询统计 ## 环境 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Tomcat 7.0.73</b> - <b>JDK 1.8</b>
基于springboot的教育互助管理系统:前端 html、jquery,后端 maven、springmvc、spring、mybatis;角色分为管理员、用户;集成交流动态、我的平台、我的好友、互助评论、教育互助等功能于一体的系统。 ## 环境-236 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>JDK 1.8</b>
multisim
手绘彩虹小太阳幼儿教学课件模板
SH3201数据手册和代码.tar 产品简介 SH3201是一款六轴IMU(Inertial measurement unit)惯性测量单元。SH3201内部集成三轴陀螺仪以及三轴加速度计,尺寸小,功耗低,适用于消费电子市场应用,能提供高精度的实时角速度与线加速度数据。SH3201具有出色的温度稳定性,在-40℃到85℃的工作范围内能保持高分辨率。 封装形式和尺寸 ● 封装:14 Pins LGA ● 尺寸:2.5×3.0×1.0mm³
数据集介绍:自动驾驶多类交通目标检测数据集 一、基础信息 数据集名称:自动驾驶多类交通目标检测数据集 图片数量: - 训练集:2,868张图片 - 验证集:30张图片 - 测试集:301张图片 分类类别: - Bikes(自行车):交通场景中常见非机动车类型 - Bus(公交车):大型公共交通工具 - Car(汽车):主流机动车辆类型 - Crosswalk(人行横道):道路安全标识 - Fire hydrant(消防栓):城市基础设施组件 标注格式: YOLO格式,包含目标检测所需的边界框坐标及类别标签,支持主流深度学习框架。 数据来源:真实道路场景采集,涵盖多样交通环境。 二、适用场景 自动驾驶感知系统开发: 用于训练车辆环境感知模型,精准识别道路参与者(车辆、行人)及关键基础设施(人行道、消防栓)。 智能交通监控系统: 支持开发实时交通流量分析系统,识别车辆类型及道路安全标识。 道路安全研究: 为交叉路口安全分析、基础设施布局优化提供数据支撑。 AI算法基准测试: 适用于目标检测模型性能验证,覆盖常见交通目标类别。 三、数据集优势 场景覆盖全面: 包含5类关键交通要素,覆盖车辆、行人设施及市政设备,满足复杂场景建模需求。 标注质量可靠: 专业团队标注,严格质检流程确保边界框定位精准,类别标注准确。 任务适配性强: 原生YOLO格式支持主流检测框架(YOLOv5/v7/v8等),即插即用。 应用潜力突出: 数据来源于真实道路场景,可直接应用于L2-L4级自动驾驶系统开发,具备强工程落地价值。
一个极速,多功能的哔哩哔哩推送机器人
基于jsp+servlet的机票预订后台管理系统:前端 jsp、jquery,后端 servlet、jdbc,角色分为管理员、用户;集成航班信息查询,在线订票,订单查询等功能于一体的系统。 ## 功能介绍 ### 管理员 - 航班信息管理:航班信息列表查询,航班添加 - 订单信息管理:用户在前台浏览航班信息,订票下单后,管理员可以在后台查询用户下单信息 - 用户信息管理:用户信息由客户自己在前台注册,管理员可以查看和删除用户 - 留言评论管理:用户在前台针对航班信息或订票服务进行评论,后台查看评论和删除 ### 用户 - 基本功能:登录,注册,退出 - 网站首页:轮播图,航班搜索,航班列表信息展示 - 订票:航班详情,在线订票,填写乘机人和联系人信息,退改签说明,提交订单 - 用户中心:个人资料查询与修改,订单列表查询 - 留言:留言列表查看,发表留言评论 ## 环境 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Tomcat 7.0.73</b> - <b>JDK 1.8</b>
内容概要:本文详细介绍了利用COMSOL进行海底气体水合物沉积物中汽液两相流动的数值模拟。首先,文章解释了模型的基本架构,包括多孔介质流和相场法追踪气液界面,并展示了关键的偏微分方程。接着,讨论了网格划分、水合物相变的能量方程源项设置以及重要参数如各向异性系数的正确配置。此外,文中强调了模型验证步骤,如网格收敛性测试、时间步长敏感性分析和物质守恒检查。最后,分享了一些实际工程应用的经验,如处理非均质储层和相变潜热的影响。 适合人群:从事地质工程、石油勘探、环境科学等领域研究的专业人士和技术人员。 使用场景及目标:适用于需要深入理解和模拟海底气体水合物沉积物中复杂物理现象的研究人员。主要目标是帮助用户掌握COMSOL在这一领域的具体应用方法,提高数值模拟的准确性。 其他说明:文章不仅提供了详细的数学模型和编程代码片段,还分享了许多实践经验,有助于读者避开常见陷阱并优化计算效率。
Screenshot_2025_0421_055352.png
内容概要:本文详细介绍了如何使用Abaqus进行混凝土收缩建模与分析。首先讲解了混凝土收缩的基本概念及其重要性,接着逐步介绍材料定义、收缩模型选择、收缩应变计算方法(包括UMAT子程序和热膨胀模拟)、分析步配置、边界条件设置、后处理验证等各个环节的具体操作步骤和技术细节。文中还提供了多个实用的Python脚本和.inp文件模板,帮助用户更好地理解和应用相关知识点。此外,作者分享了许多实战经验和常见错误规避技巧,确保模型的稳定性和准确性。 适合人群:从事土木工程仿真分析的专业人士,尤其是有一定Abaqus使用经验的研究人员和工程师。 使用场景及目标:适用于需要进行混凝土结构长期性能预测、裂缝发展模拟等复杂工程问题的研究人员。通过掌握本文提供的技术和方法,能够提高仿真模型的精度,减少与实际测量结果之间的偏差。 其他说明:文中提到的所有代码片段和操作指南均基于最新版本的Abaqus软件平台。建议读者结合官方文档和其他在线资源进一步学习和探索。
前端分析-2023071100789s
内容概要:本文详细介绍了利用改进的粒子群算法(PSO)优化变分模态分解(VMD)参数的方法。首先指出了传统PSO存在的局限性,即容易陷入局部最优解。接着提出了改进措施,包括动态调整惯性权重和学习因子,使得算法能够在前期进行广泛的全局搜索,在后期进行精确的局部搜索。文中还提供了具体的Matlab代码实现,涵盖了数据预处理、粒子初始化、适应度函数选择等方面的内容。实验结果显示,改进后的PSO在优化VMD参数方面表现优异,尽管收敛速度稍慢,但能够获得更低的适应度值,从而提高分解质量。 适合人群:从事信号处理研究的技术人员,尤其是那些对VMD分解有一定了解并希望进一步提升其性能的研究者。 使用场景及目标:适用于需要对一维时序数据进行高质量分解的应用场合,如生物医学信号处理、故障诊断等领域。目标是通过优化VMD的分解层数K和惩罚因子α,达到更好的信号分离效果。 其他说明:文中提到的所有代码均基于Matlab 2018a及以上版本编写,建议使用更高版本以确保兼容性和效率。同时,对于初学者而言,可以先尝试提供的示例数据进行练习。
内容概要:本文详细介绍了在PLECS仿真环境中复现IEEE顶刊论文中提出的DAB(双有源桥)变换器峰值电流前馈控制策略的过程。文章首先简述了DAB变换器的基本结构及其应用场景,接着深入探讨了峰值电流前馈控制策略的工作原理,包括实时检测原边电流峰值并反馈到控制环节以改善变换器动态性能的方法。文中展示了具体的MATLAB-PLECS联合仿真实现步骤,涵盖了参数设定、主循环逻辑、占空比计算等方面的内容。此外,作者分享了在仿真过程中遇到的问题及解决方案,如参数整定、硬件细节处理等,并通过仿真波形对比验证了该控制策略的有效性。 适合人群:从事电力电子领域研究的技术人员、研究生及以上学历的学生,尤其是对DAB变换器及峰值电流前馈控制策略感兴趣的读者。 使用场景及目标:适用于希望深入了解DAB变换器工作原理及其先进控制策略的研究人员和技术开发者。目标是掌握如何利用PLECS和MATLAB进行复杂电力电子系统的仿真和优化,提高变换器的动态响应速度和稳定性。 其他说明:文章不仅提供了详细的理论解释和技术实现路径,还分享了许多实用经验和技巧,有助于读者更好地理解和应用所学知识。