小编Ift*_*tah的帖子

应该将南迁移文件添加到源代码管理中吗?

我想知道什么是与多个开发人员一起使用South的"最佳"方式.

是否应跟踪迁移文件?当两个开发人员对同一来源的models.py进行不同的更改时,问题就会出现.

如果跟踪迁移文件:

  1. 很难注意到需要合并,因为它们是由不同的文件名组成的.
  2. 反正很难合并.
  3. 难以应用(需要向后迁移一次迁移,合并,再次向前迁移)

如果没有跟踪它们:

  1. 无法共享调整迁移.
  2. 开发人员需要在模型文件的更改(而不是仅仅应用它)时创建迁移(并应用它).

我错过了更多优点/缺点吗?最好的方式是什么?我目前正在使用跟踪迁移,但考虑改为未跟踪,似乎更简单.

谢谢.

django version-control django-south

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

Django-nonrel导入缓存失败

我正在尝试在GAE(Google App Engine)上设置django-nonrel - 按照此处的步骤进行操作http://www.allbuttonspressed.com/projects/djangoappengine#installation

测试应用程序很棒 -

我能够在应用程序中使用缓存API,但对于测试和shell却不是这样:

试图from django.core.cache import cache在shell中给我:

>>> from django.core.cache import cache
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "django-testapp/django/core/cache/__init__.py", line 182, in <module>
    cache = get_cache(DEFAULT_CACHE_ALIAS)
  File "django-testapp/django/core/cache/__init__.py", line 180, in get_cache
    return backend_cls(location, params)
  File "django-testapp/django/core/cache/backends/memcached.py", line 154, in __init__
    import memcache
ImportError: No module named memcache
Run Code Online (Sandbox Code Playgroud)

同样,尝试也 ./manage.py test以同样的方式失败

任何想法,为什么./manage runserver工作正常,但./manage shell还是./manage test无法导入缓存?

django-nonrel

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

如何使用Android的NDK使用mkfifo

最近我升级了NDK,现在我的应用程序因缺少符号而崩溃mkfifo:

E/dalvikvm(2031): dlopen("/data/app-lib/...mylib.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "mkfifo" referenced by "mylib.so"...
Run Code Online (Sandbox Code Playgroud)

较旧的平台mkfifo是内联定义的 sys/stat.h

static __inline__ int mkfifo(const char *__p, mode_t __m) {
    return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t)0);
}
Run Code Online (Sandbox Code Playgroud)

但是在平台版本21中,它被改为仅仅是一个外部的decleration:

extern int mkfifo(const char*, mode_t);
Run Code Online (Sandbox Code Playgroud)

这就解释了缺失的符号异常...我的问题是如何解决它?

android android-ndk

8
推荐指数
2
解决办法
9354
查看次数

使用Cocoapods 1.0版时无法找到头文件 - 与Cocoapods版本0.39一起正常工作

我正在尝试在我的项目中使用libFLAC编译到iOS,使用CocoaPod作为依赖安装.

问题是如果我使用CocoaPod版本0.39,工作区创建就好了,但是如果我使用CocoaPod版本1.0则会出现构建错误(有关错误的详细信息,请参阅下文)

我正在使用项目https://github.com/evature/flac-ios

我的podfile包含:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/evature/Eva-Pods.git'

platform :ios, '8.0'

use_frameworks!
target 'ExampleApp' do
    pod 'JSQMessagesViewController', '~>7.0'
    pod 'libFLAC', '~>1.3.0'
    pod 'RXPromise', '~>0.13.0'
end
Run Code Online (Sandbox Code Playgroud)

编译错误是一个缺少的头文件(在libFlac源内) -

#include "private/bitmath.h" <<'private/bitmath.h'未找到

此头文件确实存在于Pods项目下 Pods/libFlac/CorePrivateHeaders

libFlac podspec位于https://github.com/evature/Eva-Pods/blob/master/libFLAC/1.3.1/libFLAC.podspec

我正在使用Xcode版本7.3.1

我猜责任是版本0.39和版本1.0之间的一些重大变化,但是看看更改日志和Podspec我没有找到突破性的变化.

cocoapods podspec

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

测量Django中间件中的视图执行时间 - 好主意?

我想检查一下我网站中视图的执行时间.这可以由装饰者完成,但由于我有几十个视图,我想在中间件中进行操作,将请求作为关键字保存在字典中的初始时间(见下文),但我担心我做的假设(见下文):

class SlowWarningMiddleware:

    def __init__(self):
        self.time_tracking = {}

    def process_view(self, request, view_func, view_args, view_kwargs):
        self.time_tracking[request] = time.time() 

    def process_response(self, request, response):
        if request not in self.time_tracking:
            return response
        delta = time.time() - self.time_tracking[request]

    def process_exception(self, request, exception):
        if request not in self.time_tracking:
            return
        delta = time.time() - self.time_tracking[request]
Run Code Online (Sandbox Code Playgroud)

