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
Alonso
Asked: 2025-04-20 02:36:01 +0800 CST

Existe uma maneira em R de especificar o espaço entre os eixos X para que eles se ajustem ao meu mapa?

  • 8

Estou tentando exibir um planisfério usando um mapa da biblioteca rnaturalearth e quero adicionar alguns eixos X e Y em cada lado do meu planisfério. Consegui configurar corretamente os eixos Y, mas não consigo encontrar uma maneira de configurar corretamente o eixo X. Aqui está o resultado que obtive até agora:

MapIGot

Como você pode ver, a largura do eixo X é igual à largura do planisfério na latitude 0°, mas eu quero que ele tenha a mesma largura que o planisfério na latitude 80°. Eu criei o resultado que quero obter na imagem a seguir (desculpem minhas péssimas habilidades com pintura) :

MapaQueEuQuero

Lamento que você não consiga ver as linhas dos meridianos. Não sei por que a captura de tela não mostrou as linhas dos meridianos.

Agora vamos falar sobre meu código, aqui está a biblioteca que eu uso:

library(ggplot2) 
library(dplyr)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)
library(readxl)

E aqui está meu código que gera tudo:

world <- ne_countries(scale = "medium", returnclass = "sf")

longitudes <- longitudes <- c(-180, -140, -100, -60, -20, 0, 20, 60, 100, 140, 180)

# Créer les données pour les labels de longitude (axe X)
bottomXAxis <- lapply(longitudes, function(x) {
  st_sf(label = paste0(abs(x), '\u00b0'),
        geometry = st_sfc(st_point(c(x, 0)), crs = 'WGS84'))
}) %>% bind_rows()

topXAxis <- lapply(longitudes, function(x) {
  st_sf(label = paste0(abs(x), '\u00b0'),
        geometry = st_sfc(st_point(c(x, 0)), crs = 'WGS84'))
}) %>% bind_rows()

nudgeXValues <- rep(0, length(longitudes))


# Créer les données pour les labels de latitude (axe Y)
leftYAxis <- lapply(c(-80, -60, -40, -20, 0, 20, 40, 60, 80), function(y) {
  st_sf(label = paste0(abs(y), '\u00b0'),
        geometry = st_sfc(st_point(c(-180, y)), crs = 'WGS84'))
}) %>% bind_rows()

rightYAxis <- lapply(c(-80, -60, -40, -20, 0, 20, 40, 60, 80), function(y) {
  st_sf(label = paste0(abs(y), '\u00b0'),
        geometry = st_sfc(st_point(c(180, y)), crs = 'WGS84'))
}) %>% bind_rows()

nudge_left_y <- c(-1.6e6, -1.2e6, -0.8e6, -0.4e6, -0.2e6, -0.4e6, -0.8e6, -1.2e6, -1.6e6)
nudge_right_y <- c(1.6e6, 1.4e6, 1e6, 0.6e6, 0.4e6, 0.6e6, 1e6, 1.4e6, 1.6e6)

# Affichage de la carte avec les labels de longitude et latitude
world %>%
  ggplot() +
  geom_sf(color = "black", linewidth = 0.1) +
  geom_sf_text(data = topXAxis, aes(label = label), size = 3.5, color = 'black',
               nudge_y = rep(9e6, length(topXAxis$label)),
               nudge_x = nudgeXValues) +
  geom_sf_text(data = bottomXAxis, aes(label = label), size = 3.5, color = 'black',
               nudge_y = rep(-9e6, length(bottomXAxis$label)),
               nudge_x = nudgeXValues) +
  geom_sf_text(data = leftYAxis, aes(label = label), size = 3.5, color = 'black',
               nudge_x = nudge_left_y) +
  geom_sf_text(data = rightYAxis, aes(label = label), size = 3.5, color = 'black',
               nudge_x = nudge_right_y) +
  coord_sf(crs = "+proj=robin", expand = TRUE) +
  theme_minimal() +
  theme(axis.title = element_blank())

Tentei várias opções como scale_x_continous com xlim, mas não funcionou. Espero que alguém tenha a solução. Além disso, ainda sou iniciante em programação em R, então não hesitem se tiverem algum outro feedback sobre o meu código.

Obrigado !

  • 1 respostas
  • 58 Views
Martin Hope
Utsav
Asked: 2025-04-20 02:26:49 +0800 CST

