小编Chr*_*ris的帖子

python日志记录是否会刷新每个日志?

当我使用标准模块日志记录将日志写入文件时,是否会将每个日志分别刷新到磁盘?例如,以下代码将日志刷新10次?

logging.basicConfig(level=logging.DEBUG, filename='debug.log')
    for i in xrange(10):
        logging.debug("test")
Run Code Online (Sandbox Code Playgroud)

如果是这样,它会慢下来吗?

python performance logging flush

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

jackson注释中的多态性:@JsonTypeInfo用法

我想知道@JsonTypeInfo注释是否可以用于接口.我有一组应该序列化和反序列化的类.

这就是我想要做的.我有两个实现类Sub1,Sub2实现MyInt.某些模型类具有实现类型的接口参考.我想基于多态来反序列化对象

@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=As.WRAPPER_OBJECT)
@JsonSubTypes({
    @Type(name="sub1", value=Sub1.class), 
    @Type(name="sub2", value=Sub2.class)})
public interface MyInt{
}

@JsonTypeName("sub1")
public Sub1 implements MyInt{
}

@JsonTypeName("sub2")
public Sub2 implements MyInt{
}
Run Code Online (Sandbox Code Playgroud)

我得到以下内容JsonMappingException:

意外的令牌(END_OBJECT),预期的FIELD_NAME:需要包含类型ID的JSON字符串

java polymorphism jackson deserialization

51
推荐指数
2
解决办法
5万
查看次数

Helgrind(Valgrind)和OpenMP(C):避免误报?

Valgrind线程错误检测工具Helgrind的文档,可在此处找到

警告说,如果你使用GCC来编译你的OpenMP代码,GCC的OpenMP运行时库(libgomp.so)将导致混乱的数据争用的误报,因为它使用原子机器指令和Linux futex系统调用而不是POSIX pthreads原语.它告诉您,您可以通过使用--disable-linux-futex配置选项重新编译GCC来解决此问题.

所以我尝试了这个.我使用配置选项编译并安装到本地目录(〜/ GCC_Valgrind/gcc_install)一个新的GCC版本4.7.0(撰写本文时的最新版本)--disable-linux-futex.然后我创建了一个没有可见数据竞争的小型OpenMP测试程序(test1.c):

/* test1.c */

#include <omp.h>
#include <stdio.h>
#include <stdlib.h>

#define NUM_THREADS 2

int a[NUM_THREADS];

