问题列表 - 第36119页

Emacs中的cygwin shell - 输出搞砸了?

我在这里看到了如何启动cygwin shell的答案.但是,cygwin shell输出搞砸了.

(defun cygwin-shell ()
  "Run cygwin bash in shell mode."
  (interactive)
  (let ((explicit-shell-file-name "C:/cygwin/bin/bash"))
    (call-interactively 'shell)))
(setq  explicit-bash-args '("--login" "-i"))
Run Code Online (Sandbox Code Playgroud)

这是shell的示例输出

]0;~
seth@seth ~
$ cd ~
]0;~
seth@seth ~
$ dir
]0;~
seth@seth ~
Run Code Online (Sandbox Code Playgroud)

可以看出,输出被搞砸了.我该如何解决?

编辑:我只是注意到^ [] 0总是出现在每个命令的末尾\否则输出文本工作正常.无论如何要摆脱这个结局?

emacs cygwin

5
推荐指数
0
解决办法
1395
查看次数

这个问题NP难吗?

我正在尝试为这个问题提出一个合理的算法:

假设你有一堆球.每个球至少有一种颜色,但也可以是多色的.每个球上都有一个数字.还有一堆盒子,每个盒子只有一种颜色.目标是最大化盒子中球的数字总和,唯一的规则是:

  • 为了将球放在盒子里,它必须至少在盒子上有颜色
  • 你只能在每个盒子里放一个球.

例如,您可以将蓝色和绿色球放入蓝色框或绿色框中,但不能放入红色框中.

我想出了一些在运行时间方面有很大帮助的优化.例如,您可以按点值的降序对球进行排序.然后,当你从最高数字到最低数字,如果球只有一种颜色,并且没有其他高点球包含那种颜色,你可以把它放在那个盒子里(从而从那个盒子中取出那个盒子和那个球)剩下的组合).

我只是好奇是有这种类型的问题的某种动态算法,或者它只是伪装的旅行推销员问题.如果我知道最多有X种颜色会有用吗?任何帮助是极大的赞赏.谢谢!


编辑 - 这是一个简单的例子:

球:

  • 1个红球--5分
  • 1个蓝球 - 3分
  • 1个绿色/红色球 - 2分
  • 1个绿色/蓝色球 - 4分
  • 1个红色/蓝色球 - 1个点

盒:

  • 1红色
  • 1蓝色
  • 1绿色

最优方案:

  • 在红色框中的红球
  • 在蓝色框中的蓝色球
  • 绿色框中的绿色/蓝色球

    总价值:12分(5 + 3 + 4)

algorithm optimization dynamic-programming traveling-salesman

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

为什么Convert.ChangeType采用对象参数?

Convert自.NET 1.0级已经存在.IConvertible从那时起,界面也存在.

Convert.ChangeType方法适用于实现类型的对象IConvertible(事实上​​,除非我弄错了,否则类提供的所有转换方法Convert都是这样的).那么为什么参数类型object呢?

换句话说,而不是这样:

public object ChangeType(object value, Type conversionType);
Run Code Online (Sandbox Code Playgroud)

为什么签名不是这个?

public object ChangeType(IConvertible value, Type conversionType);
Run Code Online (Sandbox Code Playgroud)

对我来说似乎很奇怪.

.net changetype iconvertible

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

扩展Mono C#编译器:有没有任何文档或先例?

我目前正在参与一些有趣的编程语言研究,到目前为止,该研究主要围绕使用一些非常强大的基于程序员生产力的功能扩展即将推出的Java 7.0编译器.该工作应同样适用于相关的编程语言,如C#.

我目前正在寻找原型化C#端口功能的选项.我更喜欢开源选项,以便可以与最广泛的受众分享这项工作的成果.因此,Mono C#编译器似乎是最明显的起点.我是一位经验丰富的C#开发人员,所以编写代码不是问题.我主要关心的是以可维护和支持的方式扩展编译器.在关于这个主题的单声道常见问题解答(链接)中,声称"Mono已被用作尝试C#语言的新思想的基础(有三个或四个编译器派生自Mono的C#编译器)".不幸的是,没有比此更多的指示,到目前为止,谷歌的搜索还没有任何改变.

