Expressões Regulares para Validação de Strings em Java

Expressões regulaers são ferramentas poderosas para validação de padrões em strings. Este artigo explora seu uso em Java, com exemplos práticos de validação e uma visão geral da sintaxe. Validação de um Identificador Numérico Considere a necessidade de validar um identificador numérico com as seguintes regras: comprimento entre 6 e 20 caractere ...

Publicado em 6-2 06:29 por Thomas

Solução para o problema P5607 (NOI2017) com bitset e tabela hash

Implementação com bitset Cada conjunto é representado por um bitset. As operações são: Modificar: definir o bit y do bitset x como 1. Consultar: calcular a quantidade de bits 1 na união dos bitsets x1 e x2. const int MAXIMO = 1e5 + 5; bitset<MAXIMO> conjuntos[MAXIMO]; void resolver() { int operacoes; cin >> operacoes; ...

Publicado em 6-2 06:28 por Thomas

Algoritmos para Contagem de Bits Ativos em Representações Binárias

Na computação de baixo nível, determinar a quantidade de bits definidos como "1" (conhecido como Hamming Weight) em um número inteiro é uma tarefa fundametnal, com aplicações que variam de criptografia a algoritmos de compressão. Veremos como resolver esse problema de forma eficiente, evoluindo de uma abordagem básica para uma solução ...

Publicado em 6-2 07:21 por Thomas

Exploração de Classes Nativas do PHP

Classes nativas do PHP são classes internas da linguagem, como DirectoryIterator, Error, SimpleXMLElement, SoapClient, etc. Elas podem ser abusadas em ataques quando o código permite instanciar classes arbitrárias (ex: via unserialize, call_user_func ou parâmetros de entrada). Quando usar classes nativas Quando há deserialização insegura de ...

Publicado em 6-2 05:42 por Thomas

Comandos Shell Essenciais para Engenheiros de Sistemas Embarcados

Imagine-se diagnosticando um dispositivo embarcado onde a rede parou de funcionar e o log do kernel está rolando no terminal serial. Localizar a causa manualmente entre centenas de linhas seria ineficiente. Nesses cenários, onde o ambiente é restrito em recursos, sem interface gráfica e frequentemente acessado remotamente, o domínio de alguns c ...

Publicado em 6-2 06:38 por Thomas

Sincronização de branches locais após renomear um branch remoto no Git

Contextualização do Problema Em ambientes colaborativos de desenvolvimento com Git, é comum ajustar nomes de branches no repositório remoto para manter padrões. Quando um branch remoto como dev-legacy é renomeado para dev-atualizado, o branch local correspondente fica dessincronizado. Isso quebra o rastreamento e impede operações como git push ...

Publicado em 6-2 06:54 por Thomas