Skip to content

thisjustin/resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 

Repository files navigation

Resources

Resources for HTML / CSS / SASS / JS / Python / Django

How do webpages work?

Starting from Zero / Little Programming Experience

CodeSchool is an excellent all around resource ($29/month as of this writing) with PDFs, video lectures and interactive quizes. Here's my suggested foundational courses:

  • Git / Github - do all the courses here except for Mastering Github - just do level 1 (fork based workflow is what we use so it's essential that you get this part) and the rest are optional. It won't seem important at first but once you get going using Git for verson control is going to make life so much easier for you. And once you get some other skills under your belt you're going to want to be checking out other people's code on github and pulling it down and trying it out, etc. This is also a gentle introduction to becoming comfortable using the command line which will quickly become your new best friend.
  • HTML / CSS - do all HTML, CSS and SASS courses (skip emails, animations, bootstrap, SVG and design unless you want more). After completing these you should feel comfortable making a simple web page and viewing it in a browser as well as viewing source in the web inspector and modifying code on other sites.
  • Javascript - go through all of these JS modules from Mozilla, doing as many of the exercises as possible. If you want to go further see Codeschool's JS courses and do all Javascript and jQuery course (skip front end frameworks, NodeJS and Coffeescript unless you want more (then check out Node first)). After this you should feel comfortable adding some JS to your HTML pages to build out dynamic elements and should know how to select any element in the DOM via jQuery (or regular JS) - and you should actually know what DOM stands for and how it works. You should be able to open up the JS console in web inspector and really mess with sites now.
  • Python / Django - do all courses here. At the end of this you should be able to dive into the official Django tutorial and begin reallying getting into things.
  • SQL - do all courses here. At the end you should be able to write select statements with joins across tables and be ready to try more advanced queries.
    • Postgresql - do at least "basic" and "joins and subqueries" sections - this will be a good test to make sure you absorbed everything from the code school course and will introduce some of the differences in Postgresql vs other SQL languages (we'll be using Postgres with Django)
  • BASH - do chapters 1 and 2 (rest is bonus if you really want to dive in). This is to get you familiar with the command line and basic BASH scripting. This comes in handy not only when developing locally but when setting up and configuring servers (which will likely be running Ubuntu linux which you'll interact with entirely via command line).

User Experience (UX)

Computer Science

Security

Performance

General

Devops

Data Science

HTML

Basics

CSS / SASS

Basics

Style / Syntax

Misc

Javascript

Basics

  • Official JS reference (protip: add MDN to your google searches about JS questios to make sure you get links to the offical docs vs w3 schools or other sources of varying quality)
  • Understanding JS Closures understanding this is fundamental to JS otherwise you'll be battling scope issues with keyword this
  • Eloquent Javascript - book that will introduce you to JS

Style / Syntax

  • when in doubt follow the AirBnb JS Style Guide - our style will match very closely (major exceptions being we'll use 4 spaces as tabs everywhere)

Revealing Module Pattern

  • This whole book is worth reading but we make use of the revealing module pattern in all of our JS so be sure to read up on it specifically Revealing Module Pattern

Misc

Python

Basics

Style / Syntax

Testing

Misc

Django

Basics

  • Django philosophies Django is an opinionated framework so it's import to understand it's viewpoint on development.
  • Official Django Docs Bookmark this as you'll be coming back to it all the time. Each section of django from models to views to the admin panel has a section here with basic details and advanced info as well (always note what version of docs you're viewing vs what we're using in a project as things can change)
  • Work through the official tutorial to get a feel for the major pieces of django and how they work together

ORM / DB

  • Note that the django ORM is lazy by default and it can create some pretty unperformant queries at times. Be sure to understand things like prefetch_related and how they can work to make your queries more efficient: Making Queries in Django
  • for more complex queries see Q queries in django
  • for using values of queries in place (like incrementing a value) see F expressions
  • And when the above won't cut it you can always drop down to raw sql in django

Cookiecutter Django

  • Once you get the hang of django from the above tutorials and begin to wonder "what's the best practice for X?" look here. Created by one of the core django developers, this is a quick and easy way to get a django project started with a bunch of best practice settings and configurations already in place Cookiecutter Django - try making a new project with it and explore the settings and structure - there's a ton of really helpful comments in there to help you understand why they made the choices they did.

Django Rest Framework (DRF)

  • We'll use this to make our REST APIs - go through the tutorial and get a feel for all the nice options this gives us for making APIs easily DRF

About

Resources for JS / Python / Django learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published