问题列表 - 第43721页

我应该用我的Python应用程序捆绑C库吗?

如果我有一个依赖于某些C库的Python包(比如用于数值计算的Gnu Scientific Library(GSL)),那么将库与我的代码捆绑在一起是一个好主意吗?

我想让我的软件包尽可能易于安装,并且我不希望他们必须手动下载C库并提供包含路径.此外,我始终可以确保我发布的库版本与我的代码兼容.

但是,如果用户已经安装了库,是否可能存在冲突,或者是否有任何其他原因导致我不应该这样做?

我知道我可以通过提供二进制分发使用户更容易,但我想避免为所有可能的操作系统维护二进制分发.所以,我想坚持使用源代码,但对于用户(自豪地拥有C编译器),安装应该如此简单python setup.py install.

c python distutils

7
推荐指数
2
解决办法
477
查看次数

用原始语言切换gettext翻译语言

我用德语中的所有文本启动了我的PHP应用程序,然后使用gettext提取所有字符串并将它们翻译成英语.
所以,现在我有一个.po文件,其中包含德语中的所有msgids和英语中的msgstrs.我想切换它们,以便我的源代码包含英文为msgids,原因有两个:

  1. 更多的翻译人员会懂英语,因此只提供一个英文msgids的文件是合适的.我总是可以在我发出文件之前切换文件,然后收到它,但是naaah.
  2. 如果内容文本也是英文的话,它会帮助我写英文对象和函数名称和注释.我想这样做,所以该项目对其他开源合作者更开放(更有可能知道英语而不是德语).

我可以手动执行此操作,这是一种任务,我预计它将花费更多时间为它编写一个自动例程(因为我对shell脚本非常糟糕)而不是手动执行.但我也期望鄙视手动计算机劳动的每一分钟(感觉就像矛盾,对吧?)就像我一直这样.

有人曾经这样做过吗?我认为这将是一个常见的问题,但找不到任何东西.非常感谢.

示例问题:

<title><?=_('Routinen')?></title>

#: /users/ruben/sites/v/routinen.php:43
msgid "Routinen"
msgstr "Routines"
Run Code Online (Sandbox Code Playgroud)

我以为我会把问题缩小..po文件中的开关当然没有问题,就像它一样简单

preg_replace('/msgid "(.+)"\nmsgstr "(.+)"/', '/msgid "$2"\nmsgstr "$1"/', $str);
Run Code Online (Sandbox Code Playgroud)

对我来说问题是在解析.po文件时搜索我的项目文件夹文件_('$msgid')并替换的例程_('msgstr')(在所有.po文件包含包含所有文件路径的注释之后,这可能不是最优雅的方式) msgstr发生).


之后鬼混与akirk的回答一点,我遇到了一些更多的问题.

  1. 因为我有混合_('xxx')_("xxx")调用,所以我必须小心(un)转义.
    • msgstr和msgstrs中的双引号必须是未转义的,但不能删除斜杠,因为可能是双引号也在PHP中被转义
    • 单引号在被替换为PHP时必须进行转义,但是它们也必须在.po文件中进行更改.幸运的是,单引号只出现在英文文本中.
  2. msgids和msgstrs可以有多行,然后它们看起来像这样
    msgid = ""
    "line 1\n"
    "line 2\n"
    msgstr = ""
    "line 1\n"
    "line 2\n"
  3. 当然,复数形式被忽略了,但在我的情况下,这不是问题
  4. poedit希望删除过时的字符串似乎已成功切换,我不知道为什么会在(很多)情况下发生这种情况.

我今晚必须停止工作.似乎仍然使用解析器而不是RegExps不会有点矫枉过正.

php regex parsing gettext poedit

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

什么是更快的数据库查询或文件写入/读取

我知道在正常情况下,从文件读取/写入的速度更快,但是如果我创建了一个聊天系统:从文件中读取和读取数据或在数据库中插入/选择数据和结果会更快吗?

database performance file

10
推荐指数
1
解决办法
6849
查看次数

Django - 在模型实例上调用post_init信号,甚至在创建实例之前调用.为什么?

我正在尝试编写一个接收视频文件的小应用程序,并在上传后将它们转换为统一格式(因此添加到数据库中).我已经在网上搜索了最佳解决方案,并决定在Celery中使用Django的信号.但是现在我正试图创建一个概念验证,看看它是否有效.

我正在尝试video_repalce()在上传新视频后执行方法(因此,新数据已添加到数据库中).但是信号不能正常工作,或者我不明白整个系统是如何工作的.

我正在使用带有预定义信号的Django 1.2.3django.db.models.signals.post_init,应该在实例化模型之后调用它(因此,在数据库中添加了一个新行).

from django.core.files.base import File
from django.db.models.signals import post_init
import os
import os.path
import subprocess

