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
Tom Hunter
Asked: 2025-04-30 07:44:39 +0800 CST

Notas de lançamento da versão ActiveMQ Artemis WildFly

  • 5

Esta página lista as versões "centrais" do ActiveMQ Artemis JMS Client (de 1.0 a 2.40) e esta página contém links para as notas de versão de cada uma dessas versões.

A página mvnrepository.com também lista "JBoss Releases":

insira a descrição da imagem aqui

Onde estão as notas de lançamento das versões do JBoss? Qual versão do WildFly/JBoss está relacionada a qual versão "Central"?

jboss
  • 1 respostas
  • 25 Views
Martin Hope
herhor67
Asked: 2025-04-30 06:55:46 +0800 CST

Modelo para verificar overflow e static_assert

  • 6

Fiz alguns modelos que supostamente

  • (1) testar se os números podem ser adicionados sem estouro,
  • (2) somar números e falhar em caso de estouro.

O (1) test_sumdentro static_assertcompila, então acho que é constexpr.
Eu queria evitar duplicar os cálculos, então tentei colocar a declaração diretamente dentro da função (2) que calcula a soma. No entanto, a declaração sempre falha, independentemente da condição, em todas as versões abaixo. Isso pode ser resolvido de alguma forma?

#include <limits>
#include <stdexcept>
#include <type_traits>

template<typename T>
constexpr bool add(T& a, T b)
{
    static_assert(std::is_integral<T>::value, "Only integral types are supported");

    if ((b > 0) && (a > std::numeric_limits<T>::max() - b))
        return false;
    if ((b < 0) && (a < std::numeric_limits<T>::min() - b))
        return false;

    a += b;
    return true;
}

//

template<typename T>
constexpr bool sum_impl(T& result)
{
    return true;
}

template<typename T, typename... Rest>
constexpr bool sum_impl(T& result, T value, Rest... rest)
{
    if (!add(result, value))
        return false;

    return sum_impl(result, rest...);
}

//

template<typename T, typename... Rest>
constexpr bool test_sum(T value, Rest... rest) // (1)
{
    return sum_impl(value, rest...);
}

template<typename T, typename... Rest>
T sum(T value, Rest... rest) // (2) regular
{
    if (!sum_impl(value, rest...))
        throw std::overflow_error("Overflow in checked::sum");

    return value;
}

template<typename T, typename... Rest>
constexpr T sum_cexpr(T value, Rest... rest) // (2) constexpr
{
//  if (!sum_impl(value, rest...))
//      static_assert(false, "Overflow"); // fail

//  static_assert(sum_impl(value, rest...), "Overflow"); // fail

//  if (!sum_impl(value, rest...))
//      delegated_assert<false>(); //  fail

    return value;
}

template<bool B>
constexpr void delegated_assert()
{
    if constexpr (!B)
        static_assert(B);
}

//////

int main()
{
    static_assert(test_sum(1, 2)); // (1) works

    constexpr int a = sum_cexpr(10, 20, 30); // fails to compile
    
    return 0;
}
c++
  • 1 respostas
  • 72 Views
Martin Hope
HL666
Asked: 2025-04-30 06:55:21 +0800 CST

Comportamento estranho na verificação de metatipos Swift

  • 6

Estou brincando com a resposta desta questão: Como testar se uma variável genérica é do tipo AnyObject

Essa solução parece não funcionar mais. Tenho este código:

public struct ObjectHashable<T>: Hashable {
  
  public let object: T
  
  public init(object: T) {
    
    let t1 = type(of: object)
    let b1 = t1 is AnyClass
    print(t1) // Plugin
    print(b1) // false
    
    let t2 = T.self
    let b2 = t2 is AnyClass
    print(t2) // Plugin 
    print(b2) // false
    
    let t3 = Mirror(reflecting: object).subjectType 
    let b3 = t3 is AnyClass 
    print(t3) // P
    print(b3) // true 

    self.object = object
    
  }
  
  public static func ==(lhs: Self, rhs: Self) -> Bool {
    return true
  }
  
  public func hash(into hasher: inout Hasher) {
  }
}

protocol Plugin: AnyObject {}
class P: Plugin {}

typealias PluginHashable = ObjectHashable<Plugin>

PluginHashable(object: P())

Esse é um comportamento surpreendente.

1.

let t1 = type(of: object)

type(of:)deveria retornar o tipo dinâmico, que é P, não Plugin. Mas obtive "Plugin" impresso.

2.

let b1 = t1 is AnyClass

Não deveria ser verdade, já que t1 é um tipo de referência? (com base na resposta aqui: Como testar se uma variável genérica é do tipo AnyObject )

3.

let t2 = T.self