我想知道是否有任何人有这方面的任何信息.是mcs/ gmcs/ dmcs有一个标准的可扩展性模型?具体来说,我将在程序的抽象语法树上执行一些有趣的转换.是否有一种标准机制,用于在抽象语法树生成和类型检查器之间插入功能到编译器链中,然后生成代码?

到目前为止,我已经为代码编写了一些特别的扩展(主要是在代码生成器中),但这似乎不是一个可维护的解决方案,特别是考虑到我打算让我的扩展更新为Git主干单声道尽可能多.此外,能够更新我的扩展,而不必每次进行更改时都重新编译整个编译器,这将是很好的.我希望能够将我的所有AST操作包装到一个可由mcs/ gmcs/ 动态加载的.NET程序集中,dmcs而不必直接破解核心编译器代码.

任何有关扩展Mono C#编译器的想法或指示都将非常感激!

更新(2010年10月23日)

在回答我的问题时,我决定开始研究Mono的一个分支,以便为编译器创建一个简单的可扩展性模型.这是在它的早期阶段,但它在GitHub:

http://github.com/rcook/mono-extensibility

主要提交是:http://github.com/rcook/mono-extensibility/commit/a0456c852e48f6822e6bdad7b4d12a357ade0d01

如果有人有兴趣合作这个项目,请告诉我!

c# compiler-construction mono gmcs

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

Facemash算法

有谁知道Mark Zuckerberg在他的facemash网站中实现的facemash算法? http://www.thecrimson.com/article/2003/11/19/facemash-creator-survives-ad-board-the/

最好是在PHP和MySQL中.

php algorithm facebook

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

.Net DateTime.Now vs PostgreSQL时间戳比较

环境Mono,PostgreSQL,.Net MVC,Windows

我试着展示将来发生的所有事件.

为了做到这一点,我使用以下SQL:

NpgsqlCommand command = new NpgsqlCommand("SELECT * FROM dinners WHERE EventDate >= " + DateTime.Now, dinnerConn);
Run Code Online (Sandbox Code Playgroud)

现在,如果我从DB中比较DateTime.Now和我的EventDate时间戳,我得到以下内容

(EventDate) 12/18/2010 7:00:00 PM - (DateTime.Now) 10/2/2010 7:59:48 PM
Run Code Online (Sandbox Code Playgroud)

它们看起来很容易与我相提并论,但每当我运行此查询时,我都会得到以下结果:

ERROR: 42601: syntax error at or near "8"

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Npgsql.NpgsqlException: ERROR: 42601: syntax error at or near "8" …
Run Code Online (Sandbox Code Playgroud)

c# postgresql mono

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

Celery适用于许多小型分布式系统吗?

我正在编写一些软件,它将通过间歇性的3G(或类似)连接管理"现场"中的几百个小系统.

家庭基地将需要将作业发送到现场的系统(例如,"报告您的状态","更新您的软件"等),并且该领域的系统将需要将作业发送回服务器(例如, "已检测到故障","这里有一些数据"等).

我花了一些时间看Celery,它看起来非常合适:celeryd在家里运行可以为celeryd现场系统收集工作,现场系统上的运行可以为服务器收集工作,这些工作可能是随着客户的到来而交换.

那么,芹菜是否适合这个问题呢?特别:

  • 大多数任务将被定向到一个单独的工作人员(例如,"将'get_status'工作发送到'system51'") - 这会是一个问题吗?
  • 它是否优雅地处理不利的网络条件(例如,连接死亡)?
  • 只有将RabbitMQ用作后端时才能使用哪些功能?(我宁愿不在现场系统上运行RabbitMQ)
  • 如果我像我所描述的那样使用芹菜,那么芹菜是否会让我的生活变得困难?

谢谢!

(建议Celery是矫枉过正是有效的,但还有其他原因会让我的生活更轻松,所以我想考虑一下)

python celery

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

从Perl使用nohup时如何抑制系统输出?

