与所有开发一样,通过ColdFusion,Railo或OpenBD的 CFML 我们遇到了常见的编程问题.对于这些问题,程序员必须转向模式(或反模式).然而,像GOF和现代头版第一本书这样的经典资源都倾向于关注Java.
虽然java本身很漂亮,但是所有三个cfml引擎本质上都是java应用程序,它们表示在编写cfml时,并不是所有甚至许多设计模式都可以或者应该以java方式使用.
我想知道在使用cfml时你发现哪些资源/模式有用?或者您更改了适应java或smalltalk模式以在cfml中使用的内容?
就个人而言,我发现这两个演示文稿都很有趣:
CFMeetup:设计模式和ColdFusion作者:Sean Corfield
和
更新:
偶然发现cfdesignpatterns.com,看起来很有希望.
我正在使用自定义SMTP服务器,并希望在用户输入自己的服务器凭据时验证连接.
与添加邮件服务器时Adobe CF和Railo允许的检查完全相同.
当然,这并不能保证交付工作正常,但至少要检查输入的服务器/用户名/通行证是否有效.
我可以看到一个棘手的方法:尝试使用cfmail发送电子邮件并检查邮件日志.但我相信它可以更优雅地完成.
是否有标准ACF/Railo发行版的Java库可以帮助我?我该如何使用它们?例子受到高度赞赏.
提前致谢.
编辑:
请不要与Java标签混淆.CFML需要解决方案.虽然它可以使用一些Java库,但如果适用的话.
我正在开发一个应用程序,它创建并存储与应用程序范围中的本地XMPP服务器的连接.连接方法存储在cfc中,以确保Application.XMPPConnection在每次使用时都已连接并授权,并利用连接向用户发送实时事件.据我所知,这工作正常.但它没有在任何压力下进行测试.
我的问题是:这个设置会在以后引起问题吗?我只是问,因为我找不到其他人以这种方式使用Application变量的证据.如果我不使用railo,我将使用CF的事件网关来完成相同的任务.
我正在开发一个需要搜索表单上的自动填充字段的应用程序.该应用程序是Railo 3.3上的CFML.我正在使用jQuery UI自动完成,并在服务器端实现了这样的查找:
private struct function getStationDetails(required numeric uic)
{
var qryCacheStations = new query();
var qryStations = new query();
var cacheData = "";
var resultData = "";
var stcResult = {};
qryCacheStations.setDatasource(variables.instance['dataSource']);
qryCacheStations.setSQL("select distinct uic, name, crs from stations order by name");
qryCacheStations.setCachedwithin(createTimeSpan(1,0,0,0));
cacheData = qryCacheStations.execute().getResult();
qryStations.setDBType("query");
qryStations.setAttributes(srcTbl = cacheData);
qryStations.setSQL("select name, crs from srcTbl where uic = :uic");
qryStations.addParam(name="uic",value=arguments.uic,CFSQLType="CF_SQL_INTEGER");
resultData = qryStations.execute().getResult();
stcResult = {
name = resultData['name'][1],
crs = resultData['crs'][1]
}
return stcResult;
}
Run Code Online (Sandbox Code Playgroud)
基本上我在第一次查找时将整个站列表加载到缓存中,1天到期(数据很少更改),然后使用查询查询将相关结果返回给客户端.
我的问题只是这个; 这种激进的缓存和QoQs技术是一个很好的模式吗?性能似乎很好,内存占用很合理(数据集非常小),所以它"感觉"还可以,但我正在寻找那些之前尝试过这些并发现问题的人的建议吗? …
好的,所以它不是一个巨大的担忧,因为它只有少数浏览器支持:
然而,预取让我抽搐.如果用户登陆您的页面并退回到另一个站点,您是否支付了他们访问预取链接的带宽?
是否存在开发人员预取页面上的每个链接的风险,这反过来会使网站对用户的体验变慢?
看起来它可以改变分析.人们会通过预取强制页面浏览到用户吗?
安全性,您不会知道正在预取的页面.它可以预取恶意文件吗?
对于使用有限的移动用户来说,所有这些预取是否会让人痛苦?
我是bootstrap的新手.我正面临一个问题,我无法弄清楚原因.如果我动态加载内容,collapse则无效.它不会in像在http://twitter.github.com/bootstrap/javascript.html#collapse中那样在悬停时添加类,但如果html从dom复制并添加为静态元素,则该方法正在运行.我ajax用来加载内容和complete初始化事件的函数.知道为什么内容不会随着悬停而扩展ajax.
我有一个全屏谷歌地图应用程序,顶部有一个导航栏.
所以我有这样的设置:
<div class="navbar">
<nav bar stuff......>
</div>
<div id="mapcanvas"></div>
Run Code Online (Sandbox Code Playgroud)
使用具有高度和宽度的mapcanvas元素为100%.
但是,mapcanvas似乎溢出页面,整个页面可以向下滚动页面的导航栏数量.
我该如何解决这个问题?
我在javascript中手动显示一个弹出框,但为了增加强调,我想使它模态,即禁用后台功能和淡入淡出.是否可以选择执行此操作或如何手动执行此操作?
我知道它是混合设计隐喻,但它将是有用的功能,我看不到重新设置模式以适应相对定位很容易.
我想在将其推送到分段和生产之前,在我的本地机器上测试https相关的开发.
目前的网址是:http://localhost:8500/mysite/index.cfm工作正常
如果我尝试将其修改为https,则页面只会加载并加载并且没有任何反应(在chrome中它会显示"此网页不可用"页面)
我搜索了与此相关的信息,但没有发现任何有用的信息.我发现的唯一信息与旧版本的CF有关.从那以后我创建了一个my.keystore文件,但我不知道在CF9中如何处理它.
如果可以提供任何可以帮助我设置/使其工作和测试的信息,我将非常感激.谢谢
当我到达一个headscratcher时,我正在维护一些旧代码.我对这个正则表达式模式感到困惑:( /^.*$/作为参数提供textFieldValidation(this,'true',/^.*$/,'','').
我把这个正则表达式解释为:
所以...我认为这种模式匹配所有东西,这意味着该功能除了浪费处理周期之外什么都不做.我对么?
cfml ×5
coldfusion ×4
railo ×4
javascript ×2
ajax ×1
autocomplete ×1
cfwheels ×1
coldfusion-9 ×1
collapse ×1
css ×1
google-maps ×1
html ×1
html5 ×1
https ×1
java ×1
jquery ×1
jquery-ui ×1
modal-dialog ×1
openbd ×1
popover ×1
prefetch ×1
regex ×1
smtp ×1
ssl ×1