Better tools for debugging Node.js

Debugging – the process of finding and fixing defects in software – can be a challenging task to do in all languages. Node.js is no exception. Luckily, the tooling for finding these issues improved a lot in the past period. Let’s take a look at what options you have to find and fix bugs in…

I am at the level with Node.JS that I no longer “Suck at it” but I am still learning every time I use it.  One of the areas I struggled with was debugging, which was much different and difficult than my .NET and PHP days.  It seems like open source meant that you were on your own for debugging.

Special thanks to Gergely for his article on just the topic of Node.js debugging.

pino.pngOne of the takeaways in the article is Pino is an extremely fast Node.js logger, inspired by bunyan. In many cases, pino is over 6x faster than alternatives like bunyan or winston
I had tried Winston as it was recommended by one of my programmer gods.  I was not worthy because I couldn’t understand it.  I have high hopes for Pino.

I use Microsoft VS Code editor as my editor and my IDE for almost everything including PowerShell, Bash, JavaScript, SQL, Node.js, ADCIIDoctor, and more.  I was glad to see a section in this article on how to better use MS Code with Node.js

via How to Debug Node.js with the Best Tools Available — RisingStack Engineering

Backlogger web app released to Github, it’s a Scrum thing.

2017-03-07 12.30.08.jpg

“Backlog” is one of those SCRUMmy terms used to identify features or functions that have been dreamed up or discussed for an application.   You collect these ideas into a list which is called the “Backlog”.  Then this list is reviewed (Sprint Review) and the ideas are refined (Groomed) and an estimate of effort (Story Points) is assigned to it.  Then folks get together and discuss which ones should be done in the next timeframe (Sprint).  To collect these ideas some companies use an issue tracking system or an off the shelf ticket system (Atlassian JIRA) and others just use a spreadsheet… gasp.

Sometimes all you need is a simple web application that all the participants can use to enter any ANY of the ideas that came up.  Even things like “The buttons should be colored blue.”  I needed a simple project to help me learn some technologies that are new to me.  Hence the “Backlogger” was born.  The whiteboard above shows the original concept.

Technologies used in Backlogger

  • JavaScript
  • NodeJS
  • Bootstrap
  • Mongo without the headache, neDB
  • jsGrid

Design Requirements

The design requirements were meant to be simple as possible to make this project something that could be done quickly.  They also needed to be flexible to allow for better learning.

  • Single Page Application
  • Open Source
  • No user logins, just a password, we are a big happy family
  • Self-contained application, no need for outside services or servers
  • Mongo database and Mongo queries
  • Allow for a maintainable list of people names who contributed ideas to the backlog
  • Allow for a maintainable list of functional areas to help groups the ideas
  • One time entry of an idea, no editing,
  • The editing of an idea will be done during the grooming
  • Filters that help find ideas quickly
  • Ability to backup and wipe the database (Mongo Documents)
  • Simple report that can be printed directly

GeekMustHave would like to thank Phoenix Learning Labs for the resources and funding to do this project.  GeekMustHave would also like to thank the MDHHS-DWIP team for the testing and feedback.

Open source, common components

What does it look like?

2017-04-02_13-19-46

Backlogger is an Open Source project available on Github.

https://github.com/GeekMustHave/Backlogger

Future

I’ve used “Backlogger” in one project so far but others who have seen it have expressed some interest in it.  That’s another reason why it’s Open Source.

Depending on the feedback I might do additional updates.  Maybe I need a “Backlogger” for the “Backlogger”?

 

 

 

 

 

 

 

 

 

 

 

 

MERN the new JavaScript stack

mern.png

TherModern Application Stack – Part 1: Introducing The MEAN Stack introduced the technologies making up the MEAN (MongoDB, Express, Angular, Node.js) and MERN (MongoDB, Express, React, Node.js) Stacks, why you might want to use them, and how to combine them to build your web application (or your native mobile or desktop app). The remainder of…

via The Modern Application Stack – Part 5: Using ReactJS, ES6, and JSX to Build a UI (the Rise of MERN) — DZone Web Dev Zone

There has been some discontent when the migration from Angular 1/1.5 to Angular 2.o actually became a rewrite.  I switched to React after seeing some very convincing presentations and talking with some somewhat rabid developers. I am also looking at Vue as a replacement for the Angular / React part of the full stack.  I wonder how long it will be before we see the MEVN stack being discussed.

10 Best Practices for Writing Node.js REST APIs

In this article we cover best practices for writing Node.js REST APIs, including topics like naming your routes, authentication, black-box testing & using proper cache headers for these resources. One of the most popular use-cases for Node.js is to write RESTful APIs using it. Still, while we help our customers to find issues in their…

Even if you’re not going to use Node.JS for your API engine, this article has some great tips for starting standards for your project or company.  RisingStack does have a set of Pay tools for Node.JS debugging and articles like this help direct traffic to them.  The articles are excellent reads.

via 10 Best Practices for Writing Node.js REST APIs — RisingStack Engineering

Javascript (and Node.JS) Continues to Eat The World

2016-09-09_12-19-41.png

“Node is a passing fad!” Just heard this again, this week from a Large Government Agency.  “Java is still the number 1 environment” was another phrase uttered at the same time.  Here is a secret between you and me….  don’t tell anyone else, let it be a surprise.  Javascript and Node.JS are eating the world.  Get with the program people, FTP and CSV files are being replaced by something “New” called JSON.  This post is a very good read and provides additional fuel to the JS fad that is underway.