Sobre mí

Un retrato de mí mismo (Armin Kunkel)

Hola, me llamo Armin Kunkel. Desarrollo productos digitales con un enfoque en el valor sostenible. Como autor, escribo libros técnicos prácticos y llevo un blog sobre temas de TI. Mi experiencia abarca desde la investigación académica y proyectos de código abierto hasta el desarrollo web aplicado.

Mi camino comenzó con estudios en seguridad informática, que más tarde cambié por informática.

Al comienzo de mi (entonces) licenciatura en Universidad de Ciencias Aplicadas de Karlsruhe, desarrollé interés por el desarrollo web y empecé a aprender HTML, CSS, JavaScript & PHP. Crear un libro de visitas me permitió explorar estas tecnologías estudiando documentación (MDN, documentación de PHP), tutoriales, libros y videos.

En mi camino para convertirme en desarrollador web, aprendí las diferencias entre HTML 4 y HTML 5, la evolución de CSS 2 a CSS 3, la arquitectura cliente-servidor y las diferencias entre sitios estáticos (sin JS) y dinámicos (con JS). Aprecié especialmente las ventajas de las aplicaciones de una sola página (SPA). Tras sentar las bases, amplié mis conocimientos a SSR (renderizado del lado del servidor), SSG (generación estática), herramientas de construcción como Webpack y Vite, frameworks CSS (W3CSS, Bootstrap), preprocesadores CSS (SASS, LESS, Stylus, SCSS), enfoques utility-first (p. ej., TailwindCSS) y el uso de variables CSS.

Exploré la historia y la evolución de JavaScript — de LiveScript (Netscape Navigator) al estándar ECMAScript. También adquirí experiencia con AJAX para peticiones al servidor, validación de formularios, Web APIs y TypeScript. Durante mis prácticas trabajé con ExtJS y más tarde con Angular (v5–v7). Con Vue.js (v2 y v3) encontré un framework potente para crear aplicaciones y componentes basados en ES/TS. Con Nuxt.js (v2 y v3) añadí una capa adicional de abstracción para apps de producción. Bibliotecas comunes como jQuery y Lodash también formaron parte de mi camino. Además, me son familiares temas como diseño responsive, SEO, usabilidad y experiencia de usuario.

Para el almacenamiento y la gestión de datos, trabajé con tecnologías de servidor como PHP, servlets de Java y servidores web (p. ej., Express en NodeJS, Apache httpd, Nginx). Aprendí sobre WebSockets y SSE (Server-Sent Events) para comunicación bidireccional, GraphQL para comunicación de un solo extremo, y cómo diseñar APIs REST y HATEOAS (Hypermedia as the Engine of Application State). Con motores de plantillas como Thymeleaf (Java), JSP (Java) y Pug (NodeJS) exploré otra forma de generar páginas HTML dinámicamente en el servidor. Mi foco en backend fue el framework Spring Boot (Spring MVC, Spring Security, Spring Data JPA, Spring Validation) en el ecosistema Java. Durante mis prácticas aprendí la arquitectura de 3 capas (controlador, servicio y DAO) con Spring Boot.

Para la serialización de datos en peticiones HTTP, profundicé en XML (DTD, XSD, XSLT) y JSON y me familiaricé con lenguajes de descripción como ASN1 y Protocol Buffers. A través de OWASP y la BSI estudié la seguridad de aplicaciones web y la practiqué de forma práctica (incluido con Kali Linux). Finalmente, aprendí varios lenguajes de programación, entre ellos Python, Haskell, Elixir, Ensamblador, Kotlin, Go, C y C++, VHDL e incluso Brainfuck.

Armin Kunkel

Blog técnico y tienda

Informático

  • Estudios: Seguridad informática (iniciado)
  • Cambio a informática
  • Universidad de Ciencias Aplicadas de Karlsruhe
  • Prácticas: ExtJS, Spring Boot (arquitectura de 3 capas)

Desarrollo web

  • Inicio (libro de visitas, HTML, CSS, JS, PHP)
  • Fuentes de aprendizaje: MDN, docs de PHP, tutoriales, libros, videos
  • HTML y CSS
  • HTML 4 vs HTML 5
  • CSS 2 vs CSS 3
  • Preprocesadores CSS: SASS, LESS, Stylus, SCSS
  • Frameworks: Bootstrap, W3CSS
  • TailwindCSS (utility-first)
  • Variables CSS
  • JavaScript
  • Historia: LiveScript → ECMAScript
  • AJAX, validación de formularios, Web APIs
  • jQuery, Lodash
  • TypeScript
  • SPA vs sitios estáticos
  • SSR y SSG

Frameworks

  • Angular (v5–v7)
  • Vue (v2, v3)
  • Nuxt (v2, v3)

Herramientas de construcción

  • Webpack
  • Vite

Backend

  • Lenguajes: PHP, servlets de Java, NodeJS
  • Servidores web: Apache, Nginx, Express

Comunicación

  • REST, HATEOAS, GraphQL
  • WebSockets, SSE

Motores de plantillas

  • Thymeleaf, JSP, Pug

Spring Boot

Spring MVC · Spring Security · Spring Data JPA · Spring Validation

Formatos de datos

  • JSON, XML (DTD, XSD, XSLT)
  • ASN.1, Protocol Buffers

Seguridad

OWASP, BSI · Kali Linux (BackTrack)