Hackbright Academy Topics
I currently know, or am familiar with, most of what Hackbright Academy
offers in its program. ... though I had yet not heard of ORMs and netcat,
and couldn't really describe NoSQL and WebSockets... and I've always used vi, not vim.
- Python and its associated web frameworks
-
Pair programming
- Git and source control
- SQL and
ORMs and
NoSQL
- HTML, CSS, JS, Ajax, and
WebSockets
- Deploying into GAE (Google App Engine)
and EC2 (Amazon Elastic Compute Cloud)
- Terminal shells, grep,
netcat
and other *nix command-line fu
- Message queues, batch processing, distributed processing
- Why some nerds really love
lisp
vim
and
emacs
- INTERVIEW SKILLS
*nix command-line reference guide
Nix Command Line Reference Guide and
Pixelbeat's Command Line
Pixel Beat compiled a list of commonly used terminal commands.
Linux/Unix, Mac, and Cygwin users should take note since
most of these commands are not platform specific.
The guide covers
many commonly used but easy-to-forget commands,
like managing archived (zipped) folders, mounting hard disks,
file searching, networking, using wget, and much more.
ORM (Object Relational Mapping)
(ORM is included in Django)
Object-relational mapping (ORM, O/RM, and O/R mapping) in computer software is
a programming
technique for converting data between incompatible type systems
in object-oriented programming languages.
This creates, in effect, a "virtual object database" that can be
used from within the programming language.
There are both free and commercial packages available that
perform object-relational mapping, although some programmers opt
to create their own ORM tools.
NoSQL
"..(mostly interpreted as "not only SQL") is a broad class of
database management systems identified by its
non-adherence to the widely used relational database management
system model,
that is NoSQL databases are not primarily built on tables, and as a result,
generally
do not use SQL for data manipulation. "
WebSocket
"..is a web technology providing for
bi-directional,
full-duplex communications channels over a single TCP connection.
The WebSocket API is being standardized by the W3C,
and the WebSocket protocol has been standardized by the IETF as RFC 6455.
WebSocket is designed to be implemented in web browsers and web servers,
but it can be used by any client or server application.
The WebSocket Protocol
- is an independent TCP-based protocol.
Its only relationship to HTTP is that its handshake is interpreted by
HTTP servers as an Upgrade request.
- makes possible more interaction between browser and web site,
facilitating live content and the creation of real-time games.
This is made possible by providing a standardized way for the server
to send content to the browser without being solicited by the client,
and allowing for messages to be passed back and forth
while keeping the connection open.
In this way a two-way (bi-directional) ongoing conversation
can take place between a browser and the server.
A similar effect has been achieved in non-standardized ways
using stop-gap technologies such as Comet."
Netcat
"..is a computer networking service for
reading from and writing
network connections using TCP or UDP.
It is designed to be a dependable "back-end" device that can be used
directly or easily driven by other programs and scripts.
At the same time, it is a feature-rich network debugging and investigation tool,
since it can produce almost any kind of correlation you would need and
has a number of built-in capabilities. "
GAE (Google App Engine) and EC2 (Amazon Elastic Compute Cloud)
GAE is what I'm using for my website.
EC2 is "a central part of Amazon.com's cloud computing platform,
Amazon Web Services (AWS). It allows
- users to rent virtual computers on which to run their own computer applications.
- scalable deployment of applications by providing a Web service
through which a user can boot an Amazon Machine Image to create a virtual machine,
which Amazon calls an "instance", containing any software desired.
A user can create, launch, and terminate server instances as needed,
paying by the hour for active servers, hence the term "elastic".
EC2 provides users with control over the geographical location of instances
that allows for latency optimization and high levels of redundancy.
In November 2010, Amazon made the switch of its own retail website to EC2 and AWS.