在Perl中,我使用nohup命令启动进程.命令如下:

system("nohup myproc pe88 &");
Run Code Online (Sandbox Code Playgroud)

这工作正常,过程按预期开始.但是,我想抑制此命令的以下输出 - 这是:

Sending output to nohup.out
Run Code Online (Sandbox Code Playgroud)

我必须让这个过程将它的所有输出重定向到nohup.out,但我只是不想在运行我的Perl程序时显示它.我想改为打印我自己的用户友好消息.我尝试过一些变种,但对我来说没有任何效果.

perl

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

处理Android上的gzip压缩内容

我正在尝试使用DOM方法在Android上解析Web上的文件.

有问题的代码是:

try {
    URL url = new URL("https://www.beatport.com/en-US/xml/content/home/detail/1/welcome_to_beatport");

    InputSource is = new InputSource(url.openStream());

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document document = db.parse(is);
    document.getDocumentElement().normalize();
} catch(Exception e) {
    Log.v(TAG, "Exception = " + e);
}
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常:

V/XMLParseTest1(  846):Exception = org.xml.sax.SAXParseException: name expected (position:START_TAG <null>@2:176 in java.io.InputStreamReader@43ea4538) 
Run Code Online (Sandbox Code Playgroud)

该文件正在递给我gzipped.我检查了is调试器中的对象,其长度为6733字节(与响应头中文件的内容长度相同)但是如果我将文件从浏览器保存到我的硬盘,则其大小为59114字节.此外,如果我将它上传到我自己的服务器,当它为它们提供服务时没有gzip XML-s并设置URL,代码运行就好了.

我猜测会发生的事情是Android尝试解析gzip压缩流.

有没有办法先解压缩流?还有其他想法吗?

java android gzip

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

方法链劫持

这不是一个真正流畅的界面.我有一个构建方法堆栈的对象.哪个由单个函数调用执行.但现在我可能会添加另一个虚拟方法,它"接管"该方法堆栈.


使用案例:我将超级全球包裹在物体中.这允许我"强制"输入过滤.$ _GET和co提供简单的消毒方法.而我的新版本现在允许链接原子过滤器.例如:

$_GET->ascii->nocontrol->text["field"]
Run Code Online (Sandbox Code Playgroud)

这是一个方法调用.它使用尖括号.但这只是一个很好的技巧,可以简化重写任何内容$_GET["field"].无论如何.

现在偶尔也有枚举字段的形式,如字段[0],字段[1],字段[2].这就是为什么我添加了一个虚拟 - >数组过滤方法.它劫持了收集的方法堆栈,并在例如$ _POST数组值上迭代剩余的过滤器.例如$_POST->array->int["list"].

实施有些缩短:

function exec_chain ($data) {
    ...
    while ($filtername = array_pop($this->__filter)) {
    ...
        $data = $this->{"_$filtername"} ($data);
    ...
}

function _array($data) {
    list($multiplex, $this->__filter) = array($this->__filter, array());
    $data = (array) $data;
    foreach (array_keys($data) as $i) {
        $this->__filter = $multiplex;
        $data[$i] = $this->exec_chain($data[$i]);
    }
    return $data;
}
Run Code Online (Sandbox Code Playgroud)

方法堆栈在$this->__filter列表中组装.上面的exec_chain()只是循环遍历它,每次删除第一个方法名称.虚拟_array处理程序通常是第一种方法.它只是窃取了方法堆栈,并重新执行每个数组元素的余数.与上面的示例代码不完全相同,但它只是重复地重新填充原始方法堆栈.

有用.但感觉有点不干净.我正在考虑添加另一个虚拟方法->xor.(YAGNI?)哪个不会迭代字段,而是评估备用过滤器是否成功.例如$_REQUEST->array->xor->email->url["fields"].我想知道是否有更好的劫持功能列表模式.我当前的钩子列表($ this - > __ filter)交换不适合链接.嗯,实际上, - > xor示例不需要迭代/表现完全像 - >数组.

所以具体来说,我有兴趣找到一个替代我的$ this …

php

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