AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

All perguntas(coding)

Martin Hope
Oleksandr Klunnyi
Asked: 2025-04-10 16:14:21 +0800 CST

Como visualizar quais exibições materializadas foram removidas no Azure Data Explorer?

  • 5

Recentemente, investiguei um caso sobre a ausência de uma visualização de material no nosso ambiente de produção. Executei .show operations | where Operation == 'MaterializedViewDrop'o comando e ele mostrou muitas informações úteis, mas não consegui identificar exatamente qual visualização materializada foi excluída.

Existe alguma maneira de descobrir exatamente qual mat view foi descartada?

  • 2 respostas
  • 35 Views
Martin Hope
swimmer
Asked: 2025-04-10 16:13:14 +0800 CST

A geração automática de JOIN ao usar relações aninhadas na condição where do TypeORM é um recurso pretendido?

  • 5

Versão do TypeORM: 0.3.21

Notei que, ao especificar relações aninhadas na cláusula where findOptions do TypeORM, ele gera automaticamente os JOINs necessários. Gostaria de confirmar se isso é um recurso intencional ou um efeito colateral não documentado.

Pesquisei na documentação e nos problemas, mas não consegui encontrar uma descrição clara desse comportamento específico. Sou novo no TypeORM, então peço desculpas se isso já estiver documentado em algum lugar que eu não tenha mencionado. Qualquer informação de alguém familiarizado com o funcionamento interno do TypeORM será muito apreciada.

Exemplo de código:

const user = await manager.findOne(User, {
  where: {
    department: {
      company: {
        name: 'test',
      },
    },
  },
})

SQL gerado:

SELECT DISTINCT
  `distinctAlias`.`User_id` AS `ids_User_id`
FROM
  (
    SELECT
      /* only User table columns */
    FROM
      `user` `User`
      LEFT JOIN `department` `User__User_department` ON `User__User_department`.`department_id` = `User`.`department_id`
      AND (
        `User__User_department`.`deleted_at` IS NULL
      )
      LEFT JOIN `company` `c5f78c10915c4173cfd9951235c1b6b329194b87` ON `c5f78c10915c4173cfd9951235c1b6b329194b87`.`company_id` = `User__User_department`.`company_id`
      AND (
        `c5f78c10915c4173cfd9951235c1b6b329194b87`.`deleted_at` IS NULL
      )
    WHERE
      (
        (
          (
            (
              (
                (
                  (
                    `c5f78c10915c4173cfd9951235c1b6b329194b87`.`name` = 'test'
                  )
                )
              )
            )
          )
        )
      )
      AND (`User`.`deleted_at` IS NULL)
  ) `distinctAlias`
ORDER BY
  `User_id` ASC
LIMIT
  1

Como mostrado acima, mesmo sem especificar explicitamente as relações, os JOINs são gerados automaticamente apenas usando objetos aninhados na cláusula where.

typescript
  • 1 respostas
  • 25 Views
Martin Hope
WSD
Asked: 2025-04-10 16:11:52 +0800 CST

Comportamento de entrada/saída do componente angular ao usar model()

  • 6

Eu queria perguntar isso no Github do projeto Angular, mas aparentemente perguntas/esclarecimentos pertencem ao StackOverflow, então aqui estamos :)

Os autores de bibliotecas podem implementar a vinculação bidirecional usando a função new model(). Ao usar essa função, o Angular cria automaticamente uma saída correspondente para esse modelo, possibilitando o uso do padrão [property]and (propertyChange). No entanto, o componente emite imediatamente o valor padrão/inicial por meio do evento output assim que é inicializado.

Por exemplo, com este componente de terceiros:

@Component(...)
export class ThirdPartyChildComponent {
  value = model.required<string>();
}

E usando assim:

@Component({
  template: `<third-party-child [value]="defaultValue()" (valueChange)="logValueChange($event)">`
})
export class ParentComponent {
  public defaultValue = input('initial value');
  public logValueChange(value: string) {
    console.log(value);
  }
}

O logValueChangemétodo é chamado imediatamente com 'valor inicial' durante a inicialização.

Comportamento esperado

Como consumidor, eu esperaria que o evento de saída ( valueChange) fosse emitido somente quando o valor realmente mudasse após a inicialização, não imediatamente após receber o valor de entrada inicial.

Neste stackblitz, essa emissão inicial não ocorre no ngModel, Angular Forms ou mesmo nas entradas HTML.