class Project(models.Model):
    video = models.FileField(upload_to="projects/videos")

    def replace_video(self):
        """Replace original video with an updated one."""

        # Video conversion process code goes here,
        # resulting in a new external video file.

        self.video.delete() # Delete the original video.
        self.video.save("newfile.webm", File(open("path/to/newfile.webm") ,"wb"))) # Save the new video instead.

        self.save() # Commit everything to database.

        os.remove("path/to/newfile.webm") # …
Run Code Online (Sandbox Code Playgroud)

python django signals

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

AIDL接口参数值中的"输入/输出/输出"?

我正在编写一个无线电流媒体应用程序.我通过使用AIDL接口技术与服务进行通信,将"无线电播放"作为远程服务运行.但我真的不明白一件事.

AIDL接口参数值中的"out"是什么?

像这样:

String doSomething(in String a, out String[] b);
Run Code Online (Sandbox Code Playgroud)

我理解"在"中,即从活动调用方法时将数据发送到远程.

什么是"out",为什么我们需要在同一方法中"in"和"out"?在哪种情况下使用它们("out/inout")?为什么String[]"出局"?

请帮忙..

android interface aidl

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

我想使用JavaScript截断带省略号的文本或行

我正在寻找一个简单的脚本,它可以截断带省略号的字符串(...)

我想截断像'this is a very long string''this is a ve...'

我不想使用CSS或PHP.

javascript string truncate

52
推荐指数
7
解决办法
8万
查看次数

counter_cache has_many_through sql optimization,减少sql查询次数

我如何优化我的SQL查询,忽略这样的情况:

Meeting.find(5).users.size => SELECT COUNT(*)FROM ... WHERE ...

User.find(123).meetings.size => SELECT COUNT(*)FROm ... WHERE ...

我不知道如何在这里使用counter_cache.

这是我的模型关系:

class Meeting < ActiveRecord::Base
  has_many :meeting_users
  has_many :users, :through => meeting_users
end

class User < ActiveRecord::Base
  has_many :meeting_users
  has_many :meetings, :through => meeting_users
end

class Meeting_user < ActiveRecord::Base
  belongs_to :meeting
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

什么是最优解决方案?

如何在这里实现counter_cache?

sql optimization activerecord model ruby-on-rails

5
推荐指数
2
解决办法
1341
查看次数

如何将数据从后台页面获取到Google Chrome扩展程序中的内容脚本

我一直在尝试将数据从我的后台页面发送到我的Chrome扩展程序中的内容脚本.我似乎无法让它工作.我在线阅读了一些帖子,但它们并不是很清晰,而且看起来很高.我已经设法使用Chrome样本上的Oauth联系人示例来运行oauth.身份验证工作,我可以通过打开一个新选项卡获取数据并在html页面中显示它.

我想将此数据发送到内容脚本.

我在这方面遇到了很多麻烦,如果有人可以概述你需要遵循从bg页面发送数据到内容脚本甚至更好的代码的明确步骤,我将非常感激.任何接受者?

我的背景页面的代码如下(我已经排除了oauth paramaeters和其他)

` function onContacts(text, xhr) {
    contacts = [];
    var data = JSON.parse(text);
    var realdata = data.contacts;
    for (var i = 0, person; person = realdata.person[i]; i++) {
      var contact = {
        'name' : person['name'],
        'emails' : person['email']
      };


      contacts.push(contact); //this array "contacts" is read by the 
 contacts.html page when opened in a new tab

    }

    chrome.tabs.create({ 'url' : 'contacts.html'}); sending data to new tab
    //chrome.tabs.executeScript(null,{file: "contentscript.js"});
    may be this may work?

  };

  function getContacts() { …
Run Code Online (Sandbox Code Playgroud)

background google-chrome-extension

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

PHP之上的新语言?

我是一名PHP开发人员.我喜欢PHP!如果你知道如何使用它,这是一个非常好的语言,但我知道它有时会让非常糟糕的设计.

它让我想起了具有良好部件和不良部件的JavaScript.一个特别的项目CoffeeScript试图只关注好的部分,迫使你编写好的代码.

我在想是否可以用PHP完成类似的事情...一种新的语法,只能编译成好的PHP代码,并且可以使用PHP 5.3获得所有新的和令人兴奋的东西.

所以,领先一些人,我会问:如果你可以只使用Ruby或Python或其他东西,为什么要在PHP之上创建一种新语言?

  • PHP易于部署在任何地方
  • 语言本身有很多好的功能和想法
  • 有许多用PHP编写的好库
  • ...

所以,我真正的问题是......

  • 这是一个愚蠢的想法吗?为什么会这样?你认为CoffeeScript是愚蠢的吗?
  • 有人如何开始在另一个上面创建一种新语言?我对此一无所知,但我想学习.从哪儿开始?

php programming-languages language-design

52
推荐指数
2
解决办法
2838
查看次数

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