小编ste*_*ott的帖子

如何查看使用svn设置的所有忽略模式:在SVN存储库中递归忽略?

我看到可以使用proplist和-R标志(递归)和-v标志(详细)查看SVN存储库中每个目录上设置的属性列表:

svn proplist -Rv
Run Code Online (Sandbox Code Playgroud)

这显示了所有属性,例如svn:mime-type或svn:executable.我想过滤这个只是svn:ignore属性.我确信有一些方法可以通过一个shell命令来管理这个命令的结果,这个命令只能显示我感兴趣的行,但是我无法弄清楚如何去做.作为最有用的东西类型的例子是这样的某种类型的命令(但是这个不起作用!).

svn proplist -Rv | grep "^  svn:ignore" | awk "{print \$1}"
Run Code Online (Sandbox Code Playgroud)

我只是不太了解像grepawk这样的shell命令,这对我有用.这只是一遍又一遍地显示"svn:ignore",但它不会打印出目录路径或svn:ignore属性的内容.以下是我想要获取的"svn proplist -Rv"输出的示例,其中'cache'是路径,'*'是属性的值.

Properties on 'cache':
  svn:ignore
    *
Run Code Online (Sandbox Code Playgroud)

如何使上述命令起作用和/或是否有更好的方法来查看svn:ignore我的存储库中的所有属性?

svn awk grep

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

如何使用define_method指定方法默认参数?

define_method 可用于定义方法:

define_method(:m) do |a|
end
Run Code Online (Sandbox Code Playgroud)

这相当于以下内容:

def m(a)
end
Run Code Online (Sandbox Code Playgroud)

但是,以下使用的等效形式是什么define_method:

def m(a=false)
end
Run Code Online (Sandbox Code Playgroud)

请注意,我需要能够在m()不给出任何参数的情况下进行调用.

ruby

34
推荐指数
2
解决办法
7852
查看次数

Dalli vs Redis-Store for Rails App

我一直在使用Dalli进行缓存,今天我遇到了Redis -Store.

我想知道我应该切换到redisstore.我的应用程序已经使用redis来处理某些东西,所以我有一个redis服务器,它相当大(在资源方面),我还有另一个memcached服务器.因此,如果我在哪里切换到redis-store,那就意味着我可以删除memcached服务器(减少服务器维护+更少的成本).

有谁做过这两种解决方案的比较.

  1. 性能
  2. 它是一个直接替代品(我可以随时在这两个之间切换而无需更改代码)
  3. 我应该知道的任何其他东西.

memcached ruby-on-rails redis ruby-on-rails-3.1

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

使用PHP SoapClient类映射选项,其中WSDL包含具有相同名称的元素和complexType

我遇到了一些不同的WSDL文件,其中包含一个元素和一个具有相同名称的complexType.例如,http://soap.search.msn.com/webservices.asmx?wsdl有两个名为"SearchResponse"的实体:

在这种情况下,我无法弄清楚如何使用SoapClient()"classmaps"选项将这些实体正确映射到PHP类.

PHP手册说:

classmap选项可用于将某些WSDL类型映射到PHP类.此选项必须是一个数组,其中WSDL类型作为键,PHP类的名称作为值.

不幸的是,由于有两个具有相同密钥的WSDL类型('SearchResponse'),我无法弄清楚如何区分两个SearchResponse实体并将它们分配给相应的PHP类.

例如,以下是示例WSDL的相关代码段:

<xsd:complexType name="SearchResponse">
    <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="Responses" type="tns:ArrayOfSourceResponseResponses"/>
    </xsd:sequence>
</xsd:complexType>

<xsd:element name="SearchResponse">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Response" type="tns:SearchResponse"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

这里的PHP显然不起作用,因为类映射键是相同的:

<?php $server = new SoapClient("http://soap.search.msn.com/webservices.asmx?wsdl", array('classmap' => array('SearchResponse' => 'MySearchResponseElement', 'SearchResponse' => 'MySearchResponseComplexType'))); ?>
Run Code Online (Sandbox Code Playgroud)

在搜索解决方案时,我发现Java Web Services通过允许您为"Element"或"ComplexType"实体指定自定义后缀来处理此问题.

http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html#wp149350

所以,现在我觉得没有办法用PHP的SoapClient做到这一点,但我很好奇是否有人可以提供任何建议.FWIW,我无法编辑远程WDSL.

有任何想法吗???

php soap wsdl soap-client

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

可以避免Heroku上的ActiveRecord :: ConnectionTimeoutError?

在Heroku上我有一个rails应用程序运行,有两个web dynos以及一个worker dyno.我在Sidekiq上全天运行数千个工作任务,但偶尔会引发ActiveRecord :: ConnectionTimeoutError(大约每天50次).我按如下方式设置了我的独角兽服务器

worker_processes 4
timeout 30
preload_app true

before_fork do |server, worker|
    # As suggested here: https://devcenter.heroku.com/articles/rails-unicorn
    Signal.trap 'TERM' do
        puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
        Process.kill 'QUIT', Process.pid
    end

    if defined?(ActiveRecord::Base)
        ActiveRecord::Base.connection.disconnect!
    end
end

after_fork do |server,worker|
    if defined?(ActiveRecord::Base)
        config = Rails.application.config.database_configuration[Rails.env]
        config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10 # seconds
        config['pool']            = ENV['DB_POOL'] || 10
        ActiveRecord::Base.establish_connection(config)
    end

    Sidekiq.configure_client do |config|
        config.redis = { :size => 1 }
    end

    Sidekiq.configure_server do |config|
        config = …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails heroku unicorn sidekiq

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

是否可以从机架中间件调用 rails 模型方法?

def inside_rack_middleware
  MyModel.update_attributes(:ip => request.ip)
  redirect somewhere else
end
Run Code Online (Sandbox Code Playgroud)

那可能吗?

rack ruby-on-rails

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

我需要一个示例在rails 3.0中运行更新查询

如何在Rails中执行以下更新查询?我想在数据库中使用单个更新查询执行此操作.在伪代码中,我会写:

update answers set user_id = @user.id where answered_by=@user.email and user_id = 0
Run Code Online (Sandbox Code Playgroud)

在SQL中它可能是这样的:

UPDATE `answers` SET user_id = '123' WHERE answered_by = 'email@example.com' and user_id = 0
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3

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