Skip to content

Instantly share code, notes, and snippets.

@English3000
Last active December 2, 2017 06:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save English3000/638501204d300e9a61f45412f80994e8 to your computer and use it in GitHub Desktop.
Save English3000/638501204d300e9a61f45412f80994e8 to your computer and use it in GitHub Desktop.

Where do I get started? That's the question I'd start with.

I know what I know from two sources: App Academy and Codecademy. App Academy is an intensive coding bootcamp one applies for. Codecademy is a free online resource.

I'd describe them as such: If you've learned a new language in school, Codecademy is like learning some common vocabulary and the general grammatical structure. App Academy is like going to a country where the language is spoken natively, and receiving lessons along with going out and just conversing.

Backtracking, I do not have a technical background--i.e. my schools did not require or emphasize coding in their curricula, and I did not study computer science in undergrad. I gained an interest in the tech industry as a result of doing tasks in past positions as efficiently as I could, finding that my pace of work outpaced that which the organization could provide me new work. So one appeal of tech for me was receiving more robust (meaningful) work.

Another appeal was the openness to ideas and complex thinking. At university--this is my impression--you need to have 'the right ideas', i.e. your ideas must be inline with the sensibilities of your professors in order for you to be given the space to express them. In contrast, in tech, if you can code it, it's public. That's it. And it's a website, so a class's tastes won't stand in the way of recognition of a technically sound idea.

So that's a little of where I'm coming from.

So maybe your interest in tech is similar. You've only heard about the industry's culture and coding seems foreign. "Where do I start with something that my school does not teach in a way that meets my interests?"

Probably others would advice this too: Ease yourself in, then commit.

So that means starting with a free online source like Codecademy and, in my case, using an online website-building platform, Weebly (which is drag-and-drop).

Honestly, I wouldn't search too deeply. The point is to find a source that introduces a few essential coding languages--HTML/CSS, an intro to JavaScript, and a server-side scripting language or two. Again, this is just acquainting your mind with what coding is.

What's a server-side scripting language?

Another essential piece to know (exclusive to right here! 😉 )-- What's the bigger picture? How does a website actually work? (Funny how they don't explain that in school...)

So you're on this site right now. There's the stuff you see in the browser--the client-side. You are (or your browser is) the client. What dictates how stuff appears on the page? Mostly HTML tags which literally tag text, input elements of forms, and a few other built-ins PLUS CSS which dictates the appearance and positioning of HTML, along with some user interaction (e.g. a link that becomes underlined when you hover over it).

But, if you have a Github account, you also need to login. And your username appears in the navigation bar/header. That's where we get to server-side scripting.

There's the client-side (the webpage), but there's also the dynamic stuff that changes by user, or redirects you to a special-access page, or allows you to write a Github gist, submit it, and then see it online. That's all server-side.

So, what is a server-side scripting language?

Again, let's look at a higher level: There's the client-side. How does the client-side (webpage) access your unique information? What is it that allows you do create your own content, etc.? The server. The server serves the webpage. And along the way, it retrieves your unique info from another server specifically structured to store (and serve) it: a database.

So at a high level: client (webpage), server (special interactivity--beyond CSS), and the database (your unique info).

...How does the client access the server? Through a router of course!

What's a router? So, you know how websites have URLs? Well, the router receives the URL (along with some other data). Based on that payload (what the data sent to the router is called), the router will take that request (the transmission of the payload to the router) and route it to a controller.

Pause.

So you type a URL into your browser. The URL is typed into an HTML input element which is part of a form. Hitting enter will initiate a request (specifically, a GET request) to a router, which sends the payload to your backend, starting with the controller (at least in the Model-View-Controller setup, which is what I've been taught).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment