小编And*_*rea的帖子

Symfony2长文本的翻译

几个星期后,我开始玩Symfony2.它似乎是一个非常强大的框架,但有些事情我还是不能理解.

在文档中,我看到i18n(即翻译)由翻译服务管理.如果我正确理解,翻译网站的主要方式是将我想要翻译的消息集合放在不同的文件messages.XX.yml(XX=en,fr,it,etc...)中,每种语言一个.

这可能适用于短文本,可能不包含任何HTML标记.但是你如何处理长文本呢?例如,我如何管理服务条款或关于页面的翻译?

我想我应该为我想要使用的每个语言环境包含不同的模板.我对吗?

谢谢你的帮助!

translation symfony twig

21
推荐指数
1
解决办法
8375
查看次数

在CUDA中传递内核参数?

关于CUDA内核如何工作,我有一个新手怀疑.

如果有以下代码(使用cuPrintf这里获取的函数):

#include "cuPrintf.cu"

__global__ void testKernel(int param){
    cuPrintf("Param value: %d\n", param);
}

int main(void){

    // initialize cuPrintf
    cudaPrintfInit();

    int a = 456;    

    testKernel<<<4,1>>>(a);

    // display the device's greeting
    cudaPrintfDisplay();

    // clean up after cuPrintf
    cudaPrintfEnd();
}
Run Code Online (Sandbox Code Playgroud)

执行的输出是:

Param value: 456
Param value: 456
Param value: 456
Param value: 456
Run Code Online (Sandbox Code Playgroud)

我无法得到内核如何读取我传递的参数的正确值,是不是它在主机内存中分配?GPU可以从主机内存中读取吗?

谢谢,

安德里亚

c c++ memory cuda

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

从Celery的taskset_id中检索GroupResult?

我正在使用官方文档中描述的芹菜组开始一组芹菜任务

我还将组(taskset)id存储到db中,以便轮询celery以获取任务集状态.

job = group([
        single_test.s(1, 1),
        single_test.s(1, 2),
        single_test.s(1, 3),
    ])

result = job.apply_async()

test_set = MyTestSet()
test_set.taskset_id = result.id

# store test_set into DB
Run Code Online (Sandbox Code Playgroud)

有没有办法result从任务集ID开始获取GroupResult对象(即我的)?像这个问题所做的事情,但与芹菜组合作.

我已经尝试过:

r = GroupResult(taskset_id)
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为r.results()它总是空的.

我应该使用GroupResult.save()GroupResult.restore() 方法吗?

python celery celery-task

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

如何使用CUDA执行struct的深度复制?

使用CUDA编程我在尝试将一些数据从主机复制到gpu时遇到了问题.

我有3个嵌套结构,如下所示:

typedef struct {
    char data[128];
    short length;
} Cell;

typedef struct {
    Cell* elements;
    int height;
    int width;
} Matrix;

typedef struct {
    Matrix* tables;
    int count;
} Container;
Run Code Online (Sandbox Code Playgroud)

所以Container"包括"一些Matrix元素,而这些Cell元素又包含一些元素.

假设我以这种方式动态分配主机内存:

Container c;
c.tables = malloc(20 * sizeof(Matrix));

for(int i = 0;i<20;i++){
    Matrix m;
    m.elements = malloc(100 * sizeof(Cell));
    c.tables[i] = m;
}
Run Code Online (Sandbox Code Playgroud)

也就是说,每个100个单元的20个矩阵的容器.

  • 我现在如何使用cudaMemCpy()将此数据复制到设备内存?
  • 有没有什么好方法可以从主机到设备执行"struct of struct"的深层复制?

谢谢你的时间.

安德里亚

c c++ cuda deep-copy

7
推荐指数
1
解决办法
2326
查看次数

以编程方式单击Android通知

我是使用Robotium框架测试应用程序的黑盒子.每次安装新应用程序时,正在测试的应用程序都会在状态栏中发送通知.我想点击该通知,但我仍然找不到合适的方法.

当我手动点击一个通知时,我得到以下这些logcat:

I/ActivityManager(  148): START {flg=0x14000000 cmp=com.test.package/.activity.FrontActivity bnds=[0,38][240,86] (has extras) u=0} from pid -1
I/ActivityManager(  148): START {flg=0x14000000 cmp=com.test.package/.activity.ResultActivity u=0} from pid 8600
I/ActivityManager(  148): Displayed com.test.package/.activity.FrontActivity: +1s183ms
I/ActivityManager(  148): Displayed com.test.package/.activity.ResultActivity: +744ms
Run Code Online (Sandbox Code Playgroud)

我知道Robotium不能同时测试2个不同的应用程序,而且我知道你无法获得外部应用程序的通知.

我还尝试通过使用以下代码获取待处理的意图并启动它:

Context context = this.getInstrumentation().getTargetContext().getApplicationContext();
String intentClassString = "com.test.package.activity.FrontActivity";
Class<?> intentClass = null;

try {
    intentClass = Class.forName(intentClassString);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

Intent intent = new Intent(context, intentClass);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE);

try {
    pendingIntent.send();
} …
Run Code Online (Sandbox Code Playgroud)

android android-intent robotium android-notifications android-activity

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

如何从控制台创建snapshots.img?

通过AVD管理器创建新的AVD时,只需选中"创建新AVD"窗口中的右侧选项即可启用快照功能.

在此输入图像描述

创建AVD后,你可以找到一个名为文件snapshots.img<user-home>/.android/avd/<avd-name>/.它是新AVD的快照存储文件.

有人知道如何使用命令行工具获得相同的结果吗?

我已经尝试使用该android create avd命令创建新的AVD 以及snapshot.present=true在AVD中设置选项config.ini,但是没有创建快照存储.

android android-virtual-device android-emulator

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

Python中的抽象方法继承

假设我们有一个 Python 类,它使用abc模块来定义一个抽象属性:

import abc

class A(object):
    __metaclass__ = abc.ABCMeta

    @abc.abstractproperty
    def test_attribute(self):
        raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)

现在让我们考虑通过添加新方法 ( )B来定义子类,并通过实现最初在 中声明的抽象方法来定义子类:Atest_method()CBA

class B(A):

    def test_method(self):
        pass

class C(B):

    def test_attribute(self):
        # Implement abstract attribute
        pass
Run Code Online (Sandbox Code Playgroud)

假设我想保持B抽象(不可实例化),我是否应该test_attribute在 中重新定义抽象属性 ( ) 和元类赋值B?或者继承它们就足够了A(如上面的代码)?

我知道Python允许我不重新定义抽象方法,从而从父类继承它们。从理论软件工程的角度来看,这是正确的吗?

我这么问是因为如果我没记错的话,其他语言(例如Java)不允许继承抽象方法而不将它们重新实现为抽象......

python inheritance abc abstract

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

Yii外键的验证规则

假设我有一个带有以下验证规则的ActiveRecord:

public function rules() {
    return array(
        array('model', 'required'),
        // ....
        array('model', 'exist',
            'allowEmpty' => false,
            'attributeName' => 'id',
            'className' => 'Model',
            'message' => 'The specified model does not exist.'
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

第一个规则强制该model字段不为空,第二个规则检查它是否具有一致值(model是外键).

如果我尝试验证一个表格,我在其中留空了该字段,model我得到2个错误,一个用于第一个规则,一个用于第二个规则.

我只想收到" 不能为空 "的错误消息.

有没有办法在不满足第一条规则时停止验证?

php validation yii yii-components

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

Doctrine2 - 如何限制@OneToMany映射大小?

我想知道是否有任何方法可以@OneToMany在Doctrine2 中设置关系大小的约束.

假设我有2个课程:UserToy:

class User{
    ...
    /**
     * @OneToMany(targetEntity="Toy", mappedBy="user")
     */
    public $toys;
    ...
}
class Toy{
    ...
    /**
     * @ManyToOne(targetEntity="User", inversedBy="toys")
     */
    public $user;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想强迫每个用户最多拥有3个玩具.你知道是否有办法通过使用任何Doctrine2注释来实现这一点?

如果通过注释无法实现,你会怎么做?

谢谢!

entity-relationship one-to-many symfony doctrine-orm

0
推荐指数
1
解决办法
1359
查看次数