Tecnicamente falando, eu entendo por que model()isso pode acontecer ao usar o, mas estou tentando determinar se:

  • Este é um problema de design com o componente de terceiros
  • Talvez relacionado a um problema específico da versão?
  • Os autores da biblioteca devem fornecer mecanismos separados para valores iniciais e eventos de alteração?
  • Cabe a mim, como consumidor, diferenciar entre a primeira emissão e as emissões futuras
angular
  • 1 respostas
  • 51 Views
Martin Hope
HolyBlackCat
Asked: 2025-04-10 15:54:42 +0800 CST

Variáveis ​​são formalmente um conceito de tempo de compilação?

  • 12

Observe que esta é uma pergunta de direito linguístico . Conheço o significado comum de "variável", mas estou tentando entender exatamente o que o padrão chama de "variáveis". Estou escrevendo um material didático e quero usar as definições corretas.


Variáveis ​​são comumente definidas como "objetos nomeados", ou mais corretamente "objetos que foram declarados" (já que variáveis ​​podem não ter nome, mas são sempre declaradas).

Mas há um segundo ponto de vista: variáveis ​​são um conceito de tempo de compilação. Segundo essa definição, uma declaração no código-fonte sempre corresponde a uma variável, mesmo que, em tempo de execução, vários objetos sejam criados a partir dela.

Qual está correta?


Aqui está um exemplo em que isso é importante. Digamos que você tenha

void foo(bool a)
{
    int x = 42;

    if (a)
        foo(false);
}

Quando você chama foo(true), duas instâncias de int x = 42;get existem ao mesmo tempo.

Eles são claramente dois objetos diferentes, mas tecnicamente são variáveis ​​diferentes ou a mesma variável?

Se variáveis ​​são uma coisa de tempo de compilação, então as duas são a mesma variável.


A segunda definição parece errada à primeira vista, mas aqui temos um membro do comitê C++ argumentando que ela é a correta , por exemplo.

c++
  • 2 respostas
  • 203 Views
Martin Hope
Indy
Asked: 2025-04-10 15:51:55 +0800 CST

Por que as letras cld estão desalinhadas no meu gráfico?

  • 5

Estou usando emmeans::cld()para gerar letras de grupos de significância após uma ANOVA e quero exibi-las acima de um boxplot ggplot2. Quando defino alpha = 0.05, funciona bem, mas quando quero usar delta = 2, as letras ficam desalinhadas: embora meu conjunto de dados principal e a tabela de resumo tenham os mesmos níveis de fator na mesma ordem, as letras não ficam alinhadas corretamente com as categorias do eixo x.

Tentei position = position_identity()e garanti a levels()correspondência em ambos os quadros de dados. Mas os rótulos de texto ainda aparecem deslocados. Aqui está um exemplo reproduzível completo — alguém pode me ajudar a entender o que estou perdendo?boxplot com letras desalinhadas

 # Load necessary libraries
    library(tidyverse)
    library(emmeans)
    library(multcomp)
    
    # Step 1: Simulated dataset
    set.seed(123)
    
    # Define levels of the treatment variable
    treatment_levels <- c("Control_0",
                          "Carvone_0.001", "Carvone_0.01",
                          "Eucalyptol_0.001", "Eucalyptol_0.01",
                          "Mint_nanah_0.001", "Mint_nanah_0.01",
                          "Mint_piperita_0.001", "Mint_piperita_0.01",
                          "Mint_pouliot_0.001", "Mint_pouliot_0.01",
                          "Menthone_0.001", "Menthone_0.01",
                          "Pulegone_0.001", "Pulegone_0.01")
    
    # Simulate a dataset
    Microbio_2025 <- tibble(
      Treatment = rep(treatment_levels, each = 6),
      Corrected_Surface = rnorm(6 * length(treatment_levels), mean = 20, sd = 5)
    )
    
    Microbio_2025 <- Microbio_2025 %>%
      mutate(Treatment = factor(Treatment, levels = treatment_levels))
    
    # Step 2: Simple ANOVA model
    anova_microbio <- aov(Corrected_Surface ~ Treatment, data = Microbio_2025)
    
    # Step 3: Grouping letters using emmeans
    grouped_means <- emmeans(anova_microbio, specs = ~ Treatment) %>%
      cld(delta = 2, 
          #alpha = 0.05, 
          Letters = letters) %>%
      as.data.frame() %>%
      mutate(Treatment = factor(Treatment, levels = treatment_levels))
    
    # Step 4: Boxplot + significance letters
    ggplot(data = Microbio_2025, aes(x = Treatment, y = Corrected_Surface, fill = Treatment)) +
      
      geom_boxplot(show.legend = FALSE) +
      
      # Add significance group letters (here is where the alignment issue happens)
      geom_text(data = grouped_means,
                aes(x = Treatment, y = 45, label = .equiv.set),
                position = position_identity(),
                size = 5,
                show.legend = FALSE) +
      
      labs(x = "Tested Samples",
           y = "Corrected surface area (cm²)") +
      
      theme_minimal() +
      theme(axis.text.x = element_text(angle = 45, vjust = 0.5),
            text = element_text(size = 15))
  • 1 respostas
  • 38 Views
