Saturday, September 14, 2019

My First React App - code review changes

Full Stack Software Development Blog

Fortunately for me a couple of guys on my team at work are fluent in React. I asked them to do a code review and got a lot of good feedback. As a result of the feedback the step-10-code-review-refactor branch at https://github.com/gpratte/react-todo-list has the following changes

  • Use .jsx extension for components
  • Use lodash for better performance for map, filter, etc.
  • Consider using destructuring syntax to avoid constantly referencing state or props, e.g. const { foo, bar, baz } = this.state
  • Use lodash for better performance for map, filter, etc.
  • Consistently use arrow methods vs regular old functions
  • Count should probably be in the component state
  • Unless there are things like dashes/dots, quotes are unnecessary for object keys
  • With ES2015 you could use template literal for text substitution
  • Spelled concatenate wrong
  • Avoid creating new functions in render, this is bad for scalability as each render will create new functions that need to be garbage collected



Monday, September 2, 2019

My First React App - a TODO list

Full Stack Software Development Blog

I previously blogged about coding the reactjs.org's tutorial.

Since then I watched Wes Bos' React For Beginners course.

The next step was to write my own react app from scratch - a todo list which can be found at https://github.com/gpratte/react-todo-list.

The stumbling blocks were
  • handing events
  • state and properties
I went back and reviewed these topics more than once in both the reactjs.org tutorial and the Wes Bos course.

I also read some articles found from internet searching (e.g. How to Display a List in React).

As is my modus operandi, when developing new code, I built up the tutorial on branches.

Here are the branches:
  • step-01-create-development-environment
  • step-02-ui-markup
  • step-03-render-html
  • step-04-add-todo
  • step-05-remove-todo
  • step-06-update-text
  • step-07-concatinate-text
  • step-08-mark-done
  • step-09-hide-done

Saturday, June 22, 2019

Learning React https://reactjs.org/

Full Stack Software Development Blog

As you can see from previous blogs I was learning Angular for my front end.I am starting at a new company and they use React for their front end. Hence I am pivoting to use React.

I worked my way through the Tutorial: Intro to React.

See my github repo for the code at https://github.com/gpratte/react-tic-tac-toe-tutorial-v16

As is my modus operandi when developing new code I built up the tutorial on branches.

Here are the branches:

  • step-1-setup-for-the-tutorial
  • step-2-overview-making-an-interactive-component
  • step-3-lifting-state-up
  • step-4-function-components
  • step-5-taking-turns
  • step-6-declaring-a-winner
  • step-7-lifting-state-up-again
  • step-8-showing-the-past-moves
  • step-9-implementing-time-travel




Saturday, March 9, 2019

Algorithm Performance

Full Stack Software Development Blog

I am presenting at the inaugural meeting of the Austin Algorithms Meetup group.

https://www.meetup.com/Austin-Algorithms-Meetup/

I've put together a presentation on algorithm performance and Big O.

I used https://revealjs.com to create the presentation. I committed the code to GitHub and deployed it to Heroku.

If you cannot come to the meeting then there are a few ways to view the presentation.

On Heroku for a limit time at https://algorithm-big-o.herokuapp.com/
Note: that Heroku may take up to a minute (or more) to load the website

On GitHub clone https://github.com/gpratte/algorithm-performance-presentation.git and then open index.html in a browser.

View the PDF at https://github.com/gpratte/algorithm-performance-presentation/blob/master/pdf/algorithm-performance.pdf


Sunday, March 3, 2019

More embedding dependencies when testing in Spring Boot

Full Stack Software Development Blog

In my last blog I wrote about mocking dependencies when running tests. Since then I've added Apache's Qpid (https://qpid.apache.org/) to mock out RabbitMQ.

The following is from the top of the readme in my github repository for the PoC (see https://github.com/gpratte/spring-boot-acceptance-test-mocks)

Wednesday, February 20, 2019

Embedding dependencies when testing in Spring Boot

Full Stack Software Development Blog

I am working on a proof of concept (POC) for embedding dependencies in a Spring Boot server.

The following is from the top of the readme in my github repository for the POC.