There have been a lot of topics covered in this course. Today we will take a look at some of the more important aspects of each topic, how they relate to each other, and give additional resources for those who wish to pursue more practice in programming.
HTML (Hyper-text Markup Language) and CSS (Cascading Style Sheets) represent the skeleton and outer-facade of any page that you see on the Internet. Any front-end or full-stack developer will be working with these daily. The basic concepts within HTML and CSS can be learned quickly and you’ll have time to deepen your knowledge of specific attributes, tricks, and resources over time.
HTML was NEVER intended to contain tags for formatting a web page! Development of large websites, where fonts and color information were added to every single page, became a long and expensive process. To solve this problem, the World Wide Web Consortium (W3C) created CSS. CSS removed the style formatting from the HTML page! -W3Schools
Bootstrap is a free and open-source front-end web framework for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many web frameworks, it concerns itself with front-end development only. -Wikipedia
- Understanding the Bootstrap System
- Inspiring Uses of Bootstrap
- Some Wireframing Tools
- Some Bootstrap Resources
- W3 Schools Bootstrap Tutorial
- YouTube Bootstrap Tutorial
The combination of Git (on your local computer) and Github (online) is a powerful toolset that enables developers to have a record and access to any versions of the code they create. Github allows developers to have a single repository online where they can share code and review new code before it is merged into their production code base. We’ll cover the basics of Git, Github, and how teams of developers use these tools to collaborate on their projects.
The basic functionality of git allows developers to track specific versions of their code-base, and revert to a previous version at any time (say, their most recent changes broke their system and they wanted to return to the previous version of their code). Git also enables developers to interact with online platforms like Github and Heroku where they can share and host their codebase.
Like Java, Python, and Ruby, JavaScript is a scripting language that allows you to build systems that do cool things. One of the benefits of JavaScript is that it can run in your browser, serving as a ‘client-side’ scripting language. Any cool effects that you see on a webpage are likely enabled by JavaScript.
Ruby is a backend scripting language. Many of the JavaScript constructs that you learned, such as functions, variables, objects, iterators, and conditionals, are very similar to those used in Ruby. The main difference between Ruby and JavaScript is that JavaScript is asynchronous (multiple tasks can be running at one time), while Ruby is synchronous (tasks must be run sequentially). One of the benefits of Ruby is that it includes a huge library of methods and built in functionality, which makes your life a lot easier. Another benefit of Ruby, is that Rails, a Model-View-Controller (MVC) framework with an abundance of open-source functionality plug-ins that you can integrate into your app, is built on top of it enabling you to combine the two to quickly build awesome websites.
Rails is an open-source Model View Controller (MVC) framework that is built in Ruby. It does the hard work of designing the configurations and file structure you need to build your app. Rails includes a vast source of helper methods and functionally that speed up your web development process. On top of that, Rails integrates with ‘gems’ (similar to JavaScript libraries), which allow you to integrate additional functionality into your app, without building it yourself. Given the size of the Rails community, there is a high-quality, well-maintaned gem for almost any functionality you’d like to build.
- Ruby Toolbox
- Rails for Zombies(for learning more about routing)
- Rails for Zombies(for learning more about views)
- Routing Guides
- Form Helpers
In this lesson we put all of the different components of Rails together in a comprehensive fashion.
Adding authentication and authorization is extremely vital to any modern web application. The need for basic security and authenticaiton is essential for good data and customer experience. We will spend today adding the 'Devise' gem to our blog appliction. This is a program that will help us integrate the tools needed to authenticate and authorize users. With this gem we will not need to write the complicated code needed to add security to our pages.
Earlier in the curriculum we learned about the different ways one could use Bootstrap to help ease styling. In this lesson we take a closer look at how to integrate different templates into the Rails platform and how to use these templates to help make your style look more professional.
DOM stands for Document Object Model. It's a fancy way of describing what's going on in your browser when you visit a website. You may think a webpage is just a chunk of HTML, CSS, and JavaScript code. But, there's an important step between a webpage being pure data (text) and being a rendered page users can explore. Everything you interact with in the browser can be represented as a JavaScript object. For example, this paragraph is an object, and it's full of information about being an HTML <p>
tag.
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only. This is opposed to software development that allows software to be added that is not proven to meet requirements. -Wikipedia
In this lesson we discussed deploying your website to the interenet. We also did a walk through of how to deploy your website through Heroku, a popular and free service for website deployment.
Authorization is an important aspect to most any application. As a system, it is put in place to determine whether the current user has the permission to perform the requested action. Based on this, it typically happens after a user is authenticated, but before a request is processed.
Today we will be generating a seperate project in order to fully understand the different aspects of the authentication and authorization process. We will add devise that gives us a user model, connect the user model with posts, and finally use a gem called CanCanCan in order to fully complete the authorization process.