¿Cuál es el camino de aprendizaje agresivo del desarrollo de backend en medio año?

No lo harás en medio año.

Pero mis herramientas / técnicas de back-end de elección:

  • Java J2SE . Aprenda a usar interfaces, clases, equals / hashcode, foreach loops, List , Set , Map en core, Java estándar. Nadie usa EJB ni nada de eso “J2EE”, así que olvídalo.
  • JUnit y Hamcrest Matchers Todos usan pruebas automatizadas profesionalmente. JUnit te permite escribir un conjunto de pruebas. Hamcrest agrega legibilidad a sus afirmaciones.
  • Cableado de primavera . Como mínimo, aprenda cómo Spring usa las anotaciones ‘Autowired’ y ‘Component’ para conectar los objetos en la aplicación. Aprenda sobre Perfiles, que le permiten conectar diferentes objetos para producción, desarrollo y control de calidad.
  • Inversión de dependencia e Inyección de dependencia . Mira en ‘Arquitectura Hexagonal’. Aprenda a codificar aplicaciones para que las responsabilidades se dividan. Esa lógica de negocios está completamente libre de código de punto final web / UI / API y almacenamiento de datos.
  • Hibernar . Con Java, Hibernate es una forma muy popular de hablar con una base de datos SQL
  • JSON, GSON y Jackson . El formato JSON es muy común para enviar datos a través de una API desde su servidor. GSON y Jackson son dos marcos que convierten objetos Java en cadenas JSON.
  • Jersey Una forma sencilla de construir un punto final API JSON en Java
  • Cliente HTTP Apache Porque necesitará consumir servicios JSON en el código de su servidor de vez en cuando. Esta es una forma de conectarse con ellos.
  • Patrón de disyuntor bliki: el código del servidor de CircuitBreaker Real necesita endurecerse contra fallas de la red, lo que sucede todo. el. hora.
  • SQL Mientras que Hibernate oculta una gran cantidad de SQL, necesitará saberlo como mínimo para configurar los datos de prueba en la base de datos. De vez en cuando, escribirá una consulta SQL para optimizar una búsqueda de Hibernate.
  • Almacenamiento en caché . Lo que es. Cómo rodar el tuyo. Cuando usarlo Cuándo invalidar un caché. Cuándo no hacer nada de esto.
  • Legibilidad de código . Tendrá que saber cómo escribir un código de servidor legible, de lo contrario, el resto de nosotros nos hartaremos de sus registros. Gracias de antemano por jugar bien 🙂
  • Git / GitHub Ámalo , odio, todo el mundo lo está usando para controlar la fuente
  • Las herramientas de integración continua como CruiseControl, Go, Jenkins son comunes. Tan pronto como se registra una confirmación, se crea todo el software y se ejecutan todas las pruebas. La barra verde significa buena, la barra roja significa mala. Nos impide enviar errores.
  • Los contenedores de implementación continua como Docker se están recuperando en uso
  • Comandos de Linux La mayoría de los servidores se ejecutan en alguna forma de Linux en estos días. Es bueno saber tu ls de tu rm -rf.
  • Tener un cuerpo de código de servidor existente . No tiene sentido leer libros y tutoriales sobre todo eso si no construyes un código. Especialmente si estás pensando en solicitar un trabajo en esto. Haz algo. Github it. Blog it.
  • IntelliJ o Eclipse . Sepa cómo usar los IDE que todos usamos.
  • Depuración Cómo establecer puntos de interrupción en su código, paso a paso y averiguar por qué no funciona. Idealmente, las pruebas unitarias localizan las fallas para que no se depuren. Sí claro. Aprende a depurar cuando la teoría ya no brille.
  • Log4j El registro es tan crítico en el código del servidor. A menudo es la única forma de saber por qué una solicitud de usuario salió mal. Aprenda a codificar el inicio de sesión estructurado en aplicaciones.
  • Herramientas de monitoreo de grafito o Kibana . Debe instrumentar sus disyuntores y el acceso a la API para que pueda saber cuándo se ha caído su servidor antes de que lo hagan sus clientes.
  • REST Cómo usar HTTP POST / GET / DELETE para enviar una recuperación de datos JSON a una API. Códigos de estado HTTP para devolver.
  • OWASP Lea la seguridad de la aplicación web OWASP y sepa que cada línea de servidor que escriba puede estar abierta a SQL, inyecciones de entidades XML, escalamientos de privilegios y otras molestias. Los ataques de código de servidor son comunes y automatizados.

En este punto, estoy tratando de pensar lo que me he perdido. La codificación del lado del servidor es un montón de cosas simples, todas apiladas, lo que lo hace bastante complejo. Hay mucho que aprender para ser verdaderamente exitoso.