问题列表 - 第317954页

为什么这个变量不需要是可变的?

在此代码片段中,我将变量声明max为mut,但 rust-analyer 告诉我这是没有必要的。我删除了mut,代码仍然有效并运行。这是为什么?max我正在重新分配match 语句中的值。

fn validate_in_range_u32(value:u32, min:u32, max:u32) -> bool { 
    if value < min || value > max {
        return false;
    }
    true
}

fn main() { 
    let day = 24;
    let month = 8;

    if !validate_in_range_u32(month, 1, 12) {
        println!("Month is out of range (1-12)");
    }
    let max: u32;
    match month {
        1 | 3 | 5 | 7 | 8 | 10 | 12 => max = 31,
        2 …
Run Code Online (Sandbox Code Playgroud)

rust

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

要求 `'de` 必须比 `'a` 存在得更久

我一直在尝试实现结构的反序列化和序列化特征。我只是沿着编译器告诉我的路线走下去,然后就陷入了困境。

我从这个结构开始:

#[derive(Serialize, Deserialize)]
struct FileMetadata {
  file_path: PathBuf,
  last_updated: SystemTime,
  mime_type: MediaType,
}
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:expected named lifetime parameter, help: consider introducing a named lifetime parameter.

所以我这样做:

#[derive(Serialize, Deserialize)]
struct FileMetadata<'a> {
  file_path: PathBuf,
  last_updated: SystemTime,
  mime_type: MediaType<'a>,
}
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误:requires that 'de must outlive'a , help: consider adding the following bound: 'de: 'a。

所以我就按照它说的去做:

#[derive(Serialize, Deserialize)]
struct FileMetadata<'a, 'de>
where
'de: 'a {
  file_path: PathBuf,
  last_updated: SystemTime,
  mime_type: MediaType<'a>,
}
Run Code Online (Sandbox Code Playgroud)

现在我收到两个错误:

  1. cannot deserialize when there is a …

rust serde

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

Django 与 mypy:如何解决由于扩展“AbstractUser”的自定义“User”模型类重新定义字段而导致的不兼容类型错误?

我有一个现有的 Django 项目,它使用User扩展的自定义模型类AbstractUser。由于各种重要原因,我们需要重新定义该email字段,如下:

class User(AbstractUser):
    ...
    email = models.EmailField(db_index=True, blank=True, null=True, unique=True)
    ...
Run Code Online (Sandbox Code Playgroud)

最近添加了通过 mypy 进行键入检查。但是,当我执行 mypy 检查时,出现以下错误:

错误:赋值中的类型不兼容(表达式的类型为“EmailField[str | int | Combinable | None, str | None]”,基类“AbstractUser”将类型定义为“EmailField[str | int | Combinable, str]”)[任务]

我怎样才能让 mypy 允许这种类型重新分配?我不想仅仅使用,# type: ignore因为我希望使用它的类型保护。

对于上下文,如果我确实使用# type: ignore,那么我会从我的代码库中得到数十个以下 mypy 错误的实例:

错误:无法确定“电子邮件”的类型 [has-type]

以下是我的设置的详细信息:

python version: 3.10.5
django version: 3.2.19
mypy version: 1.6.1
django-stubs[compatible-mypy] version: 4.2.6
django-stubs-ext version: 4.2.5
typing-extensions version: 4.8.0
Run Code Online (Sandbox Code Playgroud)

python django mypy django-stubs

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

包含字符串列表的聚合列,其中元素与极坐标相交

我正在尝试将数据框中的一些行与列聚合list[str]。对于每个索引,我需要组中所有列表的交集。不确定我是否想太多,但我现在无法提供解决方案。有什么帮助吗?

\n
import polars as pl    \ninput_df = pl.DataFrame(\n   {"idx": [1,1,2,2,3,3], \n    "values": [["A", "B"], ["B", "C"], ["A", "B"], ["B", "C"], ["A", "B"], ["B", "C"]]\n   }\n)\n\noutput_df = input_df.agg(...)\n\n>>> input_df\nshape: (6, 2)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 idx \xe2\x94\x86 values     \xe2\x94\x82\n\xe2\x94\x82 --- \xe2\x94\x86 ---        \xe2\x94\x82\n\xe2\x94\x82 i64 \xe2\x94\x86 list[str]  \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xaa\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 1   \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 1   \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x82 2   \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 2   \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x82 3   \xe2\x94\x86 ["A", "B"] \xe2\x94\x82\n\xe2\x94\x82 3   \xe2\x94\x86 ["B", "C"] \xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xb4\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\n>>> output_df # Expected output\nshape: (3, …
Run Code Online (Sandbox Code Playgroud)

python list aggregation dataframe python-polars

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

当其中一个悬停时,所有 React 列表项都会改变颜色。为什么不只是“一”呢?

我在 React 中设计了一个页面,其中所有样式颜色都会发生变化,具体取决于用户是否登录。除了更改悬停时链接的颜色之外,我对整个页面都取得了成功。事实上,当一个链接悬停时,整个链接集都会改变颜色,而不仅仅是一个链接。我认为在每个项目上运行 map() 会对每个项目产生所需的效果,但它并不是这样工作的。我不明白为什么这段代码不起作用。(我所有的颜色都在线应用)

const links = [
  {
    link: 'Category 1',
  },
  {
    link: 'Category 2',
  },
  {
    link: 'Category 3',
  },
];
function App() {
  const [currentUser, setCurentUser] = useState(false);
  const [noUserColors, setNoUserColors] = useState('green');

  const handleNoUserMouseEnter = () => {
    setNoUserColors('blue');
  };

  const handleNoUserMouseLeave = () => {
    setNoUserColors('green');
  };

  return (
    <>
      <ul>
        {links.map((link) => {
          return (
            <li>
              {currentUser || (
                <a
                  style={{ color: noUserColors }}
                  onMouseEnter={handleNoUserMouseEnter}
                  onMouseLeave={handleNoUserMouseLeave}
                >
                  {link.link}
                </a>
              )} …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

尽管已将 null 设置为选项,但无法将 React useFormState 类型属性设置为 null

我正在使用打字稿。我有一个类型,其属性“message”可以是字符串或 null

export type State = {
  message: string | null;
};
Run Code Online (Sandbox Code Playgroud)

尽管如此,当尝试将该属性设置为 null 时,我收到以下类型错误。它只允许我将其设置为字符串。

Types of property 'message' are incompatible.
Type 'null' is not assignable to type 'string'.
Run Code Online (Sandbox Code Playgroud)

我正在使用这样的类型:

const initialState = { message: null };
const [state, dispatch] = useFormState(postFiles, initialState);

export async function postFiles(prevState: State, formData: FormData) {
  console.log(formData);
  return {
    message: "Uploaded",
  };
}
Run Code Online (Sandbox Code Playgroud)

我尝试将 strictNullChecks 设置为 true,但仍然收到错误。会是什么呢?我缺少什么吗?

types typescript

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

从 Spring Boot 3.1.5 升级到 3.2.0 后出现错误“IllegalStateException: No target Validator set”

将反应式应用程序从 Spring Boot 3.1.5 升级到 Spring Boot 3.2.0 后,出现以下错误:

java.lang.IllegalStateException: No target Validator set
    at org.springframework.util.Assert.state(Assert.java:76)
    at org.springframework.validation.beanvalidation.SpringValidatorAdapter.forExecutables(SpringValidatorAdapter.java:396)
    at org.springframework.validation.beanvalidation.MethodValidationAdapter.invokeValidatorForArguments(MethodValidationAdapter.java:257)
    at org.springframework.validation.beanvalidation.MethodValidationAdapter.validateArguments(MethodValidationAdapter.java:240)
    at org.springframework.web.method.annotation.HandlerMethodValidator.validateArguments(HandlerMethodValidator.java:115)
    at org.springframework.web.method.annotation.HandlerMethodValidator.applyArgumentValidation(HandlerMethodValidator.java:83)
    at org.springframework.web.reactive.result.method.InvocableHandlerMethod.lambda$invoke$0(InvocableHandlerMethod.java:164)
    ...
Run Code Online (Sandbox Code Playgroud)

代码没有其他变化,之前在Spring Boot 3.1.5中没有出现该异常。

java validation web-services upgrade spring-boot

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

Google App Engine 上的 Laravel 应用因响应大于 450KB 而挂起

我在 Google App Engine (GAE)Standard ENV 上托管的 Laravel 应用程序面临着一个令人困惑的问题。虽然应用程序在本地环境中完美运行,但在 GAE 上托管时我遇到了一个特定问题:大于约 450KB 的 API 响应永远不会完成;请求挂起,我没有收到任何错误,也没有触发任何日志。

语境

  • 本地环境:应用程序运行没有问题。我可以接收任何大小的 JSON 响应,包括几 MB 的有效负载。
  • Google App Engine 环境:响应大于 450KB 的请求挂起。GAE 中没有指示该问题的错误日志。
  • 响应类型:JSON 响应和 HTML Blade 页面呈现都会出现此问题。
  • GAE 实例大小:我已尝试将实例资源扩展到最大,但问题仍然存在。
  • 进行的测试:我已经对不同大小的响应进行了测试来隔离问题,但它似乎与超过 450KB 的响应有特定的联系。

我已经检查过的内容

  1. App Engine 配置:我没有发现任何可以限制响应大小的特定设置。
  2. 有效负载限制:我知道 GAE 上的有效负载限制远高于 450KB。
  3. 超时和资源:响应处理时间从未超过一秒,因此似乎不是超时或资源不足的问题。
  4. 日志记录:GAE 日志中没有指示问题原因的错误或警告。

具体问题

  1. GAE 中是否存在可能导致此行为的隐藏设置或限制?
  2. 这是否是与处理特定于 GAE 标准环境的大型响应相关的问题?
  3. 我还可以采取哪些其他故障排除步骤来进一步查明原因?

任何有关类似问题的建议或经验都会非常有帮助。

php google-app-engine httpresponse laravel

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

(Connexion 3.0.2) ModuleNotFoundError:请使用“flask”额外安装 connexion

问题

我使用 Flask 的连接。今天我将 connexion 从 2.14.2 升级到 3.0.2 并查看ModuleNotFoundError: Please install connexion using the 'flask' extra。

https://connexion.readthedocs.io/en/latest/quickstart.html

我查了官方文档,上面写着“要利用 FlaskApp,请确保使用 Flask extra 安装 connexion”。

问题

如何使用 Flask extra 安装连接?
文档说命令是pip install connexion[<extra>],但我看到一条错误消息“未找到匹配项:connexion[flask]”。

% pip install connexion[flask]
zsh: no matches found: connexion[flask]
Run Code Online (Sandbox Code Playgroud)

环境

  • Python 3.12.0
  • 烧瓶3.0.0
  • 连接3.0.2

python pip flask connexion

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

在容器中打开的代码如何在容器外执行任意代码?

我通常在 Docker 容器内工作,既保持本地环境清洁,又沙箱。但是,当我使用 VSCode 远程容器尝试打开容器中的文件夹时,我被告知:

打开开发容器中的文件夹可能会在容器内部和外部执行任意代码。

在此输入图像描述

不幸的是,文档链接仅总体讨论了工作区信任,而没有提及任何有关容器的风险。

在开发容器中工作时,单击“信任文件夹并继续”会带来哪些具体风险? 通过单击此处的“信任”,我会面临哪些攻击媒介?除了在容器内部工作之外,我可以在 VSCode 中做些什么来减轻风险(例如,我可以禁用某些特定功能)吗?

visual-studio-code vscode-remote

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