Aprendí los conceptos básicos del desarrollo de back-end utilizando Node.js y Express como marco. ¿Cómo puedo aprender a escribir un código seguro y escalable?

Gran pregunta

Por lo general, esto se hace como parte de un equipo que comparte conocimientos, realiza experimentos y colabora: el trabajo de escalabilidad y rendimiento es difícil .

Pero, hay algunas frutas bajas. Por ejemplo, no es difícil aumentar las pruebas de carga que afectan a su servidor y medir cómo varía el tiempo de respuesta a medida que aumenta la carga.

Además, hay muchos marcos y sistemas para recopilar métricas, el grafito es un sistema que utilizamos muchísimo. Instrumentamos nuestro código para informar métricas; histogramas, contadores y otras estadísticas sobre partes críticas del rendimiento de nuestro sistema. Por ejemplo, histogramas de latencia de consulta, rendimiento, uso de memoria.

En otras palabras, debe poner su sistema bajo carga. Luego, debe poder medir exactamente lo que sucede y medir las cosas que realmente importan. Luego, debe sumergirse tan profundamente como sea necesario para encontrar las causas de los cuellos de botella y eliminarlos.

La seguridad es en realidad un asunto más difícil, pero hay libros sobre cómo escribir código seguro, no faltan artículos sobre los principales agujeros de seguridad que crean los desarrolladores ingenuos (los ataques de inyección de varios tipos están en la parte superior de esa lista para mí). de las 10-20 vulnerabilidades principales, estudie las mejores prácticas (privilegios mínimos, codificación / decodificación adecuada de todo, salazón y cifrado adecuados, etc.) y estará por delante de la mayoría de las personas.

More Interesting

Quiero construir un sitio usando JavaScript, React, Express y Node. ¿Debo usar PostgresQL?

¿Dónde puede encontrar un desarrollador web para ayudar con un proyecto basado en una idea para un sitio web de red social?

¿Cuáles son los beneficios de usar complementos y plantillas sobre la codificación sin procesar al desarrollar un sitio web?

Soy un programador de Java que sabe cosas básicas sobre eso y tengo más de 5 años de experiencia laboral. ¿Cuál será el futuro en él? ¿Cómo puedo mejorar en la perspectiva técnica?

Si contrato a alguien con una licenciatura o maestría en ciencias comp., Que nunca ha trabajado con Rails o Django, ¿cuánto tiempo pasará hasta que sea un contribuyente productivo para una aplicación web Rails?

Quiero ser un desarrollador web front-end. ¿Donde debería empezar?

Hice un excelente formulario de contacto. ¿Cómo hago (usando HTML y CSS), que cuando alguien presiona 'enviar', me envían el formulario completo por correo electrónico?

Me gustaría crear un formulario que complete una página web o un PDF con datos incluidos en un formulario de 'entrada'. El diseño de la salida es bastante simple, pero no puedo entenderlo para hacer esto. ¿Cuáles son algunas ideas?

Quiero usar MongoDB para construir una aplicación web. ¿Debería considerar usar Django?

Tengo alrededor de 3 años de experiencia en desarrollo de PHP, ¿qué nueva tecnología debería aprender a continuación?

Sigo perdiendo empleos (desarrollador web) porque "soy demasiado lento y cometo errores". Pero me contratan para un papel mejor y más compensado cada vez. ¿Por qué?

Soy nuevo en el desarrollo web y no tengo problemas para aprender JavaScript, lo que me molesta es CSS, hay demasiados trucos y no puedo recordar. ¿Qué tengo que hacer?

No tengo un formulario de registro en mi WordPress, pero la gente aún puede registrarse. ¿Cómo es eso así?

Quiero profundizar en la programación. Tengo 17 años y estudiaré CS en la universidad. He hecho algo de Java en la Harvard Summer School. ¿De dónde empezaré?

Estoy planeando solicitar un programa de pasantía y capacitación para desarrollo web. ¿Qué debería aprender allí para construir un sitio web con tendencia moderna?