运行后:
$ ./manage.py migrate
我收到以下错误:
-bash: ./manage.py: Permission denied
Run Code Online (Sandbox Code Playgroud)
尝试在DB中进行更改后运行迁移.任何建议都会非常感激.
我正在努力测试Rails中的更新方法.我正在使用标准的内置测试框架(test::unit
)和Rails 3.0.8.我已经创建了一个最小的应用程序来测试它,但我无法让它工作.这是我做的:
我创建了一个新的空白rails应用程序:
rails new testapp
Run Code Online (Sandbox Code Playgroud)
创建一个名为Collection的模型:
rails generate model collection name:string
Run Code Online (Sandbox Code Playgroud)
运行rake db:migrate:
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
使用更新方法创建名为Collections的控制器:
rails generate controller collections update
Run Code Online (Sandbox Code Playgroud)
在collection_controller.rb中,我添加了这个最小更新方法:
def update
@collection = Collection.find(params[:id])
@collection.update_attributes(params[:collection])
end
Run Code Online (Sandbox Code Playgroud)
测试夹具是默认值(collections.yml):
one:
name: MyString
two:
name: MyString
Run Code Online (Sandbox Code Playgroud)
然后我将它添加到功能下的collection_controller_test.rb中:
test "should update collection" do
put :update, :id => collections(:one), :collection => {:name => 'MyString2'}
assert_equal "MyString2", collections(:one).name
end
Run Code Online (Sandbox Code Playgroud)
当我运行测试时:
rake test:functionals
Run Code Online (Sandbox Code Playgroud)
它失败了这条消息:
test_should_update_collection(CollectionsControllerTest) [/Users/atle/Documents/Rails/testapp/test/functional/collections_controller_test.rb:6]:
<"MyString2"> expected but was
<"MyString">.
Run Code Online (Sandbox Code Playgroud)
以下是test.log的输出:
[1m[36mSQL (0.2ms)[0m [1m SELECT name
FROM sqlite_master
WHERE type …
Run Code Online (Sandbox Code Playgroud) 我正在帮助开发一系列相互关联的宝石.因此,我不希望它们彼此之间存在硬依赖关系,但我确实希望它们在开发中运行彼此使用的测试.简单吧?只需add_development_dependency
在gemspec中使用吧?好吧,有一点点皱纹 - git存储库包含所有的gem,所以我希望Gemfile指向gem的本地副本.这与硬依赖有关.在gemspec中,我有这条线用于我的硬依赖:
s.add_dependency "mygem-core"
Run Code Online (Sandbox Code Playgroud)
然后在Gemfile中,我有这一行:
gem "mygem-core", :path => "../mygem-core"
Run Code Online (Sandbox Code Playgroud)
这完美.当我推出这个包时,存在依赖性,当我测试时,它将使用mygem-core的本地副本.问题是当我把它放在gemspec中时:
s.add_development_dependency "mygem-runtime"
Run Code Online (Sandbox Code Playgroud)
然后在Gemfile中:
gem "mygem-runtime", :path => "../mygem-runtime"
Run Code Online (Sandbox Code Playgroud)
然后我运行bundle时出错:
You cannot specify the same gem twice coming from different sources. You specified that mygem-packager (>= 0) should come from source at ../mygem-packager and
Run Code Online (Sandbox Code Playgroud)
是的,这不是最后的错字.第二个"位置"的末端实际上有一个空白的空白空间.有没有聪明的方法可以解决这个问题?我想将此添加为开发依赖项,并使用本地源.我错过了什么?
从用户空间我们可以使用cpuset实际隔离系统中的特定核心,并只执行一个特定的核心进程.
我正在尝试使用内核模块做同样的事情.所以我希望模块在一个孤立的核心中执行.换句话说:我如何cpuset
在内核模块中使用?*
在我的内核模块中使用linux/cpuset.h不起作用.所以,我有一个这样的模块:
#include <linux/module.h>
#include <linux/cpuset.h>
...
#ifdef CONFIG_CPUSETS
printk(KERN_INFO, "cpusets is enabled!");
#endif
cpuset_init(); // this function is declared in cpuset.h
...
Run Code Online (Sandbox Code Playgroud)
尝试加载此模块时,我收到dmesg
以下消息cpusets is enabled!
.但我也收到了这条消息Unknown symbol cpu_init (err 0)
.
类似地,我尝试使用sched_setaffinity
from linux/sched.h
来将所有正在运行的procceses移动到特定的核心,然后将我的模块运行到一个隔离的核心.我得到了相同的错误消息:Unknown symbol sched_setaffinity (err 0)
.我想我得到了"未知符号",因为这些函数EXPORT_SYMBOL
在内核中没有.所以我去尝试调用sys_sched_setaffinity
系统调用(基于这个问题),但又得到了这个消息:Unknown symbol sys_sched_setaffinity (err 0)
!
此外,我不是在寻找一个使用的解决方案isolcpus
,它在启动时设置.我想加载模块,然后发生隔离.
我正在尝试针对java密钥库验证证书,这是我使用的代码如下所示.如果它成功完成,那么我认为验证已经正确完成,否则如果抛出异常,则验证失败.我担心的是:
以下代码是否足以验证证书?因为我在这里缺少一些东西(比如检查计算机签署的数据给我发送证书?)?2.是否应核实证书中包含的签名?如果有,怎么样?
在此先感谢您的回复!普拉迪普
// To check the validity of the dates
cert.checkValidity();
//Check the chain
CertificateFactory cf = CertificateFactory.getInstance("X.509");
List<X509Certificate> mylist = new ArrayList<X509Certificate>();
mylist.add(cert);
CertPath cp = cf.generateCertPath(mylist);
PKIXParameters params = new PKIXParameters(getTrustStore());
params.setRevocationEnabled(false);
CertPathValidator cpv =
CertPathValidator.getInstance(CertPathValidator.getDefaultType());
PKIXCertPathValidatorResult pkixCertPathValidatorResult =
(PKIXCertPathValidatorResult) cpv.validate(cp, params);
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个关于RESTful服务的小项目.所以我启动IntelliJ IDEA并执行:
新建项目 - >(选择Java) - >(选择RESTful WebService 2.2) - >选中"生成客户端和服务器代码",选择下载所需的库.
然后,当转到创建的HelloWorld
类时,我得到以下错误:
cannot resolve symbol "HttpServerFactory"
以及cannot resolve symbol "jersey"
此导入:import com.sun.jersey.api.container.httpserver.HttpServerFactory;
.
任何想法如何解决这个问题?
我正在为形状检测编写小应用程序.我首先需要做的是找到图像上最重要的形状.我从一些预处理开始,包括将图像转换为灰度,阈值和边缘检测.这些操作之前和之后的图像如下所示
之前
后
因此,您可以看到主要形状是可见的(但它有点散乱),还有一些噪音(小树等).我需要做的是以某种方式提取最重要的形状(最大的形状) - 在这种情况下它是一个塔.我想要做的是在opencv中使用轮廓查找功能,然后以某种方式使用多边形找到conturs.然后我会(不知何故)计算countours的面积并选择最大的面积.到目前为止,我只能(仅)使用找到轮廓
cvFindContours(crated,g_storage,&contours);
Run Code Online (Sandbox Code Playgroud)
我知道有一个
cvApproxPoly
Run Code Online (Sandbox Code Playgroud)
函数,但是我无法获得有关此函数结果的任何有用信息.有人可以告诉我是否可以计算轮廓的面积或用多边形逼近轮廓.也许你有更好的想法如何只提取最重要的形状?
我总是想知道assertEquals
像TestNG这样的库中实际和预期的含义究竟是什么.
如果我们阅读Java Docs,我们会看到:
public static void assertEquals(... actual, ... expected)
Parameters:
actual - the actual value
expected - the expected value
Run Code Online (Sandbox Code Playgroud)
从我的理解,expected
价值是已知的,所以我们期望的那个,actual
一个是我们想要验证的.例如,假设我们要测试fooBar
一直必须返回的函数56
.
在这种情况下,我会这样做:assertEquals(sth.fooBar(), 56)
.但是通过快速搜索GitHub,似乎人们可以反过来这样做,所以assertEquals(56, sth.fooBar())
.但是,sth.fooBar()
当我们甚至不知道这个价值时,预期价值怎么样呢?这似乎sth.fooBar()
是我们与我们已经知道的预期值进行比较的实际值.
我知道测试的正确性没有区别,但我想遵循"正确"的方式.
最近我从这里下载了PostgreSQL的JDBC驱动程序.因为我使用的是Java 1.7 JVM,所以我写了:
如果您使用的是1.6或1.7 JVM,那么您应该使用JDBC4版本.
我下载了JDBC4.问题是PoolingDataSource's
它中没有.如果你JDBC3你可以使用org.postgresql.jdbc3.Jdbc3PoolingDataSource
或他人如看到这里.
DataSource
JDBC4中是否有任何我不知道的池,或者我应该使用什么?我在JDBC4中找到的唯一的东西是PGPoolingDataSource
但我不确定我是否应该使用它,因为它基于他们的Java文档消息:
如果您的服务器/中间件供应商提供与PostgreSQL ConnectionPoolDataSource实现接口的连接池实现,请不要使用此方法!
因此,我在使用PostgreSQL时目睹了以下行为.
我有一个这样的表:(id INTEGER ..., msg VARCHAR(2000))
然后我运行两个程序,A
并B
做同样的事情,即做20000次插入然后20000次检索(基于他们的id).唯一的区别是程序A
插入包含2000个字符的消息,而B
只插入包含最多10个字符的消息.
问题在于,所有插入和检索的平均时间A
总是比B
实际上没有意义的约15毫秒,因为A
添加"更大"的数据.
关于为什么会发生这种情况的任何想法或提示?可能是因为当不使用系统的所有字符时,将msg
剩余的空间用于其他目的,因此如果msg
已满,系统会更快?
基于@Dan Bracuk的评论.我节省了不同事件的时间,并意识到以下情况发生了,在程序中A
有很多次插入真的非常快,而在程序B
中从来就不是这样的,这就是为什么平均速度A
快B
但我无法解释这种行为.
java ×3
postgresql ×2
bundler ×1
c++ ×1
cpuset ×1
database ×1
django ×1
django-south ×1
jdbc ×1
junit4 ×1
linux ×1
linux-kernel ×1
opencv ×1
python ×1
rest ×1
ruby ×1
rubygems ×1
sql ×1
testing ×1
testng ×1
unit-testing ×1
varchar ×1
web-services ×1