小编luc*_*uca的帖子

将每个SQL查询记录到Rails中的数据库

我想保存一些SQL查询rails执行的日志文件(即CREATE,UPDATE和DELETE),因此我需要拦截所有查询,然后使用一些regexp过滤它们并根据需要记录它们.

我会把这样的东西放在rails代码中?

ruby sql logging ruby-on-rails

13
推荐指数
2
解决办法
8860
查看次数

"将水从一组瓶子转移到另一瓶子"的算法(比喻说)

好的,我有一个问题.我有一套各种尺寸的瓶装"A",里面装满了水.然后我又拿了另一套各种尺寸的瓶子"B",都是空的.

我想将水从A转移到B,知道每组的总容量是相同的.(即:组A含有与组B相同的水量).

这当然是微不足道的,只需拿B中的第一个瓶子,倒入A中的第一个瓶子直到它满了.然后,如果B中的瓶子中还有水,请继续使用A中的第二个瓶子等.

但是,我想尽量减少浇注总量(从瓶子倒入另一个瓶子的动作,每个动作计数1,与其涉及的水量无关)

我想找到一个贪婪的算法来做到这一点,或者如果不可能,至少是一个有效的算法.然而,效率是算法正确性的次要因素(我不想要一个次优的解决方案).

当然,这个问题只是计算机程序中管理个人开支的真正问题的隐喻.

algorithm computer-science greedy

11
推荐指数
1
解决办法
1978
查看次数

AppEngine上的SignedJwtAssertionCredentials无法识别PEM密钥

关于appengine的SignedJwtAssertionCredentials(使用pycrypto 2.6)不支持PKCS12格式,因此我正在尝试使用PEM密钥,正如所建议的那样.

这是我的代码:

  f = file(os.path.join(os.path.dirname(__file__), KEY_FILE), "r")
  key = f.read()
  f.close()

  credentials = SignedJwtAssertionCredentials(SERVICE_ACCOUNT_EMAIL, key,
      scope="https://www.googleapis.com/auth/drive"
  http = httplib2.Http()
  http = credentials.authorize(http)
Run Code Online (Sandbox Code Playgroud)

并且KEY_FILE是一个PEM键,使用以下命令转换:

openssl pkcs12 -in privatekey.p12 -nodes -nocerts > privatekey.pem
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误,好像它没有认识到这是一个PEM密钥:

NotImplementedError: PKCS12 format is not supported by the PyCrpto library. 
Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -nodes -nocerts > privatekey.pem) or using PyOpenSSL if native code is an option.
Run Code Online (Sandbox Code Playgroud)

如果我只将文件名传递给构造函数(不读取文件的内容),则会出现同样的错误

任何的想法?

google-app-engine openssl pkcs#12 pem pycrypto

10
推荐指数
2
解决办法
4586
查看次数

AngularJS中未设置XSRF标头

我正在开发一个DJANGO + AngularJS应用程序,其中角度部分不是由django服务的.

我将角度设置$httpProvider如下:

myApp = angular.module('myApp', [])

