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
Mandroid
Asked: 2025-03-29 11:01:53 +0800 CST

Função SQL round em infinito negativo?

  • 6

Estou tentando descobrir qual é o comportamento padrão do SQL para a função round se o valor for infinito (infinito negativo, para ser específico). Não consegui encontrar nenhuma documentação online relacionada.

O db tem um comportamento específico?

sql
  • 1 respostas
  • 40 Views
Martin Hope
Christian Bongiorno
Asked: 2025-03-29 09:46:55 +0800 CST

Por que printf sai com 1 ao usar delimitadores nulos neste script?

  • 5

Tenho esse script e parece que ele printf '%s\0%s\0'sai com o código 1 e não consigo entender o porquê.

Eu até forcei a usar o bash versão 5.2 - mesmos resultados.

Aqui está um script de exemplo e sua saída

#!/usr/bin/env bash
echo $BASH_VERSION
set -x
set -Eeuo pipefail

function prompt_creds {
  local username password
  read -rp "username " username
  read -rsp "password " password 
  printf '%s\0%s\0' "${username}" "${password}"
}

function main() {
  IFS=$'\0' read -r username password < <(prompt_creds )
  echo "name name is ${username}" "my password is ${password}"
}

main

uso e saída

./sample.sh 
3.2.57(1)-release
+ set -Eeuo pipefail
+ main
+ IFS=
+ read -r username password
++ prompt_creds
++ local username password
++ read -rp 'username ' username
username user
++ read -rsp 'password ' password
password ++ printf '%s\0%s\0' user pass
bash-5.2$ echo $?
1

Eu até tentei executá-lo simplesmente na CLI e funcionou:

bash-5.2$ IFS=$'\0' read -r u p < <(printf '%s\0%s\0' user pass)
bash-5.2$ echo $u $p
userpass
bash
  • 2 respostas
  • 79 Views
Martin Hope
JMA
Asked: 2025-03-29 09:21:16 +0800 CST

`T: Trait`/`impl Trait` não satisfaz `dyn Trait`, exceto quando o faz

  • 10

Eu encontrei um comportamento de variância estranho que tenho certeza de que é uma falha na minha compreensão do sistema de tipos, mas parece um bug do compilador.

trait Trait: 'static {}
impl<T> Trait for T where T: 'static {}

struct Inner<T>(T);

fn make_inner<T: Trait>(t: T) -> Inner<Box<T>> {
    Inner(Box::new(t))
}

type DynNecessary = Vec<Inner<Box<dyn Trait>>>;

struct DynCarrier {
  things: DynNecessary,
}

impl DynCarrier {
    pub fn spawn(&mut self, t: impl Trait + 'static) {
        let inner = make_inner(t);
        
        self.things.push(inner);
    }
}

fn main() {}

link do playground

No exemplo acima, make_innerrecebe Te retorna Inner<Box<T>>onde T é conhecido por satisfazer Trait.
No entanto, ao tentar usar o valor de retorno de make_inneralgum lugar que aceita Inner<Box<dyn Trait>>, obtenho o seguinte:

= note: expected struct `Inner<Box<(dyn Trait + 'static)>>`
           found struct `Inner<Box<impl Trait + 'static>>`

Eu tinha um palpite de que isso tinha algo a ver com a maneira como o programa em tempo de execução trataria um dyn Traitversus um concreto impl Trait, mas onde isso desmorona para mim é na seguinte mudança:

fn make_inner<T: Trait>(t: T) -> Inner<Box<dyn Trait>> {
    Inner(Box::new(t))
}

onde now té coagido com sucesso para dyn Trait.
Que influência a inferência de tipo de retorno tem sobre tipos, que a inferência de tipo de argumento não tem? Se .pushassume a propriedade de inner, por que não é capaz do mesmo tipo de coerção?

rust
  • 1 respostas
  • 60 Views
Martin Hope
gene b.
Asked: 2025-03-29 09:17:09 +0800 CST

Adicione e posicione o controle ComboBox no início de uma barra de ferramentas com outros botões seguindo

  • 6

No meu aplicativo Win32, tenho uma barra de ferramentas que precisa ter uma caixa de combinação principal suspensa abrangendo 70% da barra de ferramentas, começando pela esquerda, e depois quaisquer botões adicionais (como neste caso Recortar/Copiar/Colar) seguindo depois — talvez depois de um pequeno separador.

[--------------------Dropdown-------------------V] | [Cut][Copy][Paste]

Neste código, primeiro crio o controle ComboBox filho para a barra de ferramentas e faço com que ele tenha 70% da largura do Toolbar Rect usando setWindowPose então prossigo com botões regulares. Mas apenas os 3 botões são exibidos sem o ComboBox.

