小编Nic*_*son的帖子

编写特定于域的语言,用于从表中选择行

我正在写一个服务器,我希望由许多不同的人经营,而不是我将直接联系的所有人.服务器将在群集中相互通信.服务器功能的一部分涉及从可能非常大的表中选择一小部分行.选择哪些行的确切选择将需要一些调整,并且重要的是运行集群的人(例如,我自己)可以更新选择标准而不让每个服务器管理员部署新版本的服务器.

简单地用Python编写函数实际上并不是一个选项,因为没有人会想要安装一个在运行时下载并执行任意Python代码的服务器.

我需要的是关于实现域特定语言以实现此目标的最简单方法的建议.该语言需要能够进行简单的表达式评估,以及查询表索引和迭代返回的行.易于编写和阅读语言是易于实现的第二步.我也不想编写整个查询优化器,所以明确指定要查询的索引是理想的.

必须编译的接口与App Engine数据存储区导出的功能类似:您可以查询表上任何索引的顺序范围(例如,小于,大于,范围和相等的查询) ,然后通过任何布尔表达式过滤返回的行.您还可以将多个独立的结果集连接在一起.

我意识到这个问题听起来很像我要求SQL.但是,我不想要求支持此数据的数据存储区是关系数据库,并且我不希望尝试自己重新实现SQL的开销.我也只处理一个具有已知模式的表.最后,不需要加入.更简单的东西更可取.

编辑:扩展描述以消除一些误解.

python database algorithm dsl

5
推荐指数
1
解决办法
2451
查看次数

如何在AppEngine上动态创建图像

我在AppEngine上用Java托管了一个应用程序,我想添加一个功能,用户可以在其中获得数据的图形摘要.AppEngine不支持BufferedImage.显示过程很简单 - 一系列两种颜色之一的小方块.

问候,

肯特

java google-app-engine image

5
推荐指数
1
解决办法
2381
查看次数

部署社交游戏的多个分支的想法

我正在努力解决以下问题:我们是一个正在Facebook上开发实验性社交游戏的团队.我们的团队分散在世界各地,很多时候我们希望有一个自动机制来在提交后直接部署功能分支.

我想这类似于CI解决方案,但更重.对于out case(我们正在使用git),我们希望开发人员能够"自动"将他们的功能部门部署到facebook,以便围绕最新的开发进行以skype为中心的讨论.

我们的前端是Flash,我们的后端是Google App Engine.我们的CDN是Amazon S3.

有任何想法吗?

〜谢谢.

git flash version-control continuous-integration actionscript-3

5
推荐指数
1
解决办法
100
查看次数

如何向Google App Engine添加自定义日志处理程序?

我正在尝试向我的Java应用程序添加自定义日志处理程序.我已经实现了一个扩展java.util.Logging.Handler类的InnerLogger类.在我的logging.properties中声明为处理程序:

handlers:com.mycompany.util.InnerLogger
Run Code Online (Sandbox Code Playgroud)

但是当我启动开发服务器时,我收到以下错误:

Can't load log handler "com.mycompany.util.InnerLogger"
java.lang.ClassNotFoundException: com.mycompany.util.InnerLogger
Run Code Online (Sandbox Code Playgroud)

我可以将自定义处理程序逐个添加到记录器中,但我只是想知道是否有办法将其添加到所有记录器中.

谢谢

java google-app-engine java.util.logging

5
推荐指数
1
解决办法
998
查看次数

JITed LLVM 代码如何回调到 Go 函数?

我正在编写代码以使用LLVM Go 绑定从自定义 VM 字节码生成 LLVM 字节码;然后代码被即时编译并在进程中执行。

自定义VM字节码有几个不能直接在LLVM中实现的操作,因为它们需要改变外部状态;这些操作码的功能是作为 Go 函数实现的。

有一些关于如何开始从 Go 生成 LLVM 字节码的优秀指南,但没有一个指南解决回调或导出函数的问题。是否可以生成 LLVM 指令来回调 Go 函数?如果是这样,怎么办?

我已经尝试过@arrowd 下面描述的方法,但它似乎不起作用。源代码,改编自 Felix Angell 的博文:

package main

import (
    "C"
    "fmt"
    "llvm.org/llvm/final/bindings/go/llvm"
)

// export AddInts
func AddInts(arg1, arg2 int) int {
    return arg1 + arg2;
}

