2012-09-07 5 views
0

내가 찾을 수없는 일부 매뉴얼/튜토리얼에서 재미있다.Ruby 웹 앱 라이프 사이클

Ruby 웹 응용 프로그램의 수명주기 란 무엇입니까? Ruby는 스크립팅 언어입니다. PHP와 동일합니다. 하지만 들었을 때 Ruby는 실행 전에 미리 컴파일됩니다. 따라서 질문은 다음과 같습니다.

  • 사전 컴파일이 완료되면?
  • 프리 컴파일이 다른 파일 및 클래스에서 작동하는 방식은 무엇입니까?
  • 프리 컴파일 된 코드의 수명은 얼마나됩니까?
  • 아파치/nginx에서 루비 응용 프로그램에 경로가 전달되는 방법 (예 : sinatra를 기반으로 만들 수 있음)?
  • 어쩌면 순수한 루비를 사용하여 웹 프레임 워크없이 웹 프레임 워크 또는 웹 페이지를 만드는 방법에 대한 자습서가 있습니다.
  • 세션 개체의 위치는 어디입니까?

모든 매뉴얼은 어떤 프레임 워크를 사용하는 방법에 대한 정보 만 포함되어 있지만 내부적으로 작업하는 방법, 아무것도이 설명되지 않는다.

감사합니다.

+1

아마도 더 나은 프로그래머에 게시 된 질문. – user1477388

+0

이 질문은 StackOverflow에 적합하지 않습니다. 당신은 개방적인 질문을하고 있습니다. 이것은 정말로 토론이며 권장되지 않습니다. 자세한 내용은 [FAQ] (http://stackoverflow.com/faq#questions)를 참조하십시오. –

답변

2

루비는 PHP와 마찬가지로 "해석"되지만 컴파일 형식이기도합니다. 혼란 스러울 수있는 점은 Ruby 기반의 프레임 워크와 마찬가지로 Ruby on Rails와 Sinatra가 지속적인 프로세스로 호스팅된다는 것입니다. 액셀러레이터와 웹 서버 모듈은이 프로세스의 오버 헤드를 상당히 줄이지 만 PHP는 각 요청에 대해 해석되는 경향이 있습니다.

필자는 자신의 프레임 워크를 만들려고 제안하지 않을 것입니다. 이것은 사소한 작업이며 학문적 인 운동이 제한된 가치를 지니기조차하기 때문입니다. Sinatra와 같은 것을 연구 해 처음부터 시작하는 것보다 더 많은 것을 배우기 위해 Sinatra가 어떻게 구현되는지 확인하는 것이 가장 좋습니다.

레일즈에 대한 문서는 잘 설명되어 있습니다. 프레임 워크의 구성 요소에 대해 특정 질문이있는 경우 소스 코드를 읽는 것만으로는 대답 할 수 없으며 일반적으로 잘 정리되어 있습니다. 여기에 게시 할 수 있습니다.

+0

첫 번째 단락을 가져 주셔서 감사합니다. 그게 내가 원하는거야. 루비 웹 응용 프로그램의 일부 수명주기. –

+0

또한, PHP의 경우 엔트리 포인트는 index.php이고, 루비의 엔트리 포인트는 무엇입니까? –

+0

응용 프로그램 시작 방법에 따라 다릅니다. 랙 기반 응용 프로그램의 경우 가장 일반적으로 사용되는 응용 프로그램은'config.ru '입니다. Rails 애플리케이션의 경우 애플리케이션에 서비스를 실행하기 위해 하나 이상의 'Rails' 프로세스가 표시되며 일반적으로 [Passenger] (http://mod-rails.com/)와 같은 서버 모듈에서 관리됩니다. 또한 PHP의 주된 진입 점은'index.php'뿐만 아니라 실행될 수있는'.php' 파일이라는 점을 기억하십시오. 징계를받지 않으면 일종의 코드 무정부 상태가 될 수 있습니다. – tadman