|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +# Máster en Programación FullStack con JavaScript y Node.js |
| 8 | +### JS, Node.js, Frontend, Backend, Firebase, Express, Patrones, HTML5_APIs, Asincronía, Websockets, Testing |
| 9 | + |
| 10 | +## Clase 74 |
| 11 | + |
| 12 | + |
| 13 | +### Node.js Best Practices |
| 14 | +- [i0natan/nodebestpractices](https://github.com/i0natan/nodebestpractices) *The largest Node.JS best practices list (November 2018)* |
| 15 | +- [Node.js Best Practices - How to Become a Better Developer in 2017](https://blog.risingstack.com/node-js-best-practices-2017/) |
| 16 | +- [25 development practices our NodeJS developers follow](https://www.peerbits.com/blog/development-practices-for-nodejs-developers.html) |
| 17 | +- [19 ways to become a better Node.js developer in 2019](https://medium.com/@me_37286/19-ways-to-become-a-better-node-js-developer-in-2019-ffd3a8fbfe38) |
| 18 | + |
| 19 | +### Gestion de errores |
| 20 | + |
| 21 | +- [The Node.js Way - Understanding Error-First Callbacks](http://fredkschott.com/post/2014/03/understanding-error-first-callbacks-in-node-js/) |
| 22 | +- [Node.js Best Practices | Error Handling Practices](https://github.com/i0natan/nodebestpractices#2-error-handling-practices) |
| 23 | +- [Building Robust Node Applications: Error Handling](https://strongloop.com/strongblog/robust-node-applications-error-handling/) |
| 24 | +- [Joyent | Production Practices](https://www.joyent.com/node-js/production/design/errors) |
| 25 | +- [How to prevent your Node.js process from crashing](https://medium.com/dailyjs/how-to-prevent-your-node-js-process-from-crashing-5d40247b8ab2) |
| 26 | + |
| 27 | +### [Debugging Node.js](https://www.youtube.com/watch?v=Xb_0awoShR8) |
| 28 | + |
| 29 | + |
| 30 | +**Librerías de Logging** |
| 31 | + |
| 32 | +- [pino](https://github.com/pinojs/pino) *Extremely fast logger inspired by Bunyan.* |
| 33 | +- [winston](https://github.com/winstonjs/winston) *Multi-transport async logging library.* |
| 34 | +- [console-log-level](https://github.com/watson/console-log-level) *The most simple logger imaginable with support for log levels and custom prefixes.* |
| 35 | +- [storyboard](https://github.com/guigrpa/storyboard) *End-to-end, hierarchical, real-time, colorful logs and stories.* |
| 36 | +- [signale](https://github.com/klauscfhq/signale) *Hackable console logger with beautiful output.* |
| 37 | + |
| 38 | + |
| 39 | +**Librerías de Debugging / Profiling** |
| 40 | + |
| 41 | +- [ndb](https://github.com/GoogleChromeLabs/ndb) *Improved debugging experience, enabled by Chrome DevTools.* |
| 42 | +- [ironNode](https://github.com/s-a/iron-node) *Node.js debugger supporting ES2015 out of the box.* |
| 43 | +- [node-inspector](https://github.com/node-inspector/node-inspector) *Debugger based on Blink Developer Tools.* |
| 44 | +- [debug](https://github.com/visionmedia/debug) *Tiny debugging utility.* |
| 45 | +- [why-is-node-running](https://github.com/mafintosh/why-is-node-running) *Node.js is running but you don't know why?* |
| 46 | +- [njsTrace](https://github.com/valyouw/njstrace) *Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.* |
| 47 | +- [vstream](https://github.com/joyent/node-vstream) *Instrumentable streams mix-ins to inspect a pipeline of streams.* |
| 48 | +- [stackman](https://github.com/watson/stackman) *Enhance an error stacktrace with code excerpts and other goodies.* |
| 49 | +- [locus](https://github.com/alidavut/locus) *Starts a REPL at runtime that has access to all variables.* |
| 50 | +- [0x](https://github.com/davidmarkclements/0x) *Flamegraph profiling.* |
| 51 | +- [ctrace](https://github.com/automation-stack/ctrace) *Well-formatted and improved trace system calls and signals.* |
| 52 | +- [leakage](https://github.com/andywer/leakage) *Write memory leak tests.* |
| 53 | +- [llnode](https://github.com/nodejs/llnode) *Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process.* |
| 54 | + |
| 55 | + |
| 56 | +**Recursos** |
| 57 | +- [Debugging Node.js with Google Chrome](https://medium.com/the-node-js-collection/debugging-node-js-with-google-chrome-4965b5f910f4) |
| 58 | +- [Node | Debugging Guide](https://nodejs.org/en/docs/guides/debugging-getting-started/) |
| 59 | +- [Node Summit | Debugging in 2017 with Node.js](https://www.youtube.com/watch?v=Xb_0awoShR8) |
| 60 | +- [Step-by-step guide to debugging NodeJS applications](https://medium.com/@fay_jai/step-by-step-guide-to-debugging-nodejs-applications-9d3c5131f937) |
| 61 | +- [How to Debug Node.js with the Best Tools Available](https://blog.risingstack.com/how-to-debug-nodej-js-with-the-best-tools-available/) |
| 62 | +- [Debugging Node.js con Node Inspector](https://www.genbeta.com/desarrollo/debugging-node-js-con-node-inspector) |
| 63 | + |
| 64 | +### Aplicaciones isomórficas o universales |
| 65 | + |
| 66 | +**[UMD](https://github.com/umdjs/umd)** |
| 67 | +- [Módulo compatible con Node y AMD](https://github.com/umdjs/umd/blob/master/templates/nodeAdapter.js) |
| 68 | +- [Módulo compatible con CommonJS y AMD](https://github.com/umdjs/umd/blob/master/templates/commonjsAdapter.js) |
| 69 | +- [Plugin de Jquery que funciona con CommonJS, AMD o globals (navegador)](https://github.com/umdjs/umd/blob/master/templates/jqueryPlugin.js) |
| 70 | +- [Módulo compatible con CommonJS, AMD o globals (navegador)](https://github.com/umdjs/umd/blob/master/templates/commonjsStrict.js) |
| 71 | +- [Módulo compatible con AMD y globals (navegador)](https://github.com/umdjs/umd/blob/master/templates/amdWeb.js) |
| 72 | + |
| 73 | +**Build tools** |
| 74 | +- [docpad-plugin-umd](https://github.com/docpad/docpad-plugin-umd) *Wrap specified JavaScript documents in the Universal Module Definition (UMD) allowing them to run in AMD, Require.js, CommonJS/Node.js and Vanilla environments automatically* |
| 75 | +- [grunt-umd](https://github.com/bebraw/grunt-umd) *Surrounds code with the universal module definition (MIT)* |
| 76 | +- [gulp-umd](https://github.com/eduardolundgren/gulp-umd) *Gulp plugin for build JavaScript files as Universal Module Definition, aka UMD* |
| 77 | +- [grunt-urequire](https://github.com/aearly/grunt-urequire) *Grunt wrapper for uRequire* |
| 78 | +- [generator-umd](https://github.com/ruyadorno/generator-umd) *An Yeoman Generator to create a basic UMD structure* |
| 79 | + |
| 80 | +**Librerias isomórficas como ejemplo** |
| 81 | +- [underscore](https://underscorejs.org/) |
| 82 | +- [lodash](https://lodash.com/) |
| 83 | +- [momentjs](https://momentjs.com/) |
| 84 | +- [mathjs](http://mathjs.org/) |
| 85 | + |
| 86 | +**Recursos** |
| 87 | +- [How to write and unit-test universal JavaScript modules (browser, Node.js)](http://2ality.com/2011/08/universal-modules.html) |
| 88 | +- [Isomorphic (Universal) JavaScript](https://medium.com/commencis/isomorphic-universal-javascript-496dc8c4341a) |
| 89 | +- [Universal JS module loader](https://devhints.io/umdjs) |
| 90 | +- [A 10 minute primer to JavaScript modules, module formats, module loaders and module bundlers](https://www.jvandemo.com/a-10-minute-primer-to-javascript-modules-module-formats-module-loaders-and-module-bundlers/) |
| 91 | +- [How to write and build JS libraries in 2018](https://medium.com/@kelin2025/so-you-wanna-use-es6-modules-714f48b3a953) |
| 92 | +- [Isomorphic ES Modules](https://medium.com/samsung-internet-dev/isomorphic-es-modules-151f0d9a919b) |
| 93 | +- [Writing JS libraries less than 1TB size](https://medium.com/@kelin2025/writing-js-libraries-less-than-1tb-size-6342da0c006a) |
| 94 | + |
| 95 | + |
| 96 | +### Variables del Entorno |
| 97 | + |
| 98 | +**Librerías** |
| 99 | +- [dotenv](https://github.com/motdotla/dotenv) *Loads environment variables from .env for nodejs projects.* |
| 100 | +- [cross-env](https://github.com/kentcdodds/cross-env) *Set environment variables cross-platform.* |
| 101 | + |
| 102 | +**Recursos** |
| 103 | +- [Working with Environment Variables in Node.js](https://www.twilio.com/blog/2017/08/working-with-environment-variables-in-node-js.html) |
| 104 | +- [process.env: What it is and why/when/how to use it effectively](https://codeburst.io/process-env-what-it-is-and-why-when-how-to-use-it-effectively-505d0b2831e7) |
| 105 | +- [Environment Variables in Node.js](https://medium.com/@maxbeatty/environment-variables-in-node-js-28e951631801) |
| 106 | +- [Here’s how you can actually use Node environment variables](https://medium.freecodecamp.org/heres-how-you-can-actually-use-node-environment-variables-8fdf98f53a0a) |
| 107 | +- [Using dotenv package to create environment variables](https://medium.com/@thejasonfile/using-dotenv-package-to-create-environment-variables-33da4ac4ea8f) |
| 108 | +- [Configuration settings in Node with dotenv](https://medium.com/@jonjam/configuration) |
| 109 | +- [Managing Configurations in Node.JS apps with dotenv and convict](https://medium.com/@sherryhsu/managing-configurations-in-node-js-apps-with-dotenv-and-convict-d74070d37373) |
| 110 | + |
| 111 | + |
| 112 | +### Creando ejecutables |
| 113 | +- [node-upstarter](https://github.com/carlos8f/node-upstarter) *Easily create upstart services for your node apps* |
| 114 | +- [diable](https://github.com/IonicaBizau/diable) 😈 *Daemonize the things out.* |
| 115 | +- [daemonize-process](https://github.com/silverwind/daemonize-process#readme) *Daemonize the current Node.js process* |
| 116 | +- [daemonix](https://github.com/BlueRival/daemonix) *A utility for creating daemons out of NodeJS applications.* |
| 117 | + |
| 118 | + |
| 119 | +### Buffer |
| 120 | +- [Do you want a better understanding of Buffer in Node.js? Check this out](https://medium.freecodecamp.org/do-you-want-a-better-understanding-of-buffer-in-node-js-check-this-out-2e29de2968e8) |
| 121 | +- [Buffer en NodeJS](https://desarrolloweb.com/articulos/buffer-en-nodejs.html) |
| 122 | +- [Nodejs Docs | Buffer](https://nodejs.org/api/buffer.html) |
| 123 | +- [An Overview of Buffers in Node.js](http://thecodebarbarian.com/an-overview-of-buffers-in-node-js) |
| 124 | + |
| 125 | + |
| 126 | +### Streams |
| 127 | +- [Node.js Streams: Everything you need to know](https://medium.freecodecamp.org/node-js-streams-everything-you-need-to-know-c9141306be93) |
| 128 | +- [A Brief History of Node Streams](https://medium.com/the-node-js-collection/a-brief-history-of-node-streams-pt-1-3401db451f21) |
| 129 | +- [NODE.JS STREAMS](https://flaviocopes.com/nodejs-streams/) |
| 130 | +- [El manejo de streams en NodeJS](https://elabismodenull.wordpress.com/2017/03/28/el-manejo-de-streams-en-nodejs/) |
| 131 | +- [Events and Streams in Node.js](https://codeburst.io/basics-of-events-streams-and-pipe-in-node-js-b84578c2f1be) |
| 132 | +- [awesome-nodejs-streams](https://github.com/thejmazz/awesome-nodejs-streams) |
| 133 | +- [Stream and Buffer Concepts in Node.js](https://medium.com/tensult/stream-and-buffer-concepts-in-node-js-87d565e151a0) |
| 134 | +- [Node.js streams cheatsheet](https://devhints.io/nodejs-stream) |
| 135 | + |
| 136 | +### Child Process |
| 137 | + |
| 138 | +**Librerías** |
| 139 | +- [execa](https://github.com/sindresorhus/execa#readme) |
| 140 | +- [opn](https://github.com/sindresorhus/opn#readme) |
| 141 | +- [node-worker-farm](https://github.com/rvagg/node-worker-farm) |
| 142 | +- [spawnd](https://github.com/smooth-code/jest-puppeteer/tree/master/packages/spawnd) |
| 143 | + |
| 144 | +**Recursos** |
| 145 | +- [Node.js Child Processes: Everything you need to know](https://medium.freecodecamp.org/node-js-child-processes-everything-you-need-to-know-e69498fe970a) |
| 146 | +- [Understanding execFile, spawn, exec, and fork in Node.js](https://dzone.com/articles/understanding-execfile-spawn-exec-and-fork-in-node) |
| 147 | +- [Node.js: managing child processes](http://krasimirtsonev.com/blog/article/Nodejs-managing-child-processes-starting-stopping-exec-spawn) |
| 148 | +- [Getting to know Node’s child_process module](https://medium.com/the-guild/getting-to-know-nodes-child-process-module-8ed63038f3fa) |
| 149 | +- [Nodejs Doc | exec](https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback) |
| 150 | +- [Nodejs Doc | execFile](https://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback) |
| 151 | +- [Nodejs Doc | fork](https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options) |
| 152 | +- [Nodejs Doc | execSync](https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options) |
| 153 | +- [Nodejs Doc | execFileSync](https://nodejs.org/api/child_process.html#child_process_child_process_execfilesync_file_args_options) |
| 154 | +- [Nodejs Doc | spawnSync](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options) |
| 155 | +- [Nodejs Doc | spawn](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options) |
| 156 | + |
| 157 | + |
| 158 | + |
| 159 | +### Cluster |
| 160 | + |
| 161 | +**Recursos** |
| 162 | +- [Scaling Node.js Applications](https://medium.freecodecamp.org/scaling-node-js-applications-8492bd8afadc) |
| 163 | +- [Taking Advantage of Multi-Processor Environments in Node.js](http://blog.carbonfive.com/2014/02/28/taking-advantage-of-multi-processor-environments-in-node-js/#tldr) |
| 164 | +- [Modo cluster para node.js](http://pinchito.es/2013/modo-cluster.html) |
| 165 | +- [How to Create a Node.js Cluster for Speeding Up Your Apps](https://www.sitepoint.com/how-to-create-a-node-js-cluster-for-speeding-up-your-apps/) |
| 166 | +- [How to scale your Node.js server using clustering](https://medium.freecodecamp.org/how-to-scale-your-node-js-server-using-clustering-c8d43c656e8f) |
| 167 | +- [Clustering in NodeJs — Performance Optimization](https://medium.com/tech-tajawal/clustering-in-nodejs-utilizing-multiple-processor-cores-75d78aeb0f4f) |
| 168 | +- [Understanding the NodeJS cluster module](http://www.acuriousanimal.com/2017/08/12/understanding-the-nodejs-cluster-module.html) |
| 169 | + |
| 170 | +**Librerias:** |
| 171 | +- [luster](https://github.com/nodules/luster) |
| 172 | +- [cluster-map](https://www.npmjs.com/package/cluster-map) |
| 173 | +- [PM2](https://www.npmjs.com/package/pm2) |
| 174 | + |
| 175 | +### Embed C/C++ |
| 176 | + |
| 177 | +**Opciones Core** |
| 178 | +- [C++ Addons](https://nodejs.org/api/addons.html) |
| 179 | +- [N-API](https://nodejs.org/api/n-api.html) |
| 180 | + |
| 181 | +**Librerías** |
| 182 | +- [node-gyp](https://github.com/nodejs/node-gyp) |
| 183 | +- [node-bindings](https://github.com/TooTallNate/node-bindings) *Helper module for loading your native module's .node file* |
| 184 | +- [node-gyp](https://github.com/nodejs/node-gyp) *Node.js native addon build tool* |
| 185 | +- [nan](https://github.com/nodejs/nan) *Native Abstractions for Node.js* |
| 186 | + |
| 187 | +**Recursos** |
| 188 | +- [How to call C/C++ code from Node.js](https://medium.com/@tarkus/how-to-call-c-c-code-from-node-js-86a773033892) |
| 189 | +- [Extending Node.js with native C++ modules](https://medium.com/@marcinbaraniecki/extending-node-js-with-native-c-modules-63294a91ce4) |
| 190 | +- [JavaScript ♥ C++: Modern Ways to Use C++ in JavaScript Projects](https://medium.com/netscape/javascript-c-modern-ways-to-use-c-in-javascript-projects-a19003c5a9ff) |
| 191 | +- [NodeJS Advanced — How to create a native add-on using C++](https://medium.com/the-guild/nodejs-advanced-how-to-create-a-native-add-on-using-c-588b4f2248cc) |
| 192 | +- [Writing cross-platform C++ is easier in Node.js than it is outside of Node.js](https://hackernoon.com/writing-cross-platform-c-is-easier-in-node-js-than-it-is-outside-of-node-js-a5c214f0cf10) |
| 193 | +- [Native Extensions for Node.js](https://medium.com/the-node-js-collection/native-extensions-for-node-js-767e221b3d26) |
| 194 | +- [N-API: Next generation APIs for Node.js native addons available across all LTS release lines](https://medium.com/the-node-js-collection/n-api-next-generation-apis-for-node-js-native-addons-available-across-all-lts-release-lines-4f35b781f00e) |
0 commit comments