func main() {
    // setup our builder and module
    builder := llvm.NewBuilder()
    mod := llvm.NewModule("my_module")

    // create our function prologue
    main := llvm.FunctionType(llvm.Int32Type(), []llvm.Type{}, false)
    llvm.AddFunction(mod, "main", main)
    block := …
Run Code Online (Sandbox Code Playgroud)

jit llvm go

5
推荐指数
1
解决办法
878
查看次数

如果减少一个边缘权重,则更新最短路径距离矩阵

我们给了一个加权图G及其最短路径距离的矩阵增量。因此,delta(i,j)表示从i到j的最短路径的权重(i和j是图的两个顶点)。最初会给出包含最短路径值的增量。边缘E的权重突然从W​​减小到W'。如何更新O(n ^ 2)中的delta(i,j)?(n =图的顶点数)问题不是再次计算具有最佳O(n ^ 3)复杂度的全对最短路径。问题是UPDATING增量,因此我们无需重新计算全对最短路径。

更明确:我们所拥有的只是一个图形及其delta矩阵。增量矩阵仅包含最短路径的值。现在我们要根据图形的变化来更新增量矩阵:减少边缘权重。如何在O(n ^ 2)中更新它?

algorithm graph-theory path-finding shortest-path

4
推荐指数
2
解决办法
3096
查看次数

我的密码解密课程的安全性如何?

我是任何解密的完全初学者.我写了一篇我认为应该非常安全的课程.你能否给我建设性的批评,我怎么能改进算法呢?

package main;

import java.util.Random;

public class Main {

   public static void main(String[] args) {
      //we will be playing around with this string
      new Main("1234567890abc");
   }

   private Random rnd;
   private byte[] randoms;

   /**
    * Starts up RNG
    * Prints out a test
    */
   public Main(String password) {
      //random long generated from the password
      long randomLong = randomNumber(password);
      //Random class using randomLong as seed
      rnd = new Random(randomLong);
      randoms = new byte[password.length()];
      //Array of random bytes generated with rnd
      rnd.nextBytes(randoms);

      System.out.println(randomNumber(password)); …
Run Code Online (Sandbox Code Playgroud)

encryption cryptography password-protection

4
推荐指数
2
解决办法
425
查看次数

使python导入更有条理?

代码工作,但看起来凌乱所以这可能是在那里我没有研究蟒蛇公约不够了解如何构建和整理我的文件更Python的开头代码审查的问题.我基本上只是粘贴在进口中,所以它们可能是重复的,不再需要或错误订购.你能告诉我如何构建我的导入的任何东西,或者我可以留下这样的代码来专注于我自己的功能吗?

档案1:

from __future__ import with_statement
import logging
import os
from google.appengine.api.users import is_current_user_admin, UserNotFoundError
import time
import cgi
import geo.geotypes
import main
import captcha
from google.appengine import api
from google.appengine.runtime import DeadlineExceededError
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.blobstore import BlobInfo
from google.appengine.ext.db import djangoforms
from django import forms
from django.core.exceptions import ValidationError
from django.utils import translation
from datetime import datetime, timedelta
os.environ['DJANGO_SETTINGS_MODULE'] = 'conf.settings'
from django.conf import settings
from django.template import RequestContext
from util import I18NHandler
import util
from …
Run Code Online (Sandbox Code Playgroud)

python import

4
推荐指数
4
解决办法
5468
查看次数

摘要式身份验证如何防止重放攻击?

我在stackoverflow上发现了许多关于摘要式身份验证的问题.我找不到摘要验证如何防止重放攻击?我使用fiddler工具拦截对服务器的http请求.我使用相同的工具将请求重播到服务器,但服务器要求进行身份验证.

我需要准确理解如何实现防止重放攻击.服务器如何检测http请求的任何重播?

任何链接/资源将不胜感激.

security cryptography http digest digest-authentication

3
推荐指数
1
解决办法
2147
查看次数

为什么我的结构代码不起作用?

package app

type ConfigSet struct {
    installed bool
}

import (
    "fmt"
    "html/template"
    "net/http"
)

func init() {
    config := ConfigSet{}

    // -------------------------------------- //
    //             CONFIGURATION              //
    // -------------------------------------- //

    // Change to "true" after configuration is done!
    config.installed = false

    // -------------------------------------- //
    //           END CONFIGURATION            //
    // -------------------------------------- //

    http.HandleFunc("/", index)
    http.HandleFunc("/index.php", index)
}

func index(w http.ResponseWriter, r *http.Request) {
    if config.installed == false {
        w.Header().Set("Location", "/install/")
        return
    }
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚为什么这不起作用.我得到的错误是:

2012/05/21 13:22:01 go-app-builder: Failed parsing input (1 …
Run Code Online (Sandbox Code Playgroud)

struct go

3
推荐指数
1
解决办法
166
查看次数