Skip to content

Instantly share code, notes, and snippets.

View Najaf's full-sized avatar

Ali Najaf

View GitHub Profile
# We prefer composition over inheritance because inheritance couples type to
# implementation.
#
# Take a look at this example using inheritance:
class Duck
def initialize
@wings = Wings.new
end
#! /usr/bin/env ruby
require 'socket'
Socket.tcp_server_loop(ARGV[0].to_i) do |connection|
connection.write("Hello, world\n")
connection.close
end
#! /usr/bin/env ruby
require 'socket'
server = TCPServer.new ARGV.first.to_i
loop do
client = server.accept
client.puts "Hello, world"
client.close
#! /usr/bin/env ruby
require 'socket'
server = TCPServer.new ARGV.first.to_i
loop do
client = server.accept
client.write(client.readline)
client.close
#! /usr/bin/env ruby
require 'socket'
def log(source, message)
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
puts "[%s] %s => %s" % [time, source, message]
end
server = TCPServer.new ARGV.first.to_i
#! /usr/bin/env ruby
require 'socket'
def log( source, message)
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
puts "[%s] %s => %s" % [time, source, message]
end
server = TCPServer.new ARGV.first.to_i
#! /usr/bin/env ruby
require 'socket'
def log(source, message)
time = Time.now.strftime("%Y-%m-%d %H:%M:%S")
puts "[%s] %s => %s" % [time, source, message]
end
# Class representing HTTP Requests