Skip to content

Commit 016d640

Browse files
committed
Clase 74
1 parent 32edc75 commit 016d640

20 files changed

+1557
-1
lines changed

Diff for: README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Fecha | Teoría | Recursos | Contenido
9999
20/03/19 | [Clase 59](teoria/clase59.md) | [Clase 59](recursos/clase59.md) | Yeoman II
100100
22/03/19 | [Clase 60](teoria/clase60.md) | [Clase 60](recursos/clase60.md) | Frameworks I: Anatomía y funcionalidades
101101
25/03/19 | [Clase 61](teoria/clase61.md) | [Clase 61](recursos/clase61.md) | Frameworks II: Ecosistema, soluciones y contextualización
102-
27/03/19 | [Clase 62](teoria/clase62.md) | [Clase 62](recursos/clase62.md) | WebSockets: Fundamentos
102+
27/03/19 | [Clase 62](teoria/clase62.md) | [Clase 62](recursos/clase62.md) | WebSockets: Fundamentos`
103103
29/03/19 | [Clase 63](teoria/clase63.md) | [Clase 63](recursos/clase63.md) | Intro al backend + def. PFM
104104
01/04/19 | [Clase 64](teoria/clase64.md) | [Clase 64](recursos/clase64.md) | Frameworks III: Angular con [Jon Rojí](https://twitter.com/jnroji)
105105
03/04/19 | [Clase 65](teoria/clase65.md) | [Clase 65](recursos/clase65.md) | Frameworks IV: React con [Javier Vidal](https://twitter.com/JaVidalPe)
@@ -111,6 +111,9 @@ Fecha | Teoría | Recursos | Contenido
111111
24/04/19 | [Clase 71](teoria/clase71.md) | [Clase 71](recursos/clase71.md) | Express IV: Mas allá de Express
112112
26/04/19 | [Clase 72](teoria/clase72.md) | Clase 72 | Resolviendo Ejercicios y repasando
113113
29/04/19 | [Clase 73](teoria/clase73.md) | [Clase 73](recursos/clase73.md) | WebSockets Backend y MQTT
114+
06/05/19 | [Clase 74](teoria/clase74.md) | [Clase 74](recursos/clase74.md) | Nodejs: Conceptos Avanzados de Core (Child Process, C/C++ Addons, Cluster...)
115+
116+
114117

115118

116119
[Temario](https://coggle.it/diagram/W5ZfeGRd293lprIt/t/master-js-y-node-de-fictizia)

Diff for: assets/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -621,3 +621,14 @@
621621
- https://cdn.domoticaencasa.es/wp-content/uploads/2018/04/MQTT-logo-1620x600.png
622622
- http://elb105.com/wp-content/uploads/2018/08/node-red-800x424.png
623623
- http://developer.opto22.com/images/node-red-pac/node-red-pac-hardware.jpg
624+
625+
626+
### clase74
627+
- https://raw.githubusercontent.com/i0natan/nodebestpractices/master/assets/images/banner-2.jpg
628+
- https://cdn-images-1.medium.com/max/1600/1*fSoNpkRzs8DR3JgWfopp2A.png
629+
- https://cdn-images-1.medium.com/max/1600/1*daHJAGXSr_qmAAptOJMfMw.png
630+
- https://cdn-images-1.medium.com/max/1600/1*kPek5-1mNCLi91X0BAA8VQ.png
631+
- https://raw.githubusercontent.com/Fictizia/Curso-in-company-INECO_ed2/master/assets/clase6/fcf19ea6-015a-43db-9a52-e5c33cd596d2.png
632+
- https://raw.githubusercontent.com/Fictizia/Curso-in-company-INECO_ed2/master/assets/clase6/4823f576-8957-4772-999e-542f18400b1a.png
633+
- https://cdn-images-1.medium.com/max/1200/0*DLjTUbiHLIUv47ha.jpg
634+
- https://cdn-images-1.medium.com/max/1200/1*QcuzVJjkaKboOd37THB6zg.jpeg
106 KB
Loading
105 KB
Loading
39.6 KB
Loading
107 KB
Loading
108 KB
Loading
263 KB
Loading
102 KB
Loading
1.32 MB
Loading
111 KB
Loading
116 KB
Loading
25.8 KB
Loading
147 KB
Loading
128 KB
Loading
27.1 KB
Loading
110 KB
Loading
242 KB
Loading

Diff for: recursos/clase74.md

+194
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
![shieldsIO](https://img.shields.io/github/issues/Fictizia/Master-en-programacion-fullstack-con-JavaScript-y-Node.js_ed3.svg)
2+
![shieldsIO](https://img.shields.io/github/forks/Fictizia/Master-en-programacion-fullstack-con-JavaScript-y-Node.js_ed3.svg)
3+
![shieldsIO](https://img.shields.io/github/stars/Fictizia/Master-en-programacion-fullstack-con-JavaScript-y-Node.js_ed3.svg)
4+
5+
![WideImg](http://fictizia.com/img/github/Fictizia-plan-estudios-github.jpg)
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

Comments
 (0)