# Tiagoek > Blog pessoal de Tiago Endres Kochenborger sobre arquitetura de software, desenvolvimento, segurança web, CI/CD e produtividade. ## About - [Tiago Endres Kochenborger](https://tiagoek.com.br/sobre): Arquiteto de software com mais de 20 anos em sistemas corporativos, microsserviços e integrações. Escrevo sobre desenvolvimento, arquitetura e produtividade. ## Topics - [Segurança web](https://tiagoek.com.br/blog/topicos/seguranca-web): Checklist moderno, SQL injection com prepared statements/PDO e práticas que ainda importam em 2026. - [Arquitetura e microsserviços](https://tiagoek.com.br/blog/topicos/arquitetura): Quando migrar de monólito, fronteiras de ERP e trade-offs reais de operação. - [Entrega e CI/CD](https://tiagoek.com.br/blog/topicos/entrega-ci): Pipelines úteis para times pequenos e hábitos de produtividade de engenharia. - [Integração e fiscal](https://tiagoek.com.br/blog/topicos/integracao-fiscal): Pentaho/PDI, parâmetros em jobs e CFOP no contexto de software fiscal brasileiro. ## Blog - [Segurança web em 2026: checklist prático para sites e APIs](https://tiagoek.com.br/blog/seguranca-web-2026): TLS, autenticação, prepared statements, headers, rate limit e cookies — o que ainda importa na segurança web em 2026. - [Arquitetura de ERP e integrações: fronteiras e contratos](https://tiagoek.com.br/blog/arquitetura-erp-integracoes): Como desenhar boundaries, APIs, filas e ETL ao integrar módulos fiscais, financeiros e sistemas satélite. - [CI/CD para times pequenos: pipeline mínimo que funciona](https://tiagoek.com.br/blog/cicd-times-pequenos): Como montar testes, build e deploy contínuo com pouca gente — sem copiar processo de big tech. - [Microsserviços: quando migrar (e quando não)](https://tiagoek.com.br/blog/microsservicos-quando-migrar): Sinais reais de que o monólito dói — e quando microsserviços só aumentam o custo operacional. - [Da TEK Softwares à impressão 3D: jornada do fundador](https://tiagoek.com.br/blog/tek-softwares-e-3d): Como expandi de software sob medida para produtos físicos impressos em 3D — canais, operação e o que muda no dia a dia. - [Produtividade de desenvolvedor: hábitos que somam horas](https://tiagoek.com.br/blog/produtividade-desenvolvedor): Automações, foco, gates de teste e hábitos que somam horas por semana no dia a dia de um arquiteto de software. - [Avisos por voz no Mac para produtividade](https://tiagoek.com.br/blog/avisos-mac-produtividade): Como ativar anúncios por voz de alertas no macOS e reduzir context switching. - [Internacionalização (i18n) em Java com ResourceBundle](https://tiagoek.com.br/blog/internacionalizacao-software-java): Como internacionalizar aplicações Java com arquivos .properties, ResourceBundle e formulários multi-idioma. - [Integração de sistemas com Pentaho Data Integration (PDI)](https://tiagoek.com.br/blog/integracao-sistemas-pentaho): Por que usar PDI/Kettle para ETL e integração entre ERPs, bancos e arquivos — visão prática atualizada. - [Inserção múltipla de registros em SQL](https://tiagoek.com.br/blog/insercao-multipla-registros): Como reduzir round-trips com INSERT multi-values e limites por banco (MySQL, SQL Server, Oracle). - [Passagem de parâmetros no Pentaho PDI (Jobs e Transformações)](https://tiagoek.com.br/blog/passagem-parametros-pentaho): Como parametrizar Jobs e Transformações no PDI em vez de duplicar processos — com exemplos visuais. - [JAVA_HOME, CLASSPATH e PATH no Mac (JDK moderno)](https://tiagoek.com.br/blog/java-home-classpath-path-mac): Como configurar JAVA_HOME, PATH e CLASSPATH no macOS com JDK atual — shell profile e arm64/x64. - [O que é QR Code e para que serve](https://tiagoek.com.br/blog/qrcode-dicas): Explicação rápida de QR Code: padrão bidimensional, usos e leitura por celular. - [Ofuscar e compactar JARs Java com ProGuard](https://tiagoek.com.br/blog/ofuscar-compactar-projetos-java): Como usar ProGuard para ofuscar e otimizar projetos Java modernos — sem downloads inseguros de rt.jar. - [JPasswordField: use getPassword() em vez de getText()](https://tiagoek.com.br/blog/jpasswordfield-gettext-depreciado): Por que getText() está depreciado em JPasswordField e como converter char[] com segurança. - [Menu na barra do sistema no Mac com Java Swing](https://tiagoek.com.br/blog/menu-padrao-apple-java): Como ativar apple.laf.useScreenMenuBar e Look and Feel nativo no macOS para apps Java. - [Preencher JDateChooser no NetBeans a partir de String](https://tiagoek.com.br/blog/preencher-jdatechooser-netbeans): Converter String dd/MM/yyyy para Calendar e setSelectedDate no JDateChooser. - [Adicionar JDateChooser na Palette do NetBeans](https://tiagoek.com.br/blog/adicionar-jdatechooser-netbeans): Como instalar o componente JDateChooser (OpenFaces) na Palette Swing do NetBeans. - [Ordenar colunas do JTable com RowSorter](https://tiagoek.com.br/blog/ordenar-dados-jtable-java): Ativar ordenação de linhas no JTable com setAutoCreateRowSorter(true). - [PreparedStatement em Java contra SQL injection](https://tiagoek.com.br/blog/preparedstatement-java): Como usar PreparedStatement com placeholders e setters tipados para consultas seguras em Java. - [Botão default com Enter em formulários Java Swing](https://tiagoek.com.br/blog/executar-ao-pressionar-enter-java): Como definir o botão default do RootPane para executar ação ao pressionar Enter. - [ORA-03115 no Java: executeUpdate sem SQL duplicado](https://tiagoek.com.br/blog/ora-03115-java): Causa comum do ORA-03115 ao passar SQL de novo em PreparedStatement.executeUpdate(sql). - [Select HTML dinâmico com PHP e MySQL](https://tiagoek.com.br/blog/combo-dinamico-select-php): Como montar um combo