diff --git a/links/Runtime Summary b/links/Runtime Summary new file mode 100644 index 0000000..814f983 --- /dev/null +++ b/links/Runtime Summary @@ -0,0 +1,101 @@ +# nodeJS + +**What is it?** +It's an open source runtime environment +The runtime operates outside of a browser context - omits browser specific javascript Api's but supports more traditional OS Api's. +Async I/O to help prevent blocking. + +**What does it allow you to do?** +Allows you to use javascript on the backend as well as the frontend. The alternative would be a second language - More complex. +Allows you to use Npm library - Useful bits of reuseable code that make life easier rather than writing them from scratch. + +**Links & Resources** +https://nodejs.org/en/learn/getting-started/introduction-to-nodejs +https://www.freecodecamp.org/news/what-is-node-js/ +http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb + + + +# NPM + +**What is a node package manager?** + +A Node Package Manager (NPM) is a tool used to manage JavaScript packages (also called modules or libraries) in Node.js projects. It is a online repository for the publishing of open-source Node.js projects. + + + +text & imagery reference : +https://www.geeksforgeeks.org/node-js-npm-node-package-manager/ +https://careerfoundry.com/en/blog/web-development/what-is-npm/#what-is-npm + +**What is a dependency?** + + +In the npm (Node Package Manager) context, a dependency is a package that your project needs to function properly. These dependencies are typically installed from the npm registry and are listed in the package.json file. + +Types of dependencies: + +* Regular Dependencies (dependencies) – Required for the app to run. +* Development Dependencies (devDependencies) – Needed only for development (e.g., testing, linting). +* Peer Dependencies – Used when a package expects the user to install a dependency manually (common in plugins). +* Optional Dependencies – Not required, but used if available. + +text & imagery reference : +https://dev.to/tijan_io/understanding-dependencies-and-dev-dependencies-beginners-guide-248h + +# Typescript +What is TS? A programming language on top of JS that is strongly typed. That is, each variable has a type that is known in compilation time, thus is enforces some of the pre requisite semantics that are often implicit in JS. For Example: + +First, every variable has a type in runtime, even if we don't think about it explictly. + +const x = 5; //type of x = number. +const y = 2; + +function add(x, y){ +return x + y; +} + +Implicit semantics: addition of two numbers (number is a distinct type, as opposed to string, object, boolean, etc). + +const x = 'Cat'; +const y = 2; + +function add(x, y){ +return x + y; +} + +console.log(add(x, y)) // => outputs 'Cat2' rather than a number. + +Beneath the hood, JS coerces y to a string and then concatenates the two strings. so it is really concatenation and not addition. + +There are many occasions in which the behavior of JS changes in run-time according to the actual types of the variables, and implicit type coercion happens. And very often, we are not sure what is the desired behaviour. + +For example, +Equality Table + +The need arose for strongly typed language as part of the development process, that helps us to write in JS safely. TS is compiled into JS, which can then be run anywhere JS is run. + +let y: number = 2; +let x: number = 'Cat'; // => causes error message(below) + +// Type 'string' is not assignable to type 'number'. + +function add(x: number, y: number): number { +return x + y; +} + +console.log(add('Cat', 7)); // => causes error message (below) + +// Argument of type 'string' is not assignable to parameter of type 'number'. + +How to start using TS? +–npm module +–Nuget Package + +VS extension +Bottom Line: It forces us to think about types and the semantics of types (in functions, classes, etc) which are glossed over in JS + +Feature JavaScript (TS) TypeScript (JS) +Typing Dynamic Optional Static Typing +Compilation Interpreted Compiled to JS +Error Checking Runtime Compile Time diff --git a/links/fac-31-backend-write-up.md b/links/fac-31-backend-write-up.md new file mode 100644 index 0000000..b73d089 --- /dev/null +++ b/links/fac-31-backend-write-up.md @@ -0,0 +1,54 @@ +--- +name: name--user-manual +about: Edit this user manual with your own details +title: '' +labels: '' +assignees: '' + +--- + +# Name +Red Hellier + +## Pronouns +They/Them + +### How I get my best work done: +When I'm given a clear goal to reach but also with enough creative wiggle room to try different things. +I work best when I'm with others, whether that's working together on something or both seperatly working in the same space. + +### The role I usually take in a team: +I have worked in lots of different roles and enjoy aspects of them all. +I find joy in leading a team and organising goals but also can feel the stress of that burden overwhelming. + +### My communication style: +Honest and open + +### What I value: +Flavour in all things +Kindness and Empathy +Ability to laugh at situations + +### What people misunderstand about me: +That I'm wrong for liking Pirates of the Carribean 3 + +### How I like to get my feedback: +Collaboratively. I am usually receptive to feedback but I sometimes shut down if I feel like I am being given a list of issues to fix. +I like to have a conversation so that I can better understand what I need to improve and the person feeding back can see where I was coming from. + +### Technical strengths & weaknesses: +Strengths: +Javascript +Node.js + +Weaknesses: +HTML and CSS +git - for now... + + +### Interests (programming or otherwise!): +DnD +Dancing +Chappell Roan / Gay Music +Board Games +Cooking diff --git a/links/fac-31-frontend-writeup.md b/links/fac-31-frontend-writeup.md new file mode 100644 index 0000000..86ce5cc --- /dev/null +++ b/links/fac-31-frontend-writeup.md @@ -0,0 +1,120 @@ +# CSS Deep-dive + +## Semantic HTML - David + +In programming we can make a distinction between **syntax** and **semantics**. + +Broadly speaking syntax refers to the symbolic representation of code, and semantics refers to the meaning. + +In HTML (Hypertext Markup Language), documents are structured through the use of syntactical tags to indicate and divide elements such as paragraphs, links, lists, images, quotes, and forms, among others. The tags inform the semantics, or meaning, of the webpage and its divisions. + +If you inspect a website to look at its HTML, you will most often find the ```
``` tag used over and over to divide different regions of the page. + +HTML actually has many more tags with a better semantic flavour than the most often used tags. These include tags like ```
```, ```