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
Florian
Asked: 2025-04-05 21:40:44 +0800 CST

O Java JTable RowFilter não funciona corretamente?

  • 4

Tenho uma JTable (DefaultTableModel) contendo várias linhas de dados que gostaria de filtrar. O programa descobre corretamente quais linhas filtrar e adiciona a string regex (correspondente aos dados de uma coluna específica, já que nenhuma string corresponde a todas) a uma ArrayList de RowFilters. Essa ArrayList é então definida como RowFilter.andFilter. Mas onde deveria haver dados para exibir, geralmente não há nada ou há algum tipo de dado corrompido. Tentei várias abordagens nos últimos 2 dias e li inúmeras coisas online, mas não consigo fazer o filtro funcionar corretamente. Onde está o erro?

Na função que deve acionar o filtro, fica assim:

TableRowSorter<TableModel> sorter = new TableRowSorter<>(table.getModel());
sorter.setRowFilter(null);
table.setRowSorter(sorter);

List<RowFilter<Object, Object>> filterList = new ArrayList<RowFilter<Object, Object>>();

boolean missing = false;

//some logic to set missing to true/false depending on whether to filter or not

if (missing)
    filterList.add(RowFilter.regexFilter(dataString)); //dataString is the exact string in a specific column of the row to be filtered

E depois que os cálculos estiverem concluídos, o filtro deve ser executado:

sorter.setRowFilter(RowFilter.andFilter(filterList, 5));

Agora a tabela está ficando em branco. Nenhum dado. O booleano ausente está sempre correto (depurei)...

Tentei estender a string regex com ^ no início e $ no final ou . ... . ou colocá-la entre parênteses, "(" + dataString + ")"mas não adiantou. Até tentei sem o índice da coluna. O resultado é sempre o mesmo, desde que pelo menos 6 linhas permaneçam.

Agradeço sua ajuda.


Este é um MCVE. O programa está calculando corretamente os valores que não devem ser mostrados na tabela, mas o resultado é uma tabela em branco...

import java.awt.FlowLayout;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JPanel;
import javax.swing.RowFilter;
import javax.swing.table.*;

public class mainTable extends javax.swing.JFrame {

private TableRowSorter<TableModel> sorter;

public mainTable() {
    initComponents();
    
    sorter = new TableRowSorter<>(table.getModel());
    sorter.setRowFilter(null);
    table.setRowSorter(sorter);
    
    setTable();
    setCombo();
}

private void initComponents() {
    jPanel = new JPanel();
    table = new javax.swing.JTable();
    comboBox = new javax.swing.JComboBox<>();
    jButton1 = new javax.swing.JButton();
    
    setLayout(new FlowLayout());
    setSize(400, 400);
    
    DefaultTableModel tableModel = new DefaultTableModel();
    tableModel.addColumn("Stadt");
    tableModel.addColumn("Landkreis");
    table.setModel(tableModel);

    jButton1.setText("Filter");
    jButton1.addActionListener(this::jButton1ActionPerformed);
    
    jPanel.add(comboBox);
    jPanel.add(jButton1);
    jPanel.add(table);
    getContentPane().add(jPanel);
}                   

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    filter();
}                                        

public static void main(String args[]) {
    new mainTable().setVisible(true);
}

private void setTable() {
    ArrayList<String> cities = new ArrayList<>();
    ArrayList<String> landkreise = new ArrayList<>();
    String[] rows = new String[2];
    
    DefaultTableModel tbm = (DefaultTableModel) table.getModel();
    
    cities.add("Husum");
    cities.add("Westerland");
    cities.add("Hannover");
    cities.add("Uelzen");
    cities.add("Rotenburg");
    cities.add("Verden");
    cities.add("Nienburg");
    
    landkreise.add("Nordfriesland");
    landkreise.add("Nordfriesland");
    landkreise.add("Region Hannover");
    landkreise.add("Uelzen");
    landkreise.add("Rotenburg");
    landkreise.add("Verden");
    landkreise.add("Nienburg");
    
    for (int i = 0; i < cities.size(); i++) { 
        rows[0] = cities.get(i);
        rows[1] = landkreise.get(i);
        tbm.addRow(rows);
    }
}

private void setCombo() {        
    DefaultTableModel tbm = (DefaultTableModel) table.getModel();
    
    for (int i = 0; i < tbm.getRowCount(); i++)
        comboBox.addItem(tbm.getValueAt(i, 1).toString());
}
     
private void filter() {      
    sorter.setRowFilter(null);
     
    String filterText = comboBox.getSelectedItem().toString();
    List<RowFilter<Object, Object>> filterLandkreis = new ArrayList<RowFilter<Object, Object>>();
                 
    for (int i = table.getRowCount(); i > 0; i--) {   
        
        boolean filter = false;
        filter = !table.getValueAt(i-1, 1).toString().equals(filterText); //the value of the combo shall not be shown in the table
        
        if (filter)
            filterLandkreis.add(RowFilter.regexFilter(table.getValueAt(i-1, 1).toString()));
    }            
    sorter.setRowFilter(RowFilter.andFilter(filterLandkreis));
}
               
private javax.swing.JComboBox<String> comboBox;
private javax.swing.JButton jButton1;
private JPanel jPanel;
private javax.swing.JTable table;                 

}

java
  • 2 respostas
  • 78 Views
Martin Hope
Daniel Nascimento
Asked: 2025-04-05 21:36:48 +0800 CST

O lançamento do Qpid Proton Python (entregue = True) não está acionando a nova entrega no ActiveMQ Artemis (2.40.0)

  • 5

Estou usando o Apache ActiveMQ Artemis 2.40.0 como broker e o Qpid Proton Python 0.39.0 ( python-qpid-proton) como cliente AMQP 1.0.

O objetivo é que as mensagens sejam reenviadas até um limite configurado ( max-delivery-attempts) quando o consumidor explicitamente não reconhece (NACK) uma mensagem, usando o release(delivered=True)método do Proton MessagingHandler.

Configurei o broker.xmlno Artemis com o seguinte <address-setting>bloco:

<address-setting match="#">
    <expiry-address>ExpiryQueue</expiry-address>
    <dead-letter-address>DLQ</dead-letter-address>
    <auto-create-dead-letter-resources>true</auto-create-dead-letter-resources>
    <dead-letter-queue-prefix></dead-letter-queue-prefix>
    <dead-letter-queue-suffix>.DLQ</dead-letter-queue-suffix>
    <max-delivery-attempts>5</max-delivery-attempts>
    <redelivery-delay>5000</redelivery-delay>
</address-setting>

O código Python:

Aqui está um trecho do on_messagemétodo no meu consumidor Qpid Proton:

def on_message(self, event):
    message = event.message
    status = send_message_callback(self.enrollment["target_url"], message.body)

    if 200 <= status < 300:
        self.accept(event.delivery)
    else:
        # Explicitly NACK the message
        self.release(event.delivery, delivered=True)

Apesar de usar release(delivered=True), o Artemis parece reenviar a mensagem indefinidamente (ignorando o <max-delivery-attempts>), a menos que eu mude para reject(event.delivery), que envia imediatamente a mensagem para o DLQ na primeira falha.

Também tentei adicionar a tag <persist-delivery-count-before-delivery>true</persist-delivery-count-before-delivery>ao broker.xml, mas sem sucesso.

Comportamento esperado:

  1. Em seguida release(delivered=True), Ártemis deve:

    • Contar uma tentativa de reentrega
    • Tente novamente a mensagem com base em max-delivery-attemptseredelivery-delay
    • Envie para o DLQ após 5 tentativas frustradas
  2. release(delivered=True)deve se comportar como um NACK suave , conforme descrito na documentação do Proton

Problema:

Artemis continua reenviando a mensagem infinitamente , nunca contando para max-delivery-attempts. Parece que a contagem de entrega não está sendo persistida ou reconhecida como esperado do Proton.

O que eu tentei:

  • Explícitorelease(delivery, delivered=True)
  • Usando reject()(funciona, mas não é o comportamento que eu quero)
  • Adicionando <persist-delivery-count-before-delivery>à configuração do broker (quebra o esquema no Artemis 2.40.0)
  • Verificou-se que os Protons on_released, on_settled, não on_rejectedsão acionados emrelease(delivered=True)

Pergunta:

  • É release(delivered=True)suportado pelo Artemis 2.40.0 como uma forma de incrementar a contagem de entregas?
  • Existe uma maneira correta/melhor de fazer NACK no Proton Python para que o Artemis rastreie as reentregas?
  • Existe um broker alternativo ou configuração do Proton para dar suporte a essa lógica de repetição?

Desde já, obrigado!

RESOLUÇÃO:

Eu não estava atualizando o objeto de estado local antes de liberar a mensagem. Então, para usar a max-delivery-attemptspolítica com o DLQdefinido em broker.xml, ele deve completar estas propriedades locais:

def on_message(self, event):
    message = event.message
    status = send_message_callback(self.enrollment["target_url"], message.body)

    if 200 <= status < 300:
        self.accept(event.delivery)
    else:
        # Explicitly NACK the message
        local_state = event.delivery.local
        local_state.failed = True
        local_state.undeliverable = False
        event.delivery.update(local_state.type)
        self.settle(event.delivery, event.delivery.MODIFIED)
amqp
  • 1 respostas
  • 33 Views
Martin Hope
Shiela
Asked: 2025-04-05 20:49:04 +0800 CST

Como classificar dados da Planilha1 usando uma caixa de combinação com valores da Planilha2?

  • 6

Tenho aqui 2 folhas. 1 folha é para os dados principais. A outra folha é para as entradas de Times of the Name.

Folha 1 (os espaços em branco são propositais - para ver o resultado também se houver espaços em branco)

UM B C
Nome Data adicionada Data de modificação
Ana 11/03/2025 18/03/2025
Mav 11/03/2025 12/03/2025
Lisa 14/03/2025 13/03/2025
Ron 11/03/2025 14/03/2025
Mary 12/03/2025 15/03/2025
Kurt 13/03/2025 17/03/2025
15/03/2025
Kevin 16/03/2025

Folha2

UM B
Equipe Nome
Lúcia Ana
Lúcia Mav
Peter Lisa
Peter Ron
Nory Mary
Nory Kurt
Carlos Mona
Carlos Kevin

Caixa de listagem:

equipe errada

Gostaria de escolher equipes vindas da Planilha2. Tenho um código aqui abaixo, mas ele me dará o erro "Incompatibilidade de tipo".

showList é chamado durante a alteração do ComboBox:

Sub showList()
    Dim ws As Worksheet, colList As Collection
    Dim arrData, arrList, i As Long, j As Long
    Dim targetTeam As Variant
    ' *** 
    Dim ws2 As Worksheet: Set ws2 = Worksheets("Sheet2")
    Dim arr: arr = ws2.Range("B1").CurrentRegion.Value
    Dim dict As Object: Set dict = CreateObject("Scripting.Dictionary")
    For i = 2 To UBound(arr)
        dict(arr(i, 2)) = Empty
    Next
   ' ***

    Set colList = New Collection
    Set ws = Worksheets("Sheet1")
    arrData = ws.Range("A1:E" & ws.Cells(ws.Rows.count, "A").End(xlUp).Row)
    For i = 2 To UBound(arrData)
            targetTeam = Application.VLookup((arrData(i, 2)), ws2.Range("B1").CurrentRegion.Value, -1, False)
                If dict.exists(arrData(i, 1)) And cmbTeam = targetTeam Then
                    colList.Add i, CStr(i)
                End If

    Next
    ReDim arrList(1 To colList.count + 1, 1 To UBound(arrData))
    For j = 1 To 5
        arrList(1, j) = arrData(1, j) ' header
        arrList(1, 4) = "Date Added Duration"
        arrList(1, 5) = "Date Modified Duration"
        For i = 1 To colList.count
                arrList(i + 1, j) = arrData(colList(i), j)
                    Dim dateA As Variant
                    Dim dateB As Variant
                    Dim dateC As Variant
                    Dim difference1 As Long
                    Dim difference2 As Long
                
                ' Assign values to the dates
                dateA = arrList(i + 1, 2)
                dateB = arrList(i + 1, 3)
                dateC = Format(Now, "m/d/yyyy")
                
                ' Calculate the difference in days
                difference1 = DateDiff("d", dateA, dateC) 'date today minus date added
                
                If Not dateA = "" Then
                    If difference1 > 1 Then
                    arrList(i + 1, 4) = difference1 & " days"
                    Else
                    arrList(i + 1, 4) = difference1 & " day"
                    End If
                Else
                    arrList(i + 1, 4) = "Missing"
                End If
                
                difference2 = DateDiff("d", dateB, dateC) 'date today minus date modified
                
                If Not dateB = "" Then
                    If difference2 > 1 Then
                    arrList(i + 1, 5) = difference2 & " days"
                    Else
                    arrList(i + 1, 5) = difference2 & " day"
                    End If
                Else
                    arrList(i + 1, 5) = "Missing"
                End If
        Next
    Next
    With Me.ListBox1
        .Clear
        .ColumnCount = UBound(arrData, 2)
        .list = arrList
    End With
End Sub

Erro de incompatibilidade de tipo

código de erro

Desejado:

Resultado desejado

excel
  • 1 respostas
  • 63 Views
Martin Hope
ND_Coder
Asked: 2025-04-05 20:49:00 +0800 CST

"@media print" - O código QR aparece com CTRL-P, mas não com window.print()

  • 6

Gostaria de adicionar um código QR quando alguém imprime uma página do nosso site. Adicionei o seguinte CSS incorporado:

@media print {
    body:after {
        content: "Convenient QR code to return to this page ..." url(https://image-charts.com/chart?chs=100x100&cht=qr&chl=https://<?=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];?>&choe=UTF-8);
    }
}

Isso está funcionando perfeitamente quando alguém usa CTRL-P e o texto e o código QR aparecem na parte inferior da página. No entanto, quando alguém usa o botão que forneço para "Printer Friendly" — que simplesmente executa window.print() — tudo o que aparece na parte inferior da página é o texto... nenhum código QR. Tentei imprimir a página pensando que poderia ser um problema de visualização de impressão, mas o código QR não apareceu na página (Observação: ao imprimir usando CTRL-P, o código QR aparece).

Em essência, estou perguntando por que há uma diferença entre CTRL-P e window.print() e o que posso fazer para corrigir a situação. Procurei soluções e encontrei apenas algumas referências no Stack Overflow ( 53758720 e 7928963 ), mas elas não estavam abordando o mesmo problema. Qualquer ajuda será apreciada.

javascript
  • 2 respostas
  • 50 Views
Martin Hope
YBS
Asked: 2025-04-05 20:44:05 +0800 CST

colourpicker-panel está parcialmente oculto em uma rank_list

  • 7

colourpicker-panelestá parcialmente oculto em a rank_list(), mas o mesmo não é verdade em a tagList(). Existe uma maneira de implementar a propriedade CSS overflow: visibleou alterar z-index?

library(shiny)
library(sortable)
library(colourpicker)

mycolors <- c("#0A954F", "#e0677b", "#244457","#01B0F0")

labels <- list(
  htmltools::tags$div(
    div(id = "my_col1", colourInput("col1", label=NULL, mycolors[1], palette = "square", width = "90px", allowTransparent = TRUE), style = "margin-bottom: 5px;" ), style="z-index:1;"
  ),
  tags$div(
    colourInput("col2", label=NULL, mycolors[2], palette = "square", width = "90px", allowTransparent = TRUE), style = "z-index:2;"
  ),
  tags$div(
    colourInput("col3", label=NULL, mycolors[3], palette = "square", width = "90px", allowTransparent = TRUE), style = "z-index:3;"
  )
)

ui = fluidPage(
  tags$head(tags$style(HTML('.colourpicker-focus>.colourpicker-input-container>.colourpicker-panel>div { overflow:visible; }'))),
  sidebarLayout(
    sidebarPanel(
      uiOutput("color_list"),
      uiOutput("color_list2")
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
    
  )
server = function(input, output) {
  output$color_list <- renderUI({
    rank_list_basic <- rank_list(
      text = "Drag the items in any desired order",
      labels = labels,
      input_id = "rank_list_basic"
    )
  })
  
  output$color_list2 <- renderUI({
    tagList(
      colourInput("col1b", "", mycolors[1], palette = "square", width = "90px", allowTransparent = TRUE),
      colourInput("col2b", "", mycolors[2], palette = "square", width = "90px", allowTransparent = TRUE),
      colourInput("col3b", "", mycolors[3], palette = "square", width = "90px", allowTransparent = TRUE)
    )
  })
  
  output$plot <- renderPlot({
    set.seed(1)
    plot(rnorm(50), bg = input$col1, col = input$col1, pch = 21)
  })
  
  
}

shinyApp(ui, server)

saída

  • 1 respostas
  • 31 Views
Martin Hope
Cornelius Roemer
Asked: 2025-04-05 20:43:12 +0800 CST

A compilação do Pytensor falhou durante o estágio de vinculação no macOS

  • 5

Ao tentar executar um exemplo simples do PyMC no ARM macOS 15.4 usando um novo conda-forge conda-environment, a execução falha com um erro de compilação:pytensor.link.c.exceptions.CompileError: Compilation failed

import pymc as pm

with pm.Model() as model:
    alpha = pm.Normal('alpha', mu=0, sigma=1)
    pm.Normal('Est', mu=alpha, sigma=1, observed=0)
    pm.sample()

Registros relevantes:

pytensor.link.c.exceptions.CompileError: Compilation failed (return status=1):
/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/bin/clang++ -dynamiclib -g -O3 -fno-math-errno -Wno-unused-label -Wno-unused-variable -Wno-write-strings -Wno-c++11-narrowing -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -fPIC -undefined dynamic_lookup -ld64 -I/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/numpy/_core/include -I/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/include/python3.13 -I/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pytensor/link/c/c_code -L/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib -fvisibility=hidden -o /Users/cr/.pytensor/compiledir_macOS-15.4-arm64-arm-64bit-Mach-O-arm-3.13.2-64/tmphttorckn/m25516502502c211c050fc4b6a6d2e1108dee165ceb9a6715069ad05cf2e6f5c3.so /Users/cr/.pytensor/compiledir_macOS-15.4-arm64-arm-64bit-Mach-O-arm-3.13.2-64/tmphttorckn/mod.cpp
ld: -lto_library library filename must be 'libLTO.dylib'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

Apply node that caused the error: Subtensor{i}([1 3], -1)
Toposort index: 0
Inputs types: [TensorType(int64, shape=(2,)), ScalarType(int64)]

Backtrace when the node is created (use PyTensor flag traceback__limit=N to make it longer):
  File "/Users/cr/code/autotracer_chyby/bayesian/latent.py", line 149, in <module>
    trace = pm.sample(1000, tune=2000, chains=2, cores=1, target_accept=0.95)
  File "/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pymc/sampling/mcmc.py", line 789, in sample
    provided_steps, selected_steps = assign_step_methods(model, step, methods=pm.STEP_METHODS)
  File "/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pymc/sampling/mcmc.py", line 261, in assign_step_methods
    selected = max(
  File "/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pymc/sampling/mcmc.py", line 263, in <lambda>
    key=lambda method, var=rv_var, has_gradient=has_gradient: method._competence(  # type: ignore[misc]
  File "/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pymc/step_methods/compound.py", line 219, in _competence
    competences.append(cls.competence(var))
  File "/opt/homebrew/Cellar/micromamba/2.0.8/envs/chyby/lib/python3.13/site-packages/pymc/step_methods/metropolis.py", line 533, in competence
    k = var.owner.inputs[-1].shape[-1].eval()

HINT: Use a linker other than the C linker to print the inputs' shapes and strides.
HINT: Use the PyTensor flag `exception_verbosity=high` for a debug print-out and storage map footprint of this Apply node.

Como posso corrigir isso?

python
  • 1 respostas
  • 21 Views
Martin Hope
eslukas
Asked: 2025-04-05 20:28:10 +0800 CST

Como se recuperar de uma falha de inicialização no Camel Quarkus?

  • 6

O Apache Camel "Vanilla" tem o RouteController com a opção de supervisionar rotas, para que se possa capturar rotas com falha em vez de deixar o Camel inteiro cair (o que é o comportamento padrão). No Camel Quarkus, não tenho certeza de como é possível lidar com falhas na inicialização de rotas, já que tudo é um pouco mais de alto nível. Tenho pesquisado no Google como um louco, mas sem sucesso, infelizmente. Alguma dica sobre como lidar com isso?

Mais especificamente: tenho várias conexões WebSocket que podem ou não estar ativas ao inicializar o microsserviço de integração Camel Quarkus, mas gostaria que o último continuasse tentando até que elas voltassem a funcionar, em vez de travar o aplicativo inteiro.

apache-camel
  • 1 respostas
  • 23 Views
Martin Hope
Fahad Ashiq
Asked: 2025-04-05 20:18:46 +0800 CST

Problema com o aplicativo React no host/servidor local. Também instalei o pacote npm mais recente do node.js localmente.

  • 5

Estou anexando abaixo o erro que está aparecendo no meu terminal do Visual Studio Code. Estou tentando executar o aplicativo localmente através da janela do Visual Studio Code.

npm : O arquivo C:\Program Files\nodejs\npm.ps1 não pode ser carregado. O arquivo C:\Program Files\nodejs\npm.ps1 não está assinado digitalmente. Você não pode executar este script no sistema atual. Para obter mais informações sobre a execução de scripts e a configuração da política de execução, consulte about_Execution_Policies em https://go.microsoft.com/fwlink/?LinkID=135170. Na linha:1 char:1

  • npm executar dev
  •   + CategoryInfo          : SecurityError: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess
    
    

Instalei a versão mais recente do node.js e também atualizei a variável de ambiente para o caminho do node.js, mas o erro permanece o mesmo no console local/janela do terminal do Visual Studio.

reactjs
  • 1 respostas
  • 21 Views
Martin Hope
ShivamQmr
Asked: 2025-04-05 20:10:33 +0800 CST

Erro ao construir o aplicativo React Native + Expo + Nativewind. Erro: Não é possível encontrar o módulo 'nativewind/metro'

  • 6

Eu segui o guia oficial de instalação do NativeWind. Mas estou ficando Error: Cannot find module 'nativewind/metro'persistente. Estou usando o Expo SDK 52.

Meu pacote.json:

{
  "name": "mobile",
  "main": "expo-router/entry",
  "version": "1.0.0",
  "scripts": {
    "start": "expo start",
    "reset-project": "node ./scripts/reset-project.js",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "test": "jest --watchAll",
    "lint": "expo lint"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/vector-icons": "^14.0.2",
    "@react-native-async-storage/async-storage": "^2.1.0",
    "@react-native-community/cli": "latest",
    "@react-navigation/bottom-tabs": "^7.2.0",
    "@react-navigation/native": "^7.0.14",
    "@react-navigation/native-stack": "^7.2.0",
    "@react-navigation/stack": "^7.1.1",
    "axios": "^1.8.4",
    "expo": "~52.0.11",
    "expo-blur": "~14.0.1",
    "expo-constants": "~17.0.3",
    "expo-font": "~13.0.1",
    "expo-haptics": "~14.0.0",
    "expo-linking": "~7.0.3",
    "expo-router": "^4.0.15",
    "expo-splash-screen": "~0.29.13",
    "expo-status-bar": "~2.0.0",
    "expo-symbols": "~0.2.0",
    "expo-system-ui": "~4.0.4",
    "expo-web-browser": "~14.0.1",
    "nativewind": "^2.0.11",
    "react": "18.3.1",
    "react-dom": "^18.3.1",
    "react-native": "0.76.3",
    "react-native-gesture-handler": "^2.21.2",
    "react-native-get-random-values": "^1.11.0",
    "react-native-reanimated": "3.16.2",
    "react-native-safe-area-context": "4.12.0",
    "react-native-screens": "^4.4.0",
    "react-native-vector-icons": "^10.2.0",
    "react-native-web": "~0.19.13",
    "react-native-webview": "13.12.2",
    "tailwindcss": "3.4.17"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@tsconfig/react-native": "^3.0.5",
    "@types/jest": "^29.5.14",
    "@types/react": "^18.3.20",
    "@types/react-test-renderer": "^19.0.0",
    "jest": "^29.2.1",
    "jest-expo": "~52.0.2",
    "metro": "^0.82.1",
    "react-test-renderer": "18.3.1",
    "tailwindcss": "^3.3.2",
    "typescript": "^5.8.2"
  },
  "private": true
}

Erro:

Starting project at D:\VSCode WorkSpace\Project\mobile
Error: Cannot find module 'nativewind/metro'
Require stack:
- D:\VSCode WorkSpace\Project\mobile\metro.config.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\import-fresh\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\loaders.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\createExplorer.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\metro-config\src\loadConfig.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\metro-config\src\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\metro\instantiateMetro.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\metro\MetroBundlerDevServer.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\DevServerManager.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\startAsync.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\bin\cli
- D:\VSCode WorkSpace\Project\mobile\node_modules\expo\bin\cli
Error: Cannot find module 'nativewind/metro'
Require stack:
- D:\VSCode WorkSpace\Project\mobile\metro.config.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\import-fresh\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\loaders.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\createExplorer.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\cosmiconfig\dist\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\metro-config\src\loadConfig.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\metro-config\src\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\metro\instantiateMetro.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\metro\MetroBundlerDevServer.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\server\DevServerManager.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\startAsync.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\src\start\index.js
- D:\VSCode WorkSpace\Project\mobile\node_modules\@expo\cli\build\bin\cli
- D:\VSCode WorkSpace\Project\mobile\node_modules\expo\bin\cli
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at Function.Module._load (node:internal/modules/cjs/loader:986:27)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (D:\VSCode WorkSpace\Project\mobile\metro.config.js:2:28)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
    at Module.require (node:internal/modules/cjs/loader:1233:19)

Também estou recebendo um erro do Tailwind IntelliSense:

[Error - 5:44:00 PM] Unable to load config file at: D:/VSCode WorkSpace/Project/mobile/tailwind.config.js
[Error - 5:44:00 PM] Error: Can't resolve 'nativewind/preset' in 'D:\VSCode WorkSpace\Project\mobile'
   at d (c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:130:7155)
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:131:713
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:134:405
    at eval (eval at create (c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:5:78), <anonymous>:15:1)
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:134:405
    at eval (eval at create (c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:5:78), <anonymous>:27:1)
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:134:7916
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:134:405
    at eval (eval at create (c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:5:78), <anonymous>:15:1)
    at c:\Users\user\.vscode\extensions\bradlc.vscode-tailwindcss-0.14.13\dist\tailwindServer.js:134:405 {
  details: "resolve 'nativewind/preset' in 'D:\\VSCode WorkSpace\\Project\\mobile'\n" +
    '  Parsed request is a module\n' +
    '  using description file: D:\\VSCode WorkSpace\\Project\\mobile\\package.json (relative path: .)\n' +
    '    resolve as module\n' +
    '      looking for modules in D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\n' +
    '        existing directory D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\n' +
    '          using description file: D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\package.json (relative path: .)\n' +
    '            using description file: D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\package.json (relative path: ./preset)\n' +
    '              no extension\n' +
    "                D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\preset doesn't exist\n" +
    '              .js\n' +
    "                D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\preset.js doesn't exist\n" +
    '              .json\n' +
    "                D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\preset.json doesn't exist\n" +
    '              .node\n' +
    "                D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\preset.node doesn't exist\n" +
    '              as directory\n' +
    "                D:\\VSCode WorkSpace\\Project\\mobile\\node_modules\\nativewind\\preset doesn't exist\n" +
    "      D:\\VSCode WorkSpace\\Project\\node_modules doesn't exist or is not a directory\n" +
    "      D:\\VSCode WorkSpace\\node_modules doesn't exist or is not a directory\n" +
    "      D:\\node_modules doesn't exist or is not a directory"
}

Tentei: Excluir node_modulese package-lock.json, reinstalar com npm install, e npm install --save-dev metro. Não deu certo.

react-native
  • 1 respostas
  • 31 Views
Martin Hope
Ken Kiarie
Asked: 2025-04-05 20:07:36 +0800 CST

Como gerar novas corrotinas para o processamento de cada elemento em um fluxo frio?

  • 8

Me deparei com um exemplo que simula o acesso a um banco de dados lento para obter um fluxo de identificadores de usuários associados a um perfil que pode ser acessado por meio de um recurso de rede ainda mais lento:

fun getAllUserIds():Flow<Int>{
    return flow{
        repeat(3){
            delay(200.milliseconds)
            log("Emitting!")
            emit(it)
            }
         } 
      }

suspend fun getProfileFromNetwork(id:Int):String{
    delay(2.seconds)
    return "Profile[$id]"
  }

fun main(){
    val ids = getAllUserIds()
    runBlocking{
        ids
            .map{getProfileFromNetwork(it)}
            .collect{log("Got $it")}
        }
  }

a emissão dos IDs e a solicitação de perfis estão interligadas. Como eu otimizaria isso gerando novas coroutines para o processamento de cada elemento no fluxo?

kotlin-coroutines
  • 2 respostas
  • 27 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