问题列表 - 第28516页

有没有办法将Ruby Net :: HTTP请求附加到特定的IP地址/网络接口?

我正在寻找一种方法,使用标准Net :: HTTP库为每个GET请求使用不同的IP地址.服务器有5个IP地址,并假设某些API在达到每个IP的请求限制时阻止访问.所以,只有这样做 - 使用另一台服务器.我在ruby docs中找不到任何关于它的东西.

例如,curl允许您将其附加到特定的IP地址(在PHP中):

$req = curl_init($url)
curl_setopt($req, CURLOPT_INTERFACE, 'ip.address.goes.here';
$result = curl_exec($req);
Run Code Online (Sandbox Code Playgroud)

有没有办法用Net :: HTTP库做到这一点?作为替代 - CURB(红宝石卷曲绑定).但这将是我将尝试的最后一件事.

建议/想法?

PS使用CURB的解决方案(带有脏测试,ip被替换):

require 'rubygems'
require 'curb'

ip_addresses = [
  '1.1.1.1',
  '2.2.2.2',
  '3.3.3.3',
  '4.4.4.4',
  '5.5.5.5'
]

ip_addresses.each do |address|
  url = 'http://www.ip-adress.com/'
  c = Curl::Easy.new(url)
  c.interface = address
  c.perform
  ip = c.body_str.scan(/<h2>My IP address is: ([\d\.]{1,})<\/h2>/).first
  puts "for #{address} got response: #{ip}"
end
Run Code Online (Sandbox Code Playgroud)

ruby http-request

12
推荐指数
2
解决办法
2876
查看次数

在做TDD时,我应该对"做最简单可能的工作"有多严格

对于TDD,你必须这样做

  1. 创建失败的测试
  2. 做最简单的事情可以通过测试
  3. 添加更多测试变体并重复
  4. 当模式出现时重构

有了这种方法,你想要覆盖所有的情况(至少在我脑海中浮现),但我想知道我是否在这里过于严格,如果有可能"提前思考" 一些场景而不是简单发现它们.

例如,我正在处理一个文件,如果它不符合某种格式,我会抛出一个 InvalidFormatException

所以我的第一个测试是:

@Test 
void testFormat(){
    // empty doesn't do anything nor throw anything
    processor.validate("empty.txt"); 
    try {
        processor.validate("invalid.txt");
        assert false: "Should have thrown InvalidFormatException";
    } catch( InvalidFormatException ife ) {
        assert "Invalid format".equals( ife.getMessage() );
    }
 }
Run Code Online (Sandbox Code Playgroud)

我运行它并失败,因为它不会抛出异常.

因此,我想到的下一件事是: "尽可能做最简单的事情",所以我:

public void validate( String fileName ) throws InvalidFormatException {
    if(fileName.equals("invalid.txt") {
        throw new InvalidFormatException("Invalid format");
    }
}
Run Code Online (Sandbox Code Playgroud)

卫生署!(虽然真正的代码有点复杂,我发现自己做了几次这样的事情)

我知道我最终必须添加另一个文件名和其他测试,这会使这种方法变得不切实际,这将迫使我重构一些有意义的东西(如果我理解正确是TDD的重点,发现模式的用法推出)但是:

问:我是否过于字面意思"做最简单的事情......"的事情?

language-agnostic tdd

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

在activeX对象上放置一个div

我有一个需要弹出ActiveX对象的div框,但似乎ActiveX对象具有无限高的z-index,即使我将该索引设置为低时也是如此.我的div框继续显示在ActiveX对象下.有任何想法吗?

html activex

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

当我右键单击它时,如何阻止ListBox选择项目?

棘手的部分是每个项目都有一个ContextMenu我仍然想要在右键单击时打开的项目(我只是不希望它选择它).

事实上,如果它让事情变得更容易,我根本不需要任何自动选择,所以如果有某种方式我可以完全禁用它,那就没事了.

我只想切换到一个ItemsControl实际的,只要我可以使用虚拟化和滚动来使用它.

.net c# wpf listbox

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

Facebook Graph API + Facebook页面

使用Facebook的Graph API,给定用户名xyz(假设他们已经对我的网站进行了身份验证),如何获取用户管理的所有Facebook页面的列表?

facebook facebook-graph-api

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

iPhone的Safari或UIWebView上的Youtube视频自动播放

是否可以在Safari和/或UIWebView上自动播放youtube视频?我已经在iPhone应用程序中看到了这一点,tableview显示没有Youtube预览图标的单元格(非常确定它是UIWebView虽然),当你点击单元格时,它直接进入视频.

这可以通过在youtube视频上点击一下来完成吗?如果是这样,怎么样?请问getElementById().点击工作?

javascript iphone uiwebview

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

Perl FIRSTKEY和NEXTKEY如何工作?

Tie :: Hash有这些:

sub FIRSTKEY { my $a = scalar keys %{$_[0]}; each %{$_[0]} }
sub NEXTKEY  { each %{$_[0]} }
Run Code Online (Sandbox Code Playgroud)

NEXTKEY有两个参数,其中一个是最后一个键,但arg从未被引用过?

除了perltie之外,各种各样的Tie文档并没有说明这一点:

my $a = keys %{$self->{LIST}};      # reset each() iterator
Run Code Online (Sandbox Code Playgroud)

查看每个文档并不会增加这一点.

这是怎么回事?

perl

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

OOP C#问题:制作水果梨

鉴于我有一个设置了一些属性的Fruit实例,并且我想将这些属性放入一个新的Pear实例中(因为这个特殊的Fruit恰好具有梨的特性),实现这种效果的最佳方法是什么?

例如,我们不能做的只是简单地将水果浇到梨上,因为不是所有的水果都是梨:

public static class PearGenerator {
    public static Pear CreatePear () {

        // Make a new generic fruit.
        Fruit genericFruit = new Fruit();

        // Upcast it to a pear. (Throws exception: Can't cast a Fruit to a Pear.)
        Pear pear = (Pear)genericFruit;

        // Return freshly grown pear.
        return ( pear );
    }
}

public class Fruit {
    // some code
}

public class Pear : Fruit {

    public void PutInPie () {
        // some code
    }

}
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新: …

.net c# oop

4
推荐指数
3
解决办法
607
查看次数

Accessing HttpApplication.Application variables from a class

I set up various global parameters in Global.asax, as such:

Application["PagePolicies"] = "~/Lab/Policies.aspx";
Application["PageShare"] = "/Share.aspx";
Application["FileSearchQueries"] = Server.MapPath("~/Resources/SearchQueries.xml");
...
Run Code Online (Sandbox Code Playgroud)

I have no problem accessing these variables form .ascx.cs or .aspx.cs file -- ie. files that are part of the Web content. However, I can't seem to access 'Application' from basic class objects (ie. standalone .cs files). I read somewhere to use a slight variations in .cs files, as follows, but it always comes throws an exception when in use: …

c# asp.net caching session-variables

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

NES编程 - 名称表?

我想知道NES如何显示其图形肌肉.我已经在线研究过这些东西,并通过它阅读,但我想知道最后一件事:Nametables.

基本上,根据我的阅读,NES名称表中的每个8x8块指向模式表中的一个位置,该位置保存图形内存.此外,名称表还有一个属性表,为每个16x16块设置特定的调色板.他们像这样联系在一起:

(假设16个8x8块)Nametable,ABCD =指向精灵数据的指针:

ABBB
CDCC
DDDD
DDDD
Run Code Online (Sandbox Code Playgroud)

属性表,1 2 3 =指向调色板数据的指针,<左侧引用值,上方^,左侧和上方:

1<2<
^'^'
3<3<
^'^'
Run Code Online (Sandbox Code Playgroud)

因此,在上面的示例中,块将被着色

1A 1B 2B 2B

1C 1D 2C 2C

3D 3D 3D 3D

3D 3D 3D 3D
Run Code Online (Sandbox Code Playgroud)

现在,如果我在固定的屏幕上有这个 - 它很棒!因为NES分辨率是256x240像素.现在,这些表如何调整滚动?

因为Nametable 0可以滚动到Nametable 1,如果你继续滚动Nametable 0将再次回滚.我得到了.但我没有得到的是如何滚动属性表包装.从我在网上看到的情况来看,它分配属性的16x16块会导致屏幕边缘区域的颜色失真(如左右滚动时反映,SMB3反之亦然).

我关心的是我了解如何滚动名称表,但是如何滚动属性表?对于intsance,如果我在屏幕的左侧有一个绿色块,将屏幕向右移动理论上应该使右侧的瓷砖变为绿色,直到它们移动到框架中,然后它们将恢复到他们的正常颜色.

~~~~编辑:我想指出我知道扫描线,X和Y.这个想法刚刚贯穿我的脑海.

假设我的扫描线Y为10.这意味着我正在水平地读取10个值到我的名字表中.这意味着我的第一列不在屏幕上,因为它只有8的像素宽度.但是,颜色属性保持不变,因为它的宽度为16.

假设整个列的颜色属性为绿色,我认为对用户来说是正确的,屏幕左边的前6个像素是绿色,屏幕最右边的10个也应该是绿色的?那么,根据屏幕,左边的假设我是否正确?

sprite tile nintendo graphic

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