小编Kna*_*ack的帖子

获取派生类的所有__slots__

我需要使用None初始化实例的所有插槽.如何获取派生类的所有插槽?

示例(不起作用):

class A(object):
    __slots__ = "a"

    def __init__(self):
        # this does not work for inherited classes
        for slot in type(self).__slots__:
            setattr(self, slot, None)

class B(A):
    __slots__ = "b"
Run Code Online (Sandbox Code Playgroud)

我可以使用一个额外的class属性来保存所有类的槽(包括继承的),比如

class A(object):
    __slots__ = "a"
    all_slots = "a"

    def __init__(self):
        # this does not work for inherited classes
        for slot in type(self).all_slots:
            setattr(self, slot, None)

class B(A):
    __slots__ = "b"
    all_slots = ["a", "b"]
Run Code Online (Sandbox Code Playgroud)

但这似乎不是最理想的.

任何评论表示赞赏!

干杯,

一月

python inheritance slots

15
推荐指数
2
解决办法
2714
查看次数

从ASP.NET Core中的内部HttpClient调用高效转发内容

我正在从我的ASP.NET核心应用程序调用内部HTTP服务.来自此服务的响应消息可能非常大,因此我希望尽可能高效地转发它们.如果可能的话,我只想将内容"映射"到控制器响应 - 或者换句话说"将从服务流出的流传输到流出控制器的流".

到目前为止我的控制器方法只是调用服务:

[HttpPost]
public Post([FromBody]SearchQuery searchQuery)
{
    var response = _searchClient.Search(searchQuery);
    // ?
} 
Run Code Online (Sandbox Code Playgroud)

该服务由HttpClient实例调用.这里(作为一个例子)我只返回HttpContent,但当然我可以返回完全读取和序列化的主体(我显然不想要):

public async Task<HttpContent> Search(SearchQuery searchQuery)
{
    var content = new StringContent(TsearchQuery, Encoding.UTF8, "application/json");
    var response = await _httpClient.PostAsync("_search", content);
    return response.Content;
}
Run Code Online (Sandbox Code Playgroud)

返回内容是否有效且快速?如何将控制器方法中的内容传递给响应?ASP.NET Core是否在下面创建流?或者我应该明确处理代码中的流?

c# dotnet-httpclient .net-core asp.net-core

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

protobuf-net文档或替代方案

Protobuf-net似乎是最快的,并且对于高性能需要最推荐的.NET序列化库.我真的很想使用它,因为我需要通过线路发送数十万个对象.

但是,我开始时遇到了麻烦.文档(github上的wiki)非常稀疏,特别是对于v2.

不知怎的,你们那里似乎能够开始使用lib.怎么样?通过阅读消息来源?试错了?或者是否有一些我不知道的API文档/教程?(我只知道GitHib页面.)

谢谢和欢呼,

一月

PS:我需要使用RuntimeTypeModel(没有属性的POCO).

.net serialization protobuf-net

6
推荐指数
2
解决办法
1057
查看次数

Antd:如何覆盖组件单个实例的样式

我正在使用 webpack 将 antd.less 文件导入全局 App.less 文件中。然后我覆盖一些全局样式和 webpack 捆绑所有内容:

// App.less
@import "~antd/dist/antd.less";
@import "./fonts.css";
@import "./reactSplitPane.css";      

