¿Alguien ha intentado aplicar ingeniería inversa a una aplicación web, si es así, esta es una buena / mala forma de aprender?

Espera, ¿qué quieres decir con que alguien lo intentó?

La mitad de construir cosas nuevas es la ingeniería inversa de otros productos. Entiende lo que hace la gente, innova y luego construye una versión más rápida, más confiable y eficiente, o simplemente está haciendo una imitación, que es una forma de prepararse para una mala práctica y un fracaso.

Sin embargo, debe comprender cada pieza de tecnología, o al menos tener esa atención. Dado que las aplicaciones web como YouTube son mucho más que una aplicación web que sirve contenido. Especialmente esa parte que mencionaste (Video). Es una cosa completamente nueva y diferente.

Un ejemplo del desglose sería algo como esto:

Almacenamiento> Google Cloud Storage
Transcodificación de video> Google Cloud Engines
Ubicaciones de distribución> Videos de caché, Balance de carga.
Sitio web de servicio> Restricción de contenido, Experiencia del usuario
Servicios web> Actualización en vivo, colas, notificaciones
Web Frameworks> Escalable, Polygot Framework.

Depende de qué tan profundo caves y lo descubras.

YouTube realmente no ayuda a comenzar de la manera correcta, porque es más complejo, pero si usa una herramienta como la que mencioné aquí:
La respuesta de Yad Konrad a la Investigación de la competencia: ¿Cuáles son las mejores alternativas de builtwith.com que existen?

Puede tener una idea general de cómo se ejecuta esta aplicación web y luego simplemente conecta los puntos.

Wikipedia dice:

La ingeniería inversa es el proceso de extraer conocimiento o información de diseño de cualquier cosa hecha por el hombre. [1]: 3 El proceso a menudo implica desmontar algo (un dispositivo mecánico, componente electrónico, programa de computadora o materia biológica, química u orgánica) y analizar Sus componentes y funcionamiento en detalle.

Si y si.
Estudiar mediante ingeniería inversa es una buena forma complementaria de aprender cómo piensan, programan y encuentran soluciones otras personas.
Sin embargo, no puede simplemente levantar el código de otras personas y usarlo a menos que tenga las licencias necesarias. Pero sabes que.

Sí, pero es diferente a RE en los binarios. Básicamente estás volando a ciegas. Puede correlacionar la entrada con la salida e inferir qué código lo causó. A falta de encontrar un error explotable que te revele los archivos de código, eso es todo.


Bueno, puede intentar determinar si usan componentes comunes para los que puede descargar la fuente.

Sí lo es.

Lo hice desde los días en que comencé mi programación y lo hago ahora. Es divertido y una excelente manera de aprender. Pero asegúrese de no copiar a ciegas sin comprender. Mi última aplicación de ingeniería inversa fue Candy Crush y aprendí muchísimos conceptos.

Así que hazlo y hazlo regularmente.