Martin Hope
altchist
Asked: 2025-04-10 15:40:35 +0800 CST

É correto enviar um valor para o argumento lvalue usando std::move?

  • 7

Eu tenho uma função do formuláriovoid foo(std::string str);

Quero usá-lo em dois cenários:

  1. envie uma cópia do valor original para ele:

    std::string myString = "any data that I want to keep in its original state"
    foo(myString);
    
  2. passe o valor original usando std::move:

    std::string myString = "any data that I don't need anymore"
    foo(std::move(myString));
    
c++
  • 1 respostas
  • 102 Views
Martin Hope
lyrically wicked
Asked: 2025-04-10 15:28:45 +0800 CST

Como fazer o Gawk funcionar com arquivos encontrados pelo comando “find” com a saída correspondente da opção “-printf” disponível como uma variável?

  • 6

Quero fazer o seguinte:

  1. Encontre um conjunto específico de arquivos com o findcomando;
  2. Para qualquer arquivo encontrado, coloque a saída correspondente da -printfopção em uma variável chamada stre passe-a para o Gawk (e não imprima/use essa saída em nenhum outro lugar);
  3. Execute um programa Gawk para o arquivo correspondente. O conteúdo da strvariável correspondente deve estar disponível no programa.

Por exemplo, eu tenho o diretório chamado /d/ir. Ele contém dois arquivos, file1.txte file2.txt. Os arquivos estão na codificação UTF-8. O arquivo cujo nome é file1.txtcontém as duas linhas de texto a seguir:

A
BC 

O tamanho do arquivo é 4 bytes.

O arquivo cujo nome é file2.txtcontém as três linhas de texto a seguir:

D
EF
GHI

O tamanho do arquivo é 8 bytes.

Quero imprimir todas essas linhas, anexando o conteúdo correspondente de str(nome do arquivo, tamanho do arquivo) a cada linha. Portanto, a saída esperada é

A;d/ir/file1.txt,4
BC;d/ir/file1.txt,4
D;d/ir/file2.txt,8
EF;d/ir/file2.txt,8
GHI;d/ir/file2.txt,8

Tentei o seguinte comando:

LC_ALL=en_US.utf8; find "/d/ir" -name "file*.txt" -type f -printf "%p,%s" -execdir gawk -v str="$7" '{
print($0 ";" str)
}' "{}" \+

(Aqui eu esperava que $7, sendo um parâmetro posicional , se referisse a "%p,%s") Mas ele não imprime a saída esperada: ele mostra duas saídas de -printf(o que eu não quero que aconteça), depois cinco linhas sem os dados necessários de str.

Qual é o comando correto que resolve o problema? Observe que não quero que as saídas da -printfopção sejam mostradas/impressas fora do contexto do Gawk: quero apenas passá-las para o Gawk para que somente o programa Gawk saiba como usá-las. Se o programa Gawk não as usar, elas não devem ser mostradas em lugar nenhum.

Como o comando será usado para muitos arquivos, a maximização do desempenho e a minimização do consumo de memória são importantes.

linux
  • 4 respostas
  • 131 Views
Martin Hope
Pierpaolo Croce
Asked: 2025-04-10 15:26:27 +0800 CST

Durante o processo de construção, erro relacionado à pré-renderização de uma rota dinâmica (esperimento/:id)

  • 5

Tenho um projeto Angular e estou anexando o app.routes.tsarquivo. Quando testo com ng serve, o aplicativo parece funcionar perfeitamente, mas quando tento compilá-lo, sempre recebo este erro:

✘ [ERROR] The 'esperimento/:id' route uses prerendering and includes parameters, but 'getPrerenderParams' is missing. Please define the 'getPrerenderParams' function for this route in your server routing configuration or specify a different 'renderMode'.

Não consigo encontrar uma solução. Alguém pode me ajudar?

// app/app.routes.ts
import { Routes } from '@angular/router';
import { HomeComponent } from './pages/home/home.component';
import { ExperimentComponent } from './pages/experiment/experiment.component';