@heading-color          : fade(#000, 100%);
@text-color             : fade(#000, 100%);
@text-color-secondary   : fade(#000, 100%);
@disabled-color         : fade(#000, 25%);
Run Code Online (Sandbox Code Playgroud)

我的 webpack 2 配置如下所示:

    {
        test: /\.less$/,
        use: ExtractTextPlugin.extract({
            fallback: "style-loader",
            use: [
            { 
                loader: "css-loader", 
                options: { importLoaders: 1}
            },
            "less-loader"
            ]
        })
    },
    {
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
            fallback: "style-loader",
            use: "css-loader"
        })
    }
Run Code Online (Sandbox Code Playgroud)

例如,现在我想覆盖 Tabs 组件的一个实例的大小。最好的方法是什么?

覆盖选项卡栏底线颜色的示例:

.ipf-appbar {
    font-size: 24px; // this applies …
Run Code Online (Sandbox Code Playgroud)

reactjs antd

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

Spring WebFlux:从控制器提供文件

来自.NET和Node我真的很难弄清楚如何将这个阻塞的MVC控制器转移到一个非阻塞的WebFlux注释控制器?我已经理解了这些概念,但未能找到正确的异步Java IO方法(我期望返回Flux或Mono).

@RestController
@RequestMapping("/files")
public class FileController {

    @GetMapping("/{fileName}")
    public void getFile(@PathVariable String fileName, HttpServletResponse response) {
        try {
            File file = new File(fileName);
            InputStream in = new java.io.FileInputStream(file);
            FileCopyUtils.copy(in, response.getOutputStream());
            response.flushBuffer();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-webflux

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

在 .NET 中使用哪些好的倒排索引库?

我有一个 .NET 桌面应用程序,需要在其中搜索大型数据集。每个数据集大约有 100000 个项目,包含 10 个字段。字段的类型有字符串、日期时间、整数、浮点和自定义项目类型。大约可以有 5 个并发数据集,但搜索仅在一个数据集内。

搜索类型有

  • 全文支持通配符
  • 搜索特定字段
  • 日期范围

我正在考虑以下替代方案:

  1. Lucene.NET。但移植和维护似乎是一项巨大的工作,所以当 Solr 满足服务器需求时,我对 Lucene.NET 的未来感到担忧。您对 Lucene.NET 的面向未来有何看法?
  2. 在桌面上使用 Solr 作为单独的进程。
  3. 基于 Lucene 的解决方案是否有替代方案?
  4. 创建我自己的。有一些参考资料/教程吗?好处是,我不需要复杂的文本分析或任何评分/分面功能。只需搜索一个术语(可选通配符)并返回一个项目列表。

.net lucene indexing solr lucene.net

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

Typescript Node.js最简单的设置不起作用 - 错误TS2307:找不到模块'fs'

我在全球范围内安装了TS和节点类型:

PS C:\Projects\Test> npm list --global --depth=0
C:\Users\Jan\AppData\Roaming\npm
+-- @types/node@7.0.5
+-- tslint@4.4.2
`-- typescript@2.2.1
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个文件test.ts

import fs = require("fs");
let text = fs.readFileSync("myFile.txt");
console.log(text);
Run Code Online (Sandbox Code Playgroud)

Runnning tsc导致

PS C:\Projects\Test> tsc .\test.ts
test.ts(1,21): error TS2307: Cannot find module 'fs'.
Run Code Online (Sandbox Code Playgroud)

我想念一些明显的东西吗?

谢谢!

node.js typescript

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

Go:使用存储在智能卡上的客户端证书进行 HTTPS 请求 (Windows)

为了执行客户端证书身份验证(相互身份验证),我发现的所有示例都假设私钥是可访问的(例如从文件中)。包含私钥和公钥的证书生成如下:

cert, err := tls.LoadX509KeyPair("certs/client.pem", "certs/client.key")
Run Code Online (Sandbox Code Playgroud)

现在,我必须从智能卡获取证书(和私钥,据我所知无法提取 - 签名应通过 PKCS#11 完成)。到目前为止,我已经能够枚举 Windows 证书存储中的证书:

store, err := syscall.UTF16PtrFromString("MY")
storeHandle, err := syscall.CertOpenSystemStore(0, store)
if err != nil {
    fmt.Println(syscall.GetLastError())
}

var certs []*x509.Certificate
var cert *syscall.CertContext
for {
    cert, err = syscall.CertEnumCertificatesInStore(storeHandle, cert)
    if err != nil {
        if errno, ok := err.(syscall.Errno); ok {
            if errno == CRYPT_E_NOT_FOUND {
                break
            }
        }
        fmt.Println(syscall.GetLastError())
    }
    if cert == nil {
        break
    }
    // Copy the buf, since ParseCertificate does not create …
Run Code Online (Sandbox Code Playgroud)

ssl client-certificates go smartcard mutual-authentication

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