这段代码假设有两点:

  1. 相同的中间件实例处理前视图和后视图逻辑.
  2. 请求实例保持相同的实例预览和后视图.

这些假设是否安全?这个中间件是个好主意吗?

django middleware

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

使用AudioQueue在iOS上进行扭曲(机器人)音频录制

我正在AudioQueueiOS中使用以实现对网络的录制流.

问题是它通常效果很好,但有时(约20%的尝试)声音可怕的扭曲 - 它听起来像机器人.

编辑: 我能够在ios6和ios6.1模拟器上轻松地重现它 - 但我无法在真实手机(ios6.1.3)上重现它.

试图调试它我将PCM数据保存到文件.PCM文件中出现相同的失真,因此这在编码或上传代码中不是问题.我也尝试使用缓冲区的数量和缓冲区的大小 - 没有任何帮助.

问题是我不知道如何进一步调试它 - 看起来缓冲区被扭曲为回调的输入 - 在我的代码被激活之前(音频队列配置除外).

  • 你有什么想法可能会有什么问题吗?
  • 或者如何进一步调试?

队列设置代码:

audioFormat.mFormatID         = kAudioFormatLinearPCM;
audioFormat.mSampleRate       = SAMPLE_RATE; //16000.0;
audioFormat.mChannelsPerFrame = CHANNELS; //1;
audioFormat.mBitsPerChannel   = 16;
audioFormat.mFramesPerPacket  = 1;
audioFormat.mBytesPerFrame    = audioFormat.mChannelsPerFrame * sizeof(SInt16); 
audioFormat.mBytesPerPacket   = audioFormat.mBytesPerFrame * audioFormat.mFramesPerPacket;
audioFormat.mFormatFlags      = kLinearPCMFormatFlagIsSignedInteger 
                                  | kLinearPCMFormatFlagIsPacked;

AudioQueueNewInput(
    &audioFormat,
    recordCallback,
    self,                // userData
    CFRunLoopGetMain(),  // run loop
    NULL,                // run loop mode
    0,                   // flags
    &recordQueue);

UInt32 trueValue = true;
  AudioQueueSetProperty(recordQueue,kAudioQueueProperty_EnableLevelMetering,&trueValue,sizeof (UInt32)); …
Run Code Online (Sandbox Code Playgroud)

audio-recording audioqueue ios

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

将音频流传输到Android中的http-post

我试着

  1. 记录来自Android设备的语音,
  2. 将数据编码为某些音频编码(M4A,FLAC,Ogg)
  3. 流将其上传到我的服务器(chunked http post) - 录制正在进行中.

任何想法如何实现这些?


我尝试使用Android MediaRecorder (记录音频,编码并保存到文件)并使用Android HttpClient和InputStreamEntity,它允许从输入流上传数据.我使用来自https://github.com/Teaonly/android-eye/blob/master/src/teaonly/droideye/StreamingLoop.java的 "StreamingLoop" 将输出文件描述符连接到inputStream,这样我就可以使用MediaRecorder的输出HttpClient的输入.

然而这失败了 - 当我停止录制时,我得到:

06-27 17:58:47.259: A/libc(6759): Fatal signal 11 (SIGSEGV) at 0x00000010 (code=1), thread 6759

这会使应用程序崩溃,并且到达服务器的文件无法通过VLC播放,因此这是失败的两倍.

有什么想法,不同的方法做上面的要求1..3或如何调试它?

android audio-recording audio-streaming

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

如何在 Android 的 TextView 中的文本下方添加红色波浪线

我正在尝试在文本中的错误下方添加红色波浪线,例如:

在此处输入图片说明

不幸的是,我找不到合适的 *Span 类来包装错误文本。

我应该如何在 Android 中实现这样的功能?

android spannablestring

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

带有排除类型的 TypeVar 的 Python 类型注释

我试图用@overload不同的方式来传达调用函数的不同方式,但是在代码中用简单的else语句轻松传达的内容在类型注释中是不可能的。如果没有“else”,MyPy(正确地)会抱怨重载版本不匹配(例如,请参见下面的代码段)。

error: Overloaded function signatures 1 and 2 overlap with incompatible return types

我是否正确理解此问题没有好的解决方案?

例如。这是一个简单的例子:

ListOrTuple = TypeVar("ListOrTuple", List, Tuple)
# unfortunately, typing doesn't support "anything else" at the moment
# https://github.com/python/typing/issues/599#issuecomment-586007066
AnythingElse = TypeVar("AnythingElse")
# what I would like to have is something like AnythingElse= TypeVar("AnythingElse", Not[List,Tuple])

@overload
def as_list(val: ListOrTuple) -> ListOrTuple:
    ...

@overload
def as_list(val: AnythingElse) -> List[AnythingElse]:
    ...

def as_list(val):
    """Return list/tuple as is, otherwise wrap in a list

    >>> as_list("test")
    ['test'] …
Run Code Online (Sandbox Code Playgroud)

python mypy python-typing

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