domingo, 5 de novembro de 2023

PYTHON | EXCEL | LER LINHAS

 Iremos ler o conteúdo de uma planilha do Excel. Para isso será instalado um ambiente virtual (veja o post como montar um ambinete virtual) e instalado a lib:

openpyxl

Segue o código para ler as linhas e exibir o primeiro campo:

import openpyxl

workbook = openpyxl.load_workbook('vendas_de_produtos.xlsx')
vendas_sheet = workbook['vendas']

for linha in vendas_sheet.iter_rows(min_row=2):
print(linha[0].value)

Best regards




PYTHON | MONTAR UM AMBIENTE VIRTUAL

 Para montar um ambiente virtual em Python, o que facilita e aloca recurso especificamente para o projeto em questão. 

Primeiro instalar o suporte ao ambiente virtual:

sudo apt install python3.10-venv
sudo python -m venv automacao

O projeto em questão chama-se automacao e por consequência será criado um ambiente virtual com o mesmo nome. Em seguida entrar no diretório:

/automacao/bin

Dar permissão de execução:

chmod +x activate

Ativar o ambiente:

./activate

Pronto, as libs a serem instaladas ficarão apenas para o ambiente virtual do projeto e não do Python.

segunda-feira, 14 de fevereiro de 2022

NEST.JS - Erro ao rodar o docker-compose

Em um projeto NEST.JS ao tentar rodar o comando:

docker-compose up

Aparece o seguinte erro:

npm ERR! code EAI_AGAIN

npm ERR! errno EAI_AGAIN

npm ERR! request to https://registry.npmjs.org/@nestjs%2fcli failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org


npm ERR! A complete log of this run can be found in:

npm ERR!     /root/.npm/_logs/2022-02-11T19_26_29_796Z-debug.log

Por quê isso ocorre?
Por padrão o docker não pode encontrar o DNS do servidor localmente que normalmente está definido em /etc/resolv.conf. Nesse caso o container irá utilizar o DNS default do Google:
8.8.8.8

Como resolver?

Crie / edite o arquivo:

/etc/docker/daemon.json

Coloque o conteúdo:

{
    "dns": ["10.0.0.2", "8.8.8.8"]
}

Faça o restart do serviço:

sudo service docker restart

Pronto!

Best regards!



segunda-feira, 15 de junho de 2020

Docker - Instalar no Windows Home

Atualmente não é possível instalar no Windows Home, sendo exibido a mensagem:

Pre-requisite failed: Docker for Windows requires Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM to run
Para contornar esse problema, siga os passos:

  1. Pressione Windows + R e digite regedit
  2. No registro do windows, vá em  \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
  3. Clique com o botão direito em EditionID and Click Modify
  4. Altere o valor para "Professional"
  5. Pressione OK.
  6. Instale Docker

Após instalar, você pode alterar o campo EditionID novamente para o valor anterior.




quinta-feira, 14 de novembro de 2019

Failed to install metadata eagenda Could not parse metadata C:\JAVA\REPOSITORIO_MAVEN\repo\eagenda\eagenda\maven-metadata-local.xml: only whitespace content allowed before start tag and not

Ao ocorrer o erro:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-install) on project eagenda: Failed to install metadata eagenda:eagenda/maven-metadata.xml: Could not parse metadata C:\JAVA\REPOSITORIO_MAVEN\repo\eagenda\eagenda\maven-metadata-local.xml: only whitespace content allowed before start tag and not \u0 (position: START_DOCUMENT seen \u0... @1:1)  -> [Help 1]



Isso ocorre porque no repositório do MAVEN, existem espaços ou caracteres especiais que corrompem e impossibilitam compilar.

Solução:
Ir ao repositório (M2) e apagar o projeto. Recompilar novamente e tudo irá funcionar.

Best Regards

sexta-feira, 28 de setembro de 2018

JAVA - WILDFLY - beans.xml file and java.lang.UnsupportedOperationException: JBAS011859: Naming context is read-only

Quando for feito um deploy e aparecer o erro:

beans.xml file and java.lang.UnsupportedOperationException: JBAS011859: Naming context is read-only


Isso normalmente ocorre quando utilizamos a framework do Jersey. Para corrigir, adicionar nos parâmetros da VM no arquivo :

domain.conf

Localizado em:

JBOSS-HOME/bin


set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true"
Regards


quarta-feira, 31 de maio de 2017

JAVA - JBOSS WILDFLY - Adding multiple last resources is disallowed.

Isso ocorre quando mais de um resource de banco de dados está sendo utilizado na mesma transação. Nesse caso o JBOSS informa o seguinte erro no server.log:

ARJUNA012140: Adding multiple last resources is disallowed. Trying to add LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@74bec54d[connectionListener=d3ce980 connectionManager=25b47a05 warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a2c28d1:-5a4c1f9a:504689c9:11, node_name=1, branch_uid=0:ffff0a2c28d1:-5a4c1f9a:504689c9:14, subordinatenodename=null, eis_name=unknown eis name >])), but already have LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@518d0191[connectionListener=1a05d94a connectionManager=135f1cfe warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a2c28d1:-5a4c1f9a:504689c9:11, node_name=1, branch_uid=0:ffff0a2c28d1:-5a4c1f9a:504689c9:13, subordinatenodename=null, eis_name=unknown eis name >]))

Para resolver o problema, será necessário habilitar múltiplos recursos à banco de dados. Adicionar a  propriedade na VM do JBOSS:

<system-properties>
        <property name="com.arjuna.ats.arjuna.allowMultipleLastResources" value="true"/>
</system-properties>
Regards