crie uma tabela kdb com faixa de preço baseada no ticker

  • 5

Ao criar uma tabela de teste de amostra, estou tentando gerar a coluna marketPricecom base nos valores da coluna securityId, ou seja

  • securityId=apoderia ter marketPrice entre 0-100.
  • securityId=bpoderia ter preço de mercado entre 100-200.
  • securityId=cpoderia ter preço de mercado entre 1000-1100.

Eu poderia sugerir a solução abaixo. Você poderia compartilhar uma solução melhor, onde não precisemos usar nenhuma instrução de atualização ou, no máximo, uma instrução de atualização com condicionais vetoriais, dicionário ou algo assim?

n:100;
tradeDate: asc n?2025.04.01 + til 10;
securityId: `g#n?`a`b`c;
quantityAvailable: n?1000;
marketPrice: n?100.;

data:([]
    tradeDate: tradeDate;
    securityId: securityId;
    quantityAvailable: quantityAvailable;
    marketPrice:marketPrice
 );

update marketPrice: 100+marketPrice from `data where securityId=`b;
update marketPrice: 1000+marketPrice from `data where securityId=`c;
kdb+
  • 2 respostas
  • 68 Views
Martin Hope
chocalaca
Asked: 2025-04-20 02:03:31 +0800 CST

Como definir restrições corretamente no Mysql?

  • 8

Quando o e-mail de um usuário é confirmado, um valor de TIMESTAMP do MySQL é atualizado e seu valor não deve ser igual a '1970-01-01 00:00:01' (PADRÃO). Estou tentando criar uma restrição do MySQL que imponha isso. Portanto, se o usuário tiver o seguinte:
confirmed=1
email_confirmed_time='1970-01-01 00:00:01'
... então a restrição é violada. Mas se confirmed=0 com o mesmo TIMESTAMP, então ela é aceita.

O que há de errado com o meu comando table abaixo? Ele me informa que há uma violação em CHK_emailConfirmedTime_when_confirmed se eu inserir o seguinte:

insert into user (username, `password`, first_name, last_name, `role`, `group`, logged_in, confirmed, approved, email_confirmed_time) values 
    ("0", "0", "joe", "dill", "{admin, user, guest}", "{create, read, update, delete}", 0, 0, 0, DEFAULT)
;
CREATE TABLE IF NOT EXISTS user (
    `id` SERIAL PRIMARY KEY,
    `username` varchar(75) NOT NULL,
    `password` varchar(100) NOT NULL,
    `first_name` varchar(50) NOT NULL,
    `last_name` varchar(50) NOT NULL,
    `role` varchar(25) NOT NULL DEFAULT "{guest}",
    `group` varchar(50) NOT NULL DEFAULT "{read}",
    `logged_in` int NOT NULL DEFAULT 0,
    `confirmed` INTEGER NOT NULL DEFAULT 0,
    `approved` INTEGER NOT NULL DEFAULT 0,
    `email_confirmed_time` TIMESTAMP NOT NULL DEFAULT '1970-01-01 00:00:01',
    CONSTRAINT CHK_confirmed CHECK (`confirmed`=0 OR `confirmed`=1),
    CONSTRAINT CHK_approved CHECK (`approved`=0 OR `approved`=1),
    CONSTRAINT CHK_emailConfirmedTime_when_notConfirmed CHECK (`confirmed`=0 AND `email_confirmed_time`=TIMESTAMP('1970-01-01 00:00:01')),
    CONSTRAINT CHK_emailConfirmedTime_when_confirmed CHECK (`confirmed`=1 AND `email_confirmed_time`>TIMESTAMP('1970-01-01 00:00:01'))
);
mysql
  • 2 respostas
  • 67 Views
Martin Hope
Manu Chadha
Asked: 2025-04-20 01:46:10 +0800 CST

Não é possível testar e executar um projeto de função do Azure localmente no VS Code usando um código de repositório git

  • 4

Este repositório tem o código de uma função do Azure.

Quero abrir o repositório no VS Code, testá-lo localmente e depois publicar o código no Azure.

Baixei o zip e abri a pasta descompactada no VS Code.

O VS Code detectou que a pasta contém código de função do Azure e otimizou e adaptou conforme necessário, solicitando a linguagem (Python no meu caso) e o interpretador.

