# `Node.JS Best Practices` ![header](https://i.imgur.com/yfnsDuT.jpg) Welcome ------------- Some text here around. Ido: testing icon from StackEdit: Project Setup Practices ======================= :white_check_mark: 1. Do something important ------------------------- **TL&DR:** Monitoring is a game of finding out issues before our customers do – obviously this should be assigned unprecedented importance. The market is overwhelmed with offers thus consider starting with defining the basic metrics you must follow (my sug **Otherwise:** You end-up with a blackbox that is hard to reason about, then you start re-writing all logging statements to add additional information ![enter image description here](https://cdn3.iconfinder.com/data/icons/ui-glynh-blue-02-of-5/100/UI_Blue_2_of_3_20-128.png) 2. Do other thing ------------------------- **TL&DR:** Monitoring is a game of finding out issues before our customers do – obviously this should be assigned unprecedented importance. The market is overwhelmed with offers thus consider starting with defining the basic metrics you must follow (my sug **Otherwise:** You end-up with a blackbox that is hard to reason about, then you start re-writing all logging statements to add additional information Code Style Practices ------------- Error Handling Practices ------------- Going To Production Practices ------------- Deployment Practices ------------- Security Practices ------------- | Item | Value | Qty | | :------- | ----: | :---: | | Computer | $1600 | 5 | | Phone | $12 | 12 | | Pipe | $1 | 234 | ### Definition Lists **Markdown Extra** has a special syntax for definition lists too: Term 1 Term 2 : Definition A : Definition B Term 3 : Definition C : Definition D > part of definition D ### Fenced code blocks GitHub's fenced code blocks are also supported with **Highlight.js** syntax highlighting: ``` // Foo var bar = 0; ``` > **Tip:** To use **Prettify** instead of **Highlight.js**, just configure the **Markdown Extra** extension in the **Settings** dialog. > **Note:** You can find more information: > - about **Prettify** syntax highlighting [here][5], > - about **Highlight.js** syntax highlighting [here][6]. ### Footnotes You can create footnotes like this[^footnote]. [^footnote]: Here is the *text* of the **footnote**. ### SmartyPants SmartyPants converts ASCII punctuation characters into "smart" typographic punctuation HTML entities. For example: | | ASCII | HTML | ----------------- | ---------------------------- | ------------------ | Single backticks | `'Isn't this fun?'` | 'Isn't this fun?' | | Quotes | `"Isn't this fun?"` | "Isn't this fun?" | | Dashes | `-- is en-dash, --- is em-dash` | -- is en-dash, --- is em-dash | ### Table of contents You can insert a table of contents using the marker `[TOC]`: [TOC] ### MathJax You can render *LaTeX* mathematical expressions using **MathJax**, as on [math.stackexchange.com][1]: The *Gamma function* satisfying $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$ is via the Euler integral $$ \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. $$ > **Tip:** To make sure mathematical expressions are rendered properly on your website, include **MathJax** into your template: ``` ``` > **Note:** You can find more information about **LaTeX** mathematical expressions [here][4]. ### UML diagrams You can also render sequence diagrams like this: ```sequence Alice->Bob: Hello Bob, how are you? Note right of Bob: Bob thinks Bob-->Alice: I am good thanks! ``` And flow charts like this: ```flow st=>start: Start e=>end op=>operation: My Operation cond=>condition: Yes or No? st->op->cond cond(yes)->e cond(no)->op ``` > **Note:** You can find more information: > - about **Sequence diagrams** syntax [here][7], > - about **Flow charts** syntax [here][8]. ### Support StackEdit [![](https://cdn.monetizejs.com/resources/button-32.png)](https://monetizejs.com/authorize?client_id=ESTHdCYOi18iLhhO&summary=true) [^stackedit]: [StackEdit](https://stackedit.io/) is a full-featured, open-source Markdown editor based on PageDown, the Markdown library used by Stack Overflow and the other Stack Exchange sites. [1]: http://math.stackexchange.com/ [2]: http://daringfireball.net/projects/markdown/syntax "Markdown" [3]: https://github.com/jmcmanus/pagedown-extra "Pagedown Extra" [4]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference [5]: https://code.google.com/p/google-code-prettify/ [6]: http://highlightjs.org/ [7]: http://bramp.github.io/js-sequence-diagrams/ [8]: http://adrai.github.io/flowchart.js/