问题列表 - 第4781页

如何限制BASH脚本的运行时间

我有一个长期运行的BASH脚本,我在Windows上运行CYGWIN.

我想限制脚本运行30秒,如果超过此限制则自动终止.理想情况下,我希望能够对任何命令执行此操作.

例如:

sh-3.2$ limittime -t 30 'myscript.sh'
Run Code Online (Sandbox Code Playgroud)

要么

sh-3.2$ limittime -t 30 'grep func *.c'
Run Code Online (Sandbox Code Playgroud)

在cygwin下,ulimit命令似乎不起作用.

我对任何想法持开放态度.

bash cygwin

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

如何向InlineFormsets添加自定义字段?

我正在尝试使用以下代码将自定义字段添加到InlineFormset,但字段不会显示在Django Admin中.InlineFormset是否也被锁定以允许此操作?我的打印"ding"测试按预期触发,我可以打印出form.fields并在那里看到它们,但实际的字段永远不会在管理员中呈现.

admin.py

from django.contrib import admin
import models
from django.forms.models import BaseInlineFormSet
from django import forms
from forms import ProgressForm
from django.template.defaultfilters import slugify

class ProgressInlineFormset(BaseInlineFormSet):
    def add_fields(self, form, index):
        print "ding"
        super(ProgressInlineFormset, self).add_fields(form, index)
        for criterion in models.Criterion.objects.all():
            form.fields[slugify(criterion.name)] = forms.IntegerField(label=criterion.name)

class ProgressInline(admin.TabularInline):
    model = models.Progress
    extra = 8
    formset = ProgressInlineFormset

class ReportAdmin(admin.ModelAdmin):
    list_display = ("name", "pdf_column",)
    search_fields = ["name",]
    inlines = (ProgressInline,)

admin.site.register(models.Report, ReportAdmin)
Run Code Online (Sandbox Code Playgroud)

python django field formset inline-formset

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

用于创建C/C++解析器/分析器的好工具

有什么好的工具可以快速开始解析和分析C/C++代码?

特别是,我正在寻找处理C/C++预处理器和语言的开源工具.优选地,这些工具将使用lex/yacc(或flex/bison)用于语法,并且不会太复杂.他们应该处理最新的ANSI C/C++定义.

这是我到目前为止所发现的,但没有详细查看它们(想法?):

  • CScope - 老式C分析仪.但是,似乎没有做完整的解析.被描述为寻找C函数的美化'grep'.
  • GCC - 每个人最喜欢的开源编译器.非常复杂,但似乎做到了这一切.有一个相关项目用于创建名为GEM的 GCC扩展,但自GCC 4.1(2006)以来尚未更新.
  • PUMA - PUre MAnipulator.(来自页面:"这个项目的目的是提供一个用于分析和操作C/C++源代码的类库.为此,PUMA提供了用于扫描,解析和操作C/C++源代码的类.") .这看起来很有希望,但自2001年以来一直没有更新.显然PUMA已被纳入AspectC++,但即使这个项目自2006年以来也没有更新.
  • 各种C/C++原始语法.你可以得到c-c ++ - grammars-1.2.tar.gz,但自1997年以来一直没有得到维护.谷歌的一些搜索引出了其他可以作为起点的基本lex/yacc语法.
  • 还有其他人?

我希望将此作为将C/C++源代码翻译成新玩具语言的起点.

谢谢!-Matt

(已添加2/9):只是澄清:除了C/C++代码本身之外,我还希望从预处理器中提取语义信息.我不希望"#define foo 42"消失在整数"42"中,但仍然附加到名称"foo".不幸的是,这排除了几个首先运行预处理器并且只提供C/C++解析树的解决方案.

c c++ parsing yacc lex

49
推荐指数
8
解决办法
6万
查看次数

为什么我收到编译错误"<variable>未在此范围内声明"?

我之前的第一个C++程序(这个)遇到了一些问题.基本上我正在尝试为C++课程做一个任务,教授告诉我们没有语法.这是我现在的代码:

#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>


