Guía independiente para quienes aprenden a programar desde cero. No tiene relación con el sitio que antes ocupaba este dominio, ni con empresas o escuelas; no vendemos cursos ni prometemos empleo.

Seguridad

Seguridad

Parece que la seguridad es cosa de desarrolladores con experiencia, pero los principiantes corren los mismos riesgos o más. Un proyecto de práctica acaba fácilmente en un repositorio público junto con la contraseña del correo, un script de un foro cualquiera se ejecuta sin revisarlo y una biblioteca con un nombre parecido resulta ser falsa. La mayoría de estos disgustos se evitan con unos pocos hábitos sencillos. En esta sección verás los riesgos más habituales para quien empieza y lo básico sobre las licencias abiertas.

Una contraseña que haya llegado al historial de un repositorio público debe considerarse conocida por todos, y hay que cambiarla de inmediato.

— Nota de la redacción

Cómo está organizada la sección: describimos los riesgos de forma general, sin nombres de programas ni servicios y sin estadísticas inventadas. La información sobre licencias es orientativa y no constituye asesoramiento jurídico.

Riesgos del principiante

Seis situaciones en las que es fácil caer durante los primeros meses de aprendizaje.

Claves y contraseñas en el código

Las contraseñas, los tokens y las claves de acceso no deben escribirse directamente en los archivos del programa ni subirse al repositorio. Guárdalos en un archivo de configuración aparte o en variables de entorno, y añade ese archivo a la lista de ignorados.

Guías

Scripts ajenos de internet

No ejecutes código que no entiendas, sobre todo comandos que piden permisos de administrador o descargan algo más. Primero lee el script y averigua qué hace.

Errores

Paquetes falsos

Hay atacantes que publican bibliotecas con nombres parecidos a los de otras conocidas, contando con que alguien cometa una errata. Comprueba el nombre en la documentación oficial y mira quién mantiene el paquete.

Herramientas

Dependencias desactualizadas

En las versiones antiguas de las bibliotecas se descubren vulnerabilidades que las nuevas ya corrigen. Actualiza las dependencias de vez en cuando y lee qué ha cambiado, sobre todo cuando cambia el número de versión mayor.

Glosario

Contraseñas débiles

La cuenta en el servicio de alojamiento de repositorios protege todo tu código. Usa una contraseña larga y única, un gestor de contraseñas y la autenticación en dos pasos.

Preguntas

Repositorio público con datos personales

Las capturas de pantalla, exportaciones, direcciones, teléfonos y documentos de trabajo en un repositorio público están a la vista de todos. Antes de publicar, revisa qué archivos entrarán en el historial y guarda lo personal en repositorios privados.

Preguntas

Código abierto y licencias

El código abierto son programas cuyo código fuente está disponible para todos bajo una licencia abierta. Esa licencia permite usar, estudiar, modificar y distribuir el código, pero con ciertas condiciones: por ejemplo, mantener la atribución de autoría o publicar los cambios bajo la misma licencia.

La definición de código abierto la mantiene la Open Source Initiative, una organización sin ánimo de lucro fundada en 1998. Si incorporas código ajeno a tu proyecto, lee su licencia y cumple sus condiciones. Si publicas el tuyo, elige una licencia de forma explícita: sin ella, los demás no saben qué pueden hacer con tu código.

  • Errores

    Comando no encontrado, error de sintaxis, un programa que no muestra nada, conflictos en el repositorio, cambios perdidos: qué revisar en cada caso.

  • Herramientas

    El kit del principiante sin marcas: editor de código, terminal, intérprete o compilador, control de versiones, alojamiento de repositorios y gestor de paquetes.

  • Preguntas

    Respuestas sobre la guía, sobre aprender a programar desde cero y sobre los primeros proyectos en la práctica.

Fuentes

  • Open Source Initiative — The Open Source Definition
  • Git documentation

Las fechas y definiciones proceden de la documentación oficial y las especificaciones vigentes en la fecha de elaboración. Los lenguajes y las herramientas evolucionan, así que confirma los detalles en las fuentes originales actualizadas.