我正在重载输入流运算符以与Time类一起使用,并且如果输入与我预期的时间格式(hh:mm)不匹配,则希望手动设置输入流的failbit.可以这样做吗?怎么样?
谢谢!
有没有一种很好的方法来进行多线程A*搜索?单线程是相当容易的,如(例如)人工智能:现代方法中所给出的,但我没有遇到过一个好的多线程版本.
假设一个理智的语言,如Java或C#或Lisp,我们有线程池和工作块,当然还有垃圾收集.
我正在尝试使用Java中的couchdb(连续)更改API,并发现在耗尽当前更改列表后,流似乎已关闭,而不是永远保持打开它应该如此.
我正在使用的代码如下.我希望永远不会退出while循环,但只要当前现有的更改完成流式传输就会立即执行.我对couchdb和Java都比较新,所以可能会遗漏一些明显的东西.任何人都可以告诉我如何正确地写这个吗?
URL url = new URL("[path to database here]/_changes?feed=continuous";);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = reader.readLine()) != null){
// do something with the line here
}
// Should never get here under normal circumstances
reader.close();
Run Code Online (Sandbox Code Playgroud) 有没有办法调整Android中的字符间距TextView
?我相信这通常被称为"字距调整".
我知道android:textScaleX
属性,但是压缩字符和间距.
我需要能够在同一端口上发送和接收UDP数据包.我可以听说端口5000,但我的发送使用随机高端口.我用VB编写的系统就是这样做的,我需要编写一个UDP响应器来调试各种协议问题.
我正在使用来自http://www.alhem.net(Anders Hedstrom)的开源C++套接字库,并且能够使用UdpSocket :: Bind()来使用虚函数UdpSocket :: OnRawData接收传入的UDP数据包( ),但是已经无法使UdpSocket :: Open()(调用connect)使UdpSocket :: Send()使用在Bind()中选择的端口(它使用随机高位端口代替).
移动Open()函数没有帮助.我已经在他们的论坛上发布了一个请求 - 但是从我所读到的内容中可以看出应该可以做到这一点,而且我可能不了解如何使用UDP.
有没有人对我应该尝试什么有任何想法?
- 谢谢 -
我正在使用Django和PostgreSQL,但如果有更好的方法可以使用原始SQL或数据库特定的操作,那么我并不是完全依赖于Django ORM.
我有一个需要顺序排序的模型.查找操作通常会按顺序检索整个列表.对此数据最常见的操作是将一行移动到列表的底部,其中一部分介入项目冒泡以替换上一项,如下所示:
(operation on A, with subset B, C, E) A -> B B -> C C -> E D -> D E -> A Notice how D does not move.
通常,项目的子集不会超过约50个项目,但基本列表可能会增长到数万个条目.
实现此目的最明显的方法是使用简单的整数顺序字段.这似乎不是最理想的.它要求妥协使位置排序列不唯一,其中仅在修改操作的持续时间内需要非唯一性.要想看到这一点,想象使用A和子集B的最小操作:
oldpos = B.pos
B.pos = A.pos
A.pos = oldpos
Run Code Online (Sandbox Code Playgroud)
即使您已存储位置,但在第二行您违反了唯一性约束.此外,此方法使原子性成为问题 - 您的读取操作必须在写入之前发生,在此期间您的记录可能会发生变化.Django的默认事务处理文档没有解决这个问题,尽管我知道在SQL中使用"REPEATABLE READ"级别的事务锁定是可能的.
我正在寻找更适合这种使用模式的备用数据结构.我已经看过这个问题了.
一个提议是Dewey十进制样式解决方案,它使插入操作在现有值之间以数字方式发生,因此在B和C之间插入A会导致:
A=1 -> B=2 B=2 -> A=2.5 C=3 -> C=3
这解决了列唯一性问题,但引入了列必须是指定小数位数的浮点数的问题.要么我高估了,要存储的数据超出了我的需要,要么系统受到我施加的任意小数长度的限制.此外,我不希望使用甚至超过数据库 - 一些密钥将比其他密钥更频繁地移动,使得该解决方案更快地达到极限.我可以通过定期重新编号数据库来解决这个问题,但似乎一个好的数据结构应该避免需要这个.
我考虑过的另一个结构是链表(和变体).这样做的优点是可以直接进行修改,但我不确定它的SQL属性 - 在SQL查询中排序这样的列表似乎很痛苦,并且提取列表的非顺序子集非常糟糕检索属性.
除此之外,还有B树,各种二叉树等等.你对这个数据结构有什么建议?SQL中的此解决方案是否有标准数据结构?使用顺序整数的最初想法是否真的会出现扩展问题,或者我发现哪些问题没有?
我最近在这里问了一个问题,有人提供了这个答案:
private void button1_Click(object sender, EventArgs e)
{
var client = new WebClient();
Uri X = new Uri("http://www.google.com");
client.DownloadStringCompleted += (s, args) => //THIS, WHAT IS IT DOING?
{
if (args.Error == null && !args.Cancelled)
{
MessageBox.Show();
}
};
client.DownloadStringAsync(X);
}
Run Code Online (Sandbox Code Playgroud)
那是什么=>做什么?这是我第一次看到这个.
我想这必须有一个简单的答案,但我正在努力:我想拿一个url(输出json)并在python中的可用字典中获取数据.我被困在最后一步.
>>> import urllib2
>>> import simplejson
>>> req = urllib2.Request("http://vimeo.com/api/v2/video/38356.json", None, {'user-agent':'syncstream/vimeo'})
>>> opener = urllib2.build_opener()
>>> f = opener.open(req)
>>> f.read() # this works
'[{"id":"38356","title":"Forgetfulness - Billy Collins Animated Poetry","description":"US Poet Laureate Billy Collins reads his poem ","url":"http:\\/\\/vimeo.com\\/38356","upload_date":"2006-01-24 15:21:03","thumbnail_small":"http:\\/\\/80.media.vimeo.com\\/d1\\/5\\/47\\/74\\/thumbnail-4774968.jpg","thumbnail_medium":"http:\\/\\/80.media.vimeo.com\\/d1\\/5\\/46\\/85\\/thumbnail-4685118.jpg","thumbnail_large":"http:\\/\\/images.vimeo.com\\/87\\/39\\/873998\\/873998_640x480.jpg","user_name":"smjwt","user_url":"http:\\/\\/vimeo.com\\/smjwt","user_portrait_small":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.30.jpg","user_portrait_medium":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.75.jpg","user_portrait_large":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.100.jpg","user_portrait_huge":"http:\\/\\/bitcast.vimeo.com\\/vimeo\\/portraits\\/defaults\\/d.300.jpg","stats_number_of_likes":"281","stats_number_of_plays":"9173","stats_number_of_comments":23,"duration":"112","width":"320","height":"240","tags":"poetry, poet, online poetry, famous poet, video poetry, modern poetry, famous poem, poetry sites, poetry websites, audio poetry, american poet, animation clips, american poetry, free poetry sites, animation art, free poetry, animated clips, poem, poet laureate"}]'
>>> simplejson.load(f)
Traceback (most …
Run Code Online (Sandbox Code Playgroud) GDB似乎总是适用于C程序,但对于C++,我经常得到这些神秘的堆栈:
(gdb) bt
#0 0x08055fa4 in std::runtime_error::what ()
#1 0x080576c8 in std::runtime_error::what ()
#2 0x08057dda in std::runtime_error::what ()
#3 0x080580d2 in std::runtime_error::what ()
#4 0x08058662 in std::runtime_error::what ()
#5 0x08058725 in std::runtime_error::what ()
#6 0x0806ef7a in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*> ()
#7 0x00c0adec in __libc_start_main () from /lib/libc.so.6
#8 0x0804d011 in std::runtime_error::what ()
Run Code Online (Sandbox Code Playgroud)
从表面上看,它没有提供关于问题发生位置的线索.反正有没有从这样的核心文件中获取更多信息 - 或者让程序转储更有用的东西?
当使用函数atoi
(或strtol
类似函数)时,如何判断整数转换是否失败或者转换的C字符串是否为0
?
对于我正在做的,0
是一个可接受的值,被转换的C字符串可能包含任意数量的0
s.它也可能有领先的空白.