
Jay McGavren
Treehouse Teacher
Tempe, AZ
I'm the author of Head First Ruby and Head first Go, both published by O'Reilly Media. I've spoken at RubyConf, OSCON, and many other conferences. (I have a knack for explaining things, or so I hear.)
Topics & Specialties
Courses & Workshops I've Taught
-
- 1
- 2
- 3
- 4
- 5
C# Basics
C# is the most popular programming language in the Microsoft ecosystem of products. C# code is designed to run fast and to be easily maintainable. In C# Basics, we'll learn how to work with C# to write simple programs.
-
- 1
- 2
- 3
Continuous Integration with Jenkins
Jenkins is a continuous integration server. Integration tests take all the code and other components of your application and integrate it together, then test it to ensure it's working properly. Jenkins can watch repos for version control software like Git or Subversion. When there's a new commit, Jenkins will check it out automatically. It will run your tests, and report the result. It can even be configured to automatically deploy your software to production if all the tests pass. This course is going to show you all the basics of using Jenkins.
-
- 1
- 2
- 3
Introduction to the Terminal
Apps for ordinary users use GUIs you control with a mouse or touchscreen. But developers know the most powerful way to interact with computers is by using text in the terminal. This course will set you on the path to terminal mastery!
-
- 1
- 2
- 3
- 4
Git Branches and Merging
This course introduces the concept of branches in Git and shows practical uses for managing both local development and collaborative workflows.
-
- 1
- 2
Algorithms: Sorting and Searching
This course will look at algorithms in two categories: sorting and searching. We'll implement well-known sorting algorithms like selection sort, quicksort, and merge sort. You'll also learn basic search algorithms like sequential search and binary search.
-
- 1
- 2
- 3
Intermediate Selenium WebDriver
Manually testing your website can only take you so far. Learn how to use Selenium WebDriver to automate the process for you, and alert you to problems before your users see them.
-
- 1
- 2
- 3
Introduction to Git
Git is a version control system - it helps you manage the different versions of your project files, and helps keep your work safe. This course will show you how Git works, and how to upload your projects to GitHub.
-
- 1
- 2
- 3
- 4
- 5
Ruby Basics
Ruby is a programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. In Ruby Basics, we'll learn how to work with Ruby and write simple Ruby programs.
-
- 1
- 2
- 3
- 4
- 5
Introduction to Docker
Docker allows any developer of any language to package an app into a container, like a shipping container. Containers include an app and all the other software it depends on, like databases. Containers let your users easily run your website, app, or service on any operating system they want. This course will show you how Docker works, and how it can make it easier to distribute your software!
-
- 1
- 2
- 3
- 4
- 5
Go Language Overview
This overview of the Go programming language is designed for developers who are already familiar with another language. It's a quick tour of the language's core features such as interfaces and goroutines.
-
6 minPractice
Practice Ruby Numeric Types
Let's practice some basic Ruby to make sure that everything you've learned so far sticks. We'll review numeric types such as Fixnum and Float, as well as math operations.
Viewed -
4 minPractice
Practice Ruby Methods
Let's practice some basic Ruby to make sure that everything you've learned so far sticks. We'll review how to define and call Ruby methods.
Viewed -
3 minPractice
Practice Strings in Ruby
Let's practice some basic Ruby to make sure that everything you've learned so far sticks. We'll review single and double-quoted strings, as well as escape sequences.
Viewed -
7 minPractice
Practice Input and Output in Ruby
Let's practice some basic Ruby to make sure that everything you've learned so far sticks. We'll review variables, as well as simple input and output.
Viewed -
25 minWorkshop
App Deployment Accounts
When working on the public server where your users will interact with your app, you need to be careful. If you accidentally alter the wrong setting, service, or file, your app could go down. That's why it's considered best practice for your developer account to have limited access, and to create a separate deployment account with full control over the system. You can use the deployment account to set up your app and deploy new versions, and use your development account for day-to-day maintenance tasks, secure in the knowledge that making a mistake won't break everything.
Viewed -
18 minWorkshop
Linux Servers on VirtualBox
Today we're going to show you how to set up a Linux server running as a virtual machine on your development system. (If you haven't worked with virtual machines before, think of it as a computer within a computer.) This is a great way to set up a sandbox where you can try out deploying your applications.
Viewed