小编Pio*_*pla的帖子

在ui线程中执行委托(使用消息泵)

我有一个后台线程来处理与外部服务的通信.每次后台线程收到消息时,我都想将其传递给UI线程进行进一步处理(显示给用户).

目前我已经创建了一个线程安全的消息队列,它在Timer.Tick中定期汇集并填充后台线程.但这种解决方案是次优的.

你知道如何使用消息泵将事件从后台线程传递到ui线程吗?

.net c# multithreading message-queue thread-safety

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

一个生产就绪服务器,用于在win32上提供django

我想在Windows XP/Vista上提供django应用程序.该应用程序是一个Windows程序的特定Web界面,因此它不会被置于高负荷(大约每秒100个请求).

你知道可以在windows上轻松部署的任何小型服务器来为django应用程序提供服务吗?(IIS不是一个选项,因为应用程序应该适用于所有版本的Windows)

python windows django

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

YAML/JSON/XML:在IPhone上选择哪一个用于通过RESTFul协议进行通信?

我正在编写一个与外部服务器通信的简单应用程序.服务器当前支持yaml,xml和json.

  • 哪种编码在iPhone上最快?
  • 哪个有更好的支持?
  • 你建议哪些图书馆?

xml iphone cocoa-touch json yaml

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

如何控制张量流量估算器保存的检查点数量?

我注意到新的Estimator API会在训练期间自动保存检查点,并在训练中断时自动从上一个检查点重新启动.不幸的是,它似乎只保留了最后5个检查点.

您知道如何控制培训期间保留的检查点数量吗?

tensorflow tensorflow-estimator

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

使用String.equals比较密码并对LDAP服务器验证用户,它是否有意义?

我正在使用相当古老的大型CMS(TeamSite),它有一个如何将其连接到LDAP服务器的示例.我已经阅读了这个例子,它以非常奇怪的方式工作.它只是按预期在"userPassword"字段中存储密码,但它手动执行验证而不是使用bind命令.

这对我没有意义,但我可能在这里错了,因为我以前没有使用过LDAP服务器.你知道为什么有人想手动比较密码而不是使用bind吗?

以下是代码的外观:

  Attribute attrPassword = attrs.get("userPassword");
  if (attrPassword.size() > 0)
  {
    String storedPassword = new String((byte[])attrPassword.get(0));

    if (password.equals(storedPassword))
    {  
      ///.....
Run Code Online (Sandbox Code Playgroud)

java ldap teamsite

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

zend框架稳定吗?

我需要一个php的框架.我几乎没有建议使用Zend Framework.令我担心的是Zend Framework api的稳定性.

你知道ZF有多稳定吗?是否有以前版本的更改列表/迁移计划.这样我可以查看引入了多少次重大变更?

我需要像django这样稳定的东西:

Django 1.0的发布带来了API稳定性和前向兼容性的承诺.>简而言之,这意味着您针对Django 1.0开发的代码将继续针对1.1继续工作,并且您应该只对任何1.X版本进行微小更改

后来我们可以读到:

如果错误或安全漏洞使它完全不可避免,我们只会破坏这些API的向后兼容性

php zend-framework

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

使用标量参数调用选择器

我目前用于objc_msgSend在对象的集合上调用这样的选择器.有没有更好的方法呢?这是我的代码:

@protocol ADelegateProtocol {
   -(void) timeToEventOneDidChange:(NSInterval) event1;
   -(void) timeToEventTwoDidChange:(NSInterval) event1;
}

- (void) delegatesPerformSelector:(SEL) selector withTimeIntervalAsFristParameter:(NSTimeinterval) timeInterval {
    for (id<ADelegateProtocol> delegate in delegates) {
        if([delegate respondsToSelector:selector]) {
            objc_msgSend(delegate, selector, timeInterval);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

选择器作为参数传入,timeInterval是非对象值.

注意:我不想使用KVO.

objective-c ios

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

使用Estimators API结合tf.data.Dataset时如何加快批量准备

我想加快我的训练程序,使用带有input_fn编写的Estimator API tf.data.Dataset.

我的实现需要2秒钟来准备一批数据,然后在GPU上运行训练1秒,然后重新开始准备批处理.这实在是效率低下.

我正在寻找一种方法来异步准备批次并将它们上传到GPU以加速培训.或者替代地用于在调用之间缓存数据集的方法input_fn(由于dataset.cache()必须在每个input_fn调用上重新创建数据集,因此似乎不是一个好的选择).

这是我的代码的简化版本:

def input_fn(filenames, labels, epochs):
  dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
  dataset = dataset.map(_read_wav, num_parallel_calls=num_map_threads)
  if shuffle:
     dataset = dataset.shuffle(buffer_size=len(labels))
  dataset = dataset.map(_post_process,  num_parallel_calls=num_map_threads)
  dataset = dataset.map(lambda wav, label: ({'wav': wav}, label))
  dataset = dataset.batch(128)
  dataset = dataset.repeat(epochs) # to iterate over the training set forever
  iterator = dataset.dataset.make_one_shot_iterator()
  features, labels = iterator.get_next()
  return features, labels

train_input_fn = lambda : input_fn(train_files, train_labels, None)
eval_input_fn = lambda : input_fn(eval_files, eval_labels, 1)

train_spec = …
Run Code Online (Sandbox Code Playgroud)

tensorflow tensorflow-datasets tensorflow-estimator

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