schedule 10 months agoSold Out!
Memory Leaks leading to undesired memory growth and exhaustion are most common production problems in enterprise Node applications. Closures, a powerful semantic feature in functional programs, used pervasively in Node programs are prominent sources of unanticipated leaks.
I will explain three most common use cases where Closures are used in Node. For each, a) sample code, b) the life-span of the Closure context and which variables the closure keeps live, iii) what memory is retained during the Closure life-span. The intention is to help audience understand Closure's execution environment, their implications to memory footprint, and help them develop efficient code.
Many recent problem determination exercises revealed that memory leaks are the most prevalent production issues, and debugging of them reveals that Closures play a major role in it. Disambiguating Closures and programming best practices around it, I believe the Node community will be able to apply it instantly in their day-to-day job. People with strong procedural and object oriented language background will find this information useful, in making the key differentiation between Closures and normal functions.
The insight we gained by working closely within Node community and customers, suggests a workshop with the following theme will be of good benefit to the node developers:
a. Introduction to Node programming
b. Introduction, usage and main features of most common node subsystem modules: express, request, async
c. Introduction, usage and main features of most common enterprise features: loopback, cluster, pm2
d. Introduction, usage and main features of most common monitoring and debugging frameworks, techniques: google chrome dev tools, appmetrics, idde, heapdump
e. Any other items which are relevant to node such as programming best practises etc.
f. An Node clinic for open questions, discussions and live debugging.