export const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'esperimento/:id', component: ExperimentComponent }
];
angular
  • 1 respostas
  • 34 Views
Martin Hope
mike rodent
Asked: 2025-04-10 15:15:18 +0800 CST

Como posso fazer com que o git diff produza uma saída mais simples entre dois commits?

  • 5

Já li muitas explicações sobre o que git diffacontece entre dois commits e ainda estou completamente perplexo com o resultado que estou obtendo. Acredito que o que estou vendo seja o "formato combinado", considerado o formato "padrão", mas, se for esse o caso, não sei quais outros formatos estão disponíveis.

Exemplo:

>git diff af738ab0..bbbec26d > gitdiff_2025-04-09B.diff

Geralmente recebo esse tipo de coisa:

...
+diff --git a/src/core/history_table_view.py b/src/core/history_table_view.py
+index 5b18236..05b262a 100644
+--- a/src/core/history_table_view.py
++++ b/src/core/history_table_view.py
+@@ -14,188 +14,279 @@ class HistoryTableView(QtWidgets.QTableView):
+     @thread_check(True)
+     def __init__(self, *args):
+         super().__init__(*args)
+-        self.setObjectName('history table')
+-        self.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
+-        self.horizontalHeader().setStretchLastSection(True)
+-        self.horizontalHeader().hide()
+-        self.verticalHeader().hide()
+-        self.setModel(HistoryTableModel(self))
...

... nesta parte da saída, ele está comparando o arquivo history_table_view.py no primeiro commit com o mesmo arquivo no segundo commit.

Todas as linhas acima estão presentes em ambos os arquivos. Então, por que essa linha pode

+     def __init__(self, *args):    

comece com um simples "+", enquanto esta linha

+-        self.setObjectName('history table')

começa com "+-"? O que isso significa? Como eu disse, ambas as linhas estão presentes em ambas as versões deste arquivo. Eu esperaria, git diffa princípio, que nenhuma dessas linhas fosse exibida (embora haja algumas diferenças em termos de linhas vazias entre as linhas com texto).

Em segundo lugar, quando assisto a uma introdução simples git diff, como esta , o apresentador faz git diffdois commits, aos 4:40 do vídeo vemos a saída... mas no caso dele ele NÃO está vendo símbolos duplos no início das linhas, mas sim simples "+" ou "-", ou seja, até onde eu entendo, o que se poderia esperar de um diffcomando BASH feito entre dois arquivos. ESSE FORMATO SIMPLES É TUDO O QUE EU QUERO.

Suspeito que possa haver uma alternativa ao git diff"formato combinado" que de fato produza essa saída mais simples, mas não consegui encontrá-la. Em segundo lugar, o vídeo que mencionei acima foi feito há 7 meses: por que aquele YouTuber está obtendo, por padrão, ao comparar dois commits, uma saída simples do Git (que é perfeitamente compreensível para mim), enquanto eu obtenho (para mim) uma saída incompreensível? Minha versão do Git é:

git version 2.48.1.windows.1

Um link simples para uma página que explique genuinamente essa questão específica de git diffcomparar dois commits, em termos claros e, principalmente, mostrando como obter um .exe simples diff, pode ser tudo o que preciso. Procurei muito e não encontrei.

Mais tarde .
O daoh-nvohter pode, por favor, dizer por que essa pergunta não vale a pena ser feita?

git
  • 1 respostas
  • 49 Views
Martin Hope
Ivan Debono
Asked: 2025-04-10 15:03:26 +0800 CST

Por que o componente filho é renderizado durante a renderização do componente pai?

  • 5

Eu tenho este componente pai:

<CascadingValue Value="@Email" IsFixed="true">
    <Header />

    <div class="container-fluid">
        @Body
    </div>
</CascadingValue>

@code {
    [Parameter]
    public string Email { get; set; }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        await base.OnAfterRenderAsync(firstRender);

        if (!firstRender)
            return;

        Email = await GetEmailFromLocalStorage();
    }
}

E o componente de cabeçalho (simplificado) é:

<Details></Details>

E o componente de detalhes (neto do pai):

@code {
    [CascadingParameter]
    public string Email { get; set; }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        await base.OnAfterRenderAsync(firstRender);

        if (!firstRender)
            return;

        var email = Email; //Testing
    }
}

Em tempo de execução, o componente pai começa a renderizar, mas então o neto começa a renderizar e o parâmetro 'Email' é nulo.

Por que isso acontece e a prática acima não é uma prática recomendada para passar parâmetros para componentes filhos?

c#
  • 1 respostas
  • 51 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve