Program a Web Server in Ruby, Part II

Martin (Chaim) Berlove, The people side of programming

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
6 Videos (27m)
    • Introduction

      1:09
    • Coding the Server Class

      5:10
    • Starting Up

      3:20
    • Learning the Library

      6:12
    • Building Blocks

      9:52
    • Conclusion

      0:57

About This Class

Learn how to run your own web-served application from the ground up!

This class is a continuation of "Program a Web Server in Ruby", but feel free to dive right in! This class will still make sense even if you haven't watched it yet.

We'll be using webrick, a server library that comes native with Ruby, to learn how start up a server and build a web application from the ground up.

It's probably best if you have previous programming experience. We'll be diving into concepts like object-oriented programming, HTTP headers, and command-line coding without much explanation.

However, everyone is invited to learn! Here are some helpful links with reading material that can help you follow along with the lessons:

What is a web server? https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server

Learn Ruby fast: https://www.ruby-lang.org/en/documentation/quickstart/

Learn Ruby interactively: https://www.codecademy.com/courses/learn-ruby/lessons/introduction-to-ruby/exercises/overview--sneak-peek

Reading files in Ruby: https://code-maven.com/open-file-and-read-content-in-ruby

The Rack library: https://rack.github.io/

Some tutorials on using Rack: https://github.com/rack/rack/wiki/Tutorials

The webrick library: https://github.com/ruby/webrick/

A very simple webrick example: https://ruby-doc.org/stdlib-1.9.3/libdoc/webrick/rdoc/WEBrick/HTTPServlet/AbstractServlet.html

Webrick's AbstractServlet:https://github.com/ruby/webrick/blob/4ac0f3843ab82d1c31e1cfc719409208adef7813/lib/webrick/httpservlet/abstract.rb#L76

--

Students

--

Projects

0

Reviews (0)

Martin (Chaim) Berlove

The people side of programming

Software developer and aspiring renaissance man. Broad interests in technology, computing, and most other things. I like to specialize in the human side of software engineering.

See full profile