Are you about to start coding backend in NodeJs? So then what should you expect and avoid while doing this? Our answer is - many things, including asynchoronous programming, single thread and global scope. Make sure you understand what these are to have better NodeJs experience and application in the end.
Read about this and other techtalks @ DA-14 in our blog: http://da-14.com/our-blog/
9. Lessons learned, lessons forgotten (Development Phase)
• Choose framework you know or used in previous projects
• Don't forget to clear the timer once you set it
– or the magic will happen in your app
• Divide the code to modules and classes – from beginning
• Bot is the same as the user – unification for clarity
• Don't use multistep CSS3 animation –
you will need to have “animation finished” event
• Don't start full refactoring
– you will loose a time and will through this idea soon
• Use class constants instead of magic numbers 0,1,2 …
• Put conditions into functions
10. Born to Scale (Scalability In mind)
• One way – store application state in cache or db
Then put the NodeJs behind the reverse proxy like Nginx
• Another way – split socket.io connections across servers
+ use so called “sticky sessions”
11. Hey going to production!! Oooops ….
• Logging – log more, log early
• Forget about debugger
• Who will up your server when it's down - “Forever”
• Exceptions - don't throw them until you catch them
• Load Balancing – Nginx as reverse Proxy
• One thread – one CPU core – Use cluster module