所以我定义了一个这样的模型:
class Model extends Zend_Db_Table_Abstract
{
$_primary = 'modelID';
/**
*
* @param mixed $primaryKey
* @return int
*/
public function delete($primaryKey)
{
$where = $this->getAdapter()->quoteInto($this->_primary.' = ?', $primaryKey);
return parent::delete($where);
}
}
Run Code Online (Sandbox Code Playgroud)
当调用delete方法时,我收到一个警告,告诉我$ this - > _ primary是一个数组.为什么?我已经为$ _primary属性分配了一个字符串值.
来自日志:
2012-02-05T17:41:03+00:00 INFO (6): Array
(
[1] => modelID
)
Run Code Online (Sandbox Code Playgroud) 所以,我有一个简单的类,我试图将来自终端 ffmpeg 命令的字符串响应保存到对象属性中:
import os
import subprocess
class Movie(object):
absolute_path = None
movie_info = None
def __init__(self, path):
self.absolute_path = "%s/%s" % (os.getcwd(), path)
if(os.path.exists(self.absolute_path) is False):
raise IOError("File does not exist")
def get_movie_info(self):
ffmpeg_command = "ffmpeg -i %s" % self.absolute_path
self.movie_info = subprocess.call(ffmpeg_command)
print self.movie_info
Run Code Online (Sandbox Code Playgroud)
当我然后在 cmd 中运行此命令时:
import os
import sys
sys.path.append(os.getcwd())
from Encode.Movie import Movie
try:
movie = Movie("tests/test_1.mpg")
movie.get_movie_info()
except IOError as e:
print e
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
richard@richard-desktop:~/projects/hello-python$ python main.py
Traceback (most recent call last):
File "main.py", …Run Code Online (Sandbox Code Playgroud) 我有一个名为plain.txt的文件.在文件里面我有:
Hello Hello Hello Hello
Run Code Online (Sandbox Code Playgroud)
我正在使用此命令加密它:
openssl enc -aes-128-cbc -salt -k "Hello" -in plain.txt -out encrypted.bin
Run Code Online (Sandbox Code Playgroud)
然后我打印加密值,如下所示:
buff = open("encrypted.bin")
cipher = buff.read()
buff.close()
print b64encode(cipher)
Run Code Online (Sandbox Code Playgroud)
但它始终是不同的价值.密码不应该总是一样吗?我使用相同的文件和相同的密码来加密它.这些是我的终端输出:
Richard-Knops-MacBook-Pro:python_test richardknop$ openssl enc -aes-128-cbc -salt -k "Hello" -in plain.txt -out encrypted.bin
Richard-Knops-MacBook-Pro:python_test richardknop$ python test.py U2FsdGVkX1+AmoQiIkYAxIYanLr/kbjMfEJPPLfeE/wtyxScvAKzb7K38ZxoI097
Richard-Knops-MacBook-Pro:python_test richardknop$ openssl enc -aes-128-cbc -salt -k "Hello" -in plain.txt -out encrypted.bin
Richard-Knops-MacBook-Pro:python_test richardknop$ python test.py U2FsdGVkX19vPD+OoiK7iSgYJiPMxuKGNWWrLlfBS0c3yCJkuv7QIBGEo2Q86UsV
Richard-Knops-MacBook-Pro:python_test richardknop$ openssl enc -aes-128-cbc -salt -k "Hello" -in plain.txt -out encrypted.bin
Richard-Knops-MacBook-Pro:python_test richardknop$ python test.py U2FsdGVkX1+3I8EC7u3lrcVPyD/JV12NAecWvTPXGga0Nh2cwqLAtGCDhLK6MI9g
Richard-Knops-MacBook-Pro:python_test richardknop$
Run Code Online (Sandbox Code Playgroud) 我有两个Windows盒子.一个是Jenkins构建服务器.第二个是部署框.
我已经安装了SSH并在部署Windows框中创建了一个用户.我可以从我的Ubuntu工作站ssh到它并运行我需要运行的命令.
但是我需要从Jenkins自动执行此操作.怎么做?基本上我需要自动化:
ssh richard@myserver
... enter password ...
cd C:/puppet && git pull
"/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin/puppet.bat" apply C:/puppet/manifests/site.pp
Run Code Online (Sandbox Code Playgroud)
而已.有没有办法从批处理文件中执行此操作,只需从Jenkins执行*.bat文件?
所以我有两个视图,我试图连接导航.
我将它们嵌入到导航控制器中,并在故事板中创建了它们之间的推送:

它是第一个控制器的viewDidLoad我在导航中添加了一个按钮,以及点击时应该调用的方法:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(buttonClicked:)];
self.navigationItem.rightBarButtonItem = myButton;
}
- (void)buttonClicked
{
NSLog(@"hello");
}
Run Code Online (Sandbox Code Playgroud)
它编译得很好,我可以在模拟器中运行它,但当我点击导航栏中的按钮,而不是记录"你好",我得到:

任何想法如何解决?我已经没想完了.我正在使用最新的XCode.
这是我的目录结构:
module/
a/
foo.php
b/
bar.php
b/
c/
Run Code Online (Sandbox Code Playgroud)
我想为module /下的每个目录运行一个命令,但不是递归的,因此只应包含这些命令:
a/
b/
c/
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
<target name="foo">
<apply executable="ls">
<arg value="-l" />
<fileset dir="${basedir}/module/">
</fileset>
</apply>
</target>
Run Code Online (Sandbox Code Playgroud)
这将以递归方式为模块下的每个目录和文件运行.
考虑这种情况.我有一个共同的逻辑,我想在Ember.ArrayController和Ember.ObjectController实例中重用它.
Ember.ArrayController和Ember.ObjectController都是从一个基本的Ember.Object派生的,所以我尝试的是:
AbstractController = Ember.Object.extend({
// some methods with common logic
});
AbstractArrayController = AbstractController.extend({});
AbstractObjectController = AbstractController.extend({});
Run Code Online (Sandbox Code Playgroud)
问题是我还需要AbstractArrayController和AbstractObjectController来扩展它们的父级(Ember.ArrayController和Ember.ObjectController).
我怎样才能实现这种继承?
我正在考虑重新打开并重新打开类方法,也许它们可能很有用:http://emberjs.com/api/classes/Ember.Object.html#method_reopen
我尝试过这样的事情:
Ember.Object.reopenClass({
foo: function () {
return "foo";
}.property("foo")
});
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
另一种解决问题的方法:
App.HelloController = Ember.ObjectController.extend({
foo: function () {
return "foo";
}.property("foo")
});
App.WorldController = Ember.ObjectController.extend({
foo: function () {
return "foo";
}.property("foo")
});
Run Code Online (Sandbox Code Playgroud)
如何抽象foo计算属性?
考虑这个简单的例子:
package main
import (
"encoding/json"
"fmt"
"log"
"reflect"
)
var args = `[1, 2.5, "aaa", true, false]`
func main() {
var x []interface{}
err := json.Unmarshal([]byte(args), &x)
if err != nil {
log.Fatalf("%s", err.Error())
panic(fmt.Sprintf("%s", err.Error()))
}
for _, arg := range x {
t := reflect.TypeOf(arg).Kind().String()
v := reflect.ValueOf(arg)
if t == "int64" {
fmt.Printf("int64 %v\n", v.Int())
}
if t == "float64" {
fmt.Printf("float64 %v\n", v.Float())
}
if t == "string" {
fmt.Printf("string %v\n", v.String())
}
if t …Run Code Online (Sandbox Code Playgroud) 我循环使用具有相同类的多个复选框,每个函数具有函数each(),并且在循环内部我需要能够判断是否选中了复选框.怎么做?
$('.checkbox').each(function() {
var is_checked = 'no';
// I need to change the value of the is_checked variable to 'yes'
// if the checkbox is checked
//
});
Run Code Online (Sandbox Code Playgroud) 我的程序:
CREATE OR REPLACE PROCEDURE akcia_nepozicane_s_kurzorom
(denny_poplatok IN NUMBER,
kilometrovy_poplatok IN NUMBER)
AS
my_id_auto NUMBER(5);
my_poplatok_denny NUMBER(4);
my_poplatok_km NUMBER(2);
CURSOR c1 IS
SELECT id_auto, poplatok_denny, poplatok_km FROM Auta;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO my_id_auto, my_poplatok_denny, my_poplatok_km;
EXIT WHEN c1%NOTFOUND;
IF my_poplatok_km >= 10 THEN
UPDATE Auta SET
poplatok_denny = denny_poplatok,
poplatok_km = kilometrovy_poplatok
WHERE id_auto = my_id_auto;
ELSE
UPDATE Auta SET
poplatok_denny = denny_poplatok,
WHERE id_auto = my_id_auto;
END IF;
COMMIT;
END LOOP;
CLOSE c1;
END;
Run Code Online (Sandbox Code Playgroud)
当我尝试在Oracle 10g …