sexta-feira, 24 de novembro de 2023

Definir na JVM locale e timezone

Mais uma da série "rápido e caceteiro"

Após dev reclamar que o timezone e locale tavam batendo errados na apresentação da aplicação, fui dar uma olhada.

Em resumo. Dev não definiu na app seu timezone/locale e ficou 100% dependente do SO. No caso era pod rodando na "nuvem".

quarta-feira, 27 de setembro de 2023

Separação de variáveis por linha nos /proc/[pid]/environ

O quão frustrante é querer ver as variáveis de ambiente de um processo e termos um caminhão de coisas sem separação por linha. Algo +/- assim:

# cat /proc/818/environ 

MAIL=/var/mail/tomcatLANGUAGE=pt_BR:pt:enUSER=tomcatXDG_SESSION_TYPE=unspecifiedSHLVL=0LD_LIBRARY_PATH=/usr/local/jdk1.6.0_45/jre/lib/amd64/server:/usr/local/jdk1.6.0_45/jre/lib/amd64:/usr/local/jdk1.6.0_45/jre/../lib/amd64::/usr/local/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnuHOME=/home/tomcatLOGNAME=tomcatJOURNAL_STREAM=9:24781_=/usr/local/tomcat/bin/startup.shXDG_SESSION_CLASS=backgroundXDG_SESSION_ID=c1PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binRODA_PRIORIDADE=falseJAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xmx12g -XX:MaxPermSize=2g -javaagent:/usr/local/tomcat/glowroot/glowroot.jar -Dglowroot.collector.address=10.10.10.10:8181LANG=pt_BR.UTF-8SHELL=/bin/bashJAVA_HOME=/usr/local/javaPWD=/RODA_CRONOLOGICO=true

quarta-feira, 10 de maio de 2023

O que é jitter e como ele influencia na sua conexão?

A performance da internet e a velocidade da conexão são importantíssimas nos dias de hoje, para que os usuários possam navegar com a maior qualidade possível. Entre os principais indicadores de desempenho estão a velocidade de download, upload, ping e jitter.

terça-feira, 17 de janeiro de 2023

Resetar as permissões e proprietários dos pacotes instalados com RPM

Para resetar as permissões e os proprietários dos pacotes instalados com o gerenciador de pacotes RPM, você pode usar o comando "rpm" com as opções "--setperms" e "--setugids" seguido pelo nome do pacote. Por exemplo:

rpm --setperms --setugids nome_do_pacote

Isso redefinirá as permissões (setperms) e os proprietários (setugids) dos arquivos do pacote para as configurações padrão especificadas pelo pacote durante a instalação.

terça-feira, 10 de janeiro de 2023

Redirecionar todo tráfego de http para https no Apache (redhat like)

Rápido e caceteiro.

Crie o arquivo /etc/httpd/conf.d/default.conf com o conteúdo abaixo:

<VirtualHost _default_:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=301,L]
</VirtualHost>

domingo, 8 de janeiro de 2023

Rastrear todos os arquivos acessados por um processo

Existem várias maneiras de rastrear todos os arquivos acessados por um processo em Linux. Uma das formas é usando o comando "strace".

Para usar o strace, você precisará descobrir o ID do processo (PID) que deseja rastrear. Isso pode ser feito usando o comando "ps aux | grep [nome do processo]".

Uma vez que você tenha o PID, você pode usar o strace com o seguinte comando:

strace -e trace=file -f -p [PID]

Essa opção irá rastrear todas as chamadas do sistema de arquivos do processo específico.

quinta-feira, 3 de fevereiro de 2022

Confirmação de leitura VS Confirmação de entrega

Ao utilizar um cliente de email normalmente temos 2 opção de confirmação:
  • Solicitar uma confirmação de leitura;
  • Solicitar uma confirmação de entrega.
Se marcar no cliente "solicitar confirmação de leitura" é adicionado ao email o cabeçalho Disposition-Notification-To. Exemplo:

Disposition-Notification-To: "André Felício" <eu@felicio.com.br>


Na confirmação de entrega (Return-Receipt-To) é feita uma solicitação para que o servidor de destino envie um DSN (delivery status notification) assim que receber o email.

Na confirmação de leitura (Disposition-Notification-To) é feita uma solicitação ao cliente de email do destinatário para que envie um DSN assim que a pessoa abrir o email.