using namespace std;
class Race
{
  public:
     void main()
     {

        executeRace();

        int randomMove()
        {
                srand(time(NULL));
                int randomInt = rand() % 100 + 1;
                return randomInt;
        }

        void executeRace()
        {
                int rabbitPosition = 1;
                int turtlePosition = 1;

                cout << "BANG!!!" << endl << "AND THEY'RE OFF!!!";

                while (rabbitPosition <=70 && turtlePosition <=70)
                {
                        printPositions(rabbitPosition, turtlePosition);

                        turtlePosition = turtleMoveSquares(turtlePosition);
                        rabbitPosition = rabbitMoveSquares(rabbitPosition);
                }

                printWinner(rabbitPosition, turtlePosition);

                tie(rabbitPosition, turtlePosition);
        }

        int turtleMoveSquares(int tPosition)
        { …
Run Code Online (Sandbox Code Playgroud)

c++ compilation

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

为什么在Apache中设置虚拟主机后,http:// localhost会重定向到我的默认虚拟主机?

这可能是一个简单的问题,但我想更好地理解Apache如何与虚拟主机一起工作.我正在设置虚拟主机,因为我一次在多个网站上工作,我不想使用子目录.我几乎使用默认的Apache httpd.conf文件,DocumentRoot指向"/ www"之类的东西.我取消注释虚拟主机包括并添加以下内容:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName site1.dev
    DocumentRoot /www/site1
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.dev
    DocumentRoot /www/site2
</VirtualHost>

现在,当我访问http:// localhost时,我得到了site1的默认页面.

我确信这是有道理的,但我不太明白.我原以为只有明确要求http://site1.test的请求才会通过该指令进行路由,它不会成为默认值.有人可以解释为什么它成为默认值.

apache http

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

加入12列的最简单方法是什么?

我有12个由制表符分隔的列.我怎样才能并排加入他们?

[已添加]您也可以告诉我其他方法为AWK:越快越好.

scripting awk text

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

我应该如何部署MFC应用程序?

我在VS 2008 Express中创建了一个应用程序作为MFC应用程序,只是为了利用简单的GUI创建.我可能在纯win32中重新做这个应用程序,因为没有使用其他MFC类(只是一个按钮和一个文本框,按钮触发主程序,所有win32).我唯一的问题是确定我是否留在MFC或将其移植到纯win32是这样的:

部署MFC应用程序有多难?我需要做什么(在VS 2008中)以确保它在另一台机器上运行?

c++ winapi mfc visual-studio-2008 visual-studio

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

如何让vim对文件名执行正常(bash like)选项卡完成?

当我在vim中打开一个新文件并使用tab完成时,它会完成整个文件名而不是像bash那样进行部分匹配.有没有选项使这个文件名选项卡完成工作更像bash?

vim

277
推荐指数
5
解决办法
6万
查看次数

ASP.NET MVC框架中的缓存

我在使用ASP.NET MVC框架时相当新,并且希望在缓存我的MVC Web应用程序的各个部分时能够找到一些关于最佳实践的帮助.我知道堆栈溢出使用MVC和一些相当漂亮的令人敬畏的缓存技术,并且它的MILES比我的应用程序更快,即使在本地运行时也是如此.

我有几个问题.

  1. 缓存实际上是如何工作的,以及如何"启用"它,以及各种选项有哪些.什么是最好的缓存使用?

  2. 我的应用程序有很多数据库事务,列表定期更改.我担心页面刷新的严重性,用户没有获得最新版本的数据.什么是在Web应用程序速度和显示"最新"数据之间取得平衡的最佳方法?你们在处理这个问题时发现了哪些最佳做法?

  3. 如何使用不同的缓存设置缓存不同的部分(我假设视图)?我假设它可以用子控制器完成,但我有NFI如何去做这个.

  4. 我正在使用Castle.Windor集成到控制器,我不确定这是否会改变任何东西.

  5. 我们将非常感谢任何其他需要警惕/谨慎注意事项的最佳做法.

asp.net-mvc caching castle-windsor c#-3.0

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

使用TouchXML在Cocoa中获取Element的值

我正在使用TouchXml,因为NSXML在实际的iPhone上存在限制.无论如何,我刚刚开始使用Objective-C,我来自C#背景,感觉就像在学习一些新东西......但是......这是我的xml文件......

<?xml version="1.0" encoding="utf-8"?>
<FundInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/webservices">
  <FundsReleaseDate>2009-02-11T00:00:00</FundsReleaseDate>
  <FundValue>7800</FundValue>
  <FundShares>1000</FundShares>
</FundInfo>
Run Code Online (Sandbox Code Playgroud)

我想获得7800,即FundValue.有人点我在正确的方向,我现在用的是TouchXml CXMLDocument和myParser的类型是CXMLDocument的,我曾尝试

NSArray *nodes = [myParser nodesForXPath:@"//FundInfo" error:&err];
Run Code Online (Sandbox Code Playgroud)

基本上节点的评估结果为零

if ([nodes count] > 0 ) {
    amount = [nodes objectAtIndex:1];
}
Run Code Online (Sandbox Code Playgroud)

更新1:我已经使用XPath放弃解析,并用的NSURLRequest取代它,所以现在我有一个字符串在整个XML,但我的粗鲁介绍客观-C继续...我只是意识到如何撒娇我已经成为了.NET BCL,像Regex这样的东西很容易获得.

UPDATE2:我已经想通了如何使用RegexKitLite的正则表达式.

所以,现在的问题是,我该如何获得"7800"由内FundValue现在是一个大的字符串.我已确认我有它在我的NSString使用NSLog的写它.

cocoa-touch touchxml

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