在编写新的javascript重型网站时,您编写了哪些订单或网络浏览器?
我可以看到这些可能的订单,但我不确定我最喜欢哪个:
你们都做了什么?
编辑1:在这里回答几个答案:@JQuery用法:出于某种原因,我并没有期待这种回应,但是,现在这似乎是压倒性的接受答案,我想我应该告诉大家一个关于我的应用程序细节的更多信息.这实际上是我开始提出另一个问题的DynWeb,而且正在开发中,很多重要的代码似乎要求我使用document.whatever()而不是我能找到的任何JQuery或Prototype函数.具体来说,当动态导入更改CSS时,我必须使用类似于:
var cssid = document.all ? 'rules' : 'cssRules'; //found this to take care of IE and Firefox
document.styleSheets[sheetIndex][cssid][cssRule].style[element] = value;
Run Code Online (Sandbox Code Playgroud)
我希望将来我不得不继续使用JQuery或Prototype目前不支持的这种原始编码.因此,虽然我通常会接受JQuery作为答案,但我不能因为它不是这个特定webapp的解决方案.
@Wedge和bigmattyh:由于webapp应该构建其他webapps,部分标准是它所构建的任何东西在我支持的任何浏览器中看起来和功能都相同(现在我正在考虑Firefox和IE7/8 atm,也许更多以后).因此,这是一个更有趣(也更复杂)的问题; 您是否有任何针对特定故障区域(css实体,特定javascript陷阱和差异等)的网站,参考或见解以及如何避免它们?我几乎可以肯定,我将不得不拥有某种isIE变量,只是根据它执行不同的操作,但我想尽可能地避免它.
感谢您的投入到目前为止!我将在今天剩下的时间里保持开放状态,看看其他人可能会说些什么,并会在今晚的某个时候接受答复.
我一直在尝试在Clojure中编译一个非常简单的test.clj而没有任何成功.我在Clojure谷歌集团有一个主题,有几个回复,但没有任何帮助.为了快速总结,这是我的clojure文件:
(ns test.test
(:gen-class))
(defn -main
[gre]
(println (str "Hello " gre)))
Run Code Online (Sandbox Code Playgroud)
基本上它是Clojure文档中提供的示例文件.
我已经适当地放置了这个文件clojure/src/test/test.clj,并且应该能够编译(compile 'test.test),但我不断收到错误:
java.io.IOException: The system cannot find the path specified (test.clj:1)这让我相信这是一个类路问题.我尝试使用Clojure 文档中给出的所有标准命令运行Clojure 以及该线程的最新建议
java -classpath .;src;classes;clojure.jar clojure.main.
如果它有帮助,我的文件系统看起来像这样:
-+-clojure
+-classes/
+-+-src/
| |-+-test/
| | \-test.clj
+-\-test.clj
+-test.clj
+-clojure.jar
Run Code Online (Sandbox Code Playgroud)
PS我在Vista Ultimate上运行,所以它可能是一个权限问题,但我检查了权限,但发现它们没有任何问题.
我正在开发一个目前需要评论系统的网站.由于这个网站是全新的,并且数据库结构还没有一成不变,我想就如何最好地处理评论系统提出一些建议,例如:
我知道仅此一点并不多,所以这里有一个想法:每个大学都有大学,每个学院都有建筑物,每个大楼都有房间.每个用户都应该能够评论这四个项目中的任何一个(以及我们稍后可能添加的未来),但我想避免为每个项目制作一个评论表.
我提出的这个解决方案似乎有效,但我也对其他想法持开放态度.我的解决方案是使用UUID作为每个项目(大学,学院,建筑,房间)表的主键,然后在注释表中将引用ID设为UUID.虽然我不认为我可以建立一个外键系统来链接所有内容,但我相信没有什么会破坏,因为只有可用的项目可能有注释,因此一个项目可以没有注释,或者如果它被删除,那么评论根本不会被退回.
University:
UniversityID - CHAR(36) //UUID() & primary key
...
Comments:
CommentID - CHAR(36) //UUID() & primary key
CommentItemID - CHAR(36) //UUID of item & indexed
CommentUserID - INTEGER
CommentBody - TEXT
Run Code Online (Sandbox Code Playgroud)
然后查询将显示为:
SELECT * FROM University, Comments WHERE UniversityID = CommentItemID;
Run Code Online (Sandbox Code Playgroud)
所以你们都在想什么?这个系统规模是否会包含大量数据,或者是否有更好的(可能是最佳实践或模式)方式?
我提前谢谢你.
编辑1: 我已将注释定义更改为包含主键和索引列,以解决迄今为止引发的问题.通过这种方式,系统也可以对注释进行评论(不确定这在实际代码中会有多么混乱,但它对我来说有一定的数学完整性).我希望系统尽可能保持相似,直到我接受了答案.
到目前为止,Sebastian Good和Bryan M.的两个答案都提出了两个整数的双主键,如ItemID和TableID.我对这种方法的唯一犹豫是,我要么必须有一个新表列出TableID及其相应的字符串表名,要么将全局变量引入我引用它们的代码中.除非我缺少另一种方法,否则这似乎是额外的代码,可以避免给我.
你们都觉得怎么样?
AJAX实际上意味着异步Javascript和XML.这个术语的衍生是因为(据我所知),第一批启动此过程的人员通过XML将数据从服务器传输到客户端.最近(自从我开始实际使用它以来),JSON已经存在并且似乎是XML的真正替代品.从我(可能是微薄的)测试和经验来看,JSON更小,更容易,更好地传输数据.
所以我的问题是:你用它来与服务器/客户端进行通信(也可能是为什么)?或者,您听说过的"最佳实践"(以及为什么)?
谢谢大家!
我一直试图让这段代码工作几个小时!我需要做的就是打开一个文件,看看它是否真实可读.我是C的新手,所以我确信我有一些愚蠢的东西.这是代码(简写,但复制):
#include <stdio.h>
main() {
char fpath[200];
char file = "/test/file.this";
sprintf(fpath,"~cs4352/projects/proj0%s",file);
FILE *fp = fopen(fpath,"r");
if(fp==NULL) {
printf("There is no file on the server");
exit(1);
}
fclose(fp);
//do more stuff
}
Run Code Online (Sandbox Code Playgroud)
我还验证了该路径正确指定了我已读取权限的实际文件.还有其他想法吗?
编辑1:我知道fpath最终为"~cs4352/projects/proj0/test/file.this"
编辑2:我也尝试过使用绝对文件路径.在这两种情况下,我都可以通过ls验证路径是否正确构建.
编辑3:有errno2 ...我正在尝试跟踪谷歌的含义.
编辑4: 好的,errno2是"没有这样的文件或目录".当fopen中的参考路径是"/home/courses1/cs4352/projects/proj0/index.html"时,我得到了这个,我验证了它确实存在并且我已经阅读了它的权利.至于下面列出的C代码,可能会有一些语义/新手错误,但是gcc没有给我任何编译时警告,代码完全按照它应该工作,除了它说它继续吐出errno2.换句话说,我知道所有的strings/char数组都正常工作,但唯一可能是问题的是fopen()调用.
解决方案: 好的,access()过程对我的帮助最大(我还在使用它,因为代码更少,更不用说更优雅的方式了).这个问题实际上来自于我没有向你解释的事情(因为直到我使用access()才看到它).为了驱逐文件,我使用strtok()拆分字符串,只是拆分"\n",但因为这是一个UNIX系统,我还需要添加"\ r".一旦我修复了它,一切都落到了位置,我确信fopen()函数也能正常工作,但我还没有测试过.
谢谢大家的有用建议,尤其是Paul Beckingham找到这个美妙的解决方案.
干杯!
ajax ×1
c ×1
classpath ×1
clojure ×1
comments ×1
compilation ×1
definition ×1
file ×1
firefox ×1
java ×1
javascript ×1
json ×1
mysql ×1
solaris ×1
xml ×1