Ruby on Rails 인터뷰 질문 및 답변 상위 53개(2025)

다음은 꿈의 직업을 얻기 위한 신입사원과 숙련된 Ruby 개발자 후보자를 위한 Ruby on Rails 인터뷰 질문과 답변입니다.

1) Ruby on Rails가 무엇인지 설명해주세요.

  • 루비 : PERL, Smalltalk, 에펠, Ada, Basic 및 Lisp에서 영감을 받은 객체 지향 프로그래밍 언어입니다.
  • 울타리: 웹 애플리케이션을 구축하는데 사용되는 프레임워크입니다.

2) Ruby의 클래스 라이브러리가 무엇인지 설명해주세요.

Ruby의 클래스 라이브러리는 데이터 유형, 스레드 프로그래밍, 다양한 도메인 등과 같은 다양한 도메인으로 구성됩니다.

무료 PDF 다운로드: Ruby on Rails 인터뷰 질문 및 답변


3) Rails의 명명 규칙이 무엇인지 언급해 보세요.

  • 변수: 변수 선언의 경우 모든 문자는 소문자이며 단어는 밑줄로 구분됩니다.
  • 클래스 및 모듈: 모듈 및 클래스는 MixedCase를 사용하며 밑줄이 없습니다. 각 단어는 대문자로 시작합니다
  • 데이터베이스 테이블: 데이터베이스 테이블 이름은 소문자로 이루어져야 하며 단어 사이에는 밑줄이 있어야 하며, 모든 테이블 이름은 Invoice_items와 같이 복수형이어야 합니다.
  • 모델: 깨지지 않은 MixedCase로 표현되며 항상 테이블 이름과 함께 단수형을 갖습니다.
  • 제어 장치: 컨트롤러 클래스 이름은 OrdersController가 주문 테이블의 컨트롤러가 되도록 복수형으로 표시됩니다.

4) Ruby on Rails에서 "Yield"가 무엇인지 설명해주세요.

코드 블록을 수신하는 Ruby 메소드는 "Yield"를 사용하여 이를 호출합니다.


5) Rails의 ORM(Object-Relationship-Model)이 무엇인지 설명해주세요.

Rails의 ORM 또는 객체 관계 모델은 클래스가 데이터베이스의 테이블에 매핑되고 객체가 테이블의 행에 직접 매핑된다는 것을 나타냅니다.


6) Ruby에서 false와 nil의 차이점이 무엇인지 언급해 주세요.

Ruby에서 false는 부울 값을 나타내는 FalseClass의 객체이고, Nil은 값이 없음을 나타내는 NilClass의 객체입니다. object_id 4가 있습니다.

Ruby on Rails 인터뷰 질문
Ruby on Rails 인터뷰 질문


7) Rails의 긍정적인 측면은 무엇인지 언급해 주세요.

Rails는 다음과 같은 많은 기능을 제공합니다.

  • 메타 프로그래밍: Rails는 코드 생성을 사용하지만 무거운 작업의 경우 메타 프로그래밍에 의존합니다. Ruby는 메타 프로그래밍에 가장 적합한 언어 중 하나로 간주됩니다.
  • 활성 레코드: Active Record Framework를 통해 객체를 데이터베이스에 저장합니다. Rails 버전의 Active Record는 스키마의 열을 식별하고 메타프로그래밍을 사용하여 이를 도메인 객체에 자동으로 바인딩합니다.
  • 발판: Rails에는 스캐폴딩이나 임시 코드를 자동으로 생성하는 기능이 있습니다.
  • 구성에 대한 관례: 다른 개발 프레임워크와 달리 Rails는 명명 규칙을 주의 깊게 따르면 많은 구성이 필요하지 않습니다.
  • 세 가지 환경: Rails에는 테스트, 개발, 프로덕션의 세 가지 기본 환경이 함께 제공됩니다.
  • 내장 테스트: 테스트 케이스를 작성하고 실행할 수 있도록 하네스 및 고정 장치라는 코드를 지원합니다.

8) 하위 디렉터리 앱/컨트롤러와 앱/도우미의 역할이 무엇인지 설명하세요.

  • 앱/컨트롤러: 사용자의 웹 요청은 컨트롤러에 의해 처리됩니다. 컨트롤러 하위 디렉터리는 Rails가 컨트롤러 클래스를 찾는 곳입니다.
  • 앱/도우미: 도우미의 하위 디렉터리에는 뷰, 모델 및 컨트롤러 클래스를 지원하는 데 사용되는 도우미 클래스가 있습니다.

9) 문자열과 기호의 차이점이 무엇인지 언급하세요.

둘 다 같은 방식으로 행동하지만 서로 반대되는 행동이 다릅니다. 차이점은 함께 사용될 때 object_id, 메모리 및 프로세스 조정에 있습니다. 기호는 불변 객체의 범주에 속하지만 문자열은 가변 객체로 간주됩니다.


10) 기호가 변수와 어떻게 다른지 설명하세요.

기호는 다음과 같은 측면에서 변수와 다릅니다.

  • 변수보다는 문자열에 가깝습니다.
  • Ruby에서 문자열은 변경할 수 있지만 기호는 변경할 수 없습니다.
  • 기호 사본 하나만 생성하면 됩니다.
  • 기호는 Ruby에서 열거형에 해당하는 것으로 자주 사용됩니다.

11) Ruby on Rails의 Rails Active Record가 무엇인지 설명해주세요.

Rails 활성 레코드는 Rails와 함께 제공되는 ORM(객체/관계형 매핑) 레이어입니다. 다음과 같이 표준 ORM 모델을 따릅니다.

  • 수업에 대한 테이블 맵
  • 행이 개체에 매핑됩니다.
  • 열은 객체 속성에 매핑됩니다.

12) Rails가 구현하는 방법을 설명하세요. 아약스?

Ajax 기반 웹 페이지는 최신 정보를 얻으려면 페이지를 새로 고쳐야 하는 다른 웹 페이지와 달리 새롭거나 변경된 웹 페이지를 서버에서 검색합니다.

Rails는 다음과 같은 방식으로 Ajax 작업을 트리거합니다.

  • 일부 방아쇠가 발생합니다. 트리거는 사용자가 링크나 버튼을 클릭하는 것, 사용자가 필드나 양식의 데이터 변경을 유도하는 것일 수 있습니다.
  • 웹 클라이언트가 서버를 호출합니다. Java 스크립트 메서드인 XMLHttpRequest는 트리거와 연결된 데이터를 서버의 작업 핸들러로 보냅니다. 데이터는 체크박스의 ID, 전체 양식 또는 입력 필드의 텍스트일 수 있습니다.
  • 서버는 다음을 처리합니다. 서버 측 작업 핸들러는 데이터로 작업을 수행하고 HTML 웹 클라이언트에 대한 조각
  • 클라이언트는 다음 응답을 받습니다. Rails가 자동으로 생성하는 클라이언트 측 JavaScript는 HTML 조각을 수신하고 이를 사용하여 현재의 특정 부분을 업데이트합니다.

13) 주제에 대한 컨트롤러를 어떻게 생성할 수 있는지 언급해 주세요.

주제에 대한 컨트롤러를 생성하려면 다음 명령을 사용할 수 있습니다.

C:\ruby\library> Ruby 스크립트/컨트롤러 주제 생성


14) Rails 마이그레이션이 무엇인지 언급해 주세요.

Rails 마이그레이션을 통해 Ruby는 데이터베이스 스키마를 변경할 수 있으므로 버전 제어 시스템을 사용하여 실제 코드와 동기화된 상태를 유지할 수 있습니다.


15) Rails 마이그레이션으로 무엇을 할 수 있는지 나열해 보세요.

Rails 마이그레이션은 다음과 같은 작업을 수행할 수 있습니다.

  • 표 만들기
  • 드롭 테이블
  • 테이블 이름 바꾸기
  • 열 추가
  • 열 이름 변경
  • 열 변경
  • 열 제거 등

16) 마이그레이션을 생성하는 명령이 무엇인지 언급하세요.

마이그레이션 명령을 작성하려면 다음이 포함됩니다.

C:\ruby\application>ruby 스크립트/마이그레이션 테이블 생성_이름


17) self.up, self.down 방식을 언제 사용하는지 설명해주세요.

새 버전으로 마이그레이션할 때, 셀프업 방법은 동안 사용됩니다 셀프 다운 필요한 경우 변경 사항을 롤백하는 데 메서드가 사용됩니다.


18) Rails Controller의 역할은 무엇인지 언급해주세요.

Rails 컨트롤러는 애플리케이션의 논리적 중심입니다. 이는 사용자, 뷰 및 모델 간의 상호 작용을 촉진합니다. 또한 다음과 같은 다른 활동도 수행합니다.

  • 외부 요청을 내부 작업으로 라우팅할 수 있습니다. URL을 매우 잘 처리합니다.
  • 코드를 크게 만들지 않고도 뷰 템플릿의 기능을 확장하는 도우미 모듈을 규제합니다.
  • 세션을 규제합니다. 사용자에게 당사 애플리케이션과 지속적으로 상호 작용한다는 인상을 줍니다.

19) Active support의 "HashWithIn Different"와 Ruby의 "Hash"의 차이점은 무엇입니까?

The 해시 Ruby 핵심 라이브러리의 클래스는 표준을 사용하여 값을 반환합니다. “= =” 키 비교. 이는 저장된 값을 의미합니다. 상징 키는 동등한 문자열을 사용하여 검색할 수 없습니다. 동안 HashWith무관심한접속 기호 키와 문자열 키를 동일하게 취급합니다.


20) CSRF(Cross-Site Request Forgery)가 무엇이며 Rails가 이에 대해 어떻게 보호되는지 설명해주세요.

CSRF는 해커가 사용자를 대신하여 다른 웹사이트에 페이지 요청을 제출하여 피해를 입히거나 민감한 데이터를 공개하는 공격 형태입니다. CSRF 공격으로부터 보호하려면 다음을 추가해야 합니다. "위조로부터 보호" 너의 ~에게 애플리케이션 컨트롤러. 이로 인해 Rails는 요청을 처리하기 위해 CSRF 토큰을 요구하게 됩니다. CSRF 토큰은 Rails 양식 빌더를 사용하여 생성된 모든 양식에 숨겨진 필드로 제공됩니다.


21) Rails의 Mixin이 무엇인지 설명해주세요.

Ruby의 Mixin은 다중 상속에 대한 대안을 제공합니다. mixin 모듈을 사용하면 다른 클래스 내부로 가져올 수 있습니다.


22) Ruby에서 인스턴스 변수, 전역 변수, 클래스 변수를 어떻게 정의하는지 설명해주세요.

  • Ruby 인스턴스 변수는 —로 시작합니다. @
  • Ruby 클래스 변수는 —로 시작합니다. @@
  • Ruby 전역 변수는 —로 시작합니다. $

23) 데이터베이스를 생성하지 않고 Rails 애플리케이션을 실행할 수 있는 방법을 설명해주세요.

Environment.rb에서 해당 줄의 주석 처리를 제거하여 애플리케이션을 실행할 수 있습니다.

경로=> 루트 경로 conf/environment.rb

config.frameworks = [ action_web_service, :action_mailer, :active_record]

24) Ruby on Rails의 관찰자와 콜백의 차이점은 무엇입니까?

  • 레일즈 관찰자: Observers는 Callback과 동일하지만, 메소드가 객체 생명주기와 직접 연관되지 않을 때 사용됩니다. 또한 관찰자의 수명이 길어지며 언제든지 분리하거나 부착할 수 있습니다. 예를 들어 UI에 모델의 값을 표시하고 사용자 입력에서 모델을 업데이트합니다.
  • 레일스 콜백: 콜백은 개체 수명 주기의 특정 순간에 호출할 수 있는 메서드입니다. 예를 들어 개체의 유효성 검사, 생성, 업데이트, 삭제 시 호출할 수 있습니다. 콜백은 수명이 짧습니다. 예를 들어 스레드를 실행하고 스레드가 종료될 때 호출되는 콜백을 제공합니다.

25) Rails에서 rake가 무엇인지 설명해주세요.

Rake는 Ruby Make입니다. Unix 유틸리티 'make'를 대체하고 'Rakefile' 및 '.rake 파일'을 사용하여 작업 목록을 작성하는 Ruby 유틸리티입니다. Rails에서 Rake는 스크립트를 통한 데이터베이스 마이그레이션, 데이터베이스에 스키마 로드 등과 같은 일반적인 관리 작업에 사용됩니다.


26) 애플리케이션의 모든 경로를 나열하는 방법을 설명하세요.

애플리케이션의 모든 경로를 나열하려면 터미널에 rake 경로를 작성할 수 있습니다.


27) Rails에서 스위퍼(sweeper)가 무엇인지 설명해주세요.

스위퍼는 모델 객체가 변경될 때 캐시를 만료하거나 종료하는 일을 담당합니다.


28) Ruby Rails에서 오류를 보고하기 위해 확인해야 하는 로그에 대해 언급해 주시겠습니까?

Rails는 log/Apache.log의 Apache 오류와 log/development.log의 Ruby 코드 오류를 보고합니다.


29) 동적 비계와 정적 비계의 차이점이 무엇인지 설명해주세요.

동적 비계 정적 비계
  • 런타임 시 전체 콘텐츠와 사용자 인터페이스를 자동으로 생성합니다.
  • 애플리케이션에서 사용할 신규, 삭제, 편집 메소드 생성이 가능합니다.
  • 동기화하는 데 데이터베이스가 필요하지 않습니다.
  • 해당 필드로 데이터를 생성하려면 명령에 수동 입력이 필요합니다.
  • 그러한 세대가 일어날 필요는 없습니다.
  • 데이터베이스를 마이그레이션해야 합니다.

30) Ruby on Rails의 가비지 수집 기능이 무엇인지 언급해 주세요.

Ruby on Rails의 가비지 수집 기능에는 다음이 포함됩니다.

  • 프로그램 실행이 끝날 때 남겨진 포인터 값을 제거할 수 있습니다.
  • 프로그래머가 런타임에 동적으로 생성되는 객체를 추적하지 않아도 됩니다.
  • 접근할 수 없는 객체를 메모리에서 제거하고 다른 프로세스가 메모리를 사용할 수 있도록 하는 이점을 제공합니다.

31) Ruby on Rails에서 리디렉션과 렌더링의 차이점은 무엇입니까?

  • Redirect는 브라우저에서 해당 페이지가 발행되지 않거나 발견되지 않는 경우 오류 메시지를 발행하는 데 사용되는 방법입니다. 브라우저에 새로운 요청을 처리하고 발행하도록 지시합니다.
  • 렌더(Render)는 콘텐츠를 만드는 데 사용되는 방법입니다. 렌더링은 렌더링이 필요한 변수로 컨트롤러가 올바르게 설정된 경우에만 작동합니다.

32) Rails에서 RJ의 목적이 무엇인지 언급해 주세요.

RJ는 AJAX 요청에 대한 응답으로 브라우저의 eval 블록에서 실행되는 JavaScript를 생성하는 템플릿입니다. 때로는 Rails에서 제공하는 JavaScript, 프로토타입 및 도우미를 정의하는 데 사용됩니다.


33) Ruby on Rails의 다형성 연관이 무엇인지 설명하세요.

다형성 연관을 통해 ActiveRecord 개체를 여러 ActiveRecord 개체와 연결할 수 있습니다. 다형성 연관의 완벽한 예는 사용자가 동영상, 사진, 링크, 상태 업데이트 등 어디에서나 댓글을 달 수 있는 소셜 사이트입니다. photos_comments, videos_comment 등과 같은 개별 댓글을 만들어야 한다면 불가능할 것입니다. .


34) Ruby on Rails의 한계는 무엇인지 언급해 주세요.

Ruby on Rails는 MVC를 사용하여 CRUD 웹 애플리케이션을 생성하도록 설계되었습니다. 이로 인해 Rails가 다른 프로그래머에게는 유용하지 않을 수 있습니다. Rails가 지원하지 않는 기능 중 일부는 다음과 같습니다.

  • 데이터베이스의 외래 키
  • 한 번에 여러 데이터베이스에 연결
  • 비누 웹 서비스
  • 여러 데이터베이스 서버에 동시에 연결

35) super() 호출과 super 호출의 차이점이 무엇인지 언급해 주세요.

  • 감독자(): 예상대로 super() 호출은 인수 없이 상위 메소드를 호출합니다. 언제나 그렇듯, 코드를 명시적으로 작성하는 것은 좋은 일입니다.
  • 슈퍼콜: super를 호출하면 하위 메소드에 전달된 것과 동일한 인수를 사용하여 상위 메소드가 호출됩니다. 따라서 자식 메서드에 전달된 인수가 부모가 기대하는 것과 일치하지 않으면 오류가 발생합니다.

36) Dig, Float, Max에 대해 설명해주세요.

  • Float 클래스는 함수가 지속적으로 변경될 때마다 사용됩니다.
  • Dig는 부동소수점을 십진수로 표현하려고 할 때마다 사용됩니다.
  • Max는 Float가 많이 필요할 때마다 사용됩니다.

37) Ruby 정규식을 어떻게 정의할 수 있는지 설명해주세요.

Ruby 정규식은 다른 문자열을 일치시키거나 찾는 데 도움이 되는 특수 문자 시퀀스입니다. 정규식 리터럴은 임의의 구분 기호나 슬래시 뒤에 %r이 오는 패턴입니다.


38) 정의된 연산자가 무엇인지 설명해주세요.

정의 연산자는 전달된 표현식이 정의되었는지 여부를 나타냅니다. 표현식이 정의되면 설명 문자열을 반환하고 정의되지 않으면 null 값을 반환합니다.


39) Ruby의 몇 가지 기능을 나열해 보세요.

  • 자유 형식 – 프로그램의 모든 행과 열에서 쓰기를 시작할 수 있습니다.
  • 대소문자 구분 – 대문자와 소문자는 구분됩니다.
  • 주석 – 뒤에 따옴표가 없는 모든 내용 #, 그것이 나타나는 줄 끝까지는 인터프리터에 의해 무시됩니다.
  • 명령문 구분 기호 - 한 줄에 있는 여러 명령문은 세미콜론으로 구분해야 하지만, 줄 끝에는 필요하지 않습니다.

40) Ruby Class에서 사용할 수 있는 변수 유형에 대해 언급해 주세요.

Ruby Class에서 사용할 수 있는 변수 유형은 다음과 같습니다.

  • 지역 변수
  • 글로벌 변수
  • 클래스 변수
  • 인스턴스 변수

41) Ruby에서 블록을 어떻게 선언할 수 있는지 설명해주세요.

Ruby에서 블록의 코드는 항상 중괄호({})로 묶입니다. “yield 문”을 사용하여 블록을 호출할 수 있습니다.


42) put과 putc 문의 차이점이 무엇인지 설명해주세요.

전체 문자열을 화면에 출력하는 puts 문과 다릅니다. Putc 문을 사용하면 한 번에 한 문자씩 출력할 수 있습니다.


43) Ruby의 클래스 라이브러리가 무엇인지 설명해주세요.

Ruby 클래스 라이브러리는 스레드 프로그래밍, 데이터 유형, 다양한 도메인 등과 같은 다양한 도메인으로 구성됩니다. 이러한 클래스는 높은 수준의 추상화에서 유연한 기능을 제공하여 다양한 문제에 유용한 강력한 Ruby 스크립트를 생성할 수 있는 기능을 제공합니다. 도메인. 관련 클래스 라이브러리가 있는 다음 도메인은 다음과 같습니다.

  • GUI 프로그래밍
  • 네트워크 프로그래밍
  • CGI 프로그래밍
  • 텍스트 처리

44) Ruby에서는 정의된 연산자에 대해 설명합니다.

정의된 연산자는 전달된 식이 정의되었는지 여부를 알려줍니다. 표현식이 정의되지 않은 경우 null을 제공하고 표현식이 정의된 경우 설명 문자열을 반환합니다.


45) @@name과 @name이라는 두 변수의 범위 차이가 무엇인지 언급해 주세요.

이 두 변수의 범위 차이는 다음과 같습니다.

  • @@name은 클래스 변수입니다.
  • @name은 인스턴스 변수입니다.

46) Ruby 수집 Iterator의 구문이 무엇인지 언급해 주세요.

Ruby 수집 반복자의 구문은 collection = collection.collect입니다.


47) Ruby 코드에서는 코더가 다음과 같은 표현식을 사용하는 간단한 형식을 사용하는 것이 종종 관찰됩니다. 정렬array.map { |element| 대신 .map(&:method_name) 요소.방법_이름 }. 이 트릭은 실제로 어떻게 작동합니까?

매개변수 앞에 "&"가 붙어서 전달되는 경우. Ruby는 블록으로 사용할 수 있도록 하기 위해 to_proc를 호출합니다. 따라서 to_Proc 기호는 전달된 모든 항목에 대해 해당 이름의 메서드를 호출합니다. 따라서 우리의 속기 트릭이 작동하는 데 도움이 됩니다.


48) Ruby에서 Interpolation이 무엇인지 설명해주세요.

Ruby 보간은 문자열을 리터럴에 삽입하는 프로세스입니다. {} 여는 괄호와 닫는 대괄호 안에 해시(#)를 배치하면 문자열을 리터럴에 삽입할 수 있습니다.


49) Ruby에서 클래스 변수를 표시하는 데 사용되는 표기법이 무엇인지 언급하세요.

루비에서는

  • 상수는 대문자로 시작해야 하며 메서드 내부에서 정의하면 안 됩니다.
  • 로컬은 _ 밑줄 기호 또는 소문자로 시작해야 합니다.
  • 전역 변수는 $ 기호로 시작해야 합니다. 초기화되지 않은 전역 변수는 "nil" 값을 가지며, 모집 경고. 프로그램의 어느 곳에서나 참조할 수 있습니다.
  • 클래스 변수는 이중 @@으로 시작해야 하며 메서드 정의에 사용되기 전에 먼저 초기화되어야 합니다.

50) Procs와 Blocks의 차이점이 무엇인지 언급해 주세요.

프록스와 블록의 차이점,

  • Block은 메소드 구문의 일부일 뿐이며 proc은 블록의 특성을 갖습니다.
  • 프록은 객체이고 블록은 객체가 아닙니다.
  • 인수 목록에는 최대 하나의 블록이 나타날 수 있습니다.
  • 블록만 변수에 저장할 수 없지만 Proc은 변수에 저장할 수 있습니다.

51) 작은따옴표와 큰따옴표의 차이점이 무엇인지 언급해 주세요.

작은따옴표로 묶인 문자열은 ASCII 이스케이프 코드를 처리하지 않으며 문자열 보간을 수행하지 않습니다.


52) Ruby에서 gem과 플러그인의 차이점이 무엇인지 언급해 주세요.

  • 보석: 보석은 단지 루비 코드일 뿐입니다. 이는 컴퓨터에 설치되며 해당 컴퓨터에서 실행되는 모든 Ruby 응용 프로그램에서 사용할 수 있습니다.
  • 플러그인: 플러그인도 루비 코드이지만 애플리케이션 폴더에 설치되며 해당 특정 애플리케이션에서만 사용할 수 있습니다.

53) 확장과 포함의 차이점이 무엇인지 언급하세요.

"include"는 모듈의 메서드를 클래스 인스턴스에서 사용할 수 있게 만들고, "extend"는 이러한 메서드를 클래스 자체에서 사용할 수 있게 만듭니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

댓글 14

  1. 화신 하사누자만 수몬 말한다 :

    수율은 함수가 아닙니다. 블록 실행에 사용되는 Ruby 키워드입니다.

    1. 화신 테리 레이 말한다 :

      특히 Yield는 매개변수로 명시적으로 전달된 블록(예: def my_method(&my_block))에 스레드(Main.thread일 가능성이 높음) 제어를 전달하거나 다음과 같이 블록이 암시적으로 전달될 수 있습니다.

      my_class.my_method 수행
      # 이 블록의 코드는 호출 메서드 내부로 전달됩니다.
      end

  2. 화신 소누 말한다 :

    아주 좋아요… 계속하세요

  3. 화신 라자크 말한다 :

    훌륭한 콘텐츠!

  4. 호르헤 아르만도 말한다 :

    질문 #6에는 Ruby에는 "Boolean" 클래스가 없으므로 "Boolean 유형"도 없습니다. TrueClass와 FalseClass만 있습니다.

    1. 알렉스 실버맨 알렉스 실버맨 말한다 :

      업데이트되었습니다.

  5. 화신 테리 레이 말한다 :

    실제로 Thread.main… 내 나쁜 :)

  6. 화신 test 말한다 :

    Ruby는 Python에서 영감을 받은 것이 아니라 다음(Perl, Smalltalk, 에펠, Ada, BASIC 및 Lisp)에서 영감을 받았습니다.

    1. 알렉스 실버맨 알렉스 실버맨 말한다 :

      업데이트되었습니다.

  7. 화신 무닉 말한다 :

    루비와 레일의 멋진 모습

  8. 화신 마지드 말한다 :

    6) nil.object_id는 8과 같습니다.

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *