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
Autumn
Asked: 2025-04-15 20:08:19 +0800 CST

Aplicando o mesmo gradiente de cor para três mapas SpatRaster com terra::plot em R

  • 5

Criei um SpatRaster com o pacote terra em R e tenho dois agrupamentos de pontos dentro do SpatRaster maior, que então separo em grupos para observar os agrupamentos com mais detalhes. Uso terra::plot para plotar o SpatRaster maior e os grupos individuais, mas quero manter a escala de gradiente igual para todos os gráficos. O problema é que o intervalo de valores para cada um dos gráficos é diferente, e não consegui descobrir como definir os limites inferior e superior para o gradiente de cor de cada terra::plot para que sejam iguais, de modo que as cores sejam consistentes.

O pacote ggplot2 não funcionou para esses dados porque são dados SpatRaster, portanto scale_color_gradientnão funciona, tentei uma combinação do colargumento em terra::plot, como

plot(DTM_50570, main = "DTM", col = data.frame(from = 0, to = 2000, (terra.pal = terrain.colors(255))))

plot(DTM_50570, main = "DTM", col = data.frame(from = c(0, 1000), to = c(1000, 2000), col = terrain.colors(255)))

plot(DTM_50570, main = "DTM", col = data.frame(from = c(0:10:2550), to = c(0:10:2550), col = terrain.colors(255)))

sem sucesso.

Os dados que estou usando estão neste link: https://tinitaly.pi.ingv.it/Download_Area1_1.html , seção W50570.

Aqui está o código que uso para plotar e separar os grupos:

library(terra)

DTM_50570_32632 <- rast(paste0("Downloads/w50570_s10/w50570_s10/w50570_s10.tif"))
DTM_50570 <- project(x = DTM_50570_32632, "EPSG:4326")

DTM_longitude <- c(11.80111, 11.80222, 11.80333, 11.95111, 11.95222, 11.95333)
DTM_latitude <-c(45.98333, 45.98777, 45.98555, 45.94111, 45.94888, 45.94333)

group_1_extent <- ext(11.80, 11.81, 45.98, 45.99)
DTM_group_1 <- crop(DTM_50570, group_1_extent)

group_2_extent <- ext(11.95, 11.96, 45.94, 45.95)
DTM_group_2 <- crop(DTM_50570, group_2_extent)

DTM_longitude_group_1 <- c(11.80111, 11.80222, 11.80333)
DTM_latitude_group_1 <-c(45.98333, 45.98777, 45.98555)

DTM_longitude_group_2 <- c(11.95111, 11.95222, 11.95333)
DTM_latitude_group_2 <-c(45.94111, 45.94888, 45.94333)

par(mfrow = c(1, 3))
plot(DTM_50570, main = "DTM")
points(DTM_longitude, DTM_latitude, pch = 20)

plot(DTM_group_1, main = "DTM group 1")
points(DTM_longitude_group_1, DTM_latitude_group_1, pch = 20)

plot(DTM_group_2, main = "DTM group 2")
points(DTM_longitude_group_2, DTM_latitude_group_2, pch = 20)

E os gráficos resultantes (todos com escalas de gradiente de cores diferentes) DTM todos os gráficos

  • 2 respostas
  • 45 Views
Martin Hope
Anirban Nag 'tintinmj'
Asked: 2025-04-15 19:56:05 +0800 CST

Como ajustar o ícone de fonte incrível com texto nos nós do gráfico de sereia do nicegui

  • 5

Estou tentando criar um mermaidgráfico no nicegui. Consigo encaixar o ícone e o texto no nó do gráfico. Mas no navegador, só o ícone aparece. Sei que é por causa da largura do rótulo do nó. Como consertar?

foto do navegador

from nicegui import ui

@ui.page('/')
def index_page() -> None:
    def fa_setup():
        ui.run_javascript("""
            const link = document.createElement('link');
            link.rel = 'stylesheet';
            link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css';
            document.head.appendChild(link);
        """)
    fa_setup()

    class State:
        def __init__(self):
            self.graph = """
                graph LR;
                A1["fa:fa-credit-card A1"];
                A2["fa:fa-server A2"];
                A1 -- |4ms| --> A2;
            """

    state = State()

    diag = ui.mermaid(content=state.graph, config={'securityLevel': 'loose', 'theme': 'classic'})
    diag.bind_content(state, 'graph')

ui.run()
python
  • 2 respostas
  • 27 Views
Martin Hope
erc
Asked: 2025-04-15 19:55:24 +0800 CST

Crie elipses com base no dataframe

  • 6

Tenho um dataframe com coordenadas e raios para uma elipse em cada linha.

dat <- data.frame(id = c("a", "b", "c"),
                  x = c(1, 2, 3),
                  y = c(1, 2, 3),
                  sx = c(.3, .5, .7),
                  sy = c(.2, .4, .6))
> dat
  id x y  sx  sy
1  a 1 1 0.3 0.2
2  b 2 2 0.5 0.4
3  c 3 3 0.7 0.6

Como posso criar um objeto espacial com todas as elipses?

Tentei o seguinte, o que resultou em um erro.

library(dplyr)
library(sfdep)
    dat %>%
      rowwise() %>%
      ellipse(x = x, y = y, sx = sx, sy = sy, n = 10, rotation = 0)

Error in ellipse(., x = x, y = y, sx = sx, sy = sy, n = 10, rotation = 0) : 
  unused argument (.)
  • 2 respostas
  • 68 Views
Martin Hope
Paul Martinez
Asked: 2025-04-15 19:46:12 +0800 CST

Fonte @font-face personalizada ignorada pelo Tailwind CSS v4 com Vite e React

  • 6

Estou tentando usar uma fonte personalizada (RetroGaming.ttf) no meu projeto React usando Vite e Tailwind CSS v4, mas a fonte não está sendo aplicada. A @font-faceregra parece ser ignorada, e a classe Tailwind gerada não inclui a fonte personalizada em sua font-familypropriedade.

Pilha de tecnologia

  • Estrutura: React (^19.0.0)
  • Ferramenta de construção: Vite (^6.2.0)
  • Estilo: Tailwind CSS (^4.1.3)
  • Processamento CSS: PostCSS (^8.5.3) com autoprefixere@tailwindcss/postcss
  • Arquivo de fonte: [RetroGaming.ttf]

Meta

Defina RetroGamingFontvia @font-facee aplique-o usando uma classe de utilitário Tailwind font-custom-retro.

Problema

  1. A fonte personalizada não é renderizada; os elementos usam a fonte reserva.
  2. O pacote CSS de produção ( dist/assets/) não possui a @font-faceregra .
  3. A classe gerada .font-custom-retroinclui apenas a fonte de fallback ( sans-serif), não RetroGamingFont.
  4. As ferramentas de desenvolvimento do navegador não mostram nenhum erro 404 para [/fonts/RetroGaming.ttf]
  5. O problema persiste, esteja @font-faceele em src/index.cssou diretamente em index.html.

Configuração

tailwind.config.js

/** @type {import('tailwindcss').Config} */
export default {
  content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
  theme: {
    extend: {
      fontFamily: {
        'custom-retro': ['RetroGamingFont', 'sans-serif'], // Font definition with fallback
      },
    },
  },
  plugins: [],
}

postcss.config.js

export default {
  plugins: {
    '@tailwindcss/postcss': {}, // Required for v4
    autoprefixer: {},
  },
}

src/index.css (Atualmente vazio em relação a @font-face)

@import "tailwindcss"; /* Tailwind v4 import, placed first */
    
/* @font-face moved to index.html for testing */

index.html (Estado atual)

