HTTP 서버

좀 더 재미있는 예제, HTTP 서버입니다.

require "http/server"

server = HTTP::Server.new(8080) do |context|
  context.response.content_type = "text/plain"
  context.response.print "야호! 지금 시간은 #{Time.now}"
end

puts "Listening on http://127.0.0.1:8080"
server.listen

문서를 모두 읽고 난 후에는 위 코드를 이해할 수 있겠지만, 우리는 이미 몇 가지를 알아챌 수 있습니다.

  • 다른 파일의 코드를 이용하기 위해 require를 이용합니다.

      require "http/server"
    
  • 타입을 지정하지 않고도 지역 변수를 정의할 수 있습니다.

      server = HTTP::Server.new ...
    
  • 객체에 메서드를 호출(하거나 메시지를 전송)함으로써 프로그램을 작성합니다.

      HTTP::Server.new(8080) ...
      ...
      Time.now
      ...
      puts "http://127.0.0.1:8080에서 작동 중"
      ...
      server.listen
    
  • 코드 블락을 이용하여 코드를 재사용하고 함수형 세계의 특징을 일부 가져올 수 있습니다.

      HTTP::Server.new(8080) do |context|
        ...
      end
    
  • 문자열 보간을 이용해 다른 객체를 포함한 문자열을 손쉽게 만들 수 있습니다. 뿐만 아니라 크리스탈 언어에는 문자열, 해시, 범위, 튜플 등을 생성할 수 있는 문법도 있습니다.

      "야호! 지금 시간은 #{Time.now}"
    

results matching ""

    No results matching ""