小编X-I*_*nce的帖子

存储霍夫曼树的有效方法

我正在编写一个霍夫曼编码/解码工具,我正在寻找一种有效的方法来存储创建的存储在输出文件内部的霍夫曼树.

目前我正在实施两种不同的版本.

  1. 这个文件逐个字符地将整个文件读入内存,并为整个文档构建频率表.这只需要输出一次树,因此除了输入文件很小之外,效率不是很大的问题.
  2. 我正在使用的另一种方法是读取一块大小为64千字节的数据,并对其进行频率分析,创建一个树并对其进行编码.但是,在这种情况下,在每个块之前,我将需要输出我的频率树,以便解码器能够重新构建其树并正确解码编码文件.这是效率确实到位的地方,因为我想节省尽可能多的空间.

到目前为止,在我的搜索中,我还没有找到一种在尽可能小的空间中存储树的好方法,我希望StackOverflow社区可以帮助我找到一个好的解决方案!

c++ performance huffman-code

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

错误:`itoa`未在此范围内声明

我有一个名为itoa.cpp的示例c文件,如下所示:

#include <stdio.h>
#include <stdlib.h>

int main ()
{
  int i;
  char buffer [33];
  printf ("Enter a number: ");
  scanf ("%d",&i);
  itoa (i,buffer,10);
  printf ("decimal: %s\n",buffer);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令编译上面的代码时:

gcc itoa.cpp -o itoa

我收到此错误:

[root@inhyuvelite1 u02]# gcc itoa.cpp -o itoa
itoa.cpp: In function "int main()":
itoa.cpp:10: error: "itoa" was not declared in this scope

这段代码有什么问题?如何摆脱这个?

c

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

在LLDB中为英特尔设置反汇编风格

有没有办法像LDBB中的GDB那样设置反汇编的味道,以便它吐出英特尔风格的汇编而不是AT&T风格?

set disassembly-flavor intel # GDB
Run Code Online (Sandbox Code Playgroud)

但是对于LLDB.

gdb llvm lldb

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

有没有更好的方法在Pyramid中切换HTML和JSON输出?

# /test{.format} no longer seems to work...
config.add_route('test', '/test.{ext}', view='ms.views.test')
Run Code Online (Sandbox Code Playgroud)

views.py:

from pyramid.response import Response
from pyramid.renderers import render

import json

def test(request):
    extension = request.matchdict['ext']
    variables = {'name' : 'blah', 'asd' : 'sdf'}

    if extension == 'html':
        output = render('mypackage:templates/blah.pt', variables, request=request)

    if extension == 'json':
        output = json.dumps(variables)

    return Response(output)
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?有了Pylons,它很简单:

def test(self, format='html'):
    c.variables = {'a' : '1', 'b' : '2'}

    if format == 'json':
        return json.dumps(c.variables)

    return render('/templates/blah.html')
Run Code Online (Sandbox Code Playgroud)

我怀疑我接近这个错误的方式......?

python api pylons pyramid

20
推荐指数
2
解决办法
7250
查看次数

PHP会话劫持

我有一个关于PHP中会话劫持的问题.我今天早上一直在阅读这篇文章,我有一些问题在我阅读的文档中没有得到明确解答.

用户可以在我的网站上更改会话吗?即如果他们在登录时有X会话,他们是否可以将该会话更改为Y或Z,如果他们选择的话?

我认为这些会话是由浏览器设置的,并且它们无法更改,但所有这些会话劫持我一直在阅读的内容都让我产生了一些疑问.

php session

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

React-Bootstrap向Button添加pull-right

我有以下使用React-Bootstrap的JSX:

<Button bsStyle="danger pull-right" bsSize="small" onClick={() => {alert('do stuff')}}>
    <Glyphicon glyph="trash" />
</Button>
Run Code Online (Sandbox Code Playgroud)

但是,这将在控制台中显示警告:

Warning: Failed prop type: Invalid prop `bsStyle` of value `danger pull-right` supplied to `Button`, expected one of ["success","warning","danger","info","default","primary","link"].
Run Code Online (Sandbox Code Playgroud)

添加pull-right到样式列表的最佳方法是什么?

上面的代码确实有效,但我不希望在我的控制台中有任何警告.

react-bootstrap

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

在Textmate for Python中突出显示尾随空格?

我想这样做这样 TextMate的提示,使尾随空白在某种程度上总是强调,当我在Python代码的东西-它可以更容易地立即纠正它和其他的编辑器如Emacs可以做到这一点.

不幸的是,那篇文章之后的讨论似乎表明它很难做到.对我来说,invalid.trailing-whitespace遵循此提示后,范围选择器甚至在首选项中都不可见.有没有人有这个成功?

python macos textmate

11
推荐指数
2
解决办法
1985
查看次数

当读取bash中的管道时,"读取"没有超时

我使用创建管道

mkfifo /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud)

现在,我想尝试从管道读取最多2秒,所以我执行

read -t 2 line < /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud)

超时不会发生.读只是坐在那里等待管道的输入.

手册说'read'应该与命名管道一起使用.有谁知道为什么会这样?

ls -al /tmp/foo.pipe
prw-r----- 1 foo bar 0 Jun 22 19:06 /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud)

bash timeout

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

亚马逊简单存储服务的可负担性(S3)

我有一个网站每月吸引大约30,000名访客.它有很多照片和PDF文件占用了大量的带宽.它由site5.com托管,提供每月约5美元的无限带宽和存储空间.根据site5的统计数据,我的网站每天有大约20 GB的下载量,但我已经看到它高达116 GB.上传范围从每天5-15 GB.(虽然,我不是每天都上传的东西,所以我不知道他们从哪里获得这些数字.)

由于期望通过托管视频,高分辨率照片等来增加我的网站,我正在研究其他存储选项,即使site5非常好.具体来说,amazon.com的简单存储服务(S3)看起来相当不错,应该是一个"高度可扩展,可靠,快速,廉价的数据存储基础架构".

使用亚马逊的简单月度计算器,我乘以最糟糕的情景数字:

Storage: 2 GB
Data Transfer-in: 15 GB/day * 31 days = 465 GB/month
Data Transfer-out: 116 GB/day * 31 days = 3596 GB/month
Run Code Online (Sandbox Code Playgroud)

仅凭这些数字,计算器估计我的每月账单高达658.27美元!!! 那太疯狂了!有人在这里使用S3吗?你的账单是否令人发指?

amazon-s3

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

SQLAlchemy将具有聚合函数的列添加到动态加载程序列表(AppenderQuery)

我得到一个不正确的记录集,同时添加一个像func.sum动态关系一样的聚合函数.我在下面列出了一个示例代码来演示这一点.

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
    relationship,
    scoped_session,
    sessionmaker,
    backref
    )
from sqlalchemy import (
    create_engine,
    Table,
    Column,
    Integer,
    String,
    ForeignKey,
    func
)
from zope.sqlalchemy import ZopeTransactionExtension
import transaction

Base = declarative_base()
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    userid = Column(String(15), unique=True, nullable=False)
    article_list = relationship("Article", backref="user", lazy="dynamic")

class Tag(Base):
    __tablename__ = 'tags'

    id = Column(Integer, primary_key=True)
    name = Column(String(25), nullable=False, unique=True)

class Article(Base):
    __tablename__ = 'articles'

    id = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

6
推荐指数
0
解决办法
882
查看次数