Digging Some More, Even More So
14 Jul 2016
Reading time ~2 minutes
What I Did
- Paired with Nate do discuss CK integration setup issues.
- Attended Nerd Talk
- Continued digging through switch-cms - I’m feeling pretty close to being able to create my first component…
What I Learned
- JQuery is a fast, small, and feature-rich JavaScript library that makes things like HTML document traversal and manipulation, event handling, animation, and Ajax simpler with an easy-to-use API that works across various browsers.
- Component specifications
- Component Classes
- getInitialState
- getDefaultProps()
- propTypes
- mixins
- Life-cycle Methods
componentWillMount()
componentDidMount()
componentWillReceiveProps()
shouldComponentUpdate()
componentWillUpdate()
componentDidUpdate()
componentWillUnmount()
- Prototype-based programming is a style of object oriented programming in which behavior reuse is performed via a process of reusing existing objects via delegation that serve as prototypes. Delegation is the language feature that supports prototype-based programming.
- Opaque data structures do not have a concrete data structure defined in their interface - enforces information hiding because an opaque data structure’s values can only be manipulated by calling subroutines that have access to the missing information.
- A proxy server or application level gateway is a computer that acts as a gateway between local network and a large scale network like the Internet to increase performance and security.
- A CDN (content delivery network) is a globally distributed network of proxy servers deployed in multiple data centers allowing for high availability of content and high performance.
- map(), reduce(), and filter() among other functional programming oriented methods currently defined in JavaScript allow for code to be more easily communicated and reduce the need to track side effects.
What I Still Don’t Understand
As like yesterday, I think I’m beginning to develop a system for tackling new technical challenges. Rather than simply following a tutorial and calling it a day for creating a new app, I realize that to understand and manipulate existing technology that is foreign to you, here’s what I currently got to do -
- Properly define and soak in the task at hand.
- Go through a fundamentals tutorial introducing you to said technology.
- Go through all relevant code within a given repository that you need to manipulate and search through docs to understand all of the moving pieces - though this is tedious at first, it certainly pays off later on.
- Attempt to apply learning to manipulating the code to your needs and expand from there for developing other apps from scratch.