Learning Material: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
= Javascript =
= Javascript =


Use Node environment to learn javascript, will need to change "alert" to "console.log", and browser objects like "document." will not be available
coding basics:
* https://javascript.info/variables
* https://javascript.info/types
* https://javascript.info/operators
* https://javascript.info/comparison
* https://javascript.info/ifelse
* https://javascript.info/switch
* https://javascript.info/logical-operators
* https://javascript.info/function-basics
* https://javascript.info/function-expressions
* https://javascript.info/javascript-specials
* timestamps
* timestamps
* try/catch/finally blocks
* try/catch/finally blocks
Line 6: Line 19:
* validating function params or external data before use
* validating function params or external data before use


== async/await ==
* https://javascript.info/object
* https://javascript.info/object-copy
* https://javascript.info/closure
 
data types:
* https://javascript.info/data-types
* https://javascript.info/number
* https://javascript.info/string
* https://javascript.info/array
* https://javascript.info/array-methods
* https://javascript.info/map-set
* https://javascript.info/keys-values-entries
* https://javascript.info/date
* https://javascript.info/json
 
advanced:
* https://javascript.info/modules
* https://javascript.info/garbage-collection
* https://javascript.info/object-methods


= Node =
= Node =
* https://www.w3schools.com/nodejs/nodejs_modules.asp


== npm ==
== npm ==
== async/await ==
= Git =
* https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
* https://www.atlassian.com/git/tutorials/setting-up-a-repository
* https://www.atlassian.com/git/tutorials/saving-changes
* https://www.atlassian.com/git/tutorials/git-ssh
How we use git in Izara:
* [[Git development]]


= AWS =
= AWS =
Line 93: Line 138:


* [[Repository structure]]
* [[Repository structure]]
* [[Git development]]
* [[Syntax - Backend services]]
* [[Syntax - Backend services]]
* [[Remote repository and workspace structure]]
* [[Remote repository and workspace structure]]

Revision as of 01:02, 5 October 2022

Javascript

Use Node environment to learn javascript, will need to change "alert" to "console.log", and browser objects like "document." will not be available

coding basics:

data types:

advanced:

Node

npm

async/await

Git

How we use git in Izara:

AWS

AWS offers a free tier, you can create an account and use most services at a limited level for free for one year, then cancel the account (or stop all services) before the year is over.

Serverless Framework (sls)

  • https://www.serverless.com/framework/docs
  • We use the Serverless Framework to deploy AWS resources
  • We do not use the Serverless hosted dashboard
  • Learn the basic concepts of Serverless Framework but do not need to learn everything, we use only some elements of the framework and have a standard template for the AWS resources we use

Lambda

Lambda container persistence

  • Lambda environments are not discarded after each use, they can be reused for multiple invocations
  • We can use this to maintain global variables, such as database connections

DynamoDB

  • Understand how partition(hash) and sort(range) keys work, why they are used

Pagination

  • If there is the chance a query can return a large amount of data we need to paginate query results
  • Receive a subset of all results and process them, then eg re-invoke the Lambda to process the next set of results
  • messy notes: 2021-05-03 - DynamoDB pagination

SNS

SQS

SNS/SQS Message delivery

SQS Batch processing

API Gateway

API Gateway Authorizer Lambda Functions

API Gateway Authorizers

Websockets

S3

Design Concepts

Race Conditions

Idempotence

Immutable Data

Microservices

Middleware

  • especially for Lambda functions

Izara Backend

Services to study

Project Concepts

Information in the below pages should be understood before developing:

Izara Frontend

React

Microfrontends