Sobre mim

Olá, o meu nome é Armin Kunkel. Desenvolvo produtos digitais com foco em criar valor sustentável. Como autor, escrevo livros técnicos práticos e mantenho um blog sobre temas de TI. A minha experiência vai desde a investigação académica e projetos open-source até ao desenvolvimento web aplicado.
No início da minha (então) licenciatura na Hochschule Karlsruhe (Universidade de Ciências Aplicadas), desenvolvi interesse por desenvolvimento web e comecei a aprender HTML, CSS, JavaScript & PHP. Construir um livro de visitas permitiu-me explorar estas tecnologias estudando documentação (MDN, documentação de PHP), tutoriais, livros e vídeos.
No caminho para me tornar desenvolvedor web, aprendi as diferenças entre HTML 4 e HTML 5, a evolução de CSS 2 para CSS 3, a arquitetura cliente-servidor e as diferenças entre sites estáticos (sem JS) e dinâmicos (com JS). Valorizei em especial as vantagens das aplicações de página única (SPA). Depois de estabelecer a base, ampliei o meu conhecimento para SSR (renderização do lado do servidor), SSG (geração estática), ferramentas de build como Webpack e Vite, frameworks CSS (W3CSS, Bootstrap), pré-processadores CSS (SASS, LESS, Stylus, SCSS), abordagens utility-first (p. ex., TailwindCSS) e o uso de variáveis CSS.
Explorei a história e a evolução do JavaScript – de LiveScript (Netscape Navigator) ao padrão ECMAScript. Ganhei experiência com AJAX para pedidos ao servidor, validação de formulários, Web APIs e TypeScript. Durante o estágio trabalhei com ExtJS e, mais tarde, com Angular (v5–v7). Com Vue.js (v2 e v3) encontrei um framework poderoso para construir aplicações e componentes baseados em ES/TS. Com o Nuxt.js (v2 e v3) adicionei uma camada adicional de abstração para apps de produção. Bibliotecas comuns como jQuery e Lodash também fizeram parte do percurso. Estou familiarizado igualmente com temas como responsive design, SEO, usabilidade e experiência do utilizador.
Para armazenamento e gestão de dados trabalhei com tecnologias de servidor como PHP, Java Servlets e servidores web (p. ex., Express em NodeJS, Apache httpd, Nginx). Aprofundei WebSockets e SSE (Server-Sent Events) para comunicação bidirecional, GraphQL para comunicação por um único endpoint, e a conceção de APIs REST e HATEOAS (Hypermedia as the Engine of Application State). Com motores de templates como Thymeleaf (Java), JSP (Java) e Pug (NodeJS) explorei outra forma de gerar páginas HTML dinamicamente no servidor. No back-end foquei-me no Spring Boot (Spring MVC, Spring Security, Spring Data JPA, Spring Validation) no ecossistema Java. Durante o estágio aprendi a arquitetura em 3 camadas (controlador, serviço, DAO) com Spring Boot.
Para serialização de dados em pedidos HTTP aprofundei XML (DTD, XSD, XSLT) e JSON e familiarizei-me com linguagens de descrição como ASN1 e Protocol Buffers. Através do OWASP e do BSI estudei segurança de aplicações web e pratiquei-a na prática (incluindo com Kali Linux). Por fim, aprendi várias linguagens de programação, incluindo Python, Haskell, Elixir, Assembly, Kotlin, Go, C e C++, VHDL e até Brainfuck.
Armin Kunkel
Blog técnico e loja
Cientista da computação
- Estudos: segurança de TI (iniciados)
- Mudança para informática
- Hochschule Karlsruhe (Universidade de Ciências Aplicadas)
- Estágio: ExtJS, Spring Boot (arquitetura de 3 camadas)
Desenvolvimento web
- Início (livro de visitas, HTML, CSS, JS, PHP)
- Fontes de aprendizagem: MDN, documentação PHP, tutoriais, livros, vídeos
- HTML e CSS
- HTML 4 vs HTML 5
- CSS 2 vs CSS 3
- Pré-processadores CSS: SASS, LESS, Stylus, SCSS
- Frameworks: Bootstrap, W3CSS
- TailwindCSS (utility-first)
- Variáveis CSS
- JavaScript
- História: LiveScript → ECMAScript
- AJAX, validação de formulários, Web APIs
- jQuery, Lodash
- TypeScript
- SPA vs sites estáticos
- SSR e SSG
Frameworks
- Angular (v5–v7)
- Vue (v2, v3)
- Nuxt (v2, v3)
Ferramentas de build
- Webpack
- Vite
Back-end
- Linguagens: PHP, Java Servlets, NodeJS
- Servidores web: Apache, Nginx, Express
Comunicação
- REST, HATEOAS, GraphQL
- WebSockets, SSE
Motores de templates
- Thymeleaf, JSP, Pug
Spring Boot
Spring MVC · Spring Security · Spring Data JPA · Spring Validation
Formatos de dados
- JSON, XML (DTD, XSD, XSLT)
- ASN.1, Protocol Buffers
Segurança
OWASP, BSI · Kali Linux (BackTrack)
