问题列表 - 第6420页

包含转义引号的引号之间匹配的正则表达式

这本来是一个我想问的问题,但在研究问题的细节时,我找到了解决方案,并认为其他人可能会感兴趣.

在Apache中,完整请求是双引号,并且内部的任何引号始终使用反斜杠进行转义:

1.2.3.4 - - [15/Apr/2005:20:35:37 +0200] "GET /\" foo=bat\" HTTP/1.0" 400 299 "-" "-" "-"
Run Code Online (Sandbox Code Playgroud)

我正在尝试构建一个匹配所有不同字段的正则表达式.我当前的解决方案总是停在GET/ 之后的第一个引号上POST(实际上我只需要包括传输大小的所有值):

^(\d+\.\d+\.\d+\.\d+)\s+[^\s]+\s+[^\s]+\s+\[(\d+)/([A-Za-z]+)/(\d+):(\d+):(\d+):(\d+)\s+\+\d+\]\s+"[^"]+"\s+(\d+)\s+(\d+|-)
Run Code Online (Sandbox Code Playgroud)

我想我也会从我的PHP源代码中提供我的解决方案和更好的格式化解决方案:

$sPattern = ';^' .
    # ip address: 1
    '(\d+\.\d+\.\d+\.\d+)' .
    # ident and user id
    '\s+[^\s]+\s+[^\s]+\s+' .
    # 2 day/3 month/4 year:5 hh:6 mm:7 ss +timezone
    '\[(\d+)/([A-Za-z]+)/(\d+):(\d+):(\d+):(\d+)\s+\+\d+\]' .
    # whitespace
    '\s+' .
    # request uri
    '"[^"]+"' .
    # whitespace
    '\s+' .
    # 8 status code
    '(\d+)' .
    # whitespace
    '\s+' .
    # 9 bytes sent
    '(\d+|-)' …
Run Code Online (Sandbox Code Playgroud)

regex pcre

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

设置Win32控制台应用程序的库路径

当我尝试执行简单的“ HelloWorld” win32控制台应用程序时,出现“找不到dll:重新启动应用程序可能会解决问题”错误。我知道.dll的位置。从命令提示符执行.exe时如何指定其位置?

PS:将.dll复制到.exe的当前目录似乎可以解决问题,但是这种方法不适用于这种情况。

windows dll msdn

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

非空白字符的条带方法?

是否有Ruby/Rails函数将剥离某个用户定义字符的字符串?例如,如果我想删除我的引号"... text ..."

http://api.rubyonrails.org/classes/ActiveSupport/Multibyte/Chars.html#M000942

ruby string ruby-on-rails

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

如何使这个递归爬行函数迭代?

出于学术和性能的考虑,鉴于这种爬行递归式网页爬行功能(仅在给定域内进行爬网),使迭代运行的最佳方法是什么?目前运行时,当它完成时,python已经攀升到使用超过1GB的内存,而这在共享环境中运行是不可接受的.

   def crawl(self, url):
    "Get all URLS from which to scrape categories."
    try:
      links = BeautifulSoup(urllib2.urlopen(url)).findAll(Crawler._match_tag)
    except urllib2.HTTPError:
      return
    for link in links:
      for attr in link.attrs:
        if Crawler._match_attr(attr):
          if Crawler._is_category(attr):
            pass
          elif attr[1] not in self._crawled:
            self._crawled.append(attr[1])
            self.crawl(attr[1])
Run Code Online (Sandbox Code Playgroud)

python recursion web-crawler

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

ItemsPanelTemplate中的TemplateBinding

我正在Silverlight中构建一个自定义ItemsControl(其中包括)允许在运行时水平或垂直显示项目.如何将ItemsPanel的Orientation属性绑定到我的父控件的Orientation属性?我已经尝试过使用TemplateBinding(在ControlTemplate中工作)但似乎没有在ItemsPanelTemplate中工作,我做错了什么?

<Style TargetType="CustomItemsControl">
    <Setter Property="ItemsPanel">
        <Setter.Value>
            <ItemsPanelTemplate>
                <StackPanel Orientation="{TemplateBinding Orientation}" />
            </ItemsPanelTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

silverlight controls

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

如何解决松散耦合/依赖注入与富域模型之间的冲突?

编辑:这不是理论层面的冲突,而是实施层面的冲突.

另一个编辑: 问题是没有域模型作为仅数据/ DTO与更丰富,更复杂的对象映射,其中Order具有OrderItems和一些calculateTotal逻辑.具体问题是,例如,Order需要从中国的某些Web服务中获取OrderItem的最新批发价格(例如).所以你运行了一些Spring Service,允许在中国调用这个PriceQuery服务.Order具有calculateTotal,它遍历每个OrderItem,获取最新价格,并将其添加到总数中.

那么您如何确保每个订单都引用此PriceQuery服务?如何在反序列化,从DB加载和新实例化时恢复它?这是我的确切问题.

简单的方法是传递对calculateTotal方法的引用,但是如果您的Object在其生命周期内部使用此服务该怎么办?如果它在10种方法中使用怎么办?每次传递引用都很麻烦.

另一种方法是将calculateTotal移出Order并进入OrderService,但这会打破OO设计,我们将转向旧的"事务脚本"方式.

原帖:

简短版本: 富域对象需要引用许多组件,但这些对象会被持久化或序列化,因此它们对外部组件(在本例中为Spring bean:服务,存储库,任何东西)所持有的任何引用都是暂时的并且会被消除.当对象被反序列化或从DB加载时,需要重新注入它们,但这非常难看,我看不到一种优雅的方法.

更长的版本: 有一段时间了,我已经在Spring的帮助下练习了松耦合和DI.这对我保持可管理性和可测试性有很大帮助.不久前,我读了Domain-Driven Design和一些Martin Fowler.因此,我一直在尝试将我的域模型从简单的DTO(通常是表行的简单表示,只是数据无逻辑)转换为更丰富的域模型.

随着我的域增长并承担新的职责,我的域对象开始需要我在Spring上下文中使用的一些bean(服务,存储库,组件).这很快成为一场噩梦,也是转换为丰富域设计最困难的部分之一.

基本上我有一些点,我手动将应用程序上下文的引用注入我的域:

  • 当从Repository或其他负责实体加载对象时,因为组件引用是暂时的,显然不会被持久化
  • 从Factory创建对象时,因为新创建的对象缺少组件引用
  • 当对象在Quartz作业或其他某个地方被反序列化时,因为瞬态组件引用被擦除

首先,它很难看,因为我将对象传递给应用程序上下文引用,并希望它通过名称引用它所需的组件.这不是注射,而是直接拉动.

其次,它是丑陋的代码,因为在所有提到的地方我需要逻辑来注入appContext

第三,它容易出错,因为我必须记住为所有这些对象注入所有这些对象,这比听起来更难.

必须有一个更好的方法,我希望你能够对它有所了解.

java spring domain-driven-design dependency-injection

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

OOP术语:"容器"和"收藏"

C++术语"容器"只是Java术语"Collection"的同义词吗?

c++ java oop terminology

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

C#交叉线程操作错误

在用于模拟lan messenger的ac#程序中,我有一个beginreceive的回调函数,我需要显示在特定文本框中收到的文本.. this.textBox1.Text = sb.ToString(); 但是,这样做,我得到一个跨线程操作无效错误.我确实意识到我需要使用object.invoke方法但是你可以请我提供完整的代码来调用委托,因为在涉及线程时我仍然很天真.谢谢你

c# multithreading

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

最大化窗口大小

我有一个函数存储窗口的大小:

size_W = this.Width;
size_H = this.Height;
Run Code Online (Sandbox Code Playgroud)

当我调整窗口大小时,这没关系.但是,当使用最大化按钮时,窗口的大小无法正确存储..我该怎么做?

c#

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

C#/ VS2008:为项目添加单独的调试/发布引用

将用户控件或项目引用添加到VS 2008 C#项目时,我只能添加一个程序集配置.是否可以添加单独的配置,具体取决于容器项目的配置.

例如,我正在开发用户控件,我正在开发一个示例应用程序.我想添加用户控件,以便示例的调试版本将使用用户控件的调试版本,以及示例的发布版本和用户控件的版本构建.

有什么建议?

c# project visual-studio-2008

33
推荐指数
3
解决办法
7994
查看次数