int main(void) {
        int i;
#pragma omp parallel num_threads(NUM_THREADS)
        {
                int tid = omp_get_thread_num();
                a[tid] = tid + 1;
        }
        for (i = 0; i < NUM_THREADS; i++)
                printf("%d ", a[i]);
        printf("\n");
        return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

我编译了这个程序如下

~/GCC_Valgrind/gcc_install/bin/gcc -Wall -fopenmp  -static -L~/GCC_Valgrind/gcc_install/lib64 -L~/GCC_Valgrind/gcc_install/lib -o test1 test1.c
Run Code Online (Sandbox Code Playgroud)

但是,我得到了30个误报数据竞赛报告! …

c valgrind openmp race-condition false-positive

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

HTTP/HTTPS基本身份验证:用户名中的冒号

这可能是一个基本问题,但是当有HTTP或HTTPS基本身份验证时,是否可以在用户名中使用冒号(":")?如果没有,有没有办法逃脱冒号?

https http

25
推荐指数
2
解决办法
6844
查看次数

RestKit loadObjectsAtResourcePath:delegate工作一次,但后来再也没有

我对Objective-C和XCode相当新,但是甚至比RestKit更新,尽管已经用Java编程了12年.

我有一个连接到RestKit的IOS应用程序和从休息服务器加载的操作仅在第一次工作,如果我回到导航控制器并再次尝试相同的操作,该loadObjectsAtResourcePath:delegate方法被调用,但没有任何委托方法得到调用(我实现所有这些只是为了记录它们发生时).

我觉得我已经错过了与Restkit一些基本的东西,也许它的异步性质,因为映射显然是做工精细的第一次,所以后续调用必须在异步队列中迷路.

我用谷歌搜索了这个,看到类似的人被类似的东西卡住了,但是尝试了所有这些并且似乎并没有什么不同.缓存被禁用,objectLoaderDidLoadUnexpectedResponse并且didFailWithError永远不会被调用,它会被丢弃到地板上.

代码来源:

我的XCode项目在这里上了github

执行加载调用的特定View Controller在这里(参见setUpRestKit方法)

调用顺序如下:

  • 用户填写主机名,端口和点击连接
  • ESRKConnectionViewController.m通过prepareForSegue获取调用并使用此地址设置共享RKClient(虽然我后来发现RKClient使用不多,但RKOBjectManager似乎只需要一个baseURL,所以有点多余)
  • 然后,ESRKServerViewController.m设置RKObjectManager上的映射并调用loadObjectsAtResourcePath将其自身作为委托传递(是的,我意识到这些映射可能应该在App Delegate的开头配置,但我看不出如何重新设置它是什么不仅仅是冗余代码)
  • objectLoader:didLoadObjects回调则负责拍摄对象映射和配置模式,为表视图-这是只发射一次.

启用日志,这是我看到的模式,第一个调用完成时注释,第二个调用开始时等(为了清晰起见,时间戳被修剪):

ElasticSearchHeadIOS[25064:fb03] I restkit:RKLog.m:32 RestKit initialized...
ElasticSearchHeadIOS[25064:fb03] I restkit.support:RKCache.m:178 Invalidating cache at path: /Users/paulsmith/Library/Application Support/iPhone Simulator/5.1/Applications/BDB8B59F-8307-4F18-A4E7-C55849618D77/Library/Caches/RKClientRequestCache-localhost/SessionStore
ElasticSearchHeadIOS[25064:fb03] I restkit.network.reachability:RKReachabilityObserver.m:155 Reachability observer initialized with hostname localhost
ElasticSearchHeadIOS[25064:fb03] D restkit.network:RKClient.m:271 Reachability observer changed for client <RKClient: 0x80756e0>, suspending queue <RKRequestQueue: 0x8082600 name=(null) suspended=YES requestCount=0 loadingCount=0/5> until reachability …
Run Code Online (Sandbox Code Playgroud)

xcode4 restkit ios5

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

HttpWebRequest在mono和.net中的实现方式有所不同吗?

我试图将c#cloudinary api移植到mono,我在构建http请求时遇到了一些问题.

我已经分离出这个方法来设置请求,但HttpWebRequest.ContentLength在单声道中变成-1,但是.net内容是正确构建的.

我在Mac上运行最新的Xamarin Studio,我正在构建一个MONO/.NET 4.0库Mono版本:2.10.12

编辑:简化代码,此测试在Visual Studio中传递但在Xamarin工作室中失败

编辑:如果有人想帮助,代码被推送到github

    [Test]
    public void StreamTest()
    {
        var request = System.Net.HttpWebRequest.Create("http://foo.com");
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        using (var writer = new System.IO.StreamWriter(request.GetRequestStream()))
        {
            writer.Write("anything");
        }

        Assert.IsTrue(request.ContentLength > 0);
    }
Run Code Online (Sandbox Code Playgroud)

c# mono stream httpwebrequest cloudinary

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

终结者抛出未捕获的异常:谷歌API错误或三星内核错误?

在我的Galaxy Tab 2(三星)上启动我的应用程序时,我一直收到此错误.我正在开发的应用程序非常复杂,很难找到此错误源自何处.所以我开始逐个删除我的应用程序,我最终得到了一个mapview应用程序,你可以在这里找到

剥离后我最终得到的应用程序只是没有overlayItem的mapview!所以按照教程直到第1部分第9点.

这是MapView活动:

package com.****.googlemapstutorial;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends MapActivity 
{

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
protected boolean isRouteDisplayed() {
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

我真的被踩了!

有人建议吗?

The error:
10-28 21:09:22.872: E/System(16840): Uncaught exception thrown by finalizer
10-28 21:09:22.872: E/System(16840): java.lang.IllegalStateException: Binder has been finalized!
10-28 21:09:22.872: …
Run Code Online (Sandbox Code Playgroud)

android exception finalizer mapactivity

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

Java以编程方式检查最新版本

目标:检查机器上的java版本(我可以从中获取java -version).将它与java网站上的最新版本进行比较

我想知道是否有任何方法可以检查最新的Java版本,假设我在一台机器上安装了JRE/JDK.

如果我可以通过Java本身做到这一点,我的解决方案将变得与平台无关.我可以使用java.net.URL类向Java网站发送请求并获取HTML,但是响应将是动态的,因为Oracle可以更改其网站和样式,并且可能长期存在维护问题.

我查看了javatester.org,但我不希望它通过applet而是通过命令行(我可以添加到脚本中).

通过javacpl.exe,我可以安排定期检查,但我想按需进行.

java

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

由于mini_magick文件w /特殊字符导致watir gem安装错误

我一直在尝试为ruby 2安装watir gem.我完全按照watir书籍安装说明但是一旦watir安装到了mini_magick gem就会出现这个错误

ERROR: While executing gem ... (Errno::EINVAL) Invalid argument - C:/Ruby200/lib/ruby/gems/2.0.0/gems/mini_magick-3.6.0/tes t/files/special! "chars'.gif

有谁知道怎么解决这个问题?我注意到nokogiri有点奇怪,因为无法从ASCII转换为ITF-8.也许这与它有关.谢谢你们

ruby install watir nokogiri minimagick

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

自动镜像Nexus代理存储库

目前,我们远程拥有一个nexus托管存储库(位于不同的地理位置).我们在本地托管存储库中有一个local-proxy-repository.

每当将几个文件的新版本添加到remote-hosted-repository时,对构建系统中新添加的文件的第一个请求就是将其下载到local-proxy-repository.

我现在遇到的问题是,添加的一些文件非常庞大(比如大约400 MB).因此,第一次构建会耗费大量时间来完成.

有没有办法我们可以在远程托管存储库上进行轮询并自动镜像它?

nexus

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