En este proyecto crearás una herramienta de línea de comando (CLI) así como tu propia librería (o biblioteca - library) en JavaScript.
En esta oportunidad nos alejamos un poco del navegador para construir un programa que se ejecute usando Node.js. Aprenderemos sobre procesos (process.env, process.args, ...), cómo interactuar con el sistema archivos, cómo hacer consultas de red, etc.
Node.js es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. Esto nos va a permitir ejecutar JavaScript en el entorno del sistema operativo, ya sea tu máquina o un servidor, lo cual nos abre las puertas para poder interactuar con el sistema en sí, archivos, redes, ...
Diseñar tu propia librería es una experiencia fundamental para cualquier desarrollador porque te obliga a pensar en la interfaz (API) de tus módulos y cómo será usado por otros developers. Debes tener especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.
JavaScript Diferenciar entre tipos de datos primitivos y no primitivos
Arrays (arreglos)
Links Objetos (key, value)
Links Uso de condicionales (if-else, switch, operador ternario, lógica booleana)
Links Funciones (params, args, return)
Links Recursión o recursividad
Links Módulos de CommonJS
Links Diferenciar entre expresiones (expressions) y sentencias (statements)
Callbacks
Links Promesas
Links Pruebas unitarias (unit tests)
Links Pruebas asíncronas
Links Uso de mocks y espías
Links Pruebas de compatibilidad en múltiples entornos de ejecución
Uso de linter (ESLINT)
Uso de identificadores descriptivos (Nomenclatura y Semántica)
Node.js Instalar y usar módulos con npm
Links Configuración de package.json
Links Configuración de npm-scripts
Links process (env, argv, stdin-stdout-stderr, exit-code)
Links File system (fs, path)
Links Control de Versiones (Git y GitHub) Git: Instalación y configuración
Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)
Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)
GitHub: Creación de cuenta y repos, configuración de llaves SSH
GitHub: Despliegue con GitHub Pages
Links GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)
GitHub: Organización en Github (projects | issues | labels | milestones | releases)
HTTP Consulta o petición (request) y respuesta (response).
Links Codigos de status de HTTP
Links
$ npm install michellvanegas-md-links
** Michell Vanegas