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 / user-376947

Alex's questions

Martin Hope
Alex
Asked: 2025-03-09 03:50:19 +0800 CST

SvelteMap não reativo

  • 5

Estou tentando usar o SvelteMap: https://svelte.dev/docs/svelte/svelte-reactivity#SvelteMap

mas por algum motivo não é reativo.

Estou exportando de um arquivo .svelte:

export const items = new SvelteMap<number, Item>();

Itemé um objeto.

Então dentro de uma função eu altero o conteúdo, como:

const item = items.get(num);
item.someProp = newValue;

O mapa é atualizado, mas a reatividade não funciona nos componentes.

Eu também tentei reatribuir o item naquela função

const item = items.get(num);
item.someProp = newValue;
items.set(num, item);

ainda não deu certo..

javascript
  • 1 respostas
  • 17 Views
Martin Hope
Alex
Asked: 2025-03-08 03:18:12 +0800 CST

JWT usando senha como chave secreta?

  • 4

O token web json parece ser uma boa maneira de proteger apis de servidor de acesso não autorizado, mas um jwt requer uma chave secreta. E geralmente quem faz uma solicitação a um servidor é um navegador. E um navegador não pode armazenar uma chave secreta, porque ela seria visível no HTML.

Então a única opção que resta é usar a senha inserida pelo usuário, armazená-la em uma variável e usá-la como uma chave secreta para solicitações subsequentes. O problema é que no servidor as chaves secretas precisam corresponder, então eu tenho que:

  • armazenar o pw em texto limpo. Não é bom por razões óbvias.
  • armazene o pw como hash, e faça o hash no cliente antes de passá-lo como chave secreta para criar o token. Não é tão bom também, porque agora qualquer um conhece o método de hash

Ou estou esquecendo de algo? Existe uma maneira melhor de fazer isso?

javascript
  • 1 respostas
  • 53 Views
Martin Hope
Alex
Asked: 2025-03-08 01:36:37 +0800 CST

Conteúdo rolável sem usar position:absolute e wrapper DIV

  • 5

Como tornar o sectionelemento abaixo rolável e ocupar 100% da altura do elemento pai?

*{ margin: 0 }
main{
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: black;
}

header, footer{
  flex: 0 0 auto;
  background: red;
}

content{
  flex: 1 1 auto;
  display: flex:
  flex-direction: column;
}

content nav{
  background: green;
  flex: 0 0 auto;
}

content section{
  flex: 1 1 auto;
  background: blue;
  overflow-y: auto;
  max-height: 100%; /* <- problem */
  
  p{
    flex: 0 0 auto;
  }
}

ul{
  flex: 1 1 auto;
  
  li{
     height: 200px;
  }
}
<main>
  <header>header</header>
  <content>
    <nav>nav</nav>
    <section>
      <ul>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
      </ul>
      <p>after list</p>
    </section>
  </content>
  <footer>footer</footer>
</main>

Se eu colocar uma altura de pixel fixa nele, max-height: 200pxfunciona como esperado (rola), mas como tornar essa altura variável/preencher a altura restante do pai?

css
  • 1 respostas
  • 26 Views
Martin Hope
Alex
Asked: 2025-03-04 01:24:09 +0800 CST

Deno file.read com file.write, tamanho não corresponde

  • 5

Estou tendo alguns problemas para gravar arquivos no Deno

Os arquivos resultantes estão danificados

O código é muito simples, ele apenas lê de um arquivo e grava em outro:

  let bytesRead: number | null = -1;
  while(bytesRead !== null){
    const buf = new Uint8Array(5 * 1_000_000);
    bytesRead = await infh.read(buf)
    if(bytesRead !== null){
      await outfh.write(buf);
    }
  }
javascript
  • 1 respostas
  • 26 Views
Martin Hope
Alex
Asked: 2025-02-25 19:31:40 +0800 CST

Efeito Svelte se comportando de forma diferente no modo runas

  • 5

Componente no Svelte 4:

<script>
  let x = 1
  let y = "less than 10"

  function check(){
    if(x > 10){
      y = "more than 10"
    }
  }

  $: {
    check()
  }
</script>

<div>
not runes
<button onclick={() => x++ }>{x}</button>
{y}
</div>

Observe como a instrução reativa chama uma função de verificação, portanto, a instrução reativa nunca é acionada porque "x" não é chamado diretamente.

Mas no modo runas o $effecté acionado mesmo que "x" não apareça diretamente no corpo do efeito:

<script>
  let x = $state(1);
  let y = $state("less than 10");

  function check(){
    if(x > 10){
      y = "more than 10"
    }
  }

  $effect(() => {
    check()
  })
</script>
<div>
runes
<button onclick={() => x++ }>{x}</button>
{y}
</div>

Acho que essa é uma mudança em como os efeitos do svelte funcionam de 4 para 5, mas eu estava pensando como o svelte sabe quando executar o efeito, quando no modo runas? Ele olha para o código da função e verifica as variáveis ​​reativas? E se eu tiver uma chamada de função profundamente aninhada, com uma variável reativa na função mais profunda, o efeito ainda a detectará?

javascript
  • 1 respostas
  • 23 Views
Martin Hope
Alex
Asked: 2025-02-15 01:50:24 +0800 CST

Como fazer o emissor de eventos funcionar com typescript? [duplicado]

  • 5
Esta pergunta já tem respostas aqui :
Mapas de retorno de chamada com segurança de tipo (1 resposta)
Digite o segundo argumento da função dinamicamente com base no primeiro argumento do tipo enum (1 resposta)
Como definir um tipo TypeScript com um número variável de genéricos (1 resposta)
Fechado há 8 horas .

A comunidade está analisando se deve reabrir esta questão há 7 horas .

Existe alguma maneira de ter tipos para argumentos de retorno de chamada, em vez de any's?

type Listener = {
  callback: (...data: any[]) => void,
  once: boolean;
}

class EventEmitter{

  eventMap: Map<string, Listener[]> = new Map();


  on(event: string, callback: Listener["callback"], once: boolean = false) {
    const listeners = this.eventMap.get(event) ?? [];
    listeners.push({ callback, once });
    this.eventMap.set(event, listeners);
    return this;
  }

  once(event: string, callback: Listener['callback']): this {
    this.on(event, callback, true);
    return this;
  }

  emit(event: string, ...data: any[]) {
    const listeners = this.eventMap.get(event) ?? [];

    for (let i = 0; i < listeners.length; i++) {
      const { callback, once } = listeners[i];

      callback(...data);
      if (once) {
        listeners.splice(i, 1);
        this.eventMap.set(event, listeners);
      }
    }
  }
}

Emit tem que aceitar qualquer, porque é o ponto de entrada. Digamos que eu chamo isso de:

events.emit("x", 1, true); 
events.emit("y", "test"); 

Quero que os retornos de chamada sejam conectados xpara ver os tipos reais, como:

events.on("x", (arg1, arg2) => { // <= args should have types number and bool

e

events.on("y", (arg1) => { // <= args should have type string
javascript
  • 1 respostas
  • 28 Views
Martin Hope
Alex
Asked: 2025-02-13 18:54:53 +0800 CST

Converter string em número literal com Zod

  • 7

Tenho uma propriedade que deve permitir apenas certos números:

{
   ...
   x: 1 | -1
}

Como definir isso no esquema de validação de entrada?

Se a entrada for JSON, é fácil:

x: z.union([z.literal(-1), z.literal(1)])

mas se a entrada vier na consulta de pesquisa, então os valores serão strings, então preciso ser capaz de forçar o número, mas ainda limitar a -1 e 1 para tornar o tipo inferido do esquema compatível com o tipo TypeScript.

typescript
  • 1 respostas
  • 46 Views
Martin Hope
Alex
Asked: 2025-02-13 00:47:24 +0800 CST

Converter Array de primitivos para ArrayBuffer

  • 6

Estou tentando usar Web Workers e percebi que para melhorar o desempenho você pode usar objetos "transferíveis" empostMessage

https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

No Deno, objeto transferível significa ArrayBuffer, mas como transformar uma variável de array em ArrayBuffer?

meu caso de uso é enviar uma matriz de cerca de 10 mil elementos para o web worker, então eu gostaria de não copiá-lo, se possível.

javascript
  • 1 respostas
  • 40 Views
Martin Hope
Alex
Asked: 2025-02-11 23:47:25 +0800 CST

Os componentes filhos do Svelte não são atualizados na mudança do estado pai

  • 5

Componente pai:

<script>
    import Child from "./Child.svelte"
    import { onMount } from "svelte";
    import apireq from "./api.js";
    
    let items = $state.raw([]);

    let splitItems = $derived(items.splice(0, 5));

    onMount(() => {
        apireq().then(v => items = v)
    })
</script>
<h1>item count in parent {items.length}</h1>
<Child items={splitItems} />

Componente filho

<script>
  let props = $props();
  let { items} = props;
</script>

item count in child:
<div>{items.length}</div>

O componente filho não é atualizado após a solicitação da API. Ainda mostra contagem 0. O componente pai é atualizado.

Eu tentei com ambos $statee $state.raw. Mas eu não quero reatividade total porque é uma matriz grande, e a reatividade na atribuição deve ser suficiente

Isso costumava ser muito simples no Svelte 4, mas no 5 nada funciona como esperado :(

javascript
  • 2 respostas
  • 21 Views
Martin Hope
Alex
Asked: 2025-02-09 08:36:06 +0800 CST

Mover elementos dentro do array enquanto o executa em loop

  • 7

Como posso fazer um loop em um array muito grande e ainda conseguir mover elementos para o final do array sem quebrar o loop?

No loop estou consumindo os elementos, mas alguns deles dependem de outros, e esses eu quero mover no final. Eventualmente todos os elementos serão consumidos, então o loop não será infinito.

Eu sei que a maneira mais fácil é usar apenas uma matriz secundária e não alterar a matriz original no loop, mas os dados são muito grandes e seria muito lento

javascript
  • 2 respostas
  • 50 Views
Martin Hope
Alex
Asked: 2025-02-08 23:08:01 +0800 CST

Tornar o segundo argumento de uma função opcional ou obrigatório, com base no tipo do primeiro argumento

  • 5

Como tornar dataarg opcional somente se cato argumento não for 1?

export class MyClass<T extends 1 | 2 | 3>{
  constructor(
    public cat: T,
    public data?: T extends 1 ? string[] : undefined,
  ) {
    ...
  }
}
typescript
  • 1 respostas
  • 26 Views

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