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
TobiR
Asked: 2025-04-11 12:36:15 +0800 CST

Sincronizar impressão dentro do Makefile foreach

  • 5

Tenho o seguinte exemplo:

LIST_JOB = job1 job2 job3

define macro
$(info "JOB: $(1)")
job_$(1): job.f90
   ifort -c job.f90
   $(shell touch job.f90)
endef

all: rule

rule: $(foreach job,$(LIST_JOB), job_$(job))

$(foreach job,$(LIST_JOB), \
   $(eval $(call macro,$(job))) \
)

que imprime as $(info "JOB: $(1)")linhas primeiro e depois os comandos de compilação:

"JOB: job1"
"JOB: job2"
"JOB: job3"
ifort -c job.f90
ifort -c job.f90
ifort -c job.f90

Existe alguma maneira de imprimir as linhas de cabeçalho logo antes da compilação (claro, mantendo o loop macroe o foreachloop)? Isso significaria a seguinte ordem:

"JOB: job1"
ifort -c job.f90
"JOB: job2"
ifort -c job.f90
"JOB: job3"
ifort -c job.f90
foreach
  • 1 respostas
  • 27 Views
Martin Hope
SkyN
Asked: 2025-04-11 11:46:20 +0800 CST

O Nuxt 3 runtimeConfig não foi preenchido a partir do process.env na compilação do Docker de produção, mas o process.env estará disponível posteriormente

  • 5

Estou enfrentando um problema em que meu servidor runtimeConfigno Nuxt 3 não está sendo preenchido corretamente com variáveis ​​de ambiente ao executar a compilação de produção dentro de um contêiner Docker gerenciado pelo Docker Compose. No entanto, consigo ver o valor correto ao acessar process.envdiretamente no middleware do servidor durante uma solicitação.

Configurar:

  • Nuxt: v3
  • Nó: v20
  • Processo de compilação: Padrão npm run builddentro de uma compilação multiestágios do Docker. A etapa final é executada CMD ["node", ".output/server/index.mjs"].

Problema:

No meu nuxt.config.ts, defino uma variável de configuração de tempo de execução do lado do servidor que deve ser carregada de uma variável de ambiente:

// nuxt.config.ts
export default defineNuxtConfig({
  // ...
  runtimeConfig: {
    // This should be populated from the environment variable
    jwtSecret: process.env.JWT_SECRET,
    // ... 
  },
  // ...
})

Meu .envarquivo (usado pelo Docker Compose) define a variável:

# .env file
JWT_SECRET=a9d3fd7cee941559f18f43dd6c87fc39cf611a540ffbc6b4b1f5675b569af176
# ... other vars

Meu docker-compose.ymlpassa esta variável para o portalserviço:

# docker-compose.yml
services:
  portal:
    # ... image, build context, etc.
    environment:
      JWT_SECRET: ${JWT_SECRET}
      # ... other env vars
    # ... ports, depends_on, etc.

Quando executo uma rota de API (por exemplo, /api/auth/login.post.ts), o código tenta acessar o segredo:

// server/api/auth/login.post.ts (simplified)
import { defineEventHandler, useRuntimeConfig } from 'h3';
import jwt from 'jsonwebtoken';

export default defineEventHandler(async (event) => {
  const config = useRuntimeConfig(event);
  const secret = config.jwtSecret;

  console.log('JWT Secret value INSIDE login handler:', secret);
  console.log('Type of portalJwtSecret:', typeof secret);

  try {
    // ... authentication logic ...
    // This line throws the error because 'secret' is an empty string
    const token = jwt.sign({ userId: user.id }, secret, { expiresIn: '7d' });
    // ... return token ...
  } catch (error) {
    console.error('Login error:', error);
    // ... handle error ...
  }
});

