RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-191496

vitidev's questions

Martin Hope
vitidev
Asked: 2020-08-22 07:15:04 +0000 UTC

在 pypiserver 中共享访问权限

  • 2

我正在设置一个私人 PyPi 服务器,但我无法理解访问共享是如何在那里完成的。

如果你在互联网上搜索,你可以找到这个

./pypi-server -p 8080 -P htpasswd.txt -a update,download,list

其中 -a 是密码所在的操作。

但是关闭列表并使用密码下载并使用相同的密码关闭更新是愚蠢的。必须有一个分隔,这样就完全不公开,也没有一个密码。

医生说神秘

您只需使用 -P 选项重新启动服务器一次(但以后可以即时添加或更新用户/密码对):

但没有透露这意味着什么。您可以如何、在哪里、在什么情况下添加更多密码以及如何将其分开?

python
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-04-28 04:17:14 +0000 UTC

c# 8 个不可为空的类型和 null!

  • 7

基于这个问题

有一段我翻译成c#8的旧代码,里面有方法

void MethodName<T>(T value) => ...
и много вызовов вида
MethodName(null);

它可以接受类和结构,这意味着我们不能这样做

 void MethodName<T?>(T? value) => ...

因为它需要指定类型 T,而我们无法指定 T: class, struct

打电话时必须按警告

#nullable disable
MethodName(null)
#nullable enable

但事实证明它有效

MethodName(null!)

这是正常的吗?这是一个编译器错误(毕竟是测试版)吗?或者 !这是否不仅意味着“我确定它不为空”,而是更广泛的“这个值很好,通过”?

c#
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-08-17 23:51:39 +0000 UTC

最终尺寸 aes

  • 2

您需要知道使用 aes 加密的输出的大小。

在网上找到公式

int endSize = (startSize / 16) * 16 + (startSize%16 == 0 ? 0 : 16)

逻辑很清楚 - 如果大小不适合 aes 块的倍数(即 16 字节),那么我们对齐到倍数。然而,事实证明,一个更正确的公式

int endSize = (startSize / 16) * 16 + 16

测试用例:

var pdb = new Rfc2898DeriveBytes("12345", iv);
var aes = new AesManaged();
aes.Key = pdb.GetBytes(aes.KeySize / 8);
aes.IV = pdb.GetBytes(aes.BlockSize / 8);
var buffer = new byte[4096];
using (var instream=File.OpenRead("z:/in.txt"))
{
      using (var crptoStream=new CryptoStream(instream,
           aes.CreateEncryptor(), CryptoStreamMode.Read))
      {
           using (var outstream = File.OpenWrite("z:/out.bin"))
           {
               do
               {
                    var count = crptoStream.Read(buffer, 0, buffer.Length);
                    if(count==0)break;
                    outstream.Write(buffer, 0, count);
                } while (true);
            }
      }
}

为了检查,我拿了一个 15 字节的文件——预期的输出是 16 字节。添加了一个字节。16 个字节输入 - 32 个输出。

为什么会这样?有足够的数据和 Padding,理论上应该不会干扰。

c#
  • 2 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-04-23 17:26:54 +0000 UTC

转换显式和隐式运算符的通用方法

  • 2

有2个班

class Class1
{
}

class Class2
{

    public static explicit operator Class2(Class1 value)
    {
        return new Class2();
    }

    public static implicit operator Class1(Class2 value)
    {
        return new Class1();
    }
}

我们有两个类的类型对象。

我们需要一个可以双向转换的通用方法(expression、emit ...)

例子:

//метод конвертации. Возвращает object ибо у нас нет T
public object Convert(object source, Type targetType){
    //тут происходит преобразование source в Type 
    //source и type связаны expicit/implicit
}
var obj1=new Class1();
var obj2=Convert(obj1, typeof(Class2));

и наоборот

var obj1=new Class2();
var obj2=Convert(obj1, typeof(Class1));

explicit 和 implicit 在同一个类中定义,但是用它们进行强制转换是双向的。

已知的是:

  1. Convert.ChangeType 需要 IConvertible 接口的实现,这是不合适的
  2. C 反射是可以的,但是很慢。
c#
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-04-23 10:26:33 +0000 UTC

适当分离接口

  • 3

有一个遗留项目和大量模型类,它们按原样呈现。它们具有许多属性,可以分为许多不同的接口(接口隔离)。

class FatModel : IFoo, IBar, IZaa...

需要将这个类的一个实例传递给需要IFoo和一些IBar的应用层

选项来了。

  1. 创建通用接口。

    interface IFooBar : IFoo, IBar
    class FatModel : IFooBar, IZaa...
    

    但事实证明这是胡说八道,因为这些通用接口像兔子一样繁殖。为 2 个接口创建了一个通用接口后,肯定会出现需要 3 个或其他 2 个接口的人……并且以不同的组合出现。

  2. 按原样传递对象并在正确的位置转换为所需的界面。

    但在这种情况下,所有类型检查都会进入运行时,这很糟糕。

  3. 适配器,将在其中显示所需的属性?

    我从来没有为模型做过适配器,我不知道这样的解决方案有什么用。

还有哪些其他选择?

c#
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-03-18 19:34:23 +0000 UTC

覆盖 HttpClient 行为

  • 5

我决定修复本机 HttpClient 的门框。假设所有方法都收敛到 SendAsync 是合理的,这意味着您需要在 heir 中重新定义它,甚至虚拟它。

但事实证明,它的重载只有一个是虚的,HttpClient的内部方法要经过其他重载,因此不落入继承者。

这是 HttpClient 类的开发人员的谎言,还是我在继承中遗漏了什么?如果重载它没有用,为什么要声明一个单一的重载 virtual 呢?

c#
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-02-08 06:48:53 +0000 UTC

WPF 不在 StackPanel 内的 ListBox 上显示垂直滚动条

  • 0

代码虽然不是特别需要。

<StackPanel>
    <Button Click="ButtonBase_OnClick" Content="add item" />
    <ListBox ItemsSource="{Binding RectangleList}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Rectangle Width="50"
                           Height="50"
                           Margin="10"
                           Fill="Blue" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</StackPanel>

如果什么都没有改变,那么 ListBox 将不会滚动,即使它超出了屏幕。在英语中,假设 StackPanel 被拉伸以便一切都适合它,因为没有限制。

但是高度限制很奇怪。

如果 ListBox 设置了 Height,则当超过 Height 时将出现 ScrollBar。

但是,如果您设置 StackPanel 的高度,则内容将被截断并且 ListBox 将超出可见范围,但 ScrollBar 不会。

如果将 StackPanel 替换为 Grid,则 ListBox 会将 Grid 和父 Window 拉到屏幕上,但随后仍会出现令人垂涎的滚动条。

为什么 LisBox 会忽略 StackPanel 的高度?这是一个错误还是我遗漏了一些关于它是如何计算的?

wpf
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-11-03 04:05:44 +0000 UTC

python 3.5 windows 不支持连接点

  • 1

以下代码用于复制符号链接

 if os.path.islink(src_path):
       linkto = os.readlink(src_path)
       os.symlink(linkto, dest_path)

但是,os.path.islink 和 os.readlink 不适用于连接点

如何识别交界点并在另一个地方重新创建它?

windows
  • 1 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-09-23 06:54:45 +0000 UTC

python中的隐式导入

  • 5

我无法弄清楚导入系统。为什么当我这样做时:

import os.path

然后我可以访问os.walk,它位于os,虽然我没有明确导入os?出于某种原因,这样的假动作不适用于它的package 。这是由于什么原因造成的?

更新

我知道 import 将导入的内容带入模块的命名空间。所以定义模块'myutils.py'c

import requests

在另一个模块中,得到如下图

import myutils
resp=myutils.requests.get('http://ya.ru') # работает
resp2=requests.get('http://ya.ru') #  NameError: name 'requests' is not defined

os.path 中的 import os 机制是否有一些特殊性?我知道 os.path 是 os 的一部分,而不是 2 个完全独立的包,但我想确切地了解该机制。

python
  • 3 个回答
  • 10 Views
Martin Hope
vitidev
Asked: 2020-08-25 18:55:06 +0000 UTC

python可变默认选项

  • 3

我有一个关于默认参数的问题。也就是说,通过

>>> def foo(my_list=[]):
...   my_list.append(1)
...   return my_list
... 
>>> foo()
[1]
>>> foo()
[1, 1]
>>> foo()
[1, 1, 1]
>>> 

我明白为什么会这样(我们将把这种行为的合理性问题留在范围之外)

我是否正确理解,如果您使用这样的默认列表调用一次函数,在哪里用 GB 的数据填充它,返回它,使用它然后忘记它,那么由于以下事实,内存仍将保留默认 [] 被钉在 def foo 上?

python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5