Isso imprime Plugin, o que faz sentido, porque eu Plugincoloquei<>

4.

let b2 = t2 is AnyClass

Isso é falso, mas acho que deveria ser verdade pelo mesmo motivo

5.

    let t3 = Mirror(reflecting: object).subjectType // P

Isso imprime P, o que faz sentido

6.

    let b3 = t3 is AnyClass // true

Isso é verdade, o que faz sentido. Mas por que é diferente dos outros dois casos?

swift
  • 1 respostas
  • 47 Views
Martin Hope
D.Hodges
Asked: 2025-04-30 06:09:00 +0800 CST

Como eu definiria uma regra do Firebase para uma consulta de grupo de coleta

  • 5

Estou usando o Firestore. Ele requer regras de segurança.

Aqui está a consulta real que estou executando no grupo de coleta:

const db = getFirestore(app);
const MainCollection = collectionGroup(db, "list");

const searchQuery = query(
  MainCollection,
  where("destination", "==", itinerary.destination),    
);

O caminho da coleta é /maincollection/{userId}/list/{documents=**}.

As regras do Firebase sugeridas pelo CoPilot:

match /maincollection/{userId} {
  allow read: if request.auth != null;
  match /list/{document=**} {
      allow read: if request.auth != null;
    }
}

match /maincollection/{doc}/list/{itin} {
  allow read: if request.auth != null;
}

    match /maincollection/{doc}/list/{document=**} {
  allow read: if request.auth != null;
}

    match /maincollection/{document=**} {
  allow read, write: if request.auth != null;
}

todos eles estão me dando o seguinte erro:

Erro ao pesquisar itinerários: FirebaseError: Permissões ausentes ou insuficientes.

  • 1 respostas
  • 38 Views
Martin Hope
Daryl Clark
Asked: 2025-04-30 06:03:20 +0800 CST

Filtrar itens de lista do SharePoint por lastModifiedDateTime usando a API do Graph

  • 5

Estou tentando filtrar uma Lista de Itens do SharePoint para obter apenas aqueles que foram modificados no último dia. De acordo com os seguintes documentos da API do Graph, eu deveria conseguir usar a função

$filter=lastModifiedDateTime ge {24 horas atrás}

parâmetro de consulta

https://learn.microsoft.com/en-us/graph/api/listitem-list?view=graph-rest-1.0

https://learn.microsoft.com/en-us/graph/api/resources/listitem?view=graph-rest-1.0

Um exemplo de URL que estou usando é:

https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items?$filter=lastModifiedDateTime em 2025-04-28T00:00:00Z

Estou recebendo uma "Solicitação inválida" da Microsoft sem nenhum motivo real.

Se eu não adicionar um filtro, posso devolver todos os itens sem problemas.

  • 2 respostas
  • 45 Views
Martin Hope
ysap
Asked: 2025-04-30 05:15:36 +0800 CST

Como alterar o estilo de linha e marcador em uma legenda?

  • 6

Meu script gera um gráfico composto, composto por dezenas de linhas e segmentos de linha. Estou tentando adicionar uma legenda personalizada ao gráfico, que contém apenas 3 dessas linhas, mas não consigo controlar o estilo das linhas e marcadores nessa legenda.

O enredo é assim:

insira a descrição da imagem aqui

Na lenda, quero que Line1o estilo seja 'b.-', Line2o estilo seja 'r-o'e Line3o estilo seja 'g-o'.

Existe uma maneira de definir uma legenda com um número definido de rótulos e estilos de linha específicos?

matlab
  • 1 respostas
  • 30 Views
Martin Hope
hugo
Asked: 2025-04-30 04:50:34 +0800 CST

Parâmetros de consulta Python pg8000...erro de sintaxe em ou próximo a \”$2\"

  • 5

Olá... estou tentando adicionar um parâmetro à minha consulta, mas recebo este erro:

"errorMessage": "{'S': 'ERROR', 'V': 'ERROR', 'C': '42601', 'M': 'syntax error at or near \”$2\"', 'P': '3793', 'F': 'scan.l', 'L': '1146', 'R': 'scanner_yyerror'}"

Isso funciona:

import pg8000

account_id = 1234

sql = “”"
    SELECT *
    FROM samples
    WHERE account_id = %s
    AND delete_date IS NULL
    ORDER BY date DESC
“”"

cursor.execute(sql, (account_id,))

Mas isso não:

import pg8000

account_id = 1234

start_date = query_string_params['start-date'] if 'start-date' in query_string_params else None

// start_date format is: '2025-02-04'

filters = “"
if start_date is not None:
   filters = filters + f" AND DATE(sample_date) >= '{start_date}'"

sql = “”"
    SELECT *
    FROM samples
    WHERE account_id = %s
    AND delete_date IS NULL
    %s
    ORDER BY date DESC
“”"

cursor.execute(sql, (account_id, filters))

Alguém tem ideia do que estou fazendo errado?

python
  • 1 respostas
  • 42 Views
Martin Hope
Abhijit Sarkar
Asked: 2025-04-30 04:34:21 +0800 CST

Comportamento estranho do comparador PriorityQueue quando a ordem de classificação é obtida do hashmap

  • 3

Enquanto trabalhava no LeetCode 675 , me deparei com um comportamento estranho PriorityQueue Comparatorque não consigo explicar.

Para resumir, vou apresentar a essência da declaração do problema; os interessados ​​podem lê-la em detalhes no LeetCode.

Dada uma matriz mxn chamada forest, algumas células são designadas como trees. O desafio é encontrar o número mínimo de passos para visitar (cortar) todas as células da árvore, em ordem crescente de altura da árvore.

Para resolver isso, encontro todas as árvores e as ordeno em ordem crescente de altura. Em seguida, calculo a distância mínima de cada árvore até a próxima executando uma busca A* usando a função heurística:distance from source + Manhattan distance from the goal

O número mínimo de passos para cortar todas as árvores é a soma de todas as distâncias A*. Se em algum momento a busca A* não retornar um caminho, eu aborto.

class Solution {
  private final int[][] dx = new int[][] {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};

  public int cutOffTree(List<List<Integer>> forest) {
    int[] curr = new int[] {0, 0};
    int dist = 0;

    for (int[] next : getTreesSortedByHeight(forest)) {
      int d = minDist(forest, curr, next);
      if (d < 0) {
        return -1;
      }
      curr = next;
      dist += d;
    }

    return dist;
  }

  private List<int[]> getTreesSortedByHeight(List<List<Integer>> forest) {
    List<int[]> trees = new ArrayList<>();
    for (int row = 0; row < forest.size(); row++) {
      for (int col = 0; col < forest.get(0).size(); col++) {
        if (forest.get(row).get(col) > 1) {
          trees.add(new int[] {row, col});
        }
      }
    }
    trees.sort(Comparator.comparingInt(a -> forest.get(a[0]).get(a[1])));
    return trees;
  }

  int minDist(List<List<Integer>> forest, int[] start, int[] goal) {
    int m = forest.size();
    int n = forest.get(0).size();
    Map<Integer, Integer> costs = new HashMap<>();
    costs.put(start[0] * n + start[1], manhattanDist(start[0], start[1], goal));
    // GOTCHA: Fetching the distance from the cost map using the coordinates doesn't work!
    Queue<int[]> heap = new PriorityQueue<>(Comparator.comparingInt(a -> a[0]));
    heap.offer(new int[] {0, 0, start[0], start[1]}); // [cost, distance, row, column]

    while (!heap.isEmpty()) {
      int[] curr = heap.poll();
      int dist = curr[1];
      int row = curr[2];
      int col = curr[3];

      if (row == goal[0] && col == goal[1]) {
        return dist;
      }
      for (int[] d : dx) {
        int r = row + d[0];
        int c = col + d[1];
        if (r >= 0 && r < m && c >= 0 && c < n && forest.get(r).get(c) > 0) {
          int cost = dist + 1 + manhattanDist(r, c, goal);
          if (cost < costs.getOrDefault(r * n + c, Integer.MAX_VALUE)) {
            costs.put(r * n + c, cost);
            heap.offer(new int[] {cost, dist + 1, r, c});
          }
        }
      }
    }
    return -1;
  }

  private int manhattanDist(int row, int col, int[] goal) {
    return Math.abs(goal[0] - row) + Math.abs(goal[1] - col);
  }
}

Observe que cada entrada de heap contém o custo heurístico . Logicamente, isso é desnecessário , pois a entrada também contém as coordenadas da célula (linha e coluna), com as quais podemos obter a distância do costsmapa da seguinte maneira:

Queue<int[]> heap = new PriorityQueue<>(Comparator.comparingInt(a -> costs.get(a[1] * n + a[2]);
  • Na ausência do custo, a entrada do heap consiste em [distância, linha, coluna].

Mas isso não funciona e falha em um dos casos de teste. O caso de teste é enorme, então não vejo sentido em colá-lo aqui, pois é improvável que alguém tenha tempo para depurá-lo.

O que eu gostaria de saber é o porquê dessa estranheza.

Editar: código completo adicionado conforme solicitado em um comentário.

java
  • 1 respostas
  • 78 Views
Martin Hope
Simon
Asked: 2025-04-30 03:49:22 +0800 CST

Como filtrar todas as colunas em um Polars DataFrame por expressão?

  • 7

Eu tenho este exemplo de Polars DataFrame:

import polars as pl 

df = pl.DataFrame({
    "id": [1, 2, 3, 4, 5],
    "variable1": [15, None, 5, 10, 20],
    "variable2": [40, 30, 50, 10, None],
}) 

Estou tentando filtrar todas as colunas do meu dataframe usando o método pl.all(), e também tentei usar pl.any_horizontal() == Condition. No entanto, estou recebendo o seguinte erro:

ComputeError: The predicate passed to 'LazyFrame.filter' expanded to multiple expressions: 

    col("id").is_not_null(),
    col("variable1").is_not_null(),
    col("variable2").is_not_null(),
This is ambiguous. Try to combine the predicates with the 'all' or `any' expression.

Aqui estão minhas tentativas de enfrentar isso.

# Attempt 1:
(
    df
    .filter(
        pl.all().is_not_null()
    )
)
# Attempt 2:
(
    df
    .filter(
        pl.any_horizontal().is_not_null()
    )
)

Saída desejada, mas não é escalável para DataFrames maiores:

(
    df
    .filter(
        pl.col("variable1").is_not_null(),
        pl.col("variable2").is_not_null()
    )
)

Como posso filtrar todas as colunas de forma escalável sem especificar cada coluna individualmente?

python
  • 3 respostas
  • 52 Views
Martin Hope
Varelion
Asked: 2025-04-30 03:39:43 +0800 CST

Por que isso não pode gravar no diretório 'Output'?

  • 5

Estou tentando gravar um arquivo em um diretório existente, usando node, path e fs.

Como deve funcionar:

  1. Inicializar dados simulados.
  2. Percorrer dados simulados.
  3. Escrever uma string simulada no diretório existente 'output'
  4. Fim do programa.

Como funciona:

  1. Inicializar dados simulados.
  2. Percorrer dados simulados.
  3. Tentar gravar no diretório existente.
  4. Erro de rendimento:

Erro:

throw new Error(`Error writing: ${err.message}`);
                                ^

Error: Error writing: ENOENT: no such file or directory, open 'C:\Users\username\test\cheerio\output\55-207-0-228_2025-04-29_15:27:51.txt'
    at C:\Users\username\test\cheerio\components\WriteFile.js:31:11
    at node:fs:2385:7
    at FSReqCallback.oncomplete (node:fs:188:23)

Repositório

Estou trabalhando neste repositório . A função que manipula o arquivo de gravação node:fs encontra-se em /component/WriteFile.js ; ela está sendo invocada aqui, nestas linhas .

Árvore do Projeto

Esta é a estrutura do projeto:

project-root/
├── components/             
├── node_modules/            
├── output/                  // Target for file write. 
├── .gitignore               
├── index.js               
├── LICENSE                 
├── package-lock.json        
├── package.json            
└── README.md                

Trecho do WriteFile

Publicando código relevante aqui para sua conveniência. WriteFile.js

const fs = require('node:fs');
const path = require('path');

const makeFile = async (fileName, { contentString, ip }) => {
    const now = new Date();
    const dateString =
        now.getFullYear() +
        '-' +
        String(now.getMonth() + 1).padStart(2, '0') +
        '-' +
        String(now.getDate()).padStart(2, '0') +
        '_' +
        String(now.getHours()).padStart(2, '0') +
        ':' +
        String(now.getMinutes()).padStart(2, '0') +
        ':' +
        String(now.getSeconds()).padStart(2, '0');

    contentString = `DATE: ${dateString}\nFor ip: ${ip}\n${contentString}`;

    const filepath = path.join(
        __dirname,
        '..',
        'output',
        `${fileName}_${dateString}.txt`
    );

    try {
        await fs.writeFile(filepath, contentString, 'utf16le', (err) => {
            if (err) {
                throw new Error(`Error writing: ${err.message}`);
            }
        });
        return 'Success';
    } catch (error) {
        console.error('\nError:\n', error.message, '\n');
    } finally {
        // Code that will run regardless of try/catch result
        // Remember, don't have a return in finally.
        console.log('Final completed.');
    }
};

module.exports = { makeFile };

Invocado em:

Que está sendo chamado de:

async function main() {
    let start = performance.now();
    let elapse;
    i = 0;
    for (const ip of ipList) {
        i++;
        if (i > 3) {
            break;
        }
        const sleep = (ms) =>
            new Promise((resolve) => {
                setTimeout(resolve, ms);
            });
        await sleep(500);

        await makeFile(ip.replaceAll('.', '-'), {
            contentString: 'Mockdata',
            ip: ip
        });
    }
    elapse = performance.now() - start;
    console.log('Total time elapsed: ', elapse / 1000);
}
javascript
  • 1 respostas
  • 33 Views
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