Sintomas:

  1. Falha no login: O manipulador de login gera Error: secretOrPrivateKey must have a valueporque config.portalJwtSecreté uma string vazia ( ""), embora seu tipo seja inferido corretamente como string.
  2. Middleware Vê process.env: Adicionei um middleware de servidor ( server/middleware/log-config.ts) para verificar os valores durante uma solicitação:
    // server/middleware/log-config.ts
    import { defineEventHandler, useRuntimeConfig } from 'h3';
    export default defineEventHandler((event) => {
      const config = useRuntimeConfig(event);
      console.log('[Middleware log-config] JWT Secret:', config.jwtSecret);
      console.log('[Middleware log-config] Type of portalJwtSecret:', typeof config.jwtSecret);
      console.log('[Middleware log-config] process.env.JWT_SECRET:', process.env.JWT_SECRET);
    });
    
    Os logs deste middleware mostram:
    [Middleware log-config] JWT Secret: 
    [Middleware log-config] Type of jwtSecret: string
    [Middleware log-config] process.env.JWT_SECRET: a9d3fd7cee941559f18f43dd6c87fc39cf611a540ffbc6b4b1f5675b569af176
    
    Isso mostra claramente que process.env.JWT_SECRET está definido corretamente no ambiente Node.js em execução quando a solicitação é manipulada, mas useRuntimeConfig(event).jwtSecretestá retornando uma string vazia.
  3. Constantes Funcionam: Se eu definir uma variável runtimeConfigdiretamente como uma string literal (por exemplo, someConstant: 'ThisValueWorks'), ela será corretamente acessível via useRuntimeConfig().
  4. nuxt devFunciona: Esse problema não ocorre quando executado localmente com nuxt dev; runtimeConfigé preenchido corretamente a partir do .envarquivo no modo de desenvolvimento.
  5. NUXT_Falha no prefixo: Também tentei prefixar a variável de ambiente com NUXT_(por exemplo, NUXT_JWT_SECRET) esperando preenchimento automático, mas useRuntimeConfig().jwtSecretnão foi undefinedo caso.

O que eu tentei:

  • Garantindo que não haja aspas em torno do valor no .envarquivo.
  • Verificar se o nome da variável corresponde exatamente em .env, docker-compose.yml, e nuxt.config.ts.
  • Verificando substituições em docker-compose.override.yml(nenhuma encontrada).
  • Parando contêineres ( docker compose down), removendo .nuxt, .output, node_modules, executando npm installe reconstruindo ( docker compose up --build -d --force-recreate).
  • Usando nomes de variáveis ​​diferentes ( JWT_SECRET, PORTAL_JWT_SECRET, NUXT_PORTAL_JWT_SECRET).
  • A confirmação process.env.VAR_NAMEpode ser acessada por meio de logs de middleware.

Pergunta:

Por que useRuntimeConfig()retornar uma string vazia para variáveis ​​do lado do servidor é definido via process.envin nuxt.config.tsao executar a compilação de produção ( .output/server/index.mjs)? Como posso garantir runtimeConfigque a inicialização com essas variáveis ​​de ambiente seja feita corretamente na inicialização do servidor dentro do contêiner do Docker?

nuxt.js
  • 1 respostas
  • 20 Views
Martin Hope
Sergey Zaykov
Asked: 2025-04-11 11:26:06 +0800 CST

Usar uma propriedade de classe como iterável produz um aviso de reatribuição

  • 6

Preciso usar uma variável iterável e uma variável de loop como propriedade de classe. Mas o verificador flake8 gera o aviso B2020:

easy.py:11:13: B020 Found for loop that reassigns the iterable it is iterating with each iterable value.

Se eu usar uma variável para iterável, está tudo bem.

O que está errado?

O exemplo de advertência:

#!/usr/bin/env python3
"""Example of B020 error."""


class My_Template:
    """My example."""

    def __init__(self, *template):
        """Obviously init."""
        self.all_templates = (1, 2, 3)
        for self.tpl in self.all_templates:
            print(self.tpl)

O flake8 reclama sobre a variável de loop:

easy.py:11:13: B020 Found for loop that reassigns the iterable it is iterating with each iterable value.

O exemplo OK:

#!/usr/bin/env python3
"""Example of B020 error."""


class My_Template:
    """My example."""

    def __init__(self, *template):
        """Obviously init."""
        all_templates = (1, 2, 3)
        for self.tpl in all_templates:
            print(self.tpl)
python-3.x
  • 1 respostas
  • 45 Views
Martin Hope
Jim Harvey
Asked: 2025-04-11 10:36:19 +0800 CST

A impressão do item de sequência imprime caracteres individuais

  • 5

Tenho um arquivo de texto com cinco linhas. Abro e leio as linhas em um array e, em seguida, imprimo o array com sucesso, mas quando imprimo um único item do array, ele imprime caracteres individuais. Preciso usar as cinco linhas de entrada como strings individuais no código.

#!/usr/bin/python3

# read the configuration file (from setup.py)

try:
    f = open('interface.txt', encoding="utf-8")
    vars = f.read()
    f.close()
except IOError:
    print("oops cant open interface.txt")
    exit ()

# debug
print ('\nthis works prints five items\n')
print (vars)

print ('\nthis prints every individual character in the file\n')
for xx in vars:
 print (xx)

saída:

jbh@junkbox-2:~/Desktop/Athens/Volume1/Chapter00$ ./readInterface.py

this works prints five items

Chapter 00 - Introduction
index.html
../Chapter10/index.html
../Chapter01/index.html
Chapter00.csv


this prints every individual character in the file

C
h
a
p
t
e
r
 
0
0
 
-
 
