Harvard Course on Web Programming with Python and JavaScript, with the professor Brian Yu.
- HTML basic structure (html, head, body)
- Headers, paragraphs, ordered and unordered lists, links
- Tables and Images
- Inline style
- Style with CSS files
- CSS selectors and priority
- Responsive applications with flexboxes and grids
- Declaring variables with Syntactically Awesome Style Sheets (SASS)
- Using bootstrap
- Forms
- Creating a Git repository
- git cone, git add -m, git commit, git status, git add -am and git push commands
- Merge conflicts
- git pull, git reset --hard, git log
- Branching with git branch, git checkout -b, git merge
- GitHub features: Forking and Github Pages
- Types of variables
- Data structures: lists, dicts, sets and tuples
- Loops, functions and modules
- Decorators and lambda
- Exceptions
- Getting started: django-admin startproject and python manage.py startapp
- Basic setups: adding the new application to the INSTALLED_APPS, including to the url file
- Variables on the url patterns, rendering HTML files
- Variables in the HTML file
- Layouts and static files
- Dynamically linking urls and files
- Conditions and loops inside the HTML templates
- Models: definition and usage
- Creating models for users based on the AbstractUser class
- Authentication and registration
- Applying migrations
- CharField, IntegerField and BooleanField attributes
- Relating models with ForeignKey and ManyToManyField
- Manipulating the DOM with document.querySelector function
- Event listeners, waiting for the page to load
- Arrow functions
- Changing the innerHTML, className and style of the elements
- Datasets, onclick and onsubmit properties
- JSON and APIs with GET, POST and PUT methods
- Manipulating the URL with JavaScript
- Animations with CSS
- Infinite scroll
- Changing the animations with JavaScript
- Introduction to React and declarative programming
- Manipulating databases without having to reload the page
- Running tests with shell files
- Asserts
- Unit testing
- Importing TestCase in the Django tests fil
- Client request, using selenium
- GitHub Actions, YAML
- Docker, Dockerfiles
-
Vertical and Horizontal scaling
-
Load Balancing methods:
- Random choice
- Round Robin
- Fewest connections
-
Sessions:
- Sticky sessions
- Database sessions
- Client-side sessions
-
Scaling databases: vertical and horizontal scaling
-
Replication:
- Single-primary
- Multi-primary
-
Caching
-
Security on Git and GitHub
-
Phishing attacks
-
Cryptography:
- Secret-key cryptography
- Public-key cryptography
-
Forgot your password feature and its problems
-
API keys, rate limiting and route authentication
-
Cross-site scripting and cross-site request forgery
-
Other server-side and client-side frameworks
-
Hosting services