小编Mat*_*att的帖子

make(chan bool)与make(chan bool,1)的行为有何不同?

我的问题来自尝试阅读一个频道,如果可以的话,或者如果可以的话,使用一个select声明来写它.

我知道指定的通道make(chan bool, 1)是缓冲的,我的问题的一部分是它之间的区别,并且make(chan bool)- 这个页面所说的是同样的东西make(chan bool, 0)- 一个可以适合0值的通道的点是什么它?

操场A:

chanFoo := make(chan bool)

for i := 0; i < 5; i++ {
    select {
    case <-chanFoo:
        fmt.Println("Read")
    case chanFoo <- true:
        fmt.Println("Write")
    default:
        fmt.Println("Neither")
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

Neither
Neither
Neither
Neither
Neither
Run Code Online (Sandbox Code Playgroud)

(删除default案例会导致死锁!!)

现在看到游乐场B:

chanFoo := make(chan bool, 1)   // the only difference is the buffer size of 1

for i := 0; i …
Run Code Online (Sandbox Code Playgroud)

channel go

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

自由形式文本的通用地址解析器

我们有一个显示地图数据的程序(想想谷歌地图,但我们的客户有更多的交互性和自定义图层).

我们允许通过一组组合框进行导航,这些组合框用一堆数据预填充某些字段(即:国家:加拿大,填写省字段.选择安大略省,并填写县/区域列表.选择县/地区,城市填写等...).

虽然这可以保证准确的地址,但如果用户不知道街道地址或城市所在的位置(即哪个县/地区是厨房用户?),则会给用户带来痛苦.

因此,我们正在尝试使用自由格式文本字段来执行地址解析器.

用户可以输入类似这样的内容(类似于Google地图,Bing地图等):22 Main St,Kitchener,On

我们可以将它划分为多个部分并对数据进行查找并找到他们正在寻找的点(或建议替代方案).

问题在于我们如何正确划分信息?我们如何分解这些部分并找到可能的匹配?我猜我们不能保证用户会以我们一直期望的格式输入数据(显然).如果我们找不到完全匹配(或者找到多个完全匹配......例如,在不同的县中具有相同街道名称的两个城市),则对此进行跟进将是如何呈现数据.

我们在地图数据中有大量数据(主要是mapinfo标签格式).所以我们可以对街道名称,城市,州等进行快速扫描.但我不确定解决这个问题的最佳方法.当然,使用谷歌地图会很好,因为我们的大多数客户都处于封闭的网络中,通常不允许外部访问,大多数人不愿意依赖谷歌地图(因为它不包含他们需要的太多信息) ,例如自定义地图图层).显然,他们可以去谷歌并获得正确的位置然后转移到我们的软件,但这将耗费时间并且过程的速度非常重要.

gis algorithm parsing street-address

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

用于输入地址的自动填充文本框是个好主意吗?

通过传统形式输入我的地址让我发疯:

  • 当我的邮政编码可以推断出我的城市和州时,为什么我必须输入我的城市,州邮政编码?
  • 从下拉列表中选择你的状态是一个痛苦的屁股 - 通常你不能插入它,你必须使用鼠标等.

替代文字http://img10.imageshack.us/img10/7404/traditionaladdressform.png

因为我发现这个过程如此令人厌恶,当我设计我的在线商店(bombsheets.com)时,我决定为地址构建一个自动完成的小部件.在您输入时,我们会尝试对您的地址进行地理编码(通过Google地图):

alt text http://img403.imageshack.us/img403/9333/addressautocomplete.png

在最好的情况下,这非常有效.如果您的地址是"120 W 45th St,New York,NY 10036,USA",您可以输入短至"120 w 45th st,nyc"的内容输入.

但是,据我所知,我们是唯一使用此界面的在线商店.我很好奇它是否缺乏使用意味着这个想法在某种程度上是有缺陷的.一些潜在的问题:

  1. 太外国/不熟悉.客户习惯于旧形式,并且在它们上面切换是令人困惑的.
  2. 你必须在不同的领域输入你的公寓/楼层号/任何东西.这令人困惑.
  3. 当我们的商店爆炸时(好问题),我们将向谷歌提出太多的Geocode请求,以便进行扩展.
  4. 编辑:这对于禁用了javascript的(约5%)用户不起作用.
  5. 这里没有重大问题,这个界面就是未来.(这不是那么古怪,因为,例如,许多在线商店强迫您输入您的信用卡号和您的信用卡类型,当后者可以从前者推断时).

无论如何,基本上我很好奇这是否是我应该尝试创新的领域,或者我是否应该使用传统方法.(关于改进这种新方法的可用性的想法当然也受到赞赏).

javascript autocomplete ruby-on-rails e-commerce street-address

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

保证C++中基类的地址?

在C struct中,我保证:

struct Foo { ... };
struct Bar {
  Foo foo;
  ...
}
Bar bar;
assert(&bar == &(bar.foo));
Run Code Online (Sandbox Code Playgroud)

现在,在C++中,如果我有:

class Foo { ... };
class Bar: public Foo, public Other crap ... {
  ...
}

Bar bar;
assert(&bar == (Foo*) (&bar)); // is this guaranteed?
Run Code Online (Sandbox Code Playgroud)

如果是这样,你能给我一个参考(如"The C++ Programming Language,page xyz")吗?

谢谢!

c++ inheritance base-class object-address

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

哈希算法,它的用途?

我不完全理解哈希算法.任何人都想以一种非常简单易懂的方式向我解释.

谢谢

编辑:将其与文本文件中的用户名一起使用.

algorithm hash

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

在Linux中查找共享库的加载地址

在运行时,我需要打印一个地址,然后找到该地址所属的功能.这些函数位于共享库中,因此不在固定地址.我的地图文件显然只显示每个共享库func的相对偏移量.是否有可能在运行时查询已加载库的位置,以便我可以从我的地址中减去该值以获得正确的映射文件偏移量?

目前我正在做一个有点hacky的approch,我也打印出库中一个函数的地址,然后在map文件中找到该函数来确定加载地址必须在哪里.我宁愿有一个通用的方法,不要求你命名一个引用函数.

(GDB在我的设置中不可用).谢谢.

linux load shared memory-address

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

如何获取我的IP地址?

我有一个serverSocket,我想知道IP地址,但有

listenSocket.getInetAddress().toString();
Run Code Online (Sandbox Code Playgroud)

我得到0.0.0.0.如何获取IP地址,或者(如果启用了两个连接)其中一个?

sockets android ip-address

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

I/O地址空间如何映射到设备?

我希望这个问题措辞得足以让人理解.

我理解主存储器(RAM)和端口I/O驱动的I/O,它有自己的地址空间,像IN,OUT这样的指令使用.

如果要编写一个实模式汇编程序,开发人员是否需要获得必要的文档,说明主板上特定插槽的地址范围是在哪个地址范围内?假设PCIe插槽是地址X,打印机Y.

地址是否为标准地址范围,具体取决于总线类型?

我可以阅读什么来更好地理解这一点?希望有人能提供帮助.谢谢.

〜编辑

参考PC系统.

architecture io cpu assembly memory-address

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

获取重载方法的地址位置

如何获取重载的函数/过程/方法的所有地址位置?

例如,Dialogs.MessageDlgPosHelp有两个不同版本的重载 - 一个没有默认按钮,另一个没有.我如何获得这两个函数的地址位置?

delphi overload-resolution object-address

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

如何使用默认设置清除Glassfish 4.0的地址?

当我尝试使用netbeans IDE 7.3.1中的默认设置启动glassfish服务器时,出现以下错误:

java.net.BindException: Address already in use: bind
Run Code Online (Sandbox Code Playgroud)

详情请访问:http: //ideone.com/wKbat3

我能做什么?如何清除玻璃鱼的地址?如何设置glassfish使用其他地址?在这种情况下,"地址"意味着什么?

port netbeans bind glassfish

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