🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSeparar las bibliotecas estándar del código propio
4 tareas · 40 min · Principiante
M-7401 conserva más de tres mil nombres de función. Leerlos uno por uno es perder la mañana; agruparlos por paquete es encontrar en minutos lo que escribió el autor. En esta sala se separa el runtime, la biblioteca estándar y las dependencias de terceros de los paquetes propios, se mira qué pide cada función propia a los demás y se compara la lista de dependencias con la de la herramienta interna en Go que TI compila y firma. Todo sale de nombres que ya leyó una herramienta: no se desensambla ni se ejecuta nada.
Objetivo de la sala
M-7401 conserva más de tres mil nombres de función. Leerlos uno por uno es perder la mañana; agruparlos por paquete es encontrar en minutos lo que escribió el autor. En esta sala se separa el runtime, la biblioteca estándar y las dependencias de terceros de los paquetes propios, se mira qué pide cada función propia a los demás y se compara la lista de dependencias con la de la herramienta interna en Go que TI compila y firma. Todo sale de nombres que ya leyó una herramienta: no se desensambla ni se ejecuta nada.En Go el nombre completo de una función empieza por la ruta de su paquete, y esa ruta delata su origen. Los paquetes de la biblioteca estándar tienen rutas cortas sin dominio, como net/http u os. Las dependencias de terceros empiezan por un dominio, porque así se publican los módulos. El código del autor está en el paquete main y en los que empiezan por la ruta de su módulo principal, la que se leyó en la sala anterior.
Hay un caso que confunde: algunos módulos los mantiene el propio proyecto Go pero no forman parte de la biblioteca estándar; se descargan como cualquier dependencia y se cuentan como tal.
Responde para continuar
Una función se llama `codigo.example/red/reintentos.Hacer`. ¿De qué parte del binario es, en principio?
Ver pista de ayuda
Mira cómo empieza la ruta del paquete.
La consola tiene los nombres de función de M-7401 ya contados por paquete. Primero mira la tabla completa con SELECT * FROM paquetes. Después agrúpala por origen con esta consulta:
SELECT origen, SUM(funciones) FROM paquetes GROUP BY origen
Responde para continuar
Escribe cuántas funciones de M-7401 pertenecen a los paquetes propios del autor.
Ver pista de ayuda
Es la fila del origen que corresponde al autor en la consulta agrupada.
Una vez aislado lo propio, la pregunta útil es qué le pide cada función a los demás paquetes. Una función propia que llama al paquete de red y tiene a mano una dirección es una candidata a capacidad de comunicación; una que llama al paquete que lanza procesos es una candidata a ejecutar órdenes. «Candidata» porque pedir algo no prueba que haya ocurrido: eso lo dice el informe del entorno aislado.
Consulta SELECT * FROM funciones_propias y fíjate en la columna de lo que pide cada una.
Responde para continuar
Escribe el nombre de la única función propia de M-7401 que pide algo al paquete que lanza procesos del sistema.
Ver pista de ayuda
El paquete de la biblioteca estándar que lanza procesos es os/exec.
Las dependencias también se leen por comparación. Que M-7401 y corteplan.exe compartan una biblioteca de reintentos de red no dice nada: muchas herramientas la usan. Lo que tiene la muestra y no tiene un programa sano de la casa que hace un trabajo parecido es lo que orienta la lectura, y lo que más tarde puede convertirse en una regla.
Consulta SELECT * FROM dependencias.
Responde para continuar
Escribe la ruta del módulo de terceros que usa M-7401 y no usa corteplan.exe.
Ver pista de ayuda
Busca la fila donde la columna de corteplan.exe dice que no la usa.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.