Web Development Basics Flashcards
What does a Web Developer do?
A web developer’s job is very hands-on, and can vary wildly from person to person. Generally, a web developer’s job involves a lot of planning, building websites or web apps from the ground up, deploying them, and maintaining them by fixing bugs or optimizing the code.
In other words, a web developer plays the role of both an architect and handyman, but their work lives in the cloud.
What’s the difference between web developers and web designers?
Web designers are focused on the artistic design and UX/UI of a website or web app, whereas developers are focused on how to build it, although there is some overlap between the two nowadays.
What’s the difference between front end, back end, and full stack developers?
Front-end developers focus more on the actual webpage itself, how the site looks to the end user.
Back-end developers focus on the server side code that runs the application, usually they use programming languages like Python, Ruby, or Java.
Full-stack developers are responsible for both the front-end and back-end of the application.
—
Front-end developers are responsible for User Interaction.
Back-end developers focus on storing, delivering, and generating data for the front end.
A full-stack developer does all of these things.
What’s the difference between static and dynamic web pages?
Dynamic webpages change depending on the user input and actions, because of this they also require a more complicated server.
Static web pages offer no dynamic changes and keep their content no matter the actions of the end-user.
Dynamic pages allows users to create, destroy, edit, and read data. The data persists even when the page is closed, unlike static pages which are reloaded each time a browser is refreshed.
What’s the best way to get help when you get stuck?
The best bet to get help when you are stuck is to use Google! There are other fantastic resources but Google will give you great access to all of them.
A lot of times you will find your answer turning up on StackExchange.
What online developer communities can you join?
Start with IRC channels, subreddits, and various meetup groups in your specific area.
Look at r/Programming or r/learnprogramming.
Why is it better to use a developer-friendly text editor like Sublime Text than something oriented more towards word-processing like Microsoft Word?
I think the most important reason why developer-friendly text editors are better than Word, is that editors such as Text Wrangler and Sublime Text save files in a proper format for Web Servers and Browsers. MSWord along with other word-processing programs tend to add additional information to files that Web Servers and Browsers do not understand.
Additionally, developer-friendly editors have features such as Code Coloring, basic code-hinting, File and Directory Management, and can be customized to be easier on your eyes when staring at them for hours.
What are the top 3 characteristics of great web developers?
Curiosity/creativity - The passion for creating/building and the hunger for learning new technologies.
Ability to think quickly and problem solve - Figuring out a solution to a problem construct on your feet and easily is a hallmark of a great developer.
Persistence - The developer world is fraught with obstacles and setbacks, but persistence will pave the way to success.
What do companies look for in a junior web developer?
Companies want developers who have built working code. They are looking for good portfolios which demonstrate talent and persistence. Passionate and committed developers who are able to communicate effectively and work on a team are in high demand.
What is the hiring process like for a developer?
To apply for a job, you’ll have to submit a resume, cover letter, links to your portfolio projects, and your Github page.
If the employer likes what they see, you will likely have a phone screen interview, through which the employer will get more information on your background and interest in the position (and also determine if you pass their baseline requirements).
If they bring you on-site, you will likely have a series of interviews, each with a different focus (behavior assessment, portfolio/code review, on-the-spot programming observation).
Every company’s different, but this is the sort of application process I would prepare for!
What is the internet?
Simply put, the internet is a global system of interconnected computers and devices, all communicating with each other via a common language (or standard protocol).
How is information broken down and sent?
It is broken down into packets and sent through random different ways to get to their destination.
What are packets?
Packets are bits of data that are parts of a whole that are sent from one computer or server to another. An image, video or some other asset is requested by a client and the host serves them up by breaking it down into smaller chunks called packets that are sent out with information attached to them that signifies where they are to be routed and how to piece them all back together.
What is a “client”?
With regard to the World Wide Web, the client is a user’s browser. When a user opens a browser on their computer, the browser waits for the user to take an action; depending on the action, the browser may make a request to the server, asking for a resource. Then, as long as there aren’t any errors, the server will respond with the requested resource. The browser then waits for another action from the user and the cycle continues.
What is a “server”?
The server waits for requests from a client and tries to produce the proper response. If the server cannot properly respond to a request, it will respond with an error that attempts to help the client understand what went wrong (e.g., a 404 NOT FOUND response indicating a web server couldn’t find the requested resource).
What is HTTP and how does an HTTP request work?
HTTP stands for Hypertext Transfer Protocol, which is the standard method used to request and transmit data across the internet. When a user enters a URL in their browser, the browser generates the HTTP request and sends it to the server, which also responds via HTTP to provides the data & files for the requested site.
What are DNS servers?
A DNS server is a special kind of computer that links human-readable names of web sites, such as www.google.com, to their actual IP address location.
For example, instead of typing www.google.com and asking a DNS server to look-up the address of google for you, you can simply enter http://74.125.224.72/ directly into your browser!
What is HTML and how is it used?
Hypertext markup language, a language of tags used to define the structure and content of Web pages, such as headings, lists, paragraphs, line breaks, images,
etc.
What is CSS and how is it used?
Cascading Stylesheets, a language that describes the look and style of the elements defined in an HTML document, such as fonts, colors, spacing, transparency, alignment,
and other design aspects of a page. In short, it makes the raw information look pretty, and it makes the front end simpler by separating presentation from content.
What is your browser’s Web Inspector (aka Developer Tools) and how can you use it to poke around in a page’s HTML?
The Web Inspector is a tool that allows you to view a web page’s source, the DOM hierarchy, debug Javascript, and more.
What happens behind the scenes after you click “search” on google.com?
A single click rings out on a dark night... Picoseconds later (a lot of them) later the input is received by a usb or other peripheral device port Nanoseconds later (a pile of them) a short string of integers is sent and interpreted by the CPU of device used as a "click". Milliseconds later (a group of them) a command is sent to open up an http handshake Microseconds late (a few of them) the handshake is confirmed and search query data is exchanged Centiseconds later (a handful of them) the data is processed and the return data is exchanged Decaseconds later (two point five of them, in this case) your search is returned to your screen.
What is the command line?
A terminal/shell that one opens and types in commands for various tasks (moving between directories, opening, editing files, removing files, changing settings and permissions, ,etc)
How do you open it on your computer?
Type cmd
under Start > Run on Windows, or Command + Space
, type terminal
on OSX, then hit Enter
.
What is Bash?
“Abbreviation for Bourne-Again SHell, the command-line shell for GNU/Linux.”
How can you navigate into a particular file directory?
$ cd
How can you create a directory?
$ mkdir
How can you destroy a directory or file?
$ rm
$ rm -rf
How can you rename a directory or file?
$ mv
Why are file permissions important?
prevent unwanted access and/or modification of files. Permissions often are for read, write and execute.
How do you view hidden files in a directory?
$ ls -a
How do you find information about a particular command?
$ man
What is a “Superuser” and how do you execute commands as this user?
The “Superuser” is a user of a computer system with special privileges needed to administer and maintain the system. Superuser commands can be executed using ‘sudo’ in the command line, which stands for Superuser do.
What is Vim?
Vim is an improved version of the vi editor that is included in most UNIX systems. Highly configurable it was built to enable efficient text editing which makes it quite useful for programming. Some even consider it an entire IDE.
How do you quit Vim if you get stuck in it?
:q
:q!
(to overwrite and not save any changes):qa!
‘ZZ’ (the shortcut to exit Vim with saving the changes)
What is the .bash_profile
file and what is it used for?
The bash ‘.bash_profile’ file is a startup file for the bash shell and is used for many things such as declaring the $PATH variable for login shells.
What is the $PATH
variable?
The $PATH variable is an environmental variable in the GNU/Linux and other UNIX-like operating systems that tells shell which directories to search for executable files in response to commands issued by a user.
Why might you need to add onto your $PATH
variable?
You might need to add onto your $PATH variable so an application can be found and run in the command line.
What are alias commands?
Alias commands are shortcuts that can be set up for use with the command line. These are often set for convenience so things such as long scripts that are often repeated don’t need to be fully typed out.
For instance, when using Sublime Text, one may not want to always manually locate files and open them using the application. Instead, an alias can be set such as ‘subl’ which can be used in the command line preceding the filename. This opens the file in sublime text, voila!
i.e. ‘subl text.txt’
URL( Uniform Resource Locator)
Address that one types in to reach a particular webpage. Human readable address that eventually gets mapped through DNS into actual IP addresses.
Domain
The part of the URL which specifies the location of the web server who is going to respond to your request.
IP Address
IP addresses are the absolute address of a website. Four number ranging from 0 to 255 and separated by commas, these are unique but difficult to remember for the everday user - hence the creation of URLs and the DNS.
DNS
The Domain Name System, or DNS, is the phone book of the Internet. It takes human-readable URLs and translates them to IP addresses so that packets know exactly where to go.
HTTP
HyperText Transfer Protocol, defines how messages are formatted and transmitted and what actions web servers and browsers should take in response to various commands. For example a URL request to retrieve a web page from a server.