Como testo o código? Quando comecei a depurar usando a tecla F5, recebi o erro:

 *  Executing task: .venv\Scripts\python -m pip install -r requirements.txt 

Collecting azure-functions
  Using cached azure_functions-1.23.0-py3-none-any.whl (137 kB)
Collecting azure-ai-projects
  Using cached azure_ai_projects-1.0.0b9-py3-none-any.whl (199 kB)
Collecting azure-identity
  Using cached azure_identity-1.21.0-py3-none-any.whl (189 kB)
Collecting werkzeug~=3.0.6
  Using cached werkzeug-3.0.6-py3-none-any.whl (227 kB)
Collecting MarkupSafe>=2.1.1
  Using cached MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl (17 kB)
Collecting isodate>=0.6.1
  Using cached isodate-0.7.2-py3-none-any.whl (22 kB)
Collecting azure-core>=1.30.0
  Using cached azure_core-1.33.0-py3-none-any.whl (207 kB)
Collecting typing-extensions>=4.12.2
  Using cached typing_extensions-4.13.2-py3-none-any.whl (45 kB)
Collecting six>=1.11.0
  Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Collecting requests>=2.21.0
  Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Collecting charset-normalizer<4,>=2
  Using cached charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl (102 kB)
Collecting urllib3<3,>=1.21.1
  Using cached urllib3-2.2.3-py3-none-any.whl (126 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.10-py3-none-any.whl (70 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2025.1.31-py3-none-any.whl (166 kB)
Collecting msal-extensions>=1.2.0
  Using cached msal_extensions-1.3.0-py3-none-any.whl (28 kB)
Collecting msal>=1.30.0
  Using cached msal-1.32.0-py3-none-any.whl (114 kB)
Collecting cryptography>=2.5
  Using cached cryptography-44.0.2-cp37-abi3-win_amd64.whl (3.2 MB)
Collecting cffi>=1.12
  Using cached cffi-1.17.1-cp38-cp38-win_amd64.whl (181 kB)
Collecting pycparser
  Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Collecting PyJWT[crypto]<3,>=1.0.0
  Using cached PyJWT-2.9.0-py3-none-any.whl (22 kB)
Installing collected packages: pycparser, cffi, urllib3, PyJWT, idna, cryptography, charset-normalizer, certifi, requests, typing-extensions, six, msal, MarkupSafe, werkzeug, msal-extensions, isodate, azure-core, azure-identity, azure-functions, azure-ai-projects
Successfully installed MarkupSafe-2.1.5 PyJWT-2.9.0 azure-ai-projects-1.0.0b9 azure-core-1.33.0 azure-functions-1.23.0 azure-identity-1.21.0 certifi-2025.1.31 cffi-1.17.1 charset-normalizer-3.4.1 cryptography-44.0.2 idna-3.10 isodate-0.7.2 msal-1.32.0 msal-extensions-1.3.0 pycparser-2.22 requests-2.32.3 six-1.17.0 typing-extensions-4.13.2 urllib3-2.2.3 werkzeug-3.0.6
WARNING: You are using pip version 21.1.1; however, version 25.0.1 is available.
You should consider upgrading via the 'C:\Users\manuchadha\OneDrive - Microsoft\Manu_Personal\programs\2025learnresolution\azure-ai-foundry-agent-main (1)\azure-ai-foundry-agent-main\.venv\Scripts\python.exe -m pip install --upgrade pip' command.
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: .venv\Scripts\activate ; func host start 

Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]

Azure Functions Core Tools
Core Tools Version:       4.0.1 Commit hash: N/A +421f0144b42047aa289ce691dc6db4fc8b6143e6 (32-bit)
Function Runtime Version: 4.834.3.22875

Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]
Can't determine project language from files. Please use one of [--dotnet-isolated, --dotnet, --javascript, --typescript, --java, --python, --powershell, --custom]
[2025-04-19T17:43:47.687Z] File 'C:\Program Files (x86)\dotnet\dotnet.exe' is not found, 'dotnet' invocation will rely on the PATH environment variable.
[2025-04-19T17:43:48.552Z] File 'C:\Program Files (x86)\dotnet\dotnet.exe' is not found, 'dotnet' invocation will rely on the PATH environment variable.
[2025-04-19T17:43:49.293Z] The 'FUNCTIONS_WORKER_RUNTIME' setting is required. Please specify a valid value. See https://go.microsoft.com/fwlink/?linkid=2257963 for more information. The application will continue to run, but may throw an exception in a future release.
[2025-04-19T17:43:49.513Z] No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
For detailed output, run func with --verbose flag.
[2025-04-19T17:43:54.272Z] Host lock lease acquired by instance ID '0000000000000000000000001CFB97BF'.

insira a descrição da imagem aqui

  • 1 respostas
  • 68 Views
Martin Hope
Семён Квашнин
Asked: 2025-04-20 01:45:27 +0800 CST

Como salvar o estado de rolagem ao buscar dados parcialmente

  • 7

Eu estava criando um LazyVerticalGrid simples contendo imagens recuperadas da API pública. Inicialmente, segui um guia que utilizava paginação, mas essa API não possui páginas, então decidi buscar 20 imagens por vez. Cada chamada à API recupera 20 strings, que são inseridas em AsyncImage. Usei o booleano fetchNextImages para buscar as próximas 20 strings e funciona, mas apenas se você não alternar as telas. Tela:

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items


import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import com.example.fortests.components.DuckImage
import com.example.fortests.components.LoadingState

sealed interface DuckViewState {
    object Loading : DuckViewState
    data class GridDisplay(
        val ducks: List<String> = emptyList()
    ) : DuckViewState
}

@Composable
fun SecondScreen(
    viewModel: SecondViewModel = hiltViewModel(),
    onDuckClicked: (str: String) -> Unit
) {
    LaunchedEffect(key1 = viewModel, block = { viewModel.fetchInitialImages() })
    val viewState by viewModel.viewState.collectAsState()

    val scrollState = viewModel.scrollState.value


    val fetchNextImages: Boolean by remember {
        derivedStateOf {
            val currentCharacterCount =
                (viewState as? DuckViewState.GridDisplay)?.ducks?.size
                    ?: return@derivedStateOf false
            val lastDisplayedIndex = scrollState.layoutInfo.visibleItemsInfo.lastOrNull()?.index
                ?: return@derivedStateOf false
            return@derivedStateOf lastDisplayedIndex+1 == currentCharacterCount
        }
    }

    LaunchedEffect(key1 = fetchNextImages, block = {
        if (fetchNextImages) viewModel.fetchNextImages()
    })


    when (val state = viewState) {
        DuckViewState.Loading -> LoadingState()
        is DuckViewState.GridDisplay -> {
            Column {
                LazyVerticalGrid(
                    state = scrollState,
                    modifier = Modifier.padding(bottom = 90.dp),
                    contentPadding = PaddingValues(all = 16.dp),
                    verticalArrangement = Arrangement.spacedBy(8.dp),
                    horizontalArrangement = Arrangement.spacedBy(8.dp),
                    columns = GridCells.Fixed(2),
                    content = {
                        items(
                            items = state.ducks
                        ) { duck ->
                            DuckImage(
                                onClick = { onDuckClicked(duck) },
                                imageUrl = "https://random-d.uk/api/${duck}.jpg"
                            )
                        }
                    })
            }
        }
    }
}

Modelo de exibição:

import android.app.Application
import androidx.compose.foundation.lazy.grid.LazyGridState
import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.fortests.duckrepo.DuckImagesRepo
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import javax.inject.Inject

@HiltViewModel
class SecondViewModel @Inject constructor(
    application: Application, private val duckImagesRepo: DuckImagesRepo
) : ViewModel() {

    private val _viewState = MutableStateFlow<DuckViewState>(DuckViewState.Loading)
    val viewState: StateFlow<DuckViewState> = _viewState.asStateFlow()

    val scrollState = mutableStateOf(LazyGridState())

    private val fetchedDucks = mutableListOf<String>()

    fun fetchInitialImages() = viewModelScope.launch {
        if (fetchedDucks.isNotEmpty()) return@launch
        val initialData = duckImagesRepo.fetchImages()
        _viewState.update {
            return@update DuckViewState.GridDisplay(ducks = initialData)
        }
    }

    fun fetchNextImages() = viewModelScope.launch {
        val data = duckImagesRepo.fetchNextData()
        _viewState.update { currentState ->
            when (currentState) {
                is DuckViewState.GridDisplay -> {
                    val updatedDucks = currentState.ducks + data
                    DuckViewState.GridDisplay(ducks = updatedDucks)
                }

                else -> currentState
            }
        }
    }
}

Seria uma boa solução simplesmente salvar todas essas strings em uma lista?

  • 1 respostas
  • 97 Views
Martin Hope
Alex Lebedev
Asked: 2025-04-20 00:55:23 +0800 CST

Operação do oleoduto Jenkins não permitida

  • 6

Estou trabalhando em um pipeline do Jenkins e não consigo entender por que uma das minhas etapas não pode ser executada nas máquinas de destino.

Basicamente, quero implantar meu novo código do repositório do GitHub com o agente Jenkins via ssh.

O problema: quando quero alterar o proprietário do grupo da pasta do projeto, não consigo fazer isso pelo pipeline do Jenkins, mas consigo fazer isso se conectar manualmente com o usuário Jenkins à máquina de destino.

PS: Eu aprovei o script e o pipeline do Jenkins não está em um ambiente Sandbox.

PSS: Consigo copiar meu código para a pasta do projeto com rsync, então não há problema com isso. O único problema é a mudança de grupo com:chgrp -R gunicorn $PROJECT

Aqui está o que tenho até agora:

Usuário do Jenkins sem permissão de root em uma máquina de destino. O usuário do Jenkins faz parte de outro grupo para o qual preciso alterar meus arquivos. A operação manual de alteração das permissões de grupo (sem sudo) está funcionando bem quando conectado manualmente no Jenkins via SSH, mas não pelo pipeline.

Agradeço antecipadamente.

Meu código de pipeline de exemplo:

pipeline {
   agent none
   environment {
       GITHUB_REPO = 'github.com/************/**********.git'
       PROJECT = '/opt/***********/'
   }
   stages {
       stage('Parallel Execution') {
           parallel {
               stage('Test Deploy Agent 1') {
                   agent { label '***********' }
                   steps {
                       script {
                           // Use withCredentials to securely inject the GitHub credentials
                           withCredentials([usernamePassword(credentialsId: 'jenkins-github-test', usernameVariable: 'GITHUB_USER', passwordVariable: 'GITHUB_TOKEN')]) {
                               // Clone the repository using the provided credentials
                               sh """
                                   git clone https://\$GITHUB_USER:\$GITHUB_TOKEN@\$GITHUB_REPO \$WORKSPACE/***********
                               """
                           }
                       }
                       sh "rsync --exclude='.git/' -q $WORKSPACE/***********/ $PROJECT"
                       sh "chgrp -R gunicorn $PROJECT"
                   }
                   post {
                       always {
                           cleanWs()
                       }
                   }
               }
               stage('Test Deploy Agent 2') {
                   agent { label '***********' }
                   steps {
                       script {
                           // Use withCredentials to securely inject the GitHub credentials
                           withCredentials([usernamePassword(credentialsId: 'jenkins-github-test', usernameVariable: 'GITHUB_USER', passwordVariable: 'GITHUB_TOKEN')]) {
                               // Clone the repository using the provided credentials
                               sh """
                                   git clone https://\$GITHUB_USER:\$GITHUB_TOKEN@\$GITHUB_REPO \$WORKSPACE/***********
                               """
                           }
                           sh "rsync --exclude='.git/' -q $WORKSPACE/***********/ $PROJECT"
                           sh "chgrp -R gunicorn $PROJECT"
                       }
                   }
                   post {
                       always {
                           cleanWs()
                       }
                   }
               }
           }
       }
   }
}

code

  • 1 respostas
  • 44 Views
Martin Hope
Lukas
Asked: 2025-04-20 00:51:06 +0800 CST

Preciso renderizar um objeto Plotter no QWidget

  • 5

Estou tentando renderizar um objeto Plotter criado por Seaborn.object.Bar() no Qwidget do PyQt6.

plot = (
        so.Plot(result, x = 'XXX', y = 'XXX')
        .add(so.Bar(color='lightblue'))
        .label(title = "XXX", x = 'XXX', y = 'XXX')
    )

Eu costumava renderizar gráficos passando o objeto Axes gerado por Figure.add_subplot() para o método Seaborn.barplot() como um kwarg e então convertendo-os em objetos QWidget usando a classe FigureCanvasQTAgg de matplotlib.backends.backend_qtagg

fig = Figure()
ax = fig.add_subplot(111)
...
sns.barplot(..., ax = ax)
...    
self.main_layout.addWidget(FigureCanvasQTAgg(fig))

Mas como FigureCanvasQTAgg aceita apenas um objeto Figure como argumento, estou meio travado aqui.

python
  • 1 respostas
  • 32 Views
Martin Hope
binarynoise
Asked: 2025-04-20 00:30:51 +0800 CST

O forEach de Kotlin esconde o forEach original

  • 9

Criei um conjunto usando Collections.synchronizedSet<T>(mutableSetOf<T>()).
SynchronizedSetque tem sua própria implementação de forEach(synchronized) que difere daquela fornecida por Iterable.forEach(not synchronized), no entanto, o do Kotlin Iterable.forEaché anotado com @HidesMembers, então ele é chamado em vez do synchronized.

Como faço para recuperar a versão sincronizada do forEach?

kotlin
  • 2 respostas
  • 91 Views
Martin Hope
HJA24
Asked: 2025-04-20 00:21:55 +0800 CST

Transformar tabela em uma matriz matemática

  • 4

Em matemática, uma matriz é uma matriz retangular ou tabela de números, símbolos ou expressões, com elementos ou entradas organizados em linhas e colunas, que é usada para representar um objeto matemático ou propriedade de tal objeto.

Abaixo está um exemplo de uma matriz

insira a descrição da imagem aqui

Gostaria de recriar a tabela usando CSS / HTML

<table>
  <tr>
    <td>1</td>
    <td>9</td>
    <td>-13</td>
  </tr>
  <tr>
    <td>20</td>
    <td>5</td>
    <td>-6</td>
  </tr>
</table>

Como ficaria minha folha de estilo se eu recriasse as "bordas"?

html
  • 3 respostas
  • 83 Views
Martin Hope
Samuel
Asked: 2025-04-19 23:16:02 +0800 CST

Insira o script na seção principal do HTML quando estiver em desenvolvimento e não em produção

  • 6

Quero inserir a tag de script abaixo no meu popup.htmle options.htmlquando compilado na pasta dist:

<script src="http://localhost:8097"></script>

Preciso que este seja o primeiro script antes de qualquer outro. Veja como espero que o script fique no meu HTML:

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
 <script src="http://localhost:8097"></script>
 <script src="example.js"></script>
 <script src="react.js"></script>
</head>
<body>
  
</body>
</html>

Como posso injetar esse script apenas para desenvolvimento local ao trabalhar com o Webpack?

Aqui está minha configuração até agora:

webpack.dev.js:

const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common, {
    mode: 'development',
    devtool: 'cheap-module-source-map'
});

webpack.common.js:

const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');

module.exports = {
    entry: {
        popup: path.resolve('src/popup/popup.tsx'),
        options: path.resolve('src/options/options.tsx'),
        background: path.resolve('src/background/background.ts'),
        contentScript: path.resolve('src/contentScript/contentScript.js')
    },
    module: {
        rules: [
            {
                use: 'ts-loader',
                test: /\.tsx?$/,
                exclude: /node_modules/
            },
            {
                use: ['style-loader', 'css-loader'],
                test: /\.css$/i
            },
            {
                type: 'asset/resource',
                test: /\.(jpg|jpeg|png|woff|woff2|eot|ttf|svg)$/
            }
        ]
    },
    plugins: [
        new CleanWebpackPlugin({
            cleanStaleWebpackAssets: false
        }),
        new CopyPlugin({
            patterns: [
                {
                    from: path.resolve('src/static'),
                    to: path.resolve('dist/')
                }
            ]
        }),
        ...getHtmlPlugin(['popup', 'options'])
    ],
    resolve: {
        extensions: ['.tsx', '.ts', '.js']
    },
    output: {
        filename: '[name].js',
        path: path.resolve('dist')
    },
    optimization: {
        splitChunks: {
            chunks: 'all'
        }
    }
};

function getHtmlPlugin(chunks) {
    return chunks.map(
        (chunk) =>
            new HtmlPlugin({
                title: 'Test',
                filename: `${chunk}.html`,
                chunks: [chunk]
            })
    );
}

Pacote.json

{
 ...
 "devDependencies": {
  "webpack": "^5.94.0",
  "webpack-cli": "^5.1.4",
  "webpack-merge": "^6.0.1"
  }
 ...
}
javascript
  • 1 respostas
  • 53 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