我一直在阅读Bruce Eckel的Thinking In Java和关于泛型的章节,他简要地提到Nice编程语言比Java更好地处理参数化类型,但编译成Java字节码.
有人对这个有经验么?仿制药让我头疼,因此与Java互操作的替代品的前景是吸引人的...但我觉得这就像尝试学习法语和魁北克一样,并且如果我把它们混淆在一起就会大吼大叫错误的背景.(没有冒犯意味着所以请不要因为不是PC而骂我)并且想出"Nice"这个名字的人应该被枪杀,因为这样就无法搜索除sourceforge之外的任何网站.
显然,我刚刚开始接触 Grails。我已经创建了我的域类和控制器,将我自己的逻辑添加到控制器中,并且一切正常 - 只要没有出现问题。
我的自定义控制器操作如下所示:
def create = {
try
{
// Get the parameters.
def uid=params["uid"]
def pwd=params["pwd"]
if (!uid || !pwd)
{
throw new Exception('User ID and password are required')
}
/* other code */
}
catch (Exception ex)
{
println ex.getMessage()
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码(/* other code */)运行良好。然而,当抛出异常时,错误消息将打印到控制台,并且浏览器会抛出 404 错误。显然,这不是要走的路。
这样做的正确方法是什么?
TIA,
约翰
我的Java代码中出现了多次以下模式,并且想知道你们中的一些人是如何重构它的.
Object obj1 = buildObj1();
if (obj1 != null) {
return obj1;
}
Object obj2 = buildObj2();
if (obj2 != null) {
return obj2;
}
Object obj3 = buildObj3();
if (obj3 != null) {
return obj3;
}
Run Code Online (Sandbox Code Playgroud) 我编写了一些小程序来帮助我解析/分析数据.
我想在我的grails应用程序中使用这些程序.
关于我到目前为止的研究,它是可能的,但我没有看到我必须放置我的Java代码才能使它运行.有没有可用的例子?
我正在尝试使用一系列顶点创建一个立方体,例如在这个例子中尝试的(我认为这是错误的)并且也在这个论坛上讨论过。我正在寻找的答案应该是这样的:
1, 1, -1
-1, -1, -1,
1, 1, 1
Run Code Online (Sandbox Code Playgroud)
... 等等。我希望将其减少到最少 13 个顶点(6 面立方体 = 12 个三角形)。
这可能吗?
我有一个任务,为1台服务器和3台客户开发一个信使.我遇到时间同步问题:我必须将服务器时间与互联网同步,然后同步客户端.我怎么能做到这一点?
我正在构建一个非常长的字符串(~1G)的字典,其中key是固定长度的k-mer,值是所有出现位置.当k很大(> 9)时,预先构建k-mer字典是没有意义的,因为并非所有值都会发生并且它会使表膨胀.
目前我正在做这样的任务:
def hash_string(st, mersize):
stsize = len(st)
hash = {}
r = stsize-mersize+1
for i in range(0, r):
mer = st[i:i+mersize]
if mer in hash:
hash[mer].append(i)
else:
hash[mer] = [i]
return hash
# test for function hash_st above
mer3 = hash_string("ABCDABBBBBAAACCCCABCDDDD", 3)
Run Code Online (Sandbox Code Playgroud)
最耗时的步骤(我做过cProfile)是查找遇到的键(当我们沿着字符串移动时),是新键还是已经存在.最快的方法是什么?
(我目前正在测试一个避免这一步骤的两遍策略(这对于大型序列来说要快得多),我首先通过简单地覆盖双打来构建密钥列表.然后我不必检查对于密钥存在 - 我用这些密钥种下我的字典,然后在第二遍时,只要在我遇到它们时附加.)
但是我仍然有兴趣知道,总结一下,在Python中查找dict键的最快方法,因为这是一个常见的模式:
如果key存在,则追加新条目,否则,创建密钥并添加第一个元素.
这种模式的最快实现是什么?
我在我的程序中使用下面的代码,但似乎这几行代码花费了太多时间来执行.对于100次迭代,它消耗大约1分钟.对于200多次迭代,我的broser正在显示一条警告消息,脚本占用了太多时间.根据场景,可以将500+个ID推入阵列.
for (var i = 0; i < arrid.length; i++)
{
$("#" + outerDiv + "> div[id=" + arr[i] + "]").attr("class", "selected");
}
Run Code Online (Sandbox Code Playgroud)
arrid是一个div div数组.Outerdiv是所有这些div id中的父div arrid.arr ids不能直接访问,必须使用父div引用,即outerDiv.
我正在为学校工作开发Grails应用程序.通常,这是在本地计算机上运行的任何服务器的URL:
http://localhost:8080/ProjectName
Run Code Online (Sandbox Code Playgroud)
在我用我的Grails项目运行tomcat服务器后,我去了那个位置,我可以访问该网站.但是,据我所知,我的局域网中的每个人都应该能够从相同的URL(http://localhost:8080/ProjectName)加载网站.由于我通过路由器在同一个局域网上有两台计算机,我试图访问我的网站,它似乎没有工作.如何从另一台计算机访问该应用程序?如果可能的话,建议一个我可以阅读的网站,并了解有关此事的内容,因为我对服务器缺乏了解是如此引人注目.
我在我的应用程序中运行了以下Quartz作业:
class ScraperJob {
def scraperService
static triggers = {
cron name: 'scraperTrigger', cronExpression: "0 0 * * * ?" // run every minute
}
def execute(){
try {
scraperService.storing()
log.info "${new Date()} - Scraping went smoothly."
}
catch(IOException) { // Connexion problem
log.error "${new Date()} - Method: parsing >> Connexion down or interrupted while parsing !"
}
catch(SAXException) { // Any SAXParser exception
log.error "${new Date()} - Method: parsing >> Parser error."
}
finally { // if not closed, …Run Code Online (Sandbox Code Playgroud) grails ×4
java ×4
append ×1
cron ×1
dictionary ×1
generics ×1
javascript ×1
jquery ×1
opengl ×1
performance ×1
python ×1
refactoring ×1
time ×1
vertices ×1