myApp.config(['$httpProvider',
  function(provider){
    provider.defaults.xsrfCookieName = 'csrftoken';
    provider.defaults.xsrfHeaderName = 'X-CSRFToken';
}
Run Code Online (Sandbox Code Playgroud)

然后,在做任何POST之前,我做一个设置cookie的GET.我可以通过Chrome确认已设置Cookie:

set-cookie:csrftoken=hg88ZZFEdLPnwDdN1eiNquA8YzTySdQO; expires=Tue, 19-Aug-2014 12:26:35 GMT; Max-Age=31449600; Path=/
Run Code Online (Sandbox Code Playgroud)

(它在Chrome开发人员工具的资源/ cookies/localhost中可见)

但是,当我执行POST时,没有X-CSRFToken设置标头

这是Chrome记录的POST:

POST /data/activities/search HTTP/1.1
Host: localhost:14080
Connection: keep-alive
Content-Length: 2
Accept: application/json, text/plain, */*
Origin: http://localhost:14080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
Content-Type: application/json;charset=UTF-8
Referer: http://localhost:14080/public/html/main.html?codekitCB=398694184.799418
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: csrftoken=hg88ZZFEdLPnwDdN1eiNquA8YzTySdQO
Run Code Online (Sandbox Code Playgroud)

为什么没有设置标头?我还应该做些什么才能激活此功能?

(旁注:如果我在$ http()调用中手动传递标头,则POST请求正常工作..因此问题实际上是AngularJS未设置的标头)

django csrf http-headers angularjs

9
推荐指数
2
解决办法
1万
查看次数

Flex选项卡导航器:初始化隐藏的选项卡

我的问题:我有一个标签导航器,每个标签中都有许多表格.但我有一个全局保存按钮.问题是,如果我不打开Tab,它就不会被初始化,因此它包含的表单不存在..

如何让用户点击每个标签?

apache-flex tabs flex3

8
推荐指数
1
解决办法
2889
查看次数

从java到javascript:对象模型

我正在尝试将我在java中编写的应用程序移植到javascript(实际上使用coffeescript).

现在,我感到迷茫......你有什么建议来创建类属性?我应该使用getter/setter吗?我不喜欢这样做:

myObj.prop = "hello"
Run Code Online (Sandbox Code Playgroud)

因为我可以使用非现有的属性,很容易误解一些东西..

我怎样才能使javascript更像java,具有私有,公共最终属性等...?有什么建议吗?

javascript java coffeescript

8
推荐指数
1
解决办法
1555
查看次数

以编程方式添加属性执行ActionScript对象(元编程)

我有一个AS3对象:{p1:"..",p2:".."}我想创建另一个对象,该对象包含一个属性的第一个对象,该属性的名称由变量定义:

var propertyName:String = "myName";
var myObj = new Object();
myObj.something_that_creates_a_property_named_as_propertyName({p1:"..", p2:".."})
Run Code Online (Sandbox Code Playgroud)

它有意义吗?

dynamic-languages actionscript-3

6
推荐指数
1
解决办法
7172
查看次数

OSX Quartz事件点击:事件类型以及如何编辑事件

这是我的代码:

#import <ApplicationServices/ApplicationServices.h>

CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type,  CGEventRef event, void *refcon) {
 printf("%u\n", (uint32_t)type);
 return event; 
}

int main (int argc, const char * argv[]) {
 CFMachPortRef eventTap;  
 CFRunLoopSourceRef runLoopSource; 

 eventTap = CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap, 0, kCGEventMaskForAllEvents, myCGEventCallback, NULL);
 runLoopSource = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, eventTap, 0);
 CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource, kCFRunLoopCommonModes);
 CGEventTapEnable(eventTap, true);
 CFRunLoopRun();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

首先......如果我想编辑活动怎么办?例如,我监听keyDown事件,如果它是"a",我将其转换为"b",或者实时编辑鼠标位置,或者例如简单地捕获事件并使其无效(禁用特定的事件)关键的例子..)

第二.. CGEventType是用枚举来定义的,它只列出了几种类型..例如,当我点击CMD时,我得到一个12,但是这与枚举中指定的值不匹配.我错过了什么?

macos events window-managers quartz-graphics

6
推荐指数
1
解决办法
4158
查看次数

java测试:加快测试超时的时间?

我有一个应用程序管理游戏中的转弯,它相当复杂,它有很多计时器产生超时...因为它们很多互操作,所以很难确定一切正常(并保持正常工作).

我想测试它,但某些超时是几分钟,完全测试它需要至少一个小时!

有没有办法伪造计时器的加速时间?或者我应该按比例缩小所有超时,测试它们,然后每次再缩放它们?

谢谢!

java testing junit junit4

6
推荐指数
1
解决办法
873
查看次数

在BorderLayout.CENTER中设置JPanel的最大大小

我在BorderLayout.CENTER中有一个JPanel

JPanel有一个网格布局,我希望它以CENTER的宽度扩展,但是高度必须停在最大值并尽可能使用preferredSize.

我有这个代码

JPanel wrapperCenterPanel = new JPanel(new FlowLayout());
wrapperCenterPanel.add(centerPanel);    
panel.add(wrapperCenterPanel, BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)

centerPanel是我的面板(使用GridLayout),我用FlowLayout面板包装它,并将最后一个放在CENTER中.

现在尺寸是首选,但它是固定的!如果需要,高度不会收缩,宽度也不会收缩.

我怎样才能做到这一点?

java swing

6
推荐指数
1
解决办法
2万
查看次数