Cómo incluso comenzar a aprender back-end desde bases de datos y servidores hasta lenguaje de programación, nube, aplicaciones distribuidas y demás

Lo dijiste tú mismo: “Quiero aprender lentamente back end”. Ese es un buen consejo.

Da un paso a la vez. No intentes aprender todo en poco tiempo. Será un maratón, no un sprint.

Le sugiero que comience con un proyecto web simple que utilice un lenguaje de programación, un marco, una base de datos, un servidor web en un sistema operativo de producción y seguridad HTTPS. Por ejemplo, recientemente publiqué un tutorial de programación web que toca todas estas áreas: Tetera: La programación web es fácil. El lenguaje es Smalltalk; el marco es Tetera; la base de datos es MongoDB; el servidor web está integrado en Teapot pero también puede usar Apache o Nginx ejecutándose en Linux; HTTPS es en gran medida una cuestión de obtener un certificado SSL y reconfigurar su servidor web.

Alternativamente, puede usar Python, web2py, SQLite y el propio servidor web Rocket de web2py. O puede usar Go, Beego, PostgreSQL. Elija lo que elija, simplemente complete el proyecto para tener una idea de todas las piezas.

Posteriormente, puede sustituir otras tecnologías (como otros lenguajes, marcos y bases de datos) y ampliar su conocimiento y experiencia en consecuencia. Da un paso a la vez.

Aquí hay una opinión impopular … no lo hagas. En serio, no intentes aprender todo eso. Hacer esto:

Aprenda una tecnología de fondo, como .Net o Java

Aprenda a escribir consultas (con uniones, uniones, etc.). Los principios de diseño de bases de datos tardan un poco en entenderlo, a menos que eso sea todo lo que haga.

Sepa solo exactamente lo que necesita sobre los servidores. ¿Su tecnología de elección funciona con IOS, Apache, Tomcat o alguna otra cosa? Deje que los chicos del servidor se encarguen de eso.

Hay un par de razones principales para esto.

  1. Si eres demasiado general, no serás experto en lo específico.
  2. La separación de responsabilidades no es solo para POP, también es una buena práctica de seguridad.

La mayoría de las tiendas no quieren que una persona “lo haga todo” porque quieren que trabajes en lo que te contrataron.

Puede cubrir las siguientes tecnologías en Back-end:

  1. NodeJS
  2. ExpressJS
  3. MongoDB
  4. Nube

    El desarrollador de back-end es el alma del desarrollo web, ya que es él / ella quien garantiza todas las acciones tomadas en las funciones de la interfaz de usuario tal como se diseñó en el back-end. Un desarrollador de back-end es responsable de escribir la lógica de la aplicación web del lado del servidor en JavaScript. Por lo general, están a cargo del desarrollo de componentes de back-end, conectan la aplicación con otros servicios web (a menudo de terceros).

    Node.js es una tecnología revolucionaria, por lo que es una gran habilidad para el futuro inmediato y cercano del desarrollo moderno de aplicaciones web. Node.js garantiza un alto rendimiento y mejores características de respuesta para el sitio web desde el lado del servidor hasta el front-end. Esto ha llevado a que los desarrolladores de Node.js tengan una gran demanda por parte de la industria, que ha superado todos los principales marcos de desarrollo web presentes en el mercado como PHP, NoSQL, .NET, Java, etc.

    Puedes seguir estos pasos:

    1) Puedes aprender el concepto de JSON, conceptos básicos de javascript y verás por primera vez cómo es la programación funcional.

    2) Puede aprender sobre los conceptos básicos de Nodejs y ExpressJS junto con mongodb. También puede aprender algunos conceptos interesantes como devoluciones de llamada, módulo y middleware que le darán una vista previa del siguiente nivel de ExpressJS.

    3) Puede aprender cómo crear API REST y back-end de nivel industrial utilizando el enfoque MVC.

    4) Puede aprender conceptos avanzados de NodeJS como programación basada en eventos, transmisiones y buffers, etc. También aprenderá comunicación en tiempo real usando Socket.io

    5) Puede aprender cómo implementar su aplicación web en nginx y cómo configurar nginx. También puede aprender algunos conceptos básicos de la nube.