Acho que tenho que fazer isso SetWindowPospara cada um dos botões, mas quero que eles fluam naturalmente sem posicioná-los explicitamente, como aconteceria sem a caixa de combinação.

void CreateToolbar1(HWND hWndParent)
{
    // Declare and initialize local constants.
    const int ImageListID = 0;
    const int numButtons = 3;
    const int bitmapSize = 16;

    const DWORD buttonStyles = BTNS_AUTOSIZE;

    // Create the toolbar.
    hWndToolbar1 = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,
        WS_CHILD | TBSTYLE_WRAPABLE | TBSTYLE_FLAT, 0, 0, 0, 0,
        hWndParent, NULL, GetModuleHandle(NULL), NULL);

    // Obtain toolbar's rectangle coordinates
    RECT rectToolbar1;
    SendMessage(hWndToolbar1, TB_GETITEMRECT, (WPARAM)0, (LPARAM)&rectToolbar1);

    // Add ComboBox control to toolbar, should take up 70% of the width
    HWND hWndDropdown = CreateWindowEx(WS_EX_CLIENTEDGE, WC_COMBOBOXEX, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 0, 0, 100, 35, hWndToolbar1, NULL, GetModuleHandle(NULL), NULL);
    SetWindowPos(hWndDropdown, NULL, rectToolbar1.left, rectToolbar1.top, 0.7 * (rectToolbar1.right - rectToolbar1.left), rectToolbar1.bottom - rectToolbar1.top, SWP_SHOWWINDOW);

    // Add 3 regular buttons afterwards (Cut/Copy/Paste)
    // ---
    // Create the image list.
    g_hImageList = ImageList_Create(bitmapSize, bitmapSize,   // Dimensions of individual bitmaps.
        ILC_COLOR16 | ILC_MASK,   // Ensures transparent background.
        numButtons, 0);

    // Set the image list.
    SendMessage(hWndToolbar1, TB_SETIMAGELIST,
        (WPARAM)ImageListID,
        (LPARAM)g_hImageList);

    // Load the button images.
    SendMessage(hWndToolbar1, TB_LOADIMAGES,
        (WPARAM)IDB_STD_SMALL_COLOR,
        (LPARAM)HINST_COMMCTRL);

    // Initialize buttons Cut/Copy/Paste
    TBBUTTON tbButtons[numButtons] =
    {
        { MAKELONG(STD_CUT,  ImageListID), IDM_CUT,  TBSTATE_ENABLED, buttonStyles, {0}, 0, (INT_PTR)L"Cut" },
        { MAKELONG(STD_COPY, ImageListID), IDM_COPY, TBSTATE_ENABLED, buttonStyles, {0}, 0, (INT_PTR)L"Copy"},
        { MAKELONG(STD_PASTE, ImageListID), IDM_PASTE, 0,               buttonStyles, {0}, 0, (INT_PTR)L"Paste"}
    };

    // Add buttons.
    SendMessage(hWndToolbar1, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
    SendMessage(hWndToolbar1, TB_ADDBUTTONS, (WPARAM)numButtons, (LPARAM)&tbButtons);

    // Resize the toolbar, and then show it.
    SendMessage(hWndToolbar1, TB_AUTOSIZE, 0, 0);
    ShowWindow(hWndToolbar1, TRUE);

}
winapi
  • 1 respostas
  • 42 Views
Martin Hope
Alex T.
Asked: 2025-03-29 09:12:40 +0800 CST

Assistente de formulário Filamentphp no componente livewire não usando @filamentStyles ou @filamentScripts

  • 5

Eu consigo criar um formulário Filamentphp em um componente livewire para exibi-lo em uma página pública. No entanto, ele não está usando os estilos filament. Aqui está meu componente livewire

<?php

namespace App\Livewire;
use Filament\Forms\Components\Wizard;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Forms\Form;
use Livewire\Component;

class Submission extends Component implements HasForms
{
    use InteractsWithForms;
    public ?array $data = [];

    public function mount()
    {
        $this->form->fill();
    }

    public function form(Form $form): Form
    {
        return $form
            ->schema([
                Wizard::make([
                    Wizard\Step::make('Wizard Step 1')
                        ->schema([
                            Select::make('type')
                                ->label('Do you want:')
                                ->options([
                                    'a' => 'A',
                                    'b' => 'B',
                                    'not_sure' => 'Not Sure',
                                ]),
                        ]),

                    Wizard\Step::make('Wizard Step 2')
                        ->schema([
                            TextInput::make('names'),
                        ]),

                ])
            ]);
    }
    public function render()
    {
        return view('livewire.submission');
    }
}

