小编Sap*_*Sun的帖子

解释WAV数据

我正在尝试编写一个显示PCM数据的程序.我一直非常沮丧地试图找到一个具有正确抽象级别的库,但我找到了python wave库并且一直在使用它.但是,我不确定如何解释数据.

wave.getparams函数返回(2个通道,2个字节,44100 Hz,96333帧,无压缩,无压缩).这一切看起来都很愉快,但后来我尝试打印一个帧:'\ xc0\xff\xd0\xff'这是4个字节.我想一个帧可能是2个样本,但模糊不会在那里结束.

96333帧*2个样本/帧*(1/44.1k秒/样本)= 4.3688秒

然而,iTunes报告时间接近2秒,基于文件大小和比特率的计算在2.7秒的范围内.这里发生了什么?

另外,我怎么知道字节是有符号还是无符号?

非常感谢!

python audio pcm

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

Java如何知道如何迭代数组

String[] strs = new String[] { "1", "2", ... , "6" };

for (String s : strs) {
    System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

这是关于java internals的问题.

在上面的代码示例中,foreach循环如何计算出数组的长度?数组实际上是内部对象还是使用sizeof前端程序员无法访问的东西?

我有一种感觉,我只是错过了一些愚蠢的东西,但我觉得它也很酷.:-)

java arrays foreach

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

Django会话持续但丢失数据

我已经工作了几个小时试图理解以下问题:我有一个用户发送Ajax请求动态发送一个表单并记录提交时读取的表单数量增加.为此,我使用request.session['editing_foo'] = { 'prefix_of_form_elements' : pkey }以便将它们与数据库关联以进行保存和加载(-1表示尚未保存的新表单).

但是,当我使用以下代码(见下)时,我得到以下奇怪的输出:

第一次点击:

{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)

第二次点击:

{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)

第三次请求:

{} foousername
next_key 1
1
{u'1-foo': -1}
Run Code Online (Sandbox Code Playgroud)

到底他妈发生了什么?

id_fetcher = re.compile(r'\d')


@login_required
def ajax_add_foo(request):
    def id_from_prefix(key):
        return int( id_fetcher.search(key).group(0) )

    if 'editing_foos' not in request.session:
        print "reinitializing"
        request.session['editing_foos'] = {}

    print request.session['editing_foos'], request.user
    keys = request.session['editing_foos'].keys()
    if len(keys) == 0:
        next_key = 1
    else:
        print [ id_from_prefix(key) for key in keys ]
        next_key …
Run Code Online (Sandbox Code Playgroud)

django ajax django-sessions

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

模型中Django Textfield的适用性

我在模型中有一个字段,我希望用户感觉他们可以编写任意数量的文本.Django在模型中提供了CharField和TextField.我假设不同之处在于其中一个是char(max_length)而另一个是内部的varchar.

我很想使用TextField,但是因为它不尊重max_length,所以我有点担心有人将大量数据转储到它并对我的服务器进行DOS操作.我应该怎么处理这个?

谢谢!

django database-design django-models

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

Android资源ID分配错误

我遇到了一个奇怪的问题,如果我getString(R.string.somestringname)不时调用,甚至在删除R文件并重新编译之后,会出现错误的字符串.模拟器没有崩溃,并且出现了一个有效的字符串 - 它只是错误的字符串.

我的strings.xml示例:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Activity Names -->
    <string name="app_name">an app name</string>
    <string name="selector_name">app name | Select</string>
    <string name="create">Create</string>
    <string name="overview_name">appname | Overview</string>
    <string name="another_name">appname | Another View</string> 

.....
    <!-- Edit Note -->
    <string name="placeholder">Foo bar</string> <-- here is a problem
    <string name="created">Created:</string>

</resources>
Run Code Online (Sandbox Code Playgroud)

以下是遇到其中一个问题的代码示例:

if (note.created != null) {
     createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
}
Run Code Online (Sandbox Code Playgroud)

输出的文本(某些时候)是Foo bar November 03, 2010(即属于R.string.placeholder).到底是怎么回事?这令人不安地让我想要硬编码字符串;-)

谢谢你的帮助!

string resources android

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

对于所有数据宽度,一般将 uint64_t 转换为 int64_t

一般如何将有符号和无符号整数相互转换而无需指定特定宽度?

例如:

uint8_t <-> int8_t
uint16_t <-> int16_t
uint32_t <-> int32_t
uint64_t <-> int64_t
Run Code Online (Sandbox Code Playgroud)

最好写成:

uint8_t <-> int8_t
uint16_t <-> int16_t
uint32_t <-> int32_t
uint64_t <-> int64_t
Run Code Online (Sandbox Code Playgroud)

但是,我怀疑这并不能达到我想要的效果。

我认为使用这种方法可以达到类似的效果,但我认为对于相同的数据宽度这样做可能会有一些语法糖。

条件模板类型数学

c++

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

Django url模板标签:'module'对象没有属性'views'

有问题的标签:

< a href="{% url django.contrib.auth.views.login %}">Login< /a>
Run Code Online (Sandbox Code Playgroud)

URL配置:

from django.contrib.auth import views <br />
...<br />
(r'^login/$',views.login, {'redirect_field_name' : '/' })
<br />...
Run Code Online (Sandbox Code Playgroud)

django templates

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

在Java中继承静态变量

我想要进行以下设置:

abstract class Parent {
    public static String ACONSTANT; // I'd use abstract here if it was allowed

    // Other stuff follows
}

class Child extends Parent {
    public static String ACONSTANT = "some value";

    // etc
}
Run Code Online (Sandbox Code Playgroud)

这在Java中可行吗?怎么样?如果我可以避免它,我宁愿不使用实例变量/方法.

谢谢!

编辑:

常量是数据库表的名称.每个子对象都是一个迷你ORM.

java polymorphism inheritance static static-variables

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

确定 uint64 是否已被“看到”的最快方法

我一直对优化“重新编号”算法感兴趣,该算法可以将具有重复项的任意整数数组重新标记为从 1 开始的标签。集合和映射对于我一直在尝试做的事情来说太慢了,排序也是如此。是否有一种数据结构只能记住某个数字是否已被看到或不可靠?我正在考虑尝试使用布隆过滤器,但我有 >12M 整数,并且目标性能比良好的哈希图更快。这可能吗?

这是一个简单的伪 C++ 算法示例,该算法会很慢:

// note: all elements guaranteed > 0
std::vector<uint64_t> arr = { 21942198, 91292, 21942198, ... millions more };

std::unordered_map<uint64_t, uint64_t> renumber;
renumber.reserve(arr.size());

uint64_t next_label = 1;
for (uint64_t i = 0; i < arr.size(); i++) {
    uint64_t elem = arr[i];
    if (renumber[elem]) {
        arr[i] = renumber[elem];
    }
    else {
        renumber[elem] = next_label;
        arr[i] = next_label;
        ++next_label;
    }
}
Run Code Online (Sandbox Code Playgroud)

输入/输出示例:

{ 12, 38, 1201, 120, 12, 39, 320, 1, 1  }
->
{ …
Run Code Online (Sandbox Code Playgroud)

c++ data-structures

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

交互协调:onStop和onResume

我有两个活动.一个从数据库加载所有行,另一个保存到数据库.当我在onStop中进行第二次保存并且第一次重新计算onResume中的数据时,它们会不按顺序执行(第一次恢复然后第二次保存).我设法通过将保存数据放入onPause来解决这个问题,但为什么会发生这种情况呢?这是最干净的方法吗?

lifecycle android android-activity

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