<!-- Inside <head> -->
<style>
  @font-face {
    font-family: 'RetroGamingFont';
    src: url('/fonts/RetroGaming.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }
</style>

Uso em CompatibilityForm.jsx

<h2 className="text-2xl font-custom-retro text-pink-400">...</h2>
<label className="font-custom-retro text-indigo-200">...</label>

O que eu tentei

Configuração correta do Tailwind v4:

  • Usando @import "tailwindcss";emsrc/index.css
  • Usando @tailwindcss/postcssplugin, sem @tailwindcss/viteplugin.

@font-faceColocação:

  • Testado em src/index.css(depois @import) e diretamente na index.html <style>tag.

Nenhuma das duas funcionou.

Verificação do caminho do arquivo:

  • Confirmado public/fonts/RetroGaming.ttfque existe e /fonts/RetroGaming.ttfo caminho está correto para ativos públicos.

Nome da fonte:

  • Simplificado para RetroGamingFont(sem espaços).

Inspeção de ferramentas de desenvolvimento:

  • A classe verificada .font-custom-retroé aplicada, mas o cálculo font-familyusa o fallback.
  • Nenhum erro de rede para o arquivo de fonte.

Pergunta

Por que o Tailwind CSS v4 / PostCSS / Vite não está processando ou reconhecendo a @font-faceregra corretamente, impedindo que a fonte personalizada seja incluída na font-familydefinição da classe de utilitário? Existe alguma etapa de configuração específica para fontes personalizadas com Tailwind v4 e Vite que eu esteja esquecendo?

css
  • 2 respostas
  • 39 Views
Martin Hope
mchen
Asked: 2025-04-15 19:28:42 +0800 CST

Por que System.nanoTime() acumula erros ao longo do dia?

  • 7

Estou tentando medir a latência entre meu publicador Java e um corretor de mensagens Cpp (padrão do setor).

O broker registra o horário em que recebe cada mensagem e, para o publicador Java, estou usando o seguinte código para obter registros de data e hora com precisão de microssegundos (que são gravados na mensagem de saída):

    private static final long NANOTIME_OFFSET;

    static {
        Instant instant = Instant.now();      // Get absolute time
        long nanoTime = System.nanoTime();    // Get relative time

        // Offset to convert from relative to absolute time
        NANOTIME_OFFSET = TimeUnit.SECONDS.toNanos(instant.getEpochSecond()) + instant.getNano() - nanoTime;
    }

    public static long currentTimeNanos() {
        return System.nanoTime() + NANOTIME_OFFSET;
    }

No entanto, estou percebendo que a latência medida entre o publicador e o corretor aumenta ao longo do dia e não diminui até que eu reinicie meu publicador Java.

A latência começa em <<1 ms e, de repente, salta para 500 ms. Saltos subsequentes a aproximam da marca de 1 segundo, o que é difícil de acreditar, visto que ambos os processos residem na mesma máquina.

insira a descrição da imagem aqui

A criação de perfil com o VisualVM indica que não há problemas de recursos no meu processo Java, e a captura de pacotes com o Wireshark confirma que o problema está nos registros de data e hora produzidos por currentTimeNanos().

Então por que System.nanoTime()perde precisão ao longo do dia?

Acho que a coisa correta a fazer é sempre usar Instant.now(), mas é uma chamada mais pesada que System.nanoTime()(gera um novo Instanceobjeto toda vez), então adicionaria mais sobrecarga, especialmente com um alto volume de mensagens.

Editar: Eu também acrescentaria que optei por um nanoTime()relógio baseado em -, já que Instance.now()só produzia precisão de milissegundos na minha máquina

java
  • 1 respostas
  • 122 Views
Martin Hope
ShawnM
Asked: 2025-04-15 19:21:51 +0800 CST

Como posso colocar sinais Python em uma fila com segurança?

  • 5

Estou trabalhando em um script python3 que manipula sinais (por exemplo, signal.SIGWINCH) colocando-os em uma fila. Uma thread separada coloca a entrada do usuário na mesma fila, que é toda processada pela thread principal do meu programa.

Ocasionalmente, o programa inteiro trava repentinamente. Identifiquei a causa como sendo a interação entre os manipuladores de sinais e a queue.Queueclasse. Após um pequeno número aleatório de sinais ser enfileirado, o manipulador de sinais bloqueia a fila ao tentar inserir um item nela. Qualquer thread que tente interagir com a fila de qualquer forma (por exemplo, chamando queue.put(block=False), queue.get(block=False)ou queue.empty()) também trava.

Por que os manipuladores de sinais bloqueiam minha fila, mesmo quando uso funções não bloqueantes? Existe uma maneira segura de adicionar sinais a uma fila em um programa multithread?


Isso pode ser reproduzido executando o trecho de código simplificado abaixo, enquanto redimensiona repetidamente o terminal para acionar o evento (testado em python 3.13, linux):

from queue import Queue, Empty
import signal

event_queue = Queue()

def signal_handler(signum, frame):
    event_queue.put(signum)

signal.signal(signal.SIGWINCH, signal_handler)

while True:
    try:
        print("Attempting to get an event from the queue...")
        evt = event_queue.get(block=False)
        print("Successfully got event from the queue.")
    except Empty:
        print("The queue is empty, try again.")

Eventualmente, após redimensionar a janela um número indeterminado de vezes, o código trava após a linha "Tentando obter um evento da fila..."; ou seja, trava em queue.get(). Mas não deveria, já que especifiquei block=False. Também tentei usar event_queue.put(signum, block=False)no meu manipulador de sinais dentro de um try/except, mas ainda trava.

(...)
Attempting to get an event from the queue...
The queue is empty, try again.
Attempting to get an event from the queue...
(code hangs indefinitely)

Se eu mudar para multiprocessing.Queueou usar queue.get(timeout=0.1), aparentemente não terei mais esse problema. Mas ambas as abordagens têm um custo/atraso de velocidade substancial, e estou preocupado se alguma delas é totalmente segura, já que até mesmo queue.Queueé supostamente seguro para threads .

python-3.x
  • 2 respostas
  • 86 Views
Martin Hope
Labeeb
Asked: 2025-04-15 18:52:10 +0800 CST

Como listar uma pilha de composição que não faz parte de um enxame?

  • 5

insira a descrição da imagem aqui

Estou tentando docker stack ls, mas recebo este erro:

Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

Posso obtê-lo do docker ps e grep, mas prefiro um comando simples que liste todas as pilhas de composição.

docker
  • 1 respostas
  • 21 Views
Martin Hope
Ngạo Thiên
Asked: 2025-04-15 18:21:53 +0800 CST

Erro de acesso negado no PHP curl. O que há de errado no meu código?

  • 5

Testei o comando curl no Reqbin.com e obtive o resultado correto.

curl executado em reqbin retorna resultado exato

Mas quando executo o código curl do PHP, ele retorna o erro Acesso negado.

Resultado ao executar código curl do PHP

Este é meu código:

<?php

$url = "https://www.freepik.com/premium-vector/green-sketches-vegetables-background_899769.htm";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
   'if-none-match: W/"49cmjzwjsg4y8b"',
   "priority: u=0, i",
   "sec-ch-ua-mobile: ?0",
   "sec-fetch-site: none,",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);

?>

O que houve? Obrigado!

  • 1 respostas
  • 53 Views
Martin Hope
Badasahog
Asked: 2025-04-15 17:57:49 +0800 CST

como a CPU encontra objetos estáticos/globais no x86?

  • 7

Eu sei que o ponteiro de pilha pode ser usado para encontrar objetos alocados na pilha, mas como a CPU encontra objetos globais/estáticos? Pelo que pude perceber pela desmontagem, ela usa endereçamento absoluto/imediato, onde a instrução lea recebe um valor codificado, mas isso não quebraria por causa do ASLR?

c
  • 1 respostas
  • 87 Views
Martin Hope
Pirvu Georgian
Asked: 2025-04-15 17:45:25 +0800 CST

Execução de consulta adaptável Spark no Databricks com Coalesce

  • 5

Algo que podemos perder como engenheiros quando falamos AQE - Adaptive Query Executionsobre Spark/Databricks:

Se você estiver usando coalesce()para reduzir partições, o AQE não afetará isso. Sem detecção de distorção. Sem reparticionamento. Sem otimização. Porque coalesce()não executa embaralhamento completo (como repartition()) - ele mescla partições existentes sem redistribuir. É assim que a distorção de dados pode aparecer silenciosamente coalesce()e interromper ou tornar seus trabalhos mais lentos. Achei a documentação um pouco confusa. O AQE intervirá após você fazer algo repartition()que acione um embaralhamento completo. Este entendimento está correto? A documentação parece pouco clara neste cenário.

insira a descrição da imagem aqui

apache-spark
  • 1 respostas
  • 30 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