RSpec에서 모의(mock)란 무엇입니까? (또는 이것은 RSpec 고유의 개념이 아니기 때문에 일반적으로 모의입니다.) 모의는 테스트에 사용되는 개체입니다. . 모의 객체를 사용하여 두 객체 간의 상호 작용을 테스트합니다. 일반적인 기대에서와 같이 출력 값을 테스트하는 대신. 예를 들어 : 이미지를 뒤집는 API를 작성 중입니다. 자신의 이미지 조작 코드를 작성하는 대신 mini_magick과 같은 gem을 사용합니다. . 코드와 이 외부 종속성 간의 상호 작용을 테스트하려고 합니다. ... 따라서 ImageProc
Ruby에서 인쇄하는 방법에는 여러 가지가 있습니다. 가장 유용한 정보 : 넣다 인쇄 p 하지만 어떻게 다른가요? 그리고 언제 둘 중 하나를 사용해야 하는지 ? 이것이 이 기사에서 배우게 될 내용입니다! 줄 바꿈 없이 인쇄하는 방법 사용자가 볼 수 있도록 화면에 무언가를 인쇄하려면 일반적으로 puts를 사용합니다. . 좋아요 : puts Hello there! Puts는 사용할 때마다 메시지 끝에 자동으로 새 줄을 추가합니다. 줄 바꿈을 원하지 않으면 print를 사용하세요. . 예 : print 123
Ruby에 이 defined? 변수 정의 여부를 확인할 수 있는 키워드입니다. 변수가 존재하는 경우 해당 유형을 가져옵니다. : apple =1defined?(apple)# 로컬 변수 그렇지 않으면 0이 됩니다. : 정의됨?(베이컨)# 없음 이것은 자바스크립트의 typeof와 같습니다. 운영자. 객체의 클래스를 알고 싶다면 class를 사용하세요. 대신 방법입니다. 몇 가지 흥미로운 점: defined? 키워드입니다. , 메서드가 아님 defined? 물음표로 끝나는 Ruby의 몇 안 되는 항목 중 하나이지만 true를
코딩 도전은 Ruby 및 문제 해결 기술을 향상시키는 훌륭한 방법입니다. 그리고 코딩 인터뷰를 준비하기 위해 ! 왜? 도전하는 동안 1개의 특정 문제를 해결하는 데 모든 집중을 하기 때문입니다. 다른 것은 걱정할 필요가 없습니다. 이런 종류의 연습은 사고 능력을 확장하고 흥미로운 언어 기능을 탐색할 수 있게 해줍니다. 더 나은 Ruby 개발자가 되십시오. 이러한 문제 중 일부는 수학 트릭과 같은 컴퓨터 알고리즘, 데이터 구조 또는 개념에 대한 전문 지식이 필요합니다. 이 중 대부분을 해결할 수 없어도 괜찮습니다. 걱정하
이 문서는 속성 접근자(attr_accessor ) 루비에서. 바쁘시다면 아래로 스크롤하세요. 다음을 설명하는 것으로 시작하고 싶기 때문입니다. 속성 접근자를 사용하는 이유 ! 인스턴스 변수가 있는 클래스가 있고 이를 외부 세계에 노출하려고 한다고 가정해 보겠습니다. 어떻게? 메소드를 정의해야 합니다. 메서드만 인스턴스 변수에 액세스할 수 있습니다. 왜? 이렇게 하지 않으면 오류가 발생하기 때문입니다. 예시 : class Food def initialize(protein) @protein = prote
ERB는 템플릿 엔진입니다. 템플릿 엔진을 사용하면 HTML과 Ruby를 혼합할 수 있습니다. 데이터베이스의 데이터를 사용하여 웹페이지를 생성할 수 있습니다. ERB는 뷰를 렌더링하기 위한 Rails의 기본 엔진입니다. 참고:Rails는 ERB 대신 erubi라는 구현을 사용합니다. Ruby 표준 라이브러리의 클래스입니다. 이 기사의 뒷부분에서 배우겠지만 ERB를 사용하기 위해 Rails가 필요하지 않습니다. 하지만 먼저 : ERB의 구문, Ruby 프로젝트에서 ERB를 사용하는 방법 및 HAML과 같은 다른 템플릿
새로운 기능과 성능 개선을 갖춘 새로운 버전의 Ruby가 출시됩니다. 변경 사항을 확인하시겠습니까? 한 번 봅시다! 무한 범위 Ruby 2.5 및 이전 버전은 이미 한 가지 형태의 무한 범위를 지원합니다(Float::INFINITY 포함). ), 그러나 Ruby 2.6은 이를 다음 단계로 끌어 올립니다. 새로운 무한 범위 다음과 같습니다. (1..) (1..10) 와 같은 종료 값이 없기 때문에 일반 범위와 다릅니다. . 사용 예 : [a, b, c].zip(1..) # [[a, 1], [b, 2], [c, 3]]
다음 두 가지 방법으로 Ruby 메서드에 대체 이름을 지정할 수 있습니다. 별칭(키워드) 별칭_메서드 그들은 약간 다른 방식으로 같은 일을 하기 때문에 이것은 혼란스러운 주제가 될 수 있습니다. 이 이미지는 차이점을 요약한 것입니다. : 확실한 이해를 위해 이러한 차이점을 더 자세히 살펴보겠습니다! 별칭 키워드 먼저 alias가 있습니다. , Ruby 키워드(예:if , def , class 등) 이렇게 생겼어요 : alias print_something puts print_something 1 이제 prin
Ruby의 성능은 버전이 거듭될수록 많이 개선되고 있습니다. Ruby 개발 팀은 Ruby를 더욱 빠르게 만들기 위해 모든 노력을 기울이고 있습니다! 이러한 노력 중 하나가 3×3 프로젝트입니다. 목표? Ruby 3.0은 Ruby 2.0보다 3배 빠릅니다. . 이 프로젝트의 일부는 이 기사의 주제인 새로운 MJIT 컴파일러입니다. MJIT 설명 MJIT는 Method Based Just-in-Time Compiler의 약자입니다. 그게 무슨 뜻인가요? Ruby는 코드를 YARV 명령어로 컴파일합니다. , 이 지침은 Rub
Ruby에서 객체를 복사할 수 있다는 사실을 알고 계셨습니까? 뿐만 아니라 이를 수행하는 두 가지 다른 방법이 있습니다! 이러한 방법은 : dup clone 잠시 후 차이점을 살펴보겠지만 먼저… 개체를 복제하려는 이유는 무엇입니까? ? Ruby의 많은 객체는 변경 가능하므로 변경할 수 있습니다. 개체를 변경하고 싶지만 원본의 복사본을 유지하려는 경우 복제할 수 있습니다. 예를 들어. 첫 번째 요소를 제외한 모든 요소가 포함된 배열을 원할 수 있습니다. 한 가지 방법 : a =[1,2,3,4,5]a[1..-1]#
이단이란 무엇입니까? heredoc은 원래 들여쓰기 및 서식을 유지하면서 여러 줄 문자열을 정의하는 방법입니다. . SQL 또는 HTML과 같은 코드 스니펫을 삽입하는 데 사용됩니다. 예시 : query = <<-SQL SELECT * FROM food WHERE healthy = true SQL 이 구문을 사용하여 heredoc을 정의합니다. 루비에서. <<- 기호로 시작합니다. , 이 heredoc의 이름을 나타내는 단어, heredoc 내용, 다음 줄에 해당 단어로 heredoc을 닫습니다. 이를 수행
Ruby에서 외부 명령을 실행하려면... ...예:wkhtmltopdf HTML 파일을 PDF로 변환합니다. 사용할 수 있는 몇 가지 Ruby 메서드가 있습니다. 사용하는 방법에 따라 다른 결과를 얻을 수 있습니다 . 이 방법들을 함께 살펴봅시다! 루비 시스템 방법 Ruby 시스템 방식은 외부 명령을 실행하는 가장 간단한 방법입니다. 이렇게 생겼어요 : system(ls) system 발생하는 대로 명령 출력을 인쇄합니다. 또한 시스템은 Ruby 프로그램이 명령이 완료될 때까지 기다리게 합니다. . 이것을 시도하
오늘은 상태 머신, 작동 방식 및 AASM gem을 사용하여 Ruby 프로젝트에서 사용하는 방법에 대해 알아보겠습니다. 지금 : 신호등을 상상해보세요... 빨간색, 녹색 또는 노란색일 수 있습니다. 색상이 바뀌면 다음 색상은 현재를 기반으로 합니다. 하나. 시각 장애인이 언제 건널 수 있는지 알 수 있도록 소리를 내는 종류라고 가정해 보겠습니다. 지금 : 당신은 이것을 위한 소프트웨어를 작성하고 있습니다. 매번 어떤 소리를 재생하고 다음에 어떤 색상을 내야 하는지 어떻게 알 수 있나요? 다음과 같은 if 문을 작
REPL은 Read-Eval-Print-Loop의 약자입니다. Ruby 코드를 입력하고 결과를 직접 확인할 수 있는 프로그램입니다. . 인기 있는 REPL 중 하나는 irb입니다. . 다른 하나는 pry입니다. . 일부 Ruby 코드의 작동 방식을 빠르게 테스트할 수 있기 때문에 유용합니다. 예를 들어 : 문자열 배열을 정수 배열로 변환하려는 경우. 방법이 정확히 기억나지 않을 수 있습니다. … 당신은 그것을 찾습니다(완벽하게 괜찮습니다!). 원하는 대로 작동할 때까지 REPL에서 시도해 보십시오. 그런 다음 이 코
Ruby 애플리케이션이 모든 종류의 외부 API를 사용하는 경우 느린 테스트 및 API 속도 제한 문제에 직면했을 것입니다. . 해결책은 무엇입니까? 클라이언트 라이브러리에서 HTTP 메서드를 수동으로 스텁하고 미리 결정된 응답을 반환할 수 있습니다. 하지만 그것은 많은 작업과 추한 코드입니다! 더 나은 솔루션은 Webmock + VCR과 같은 강력한 보석 조합을 사용하는 것입니다. . WebMock은 다음과 같은 일반적인 HTTP 라이브러리의 HTTP 요청을 가로챕니다. net/http 패러데이 레스트클라이언트 … 더
Ruby 애플리케이션에서 모든 종류의 이미지로 작업하는 경우 어떤 식으로든 이미지를 변경하고 싶을 가능성이 큽니다. 사용자를 위해 공간을 절약하고 더 빠른 다운로드를 위해 크기를 조정하는 것과 같습니다. 하지만 어떻게 할 수 있죠? MiniMagick은 당신을 도울 수 있는 보석입니다. ImageMagick 프로그램과 Ruby 코드 간의 인터페이스입니다. 이미지에 모든 종류의 변형을 적용하여 필요에 맞게 사용자 지정할 수 있습니다! 첫 번째 : ImageMagick을 설치해야 합니다. 운영 체제 패키지 관리자를 사용하
많은 사람들은 Ruby가 웹 애플리케이션이 아닌 일을 할 수 있다는 사실을 잊습니다. 이 기사에서는 이 문제를 해결하는 데 도움이 되는 명령줄 응용 프로그램을 빌드하는 방법을 보여 드리고자 합니다! 다음은 익숙할 수 있는 몇 가지 명령줄 응용 프로그램입니다. psql rails bundler gem git 명령줄 응용 프로그램을 구축하는 방법에는 여러 가지가 있으며 이 기사에서는 그 중 세 가지에 중점을 둘 것입니다. 배울 내용 : ARGV 어레이 OptParse 라이브러리 토르의 보석 시작하겠습니다! Rub
이 기사에서는 Ruby 검사 방법의 작동 방식과 이 방법을 사용하는 이유에 대해 설명합니다. 문자열이나 배열을 인쇄하면 내용이 표시됩니다. 예 : 입력 [1,2,3]123 하지만 자신의 개체를 인쇄할 때... 이거 보여요 : # 왜? Ruby에게 이 클래스를 합리적인 방식으로 표시하는 방법을 알려주지 않았기 때문입니다. to_s와 같은 메소드를 정의하면 이것을 변경할 수 있습니다. . 어떻게 작동하는지 봅시다! to_s 구현 객체와 함께 put을 사용할 때 Ruby는 to_s 개체의 문자열 표현을 가져오는 메서드입
행렬은 스프레드시트와 같은 데이터를 저장하고 작업하는 데 사용할 수 있는 2D(2차원) 배열입니다. 다음 용도로 사용할 수 있습니다. : 테이블 게임(체스, 체커 등)에서 보드 표현 통계 및 데이터 분석 플롯 및 그래프 생성 이것은 강력한 데이터 구조이기 때문에 사용법을 배우는 데 도움이 됩니다. Ruby에서 행렬을 만드는 방법 배열로 행렬을 만들 수 있습니다. 좋아요 : matrix = [ [1,2,3], [4,5,6], [7,8,9] ] 이것은 3×3 행렬을 생성하며 2차원 데이터를 보드나 위치 집합으
좋은 프로그래머가 되려면 수학을 알아야 하나요? 따라 다릅니다! 하루 종일 CRUD 앱을 작성할 예정이라면 수학을 많이 알 필요가 없을 것입니다. 그러나 코딩 문제를 해결하고 코딩 인터뷰를 준비하는 것과 같이 더 흥미로운 일을 하고 싶다면 몇 가지 기본 개념을 배우는 것이 도움이 됩니다. 오늘 배울 내용 : 모듈로 연산자(% ) 숫자 체계 비트마스킹 이러한 개념을 Ruby에서 적용하는 방법을 배우게 되므로 실용적인 가이드가 될 것입니다. 해보자! 루비 모듈로 연산자 Ruby 모듈로 연산자는 다음과 같습니다. %