Aqui está minha visão de componente

<div class="flex justify-center items-center min-h-screen">
    <form wire:submit.prevent="submit" class="w-full max-w-md bg-white p-6 rounded shadow">
        <div>
            {{ $this->form }}
        </div>
    </form>
</div>

Aqui está a minha visualização de página

<x-app-layout>
    @livewire('submission')
</x-app-layout>

Aqui está meu layout

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>{{ config('app.name', 'Laravel') }}</title>

    <!-- Filament Styles -->
    @vite(['resources/css/app.css', 'resources/js/app.js'])
    @livewireStyles
    @filamentStyles
</head>
<body class="antialiased bg-gray-100">
    <div class="min-h-screen">
        <!-- Replace this -->
        {{ $slot }}
        <!-- End replacement -->
    </div>

    @livewireScripts
    @filamentScripts
</body>
</html>

Aqui estão meus resultados: insira a descrição da imagem aqui

Você pode ver que o botão é branco sobre branco, e o menu suspenso tem um estilo descolado. Existe uma maneira de aplicar o mesmo tema de dentro do filamento e ainda ter a página pública sem todos os menus? Como a página de login ou registro é.

laravel
  • 1 respostas
  • 17 Views
Martin Hope
Ralf_Reddings
Asked: 2025-03-29 08:35:25 +0800 CST

O script ps1 não está funcionando de forma consistente com o agendador de tarefas

  • 6

digamos que eu tenha um myScript.ps1arquivo que em algum momento precisa executar comandos/binários nativos. seu conteúdo é:

set-content -path "c:\temp\test.text" -value "hello world"
. 'C:\temp\myCliTool.exe'

Se eu criar manualmente uma tarefa no agendador de tarefas e definir as guias "ações" para

  • programa/arquivo para"C:\Program Files\PowerShell\7\pwsh.exe"
  • Argumento para-NoProfile -ExecutionPolicy Bypass -command "& {. 'C:\temp\myScript.ps1'}"

O script ps1 roda bem, o test.txtarquivo é criado. Além disso, o comando nativo que ele precisa para executar completamente sua tarefa é executado

Mas se eu executar o mesmo script, novamente via agendador de tarefas, mas na aba "ações", faço uma pequena alteração:

  • programa/arquivo para"C:\Program Files\PowerShell\7\pwsh.exe"
  • Argumento para-NoProfile -ExecutionPolicy Bypass -file 'C:\temp\myScript.ps1'

O script não parece rodar. O test.txtarquivo não é criado. Além disso, o comando nativo não roda.

Esse problema não ocorre se eu tentar executar o pwsh por outros meios, por exemplo, cmd.

Estou pensando que o agendador de tarefas está com defeito aqui. Passei o dia todo consertando seus "recursos", como a variável Path Env não estar disponível em chamadas do agendador de tarefas. Tentar descobrir o problema das -filechamadas pwsh provou ser infrutífero, tentei redirecionar erros potenciais que podem ocorrer no script do PowerShell para um arquivo de texto, mas não consegui descobrir isso completamente.

Estou no pwsh 7.4 e windows 11

powershell
  • 1 respostas
  • 69 Views
Martin Hope
Ali Christie-Upton
Asked: 2025-03-29 07:21:38 +0800 CST

Como alterar a alternância para algumas palavras em uma string

  • 6

Estou organizando minha árvore Ancestry e tenho acesso ao SQL usando o SQLite.

Gostaria de padronizar as descrições que tenho para as informações do censo.

Por exemplo eu tenho

  1. Relacionamento: Esposa. Ocupação: Tarefas domésticas não remuneradas.
  2. Relacionamento: Esposa. Ocupação: Tarefas domésticas não remuneradas.
  3. Relacionamento: Esposa. Ocupação: Tarefas domésticas não remuneradas.

Existe uma instrução SQL simples que eu possa usar para que qualquer elemento da string após "Occupation" seja definido como a 1ª palavra maiúscula e o restante como minúscula (ou seja, a 1ª oferta).

Gostaria então de oferecer isso para as palavras entre Relacionamento e Ocupação (por exemplo, Cunhado, Cunhado, Cunhado).

Obrigado pela ajuda.

Não tentei nenhum porque não tenho conhecimento e não consigo encontrar o que procuro no Google

sql
  • 1 respostas
  • 38 Views
Martin Hope
user30097526
Asked: 2025-03-29 06:30:27 +0800 CST

Alocador de arena C: alinhamento de ponteiro

  • 10

Eu criei um alocador de arena muito simples em C e fiquei pensando em uma coisa.

Aqui está meu arquivo de cabeçalho (a propósito, se esta API não parecer correta, por favor me avise!).

#ifndef ARENA_H
#define ARENA_H

#include <stddef.h>

struct Arena;

/* Returns a new arena allocator with a capacity of SIZE */
struct Arena *arena_new(size_t size);
/* Allocates SIZE bytes of memory from ARENA aligned with a default alignment
   set to `__alignof__(max_align_t)`. */
void *arena_alloc(struct Arena *arena, size_t size);
/* Allocates SIZE bytes of memory from ARENA with no alignment */
void *arena_alloc_packed(struct Arena *arena, size_t size);
/* Allocates SIZE bytes of memory from ARENA aligned on ALIGN. */
void *arena_alloc_align(struct Arena *arena, size_t size, size_t align);
/* Free all memory allocated with ARENA */
void arena_free(struct Arena *arena);

#endif /* ARENA_H */

Na implementação, arena_alloc_aligncostumo uintptr_tconverter o endereço do ponteiro do bloco de memória para um tipo com o qual posso calcular o alinhamento do endereço.

void *arena_alloc_align(struct Arena *arena, size_t size, size_t align)
{
    assert((align & 1) == 0 && "aligment must be a power of two");

    uintptr_t curr_addr = (uintptr_t)arena->mem_block + arena->cursor;
    size_t padding = 0;

    if (align > 0 && !IS_ALIGNED(curr_addr, align))
        padding = align - (curr_addr & (align - 1));

    if(arena->cursor + padding + size > arena->capacity)
        return NULL;

    arena->cursor = padding + size;
    return (void *)curr_addr + padding;
}

Esse tipo ( uintptr_t) é ok para usar? Tipo, ele é portátil? Porque pelo que eu li, esse tipo é opcional , isso significa que em alguma implementação de compilador ele pode não ser implementado?

Se sim, que tipo posso usar para converter um ponteiro para um tipo que seja grande o suficiente para conter qualquer endereço de memória?

Encontrei algumas outras perguntas relacionadas, mas as pessoas não parecem dar uma alternativa que seja definida no padrão e que não seja opcional. (Posso ter perdido a resposta que estava procurando).

c
  • 2 respostas
  • 129 Views
Martin Hope
nukubiho
Asked: 2025-03-29 05:56:48 +0800 CST

Como calcular NDVI a partir de um raster quadridimensional?

  • 6

Tenho várias cenas do satélite Sentinel-2 para o mesmo local de datas diferentes. Cada cena contém bandas espectrais básicas (incluindo vermelho "B04" e infravermelho próximo "B08"). Carreguei os dados como um SpatRasterDatasetusando o terrapacote. Como posso calcular o NDVI definido como NDVI = (NIR - RED) / (NIR + RED) para cada data?

library(terra)
r <- rast(system.file("ex/logo.tif", package="terra")) / c(1,2,3)
r <- c(r, r[[1]] + r[[2]])
names(r) <- paste0("B0", c(2:4, 8)) 
dates <- c("2023-02-08", "2023-03-02", "2023-04-06")
s <- sds(r, r, r)
names(s) <- dates
  • 1 respostas
  • 62 Views
Martin Hope
The-Coder-Who-Knew-Too-Little
Asked: 2025-03-29 05:44:34 +0800 CST

Python ValueError: ':' é uma diretiva incorreta no formato '%Y-%m-%d%X%:z'

  • 7

Estou tentando analisar strings de tempo HTML em Python :

from datetime import datetime

input = "2025-03-24T07:01:53+00:00"
output = datetime.strptime(input, "%Y-%m-%d%X%:z")
print(output)

Executar isso com Python 3.13 retorna o seguinte erro:

Traceback (most recent call last):
  File "/Users/dread_pirate_roberts/html_time_converter/main.py", line 69, in <module>
    output = datetime.strptime(input, "%Y-%m-%d%X%:z")
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/_strptime.py", line 674, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
                                    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/_strptime.py", line 445, in _strptime
    raise ValueError("'%s' is a bad directive in format '%s'" %
                        (bad_directive, format)) from None
ValueError: ':' is a bad directive in format '%Y-%m-%d%X%:z'

Isso não faz sentido para mim porque %:zfoi adicionado no Python 3.12 .

Editar: Descobri que meu código na verdade tem 2 bugs. Primeiro, a string de formato deve incluir um T. Além disso, a resposta do InSync, então o código deve ser:

from datetime import datetime

input = "2025-03-24T07:01:53+00:00"
output = datetime.strptime(input, "%Y-%m-%dT%X%z")
print(output)
python
  • 1 respostas
  • 52 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