我的背景是在C中,我已经选择了PHP,mySQL,HTML,CSS而没有太多问题.
但我发现Javascript/jQuery难以正确使用.很沮丧.为什么?
它似乎违反了许多传统的编程原则(例如可变范围)
未定义的变量似乎无处不在,并且已经存在与它们相关联的值.例如(来自jQuery文档):
$("a").click(function(event) {
event.preventDefault();
$('<div/>')
.append('default ' + event.type + ' prevented')
.appendTo('#log');
});
Run Code Online (Sandbox Code Playgroud)
什么是"事件"?我必须使用此变量名称吗?我应该假设这个对象是用正确的东西神奇地实例化的,我可以使用JQuery API中的任何方法列表吗?
似乎有一堆随机规则(例如,返回false以停止默认操作,但有时这不起作用?)
调试时的非确定性行为.(例如,我刷新浏览器,尝试一些东西并获取结果X用于我在Firebug中观看的JS变量.我再次刷新,我得到结果Y?)
非常混乱的代码很难遵循.什么时候发生?我正在使用Firebug和Chrome开发者工具,但我没有获得足够的可见度.
似乎每天都有一些随机的JS"规则"出现在我的任何JS书籍或教程中我从未见过.
我需要做些什么才能使Javascript/jQuery对我更具确定性,控制性和逻辑性?
有没有资源可以解释Javascript的怪癖/陷阱?
谢谢!
我目前正在考虑升级中型到大型Java代码库中的日志记录机制.当前使用Debug类上的静态方法记录消息,我建议将其从此切换为SLF4J或commons-logging.
应用程序架构师更喜欢我将依赖性封装在SLF4J上(可能将其包装在前面提到的Debug类中).这样可以更容易地在将来更改日志记录实现.
这对我来说似乎有些过分,因为SLF4J已经在抽象具体的日志记录实现.
是否值得在另一个本土抽象中包装像SLF4J这样的第三方日志抽象?
我想创建一个表单,其中包含来自两个单独模型的字段,以及一些其他常规(非模型)字段.表单将创建每个模型的实例.我不认为我可以使用内联表单集,因为我不想包含两个模型的所有字段.
我想创建表单字段而不用硬编码模型字段的类型.
我知道我可以使用模型字段获取表单字段model_field.formfield().但是我如何获得特定的模型字段?
我的第一个解答:
def get_fields(model_class):
fields = {}
for f in model_class._meta.fields:
fields[f.name] = f
class MyForm(forms.Form):
foo_name = get_fields(Foo)['name'].formfield()
bar_name = get_fields(Bar)['name'].formfield()
other_field = ...
Run Code Online (Sandbox Code Playgroud)
有相同的get_fields已经?这是一个坏主意吗?依赖于model _meta属性我感到很不舒服.或者我是以完全错误的方式解决这个问题的?
我正在Eclipse中创建一个JSF/Facelets Web应用程序.我已经将我的项目配置为使用由Eclipse启动/停止的Tomcat(6.0)服务器.
每当我保存文件(例如.xhtml)时,Eclipse都会重新启动应用程序,从而破坏我的HTTP会话.这很烦人,因为我经常更新我的.xhtml文件,并且应用程序不需要重新启动来检测更改.
有没有办法阻止Eclipse重新启动应用程序?具体来说,我可以将Eclipse配置为仅在保存某种类型的文件时重新启动应用程序吗?
在我的AIR应用程序中,我想使用jQuery为HTML元素设置动画.当我在全局HTMLLoader中尝试动画时,没有问题.但是,在尝试为"辅助"HTMLLoader(即原始文档打开的元素)中的元素设置动画时,我遇到了问题.
动画不流畅 - 当我移动鼠标时它只是"步进".动画属性(例如top,left等)仍然更新 - 除非移动鼠标,否则它是不可见的.因此,如果我没有移动鼠标,动画就会完成,而不会看到开始和结束状态之间的任何转换.
动画的类型似乎并不重要.我已将代码简化为以下内容:
var loader;
$(function() {
loader = new air.HTMLLoader();
loader.addEventListener(air.Event.COMPLETE, start);
window.htmlLoader.stage.addChild(loader);
loader.load(new air.URLRequest('sandbox2.html'));
});
function start() {
loader.width = loader.window.document.width;
loader.height = loader.window.document.height;
$('.task', loader.window.document).click(function() {
$(this).animate({ backgroundColor: '#c00' }, 1000);
});
}
Run Code Online (Sandbox Code Playgroud)
我尝试将等效的HTML/JS加载到Firefox和Safari中,这很好.我正在运行Mac OS X 10.5.
有任何想法吗?谢谢!
我知道,这很无聊,但我需要一些帮助来理解Eratosthenes筛子的实施.这是编程Praxis问题的解决方案.
(define (primes n)
(let* ((max-index (quotient (- n 3) 2))
(v (make-vector (+ 1 max-index) #t)))
(let loop ((i 0) (ps '(2)))
(let ((p (+ i i 3)) (startj (+ (* 2 i i) (* 6 i) 3)))
(cond ((>= (* p p) n)
(let loop ((j i) (ps ps))
(cond ((> j max-index) (reverse ps))
((vector-ref v j)
(loop (+ j 1) (cons (+ j j 3) ps)))
(else (loop (+ j 1) ps)))))
((vector-ref v …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下正则表达式从文本中提取域名,但它只是产生什么,它有什么问题?我不知道这是否适合问这个"修复代码"问题,也许我应该阅读更多.我只想节省一些时间.谢谢
pat_url = re.compile(r'''
(?:https?://)*
(?:[\w]+[\-\w]+[.])*
(?P<domain>[\w\-]*[\w.](com|net)([.](cn|jp|us))*[/]*)
''')
print re.findall(pat_url,"http://www.google.com/abcde")
Run Code Online (Sandbox Code Playgroud)
我希望输出为google.com
在我的JSF/Facelets应用程序中,我想使用自定义标记从页面ID列表中动态生成痕迹痕迹:
<foo:breadcrumbs trail="foo,bar,baz"/>
Run Code Online (Sandbox Code Playgroud)
这应该产生如下:
<h:commandLink action="foo" ... />
<h:commandLink action="bar" ... />
<!-- (etc.) -->
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
<ui:repeat value="#{fn:split(trail, ',')}" var="key">
<h:commandLink action="#{key}" ... />
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
此代码的问题是#{key}被解释为方法绑定.但是,我只想将字符串值#{key}作为导航结果返回.我怎样才能做到这一点?
我唯一能想到的是创建一个具有outcome字段和动作处理程序的虚拟托管bean ,并像这样调用它:
<h:commandLink action="#{dummy.click}" ...>
<f:setPropertyActionListener target="#{dummy.outcome}" value="#{key}" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
使用如此定义的虚拟类:
public class Dummy {
private String outcome;
public String click() {
return outcome;
}
public void setOutcome(String outcome) {
this.outcome = outcome;
}
public void getOutcome() {
return outcome;
}
}
Run Code Online (Sandbox Code Playgroud)
这看起来很丑陋,我不知道它是否会起作用.
我是django的新手.我尝试练习并运行wiki应用程序(我在http://showmedo.com/videotutorials/video?name=1100000&fromSeriesID=110">学习django找到了教程),在url.py文件中我写了以下网址...
urlpatterns = patterns('',
(r'^wikicamp/(?p<page_name>[^/]+)/edit/$','wikiapp.wiki.views.edit_page'),
(r'^wikicamp/(?p<page_name>[^/]+)/save/$','wikiapp.wiki.views.save_page'),
(r'^wikicamp/(?p<page_name>[^/]+)/$','wikiapp.wiki.views.view_page'),
)
Run Code Online (Sandbox Code Playgroud)
但是我无法理解错误.
sre_Constants.error:Unexpected end of pattern.
(r'^wikicamp/(?p<page_name>[^/]+)/$','wikiapp.wiki.views.view_page'),
Run Code Online (Sandbox Code Playgroud)
我使用Django-1.0.2-final.tar.gz
django ×2
facelets ×2
java ×2
jquery ×2
jsf ×2
python ×2
air ×1
algorithm ×1
bittorrent ×1
breadcrumbs ×1
css ×1
django-forms ×1
dns ×1
eclipse ×1
hash ×1
html ×1
javascript ×1
logging ×1
navigation ×1
puzzle ×1
regex ×1
scheme ×1
slf4j ×1
url ×1