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