I
n
t
r
o
d
u
c
t
i
o
n
-- etc. ---
python
  • 1 respostas
  • 32 Views
Martin Hope
SuryaKavitha
Asked: 2025-04-11 10:31:25 +0800 CST

Caixa de mensagem repetindo em loop com token de cancelamento

  • 4

Tenho um método com condição de troca para executar diferentes operações em whileloop com CancellationToken, conforme mencionado aqui.

    private Task MessagesAsync(CancellationToken cancelToken) => Task.Run(() =>
    {       
        while (!cancelToken.IsCancellationRequested)
        {        
            var message = this.routerSocket.ReceiveMultipartMessage();
            if (message is null)
                continue;         

            switch (MessageType)
            {
                case Email:
                    OnSendEmail(message);
                    break;
                case SMS:
                    OnSendSMS(message);
                    break; 

                // (Other code)
                    this.routerSocket.SignalOK();
           }
        }
    }, cancelToken);

Agora eu tenho o OnSendMailmétodo

private void OnSendEmail(String message)
{        
    try
    {            
         EmailService.SendEmail(message); // Will throw exception.                    
    }
    catch (Exception ex)
    {      
        this.publisherSocket.SendMultipartMessage(ex.Message); // Will send UI notification
    }
}

Nisso, EmailService.SendEmail(message)retornará um erro de operação inválida e deverá capturar a exceção. publisherSocket.SendMultipartMessage()Notificará a interface do usuário quando algum erro ocorrer.

O problema é que, como esse método é chamado no loop while com Cancellationtoken, ele não cancela a execução. Ele faz chamadas constantes para OnSendEmail()o método e recebemos várias caixas de mensagem com mensagens de erro na interface do usuário.

Como podemos receber apenas uma notificação de erro na interface do usuário? Além disso, quando ocorre um erro, ele não deve fazer chamadas repetidas vezes para OnSendEmail().

Devemos restringir a chamada para OnSendEmail()quando a exceção for capturada. Por favor, me ajude com esta questão.

c#
  • 1 respostas
  • 55 Views
Martin Hope
BuckBuchanan
Asked: 2025-04-11 10:30:07 +0800 CST

Classificar linhas pelo grupo mais recente

  • 5

Tenho o conjunto de dados abaixo que inclui 3 colunas:

  • ID de inspeção
  • Data de inspeção
  • Número da falha

Observação: adicionei duas colunas adicionais, "Comentário" e "Ordem de classificação necessária", para ajudar a explicar o que estou tentando fazer.

O que preciso é classificar na ordem mostrada na coluna "Ordem de classificação necessária".

ID de inspeção Data de inspeção Número de falha Comentário Ordem de classificação necessária
1 01/01/2025 1 Falha 1-inspeção 1 7
2 02/01/2025 2 Falha2-inspeção 1 3
3 01/03/2025 1 Falha 1-inspeção 2 6
4 01/04/2025 3 Falha 3-inspeção 1 9
5 01/05/2025 2 Falha2-inspeção 2 2
6 01/06/2025 1 Falha 1-inspeção 3 5
7 01/07/2025 3 Falha 3-inspeção 2 8
8 01/08/2025 1 Falha 1-inspeção 4 4
9 01/09/2025 2 Falha2-inspeção 3 1

O usuário realiza inspeções em datas diferentes. Queremos que o primeiro registro seja o mais recente, com base na Data de Inspeção. Isso nos dá o primeiro número de falha. Em seguida, queremos todos os outros registros para esse número de falha (ordenados por data de inspeção). Depois de todos os registros para esse número de falha, queremos o próximo número de falha com a data de inspeção mais recente, e assim por diante.

Na verdade, quero que os registros sejam agrupados por número de falha e ordenados pela data de inspeção.

Então o resultado deve ficar assim:

ID de inspeção Data de inspeção Número de falha Comentário
9 2025-09-01 2 Falha2-inspeção 3
5 2025-05-01 2 Falha2-inspeção 2
2 2025-02-01 2 Falha2-inspeção 1
8 2025-08-01 1 Falha 1-inspeção 4
6 2025-06-01 1 Falha 1-inspeção 3
3 2025-03-01 1 Falha 1-inspeção 2
1 2025-01-01 1 Falha 1-inspeção 1
7 2025-07-01 3 Falha 3-inspeção 2
4 2025-04-01 3 Falha 3-inspeção 1

Qualquer dica é bem-vinda!

sql
  • 2 respostas
  • 75 Views
Martin Hope
Gauravsa
Asked: 2025-04-11 10:21:32 +0800 CST

Como centralizar uma imagem em uma linha td da tabela?

  • 5

Como centralizar uma imagem em uma linha de tabela. Atualmente, tenho uma div como esta no Bootstrap:

insira a descrição da imagem aqui

<div class="container-fluid">
<div class="row align-items-center exclusion-empty">
    <div class="col"></div>
    <div class="col-1 lock-circle">
        <span>
            <i class="fa-regular fa-lock-keyhole lock-icon"></i>
        </span>
    </div>
    <div class="col"></div>
</div>
</div>

com css:

.lock-circle[b-pzm1s2lx32] {
border-radius: 50%;
background-color: grey;
border: 3px solid white;
width: 4.25rem;
height: 4.25rem;
}

.exclusion-empty {
margin-top: 0.63rem;
height: 8.125rem;
flex-shrink: 0;
background: #F8F8F8;
}

.align-items-center {
align-items: center !important;
}

Tentei usar assim em uma tabela:

<div class="table-responsive">
<table class="table">
    <thead>
        <tr>
            <th scope="col" class="col-3">
                Excluded candidate
            </th>
            <th scope="col" class="col-1">
                Votes to transfer
            </th>
            <th scope="col" class="col-3">
                Remaining candidates
            </th>
            <th scope="col" class="col col-width-1">
                Exc 1<br />total
                
            </th>
            <th scope="col" class="col col-width-1">
                Transfer <br />votes
            </th>
            <th scope="col" class="col col-width-1">
                Transfer % total
            </th>
            <th scope="col" class="col col-width-1">
                Excl 1 <br />total
            </th>
            <th scope="col" class="col col-width-1">
                Overall % total
            </th>
        </tr>
    </thead>
    <tbody>
    <tr class="exclusion-empty">
        <td colspan ="3"></td>
        <td colspan="2" class="lock-circle align-items-center ">
            <span>
                <i class="fa-regular fa-lock-keyhole lock-icon"></i>
            </span>
        </td>
        <td colspan ="3"></td>
    </tr>
    </tbody>
</table>
</div>

Isso está produzindo uma saída como esta:

insira a descrição da imagem aqui

html
  • 1 respostas
  • 44 Views
Martin Hope
AshBoomstick1
Asked: 2025-04-11 09:57:52 +0800 CST

Por que minha animação JS não está sendo detectada como iniciada pelo meu ouvinte de evento 'animationstart'?

  • 8

Tenho uma animação que estou declarando e reproduzindo usando JS, mas quando a animação é reproduzida, meu ouvinte de eventos não dispara.

Aqui está o arquivo HTML:

let anim = document.getElementById("anim");

const animkeyFrames = new KeyframeEffect(
  anim,
  [{
      transform: `translate3d(0px, 0px, 0px)`
    }, // keyframe
    {
      transform: `translate3d(0px, ${200}px, 0px)`
    },
  ], {
    // keyframe options
    duration: 1000,
    iterations: "1",
  },
);
let animation = new Animation(animkeyFrames, document.timeline);

anim.addEventListener('animationstart', () => {
  console.log("STARTED");
})

animation.play();
#anim {
  top: 10px;
  left: 10px;
  width: 100px;
  height: 100px;
  background-color: black;
  position: absolute;
}
<div id="anim"></div>

Quero que "STARTED" seja registrado quando a animação for reproduzida, mas nada acontecer.

javascript
  • 1 respostas
  • 45 Views
Martin Hope
Ethan Reesor
Asked: 2025-04-11 09:19:13 +0800 CST

Existe uma maneira padrão de codificar DER um esquema ASN.1?

  • 5

Dada alguma definição de tipo (ou coleção de definições de tipo), como:

Foo ::= SEQUENCE {
   field1 UTF8String,
   field2 INTEGER
}

Existe uma maneira padrão de codificar isso com DER? Obviamente, posso codificá-lo como uma string, mas isso não vem ao caso, é trivial e eu já sei como fazer.

asn.1
  • 1 respostas
  • 31 Views
Martin Hope
Qianxin Cheng
Asked: 2025-04-11 09:11:18 +0800 CST

O uso de códigos de razão no RFC 5280

  • 6

Ao revisar a RFC 5280, notei que os códigos de razão usados ​​em diferentes extensões parecem variar. Gostaria de perguntar, para a extensão CRL Distribution Points, qual ela usa — a primeira ou a segunda?

(1)CRLReason ::= ENUMERADO {
não especificado (0),
keyCompromise (1), cACompromise (2), affiliationChanged (3), substituído (4), cessationOfOperation (5), certificateHold (6), removeFromCRL (8), privilegeWithdrawn (9), aACompromise (10) }

(2)ReasonFlags ::= BIT STRING { não utilizado (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), substituído (4), cessationOfOperation (5), certificateHold (6), privilegeWithdrawn (7), aACompromise (8) }

ssl-certificate
  • 1 respostas
  • 25 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