하나의 인스턴스만 가질 수 있는 클래스를 만들고 싶었던 적이 있습니까? 예? 아니? 아마도? 음... 이것이 바로 싱글톤 패턴입니다. 입니다. 문제가 없습니다. 그러나 어떤 사람들은 이것을 나쁜 디자인에 대한 변명으로 사용할 수 있기 때문에 이것을 안티 패턴이라고 부릅니다. 작동 방식을 배울 수 있도록 코드 예제를 살펴보겠습니다. 싱글톤 패턴 코드 예 싱글톤 패턴의 개념은 하나의 인스턴스만 있는 클래스를 원한다는 것입니다. 방법은 다음과 같습니다. : new 비공개 방법 instance라는 클래스 메서드를 정의합니다
Ruby 코드에 대해 친구와 채팅을 하다가 반환 값에 대한 주제가 나왔습니다... ...물론 nil 항상 대화의 일부입니다. 그날 늦게 나는 잠을 자려고 침대에 누워 왜 nil을 사용할까 생각했습니다. ? 나는 다음 날 이것에 대해 쓰는 것이 좋을 것이라고 생각했고, 여기에 내가 있습니다. 이 내용이 흥미롭고 새로운 내용을 배우시기 바랍니다. 반환 값 및 예상 동작 select와 같은 메소드를 호출할 때 항상 배열을 얻게 됩니다. 선택 항목이 없더라도. 예 : [1,2,3].select {} # [] [1,2,3].s
지난 기사에 이어 왜 우리는 nil을 사용합니까? 우리가 당연하게 여기는 다른 것들에 대해 이 질문을 하는 것이 좋은 생각이라고 생각했습니다. 좋아요... 왜 우리는 못생긴 코드의 거대한 덩어리 하나 대신 클래스를 사용합니까? 기본적인 수준에서 우리는 클래스를 사용하여 코드와 데이터를 논리 단위로 구성합니다. 하지만 그 이상의 것이 있습니다. 클래스를 사용하면 추상화를 만들 수 있습니다. . 추상화란 무엇입니까? 당신은 매일, 매분 추상화를 사용합니다. 키보드 다음으로 구성되어 있습니다. 케이블 Cherry MX 블랙
키워드 인수를 언제 사용해야 하는지에 대한 의견을 묻는 이메일을 받았습니다. 모든 사람이 혜택을 받을 수 있도록 답변을 Ruby 메서드 인수에 대한 전체 기사로 확장해야 한다고 생각했습니다. ! Ruby는 메소드 인수와 관련하여 매우 유연합니다. 모든 것을 갖추고 있습니다 : 표준 필수 인수에서 선택적 인수 및 키워드(명명된) 인수까지. 이 문서에서는 차이점에 대해 배우게 됩니다 이러한 모든 인수 유형과 상황에 따라 사용할 수 있습니다. 올바른 종류의 인수를 사용하면 코드를 더 쉽게 읽고 작업할 수 있습니다. 의심스러운
Ruby에는 흥미로운 연산자가 많이 있습니다. 좋아요 : 우주선 연산자(<=> ) 모듈로 할당 연산자(%= ) 삼중 등호(=== ) 연산자 보다 큼(> ) 및 미만(< ) 같지 않음(!= ) 이러한 연산자 중 상당수가 실제로 Ruby 메서드라는 사실을 깨닫지 못할 수도 있습니다. . 이것은... 그들이 하는 일을 덮어쓰고 이를 사용하여 자신의 클래스에서 사용자 정의 동작을 정의할 수 있습니다. 예를 들어, ==를 정의하여 같은 클래스의 두 객체를 비교하는 방법을 Ruby에게 알려줄 수 있습니다.
RSpec을 사용하여 Ruby 애플리케이션에 대한 테스트를 작성하는 방법을 배우고 싶습니까? 그렇다면 올바른 위치에 있습니다 ! 이 튜토리얼에서는 그 방법을 보여 드리겠습니다. 내용 1 왜 테스트를 작성해야 합니까? 1.0.1 오류에 대한 안전망을 구축합니다(특히 리팩토링에 유용). 1.0.2 코드를 문서화하는 데 도움이 됩니다. 1.0.3 피드백 루프 제공 1.0.4 코드가 예상한 결과를 생성하는지 확인하는 데 도움이 됩니다. 1.0.5 Ruby 작업을 시작하는 데 도움이 됩니다. 2 RSpec 시작하기 3 RSp
웹사이트에서 정보를 얻고 싶거나 양식 제출, 파일 업로드 등을 원하시면 HTTP 요청을 보낸 다음 응답을 처리해야 합니다. 이 문서에서는 다음을 수행하는 방법을 배우게 됩니다. : net/http를 사용하여 간단한 HTTP 요청 만들기 SSL 요청 보내기 POST 요청을 사용하여 데이터 제출 맞춤 헤더 보내기 상황에 가장 적합한 HTTP 클라이언트 선택 해보자! HTTP 요청을 보내는 방법 Ruby는 내장된 http 클라이언트와 함께 제공되며 net/http라고 하며 이를 사용하여 필요한 모든 종류의 요청을 보낼 수 있습
루비 세트란 무엇인가요? 집합은 배열과 같은 항목을 저장하는 클래스입니다... 그러나 10배 더 빠르게 만드는 몇 가지 특별한 속성이 있습니다. 특정 상황에서! 게다가: 세트의 모든 항목은 고유함을 보장합니다. . 이 Ruby 튜토리얼에서는 다음을 배우게 됩니다. 최대의 효과를 위해 세트를 사용하는 방법 및 시기 집합과 배열의 차이점! 유용한 설정 방법 목록 시작하겠습니다! 루비 세트 예시 세트는 고유한 항목 목록을 생성하는 데 도움이 되는 Ruby 클래스입니다. . 다음은 이것이 얼마나 유용한지 보여주는 예입니다
N-Queens는 N * N 보드에 N 퀸을 배치해야 하는 흥미로운 코딩 챌린지입니다. . 다음과 같습니다. 여왕은 모든 방향으로 이동할 수 있습니다. 세로 가로 대각선 솔루션(많을 수 있음)은 모든 퀸을 보드에 배치해야 합니다. &모든 여왕은 다른 모든 여왕의 손이 닿지 않는 곳에 있어야 합니다. 이 기사에서는 제가 어떻게 솔루션을 생각해 냈는지 배우게 될 것입니다. 계획 이러한 종류의 문제를 해결할 때 시작하기 좋은 곳은 계획을 평범한 영어로 작성하는 것입니다. 이렇게 하면 문제가 무엇인지 및 해결 단계를 명확
모든 Rails, Sinatra 및 기타 Ruby 웹 프레임워크의 배후에서 무슨 일이 일어나고 있나요? 이를 가능하게 하는 핵심 구성요소인 랙이 답입니다. 하지만 Rack이 정확히 무엇인가요? Rack은 프레임워크(Rails)와 애플리케이션 서버(Puma) 사이의 레이어입니다. 그들이 소통할 수 있게 해주는 것은 접착제입니다. 랙을 사용하는 이유 랙을 사용하면 서로 다른 프레임워크와 서버를 교체할 수 있기 때문입니다. 플러그인할 수 있는 구성요소가 됩니다. . 즉, Rails, Sinatra 및 기타 랙 호환 프레
슈퍼 키워드는 Ruby에서 무엇을 합니까? super를 호출하는 메서드와 이름이 같은 부모 클래스의 메서드를 호출합니다. . 예를 들어 : i_like_chocolate라는 메서드를 호출하면 , 그런 다음 super를 호출합니다. 해당 메서드 내에서 Ruby는 이 메서드를 소유한 사람의 부모 클래스에서 같은 이름을 가진 다른 메서드를 찾으려고 시도합니다. 이는 일반 메서드 호출처럼 클래스 조상 체인을 통해 계속 버블링됩니다. . 메서드가 존재하지 않으면 NoMethodError가 트리거됩니다. 예외 및 method_miss
정수로 작업하지만 문자열 메서드(예:gsub ) 대신 무엇을 할 수 있나요? 문자열로 변환합니다(to_s 사용). ) 그런 다음 다시 정수로 변환합니다( to_i 사용). ). 예를 들어 : Integer를 변환할 수 있습니다. String에 1 1. 그런 다음 새 클래스의 메서드를 사용할 수 있으므로 이전에는 불가능했던 작업을 수행할 수 있습니다. Ruby에서 기억하세요... 모든 개체는 클래스와 연결되며 모든 클래스에는 특정 메서드 집합이 있습니다. 이 문서에서 배울 내용은 : Ruby에서 사용할 수 있는 변환
루비 보석이란 무엇입니까? gem은 다운로드하여 설치할 수 있는 패키지입니다. 설치된 gem이 필요할 때 Ruby 프로그램에 추가 기능을 추가하는 것입니다. 보석을 사용하면 : Rails 앱에 로그인 기능 추가 외부 서비스(예:API)로 쉽게 작업 웹 애플리케이션 구축 이것은 단지 몇 가지 예일 뿐입니다. 모든 보석에는 고유한 목표가 있습니다. 보석을 사용하는 이유는 무엇입니까? Ruby에서 라이브러리 및 도구를 공유하는 방법입니다. Gem의 파일 구조 및 형식을 통해 작동 방식을 쉽게 이해할 수 있습니다. 모든 ge
이 문서는 Ruby의 메서드 위임에 관한 것입니다. delegate을 사용하는 방법을 배우게 됩니다. 메소드, Forwardable 모듈 및 SimpleDelegator 수업. 위임이 필요한 이유 ? 객체 지향 프로그래밍에서는 클래스가 함께 작동하는 두 가지 방법이 있습니다. 그들은 : 상속 구성 상속을 사용하면 부모 클래스가 상속받은 모든 클래스와 메서드, 상수 및 인스턴스 변수 정의를 공유하는 클래스 계층 구조를 만들 수 있습니다. 예를 들어 : Ruby에서 모든 객체는 Object에서 상속됩니다. 기본적으로 클
Ruby의 private 메소드란 무엇인가요? 정의된 클래스 내부에서만 호출할 수 있는 메서드 유형입니다. 이를 통해 메소드에 대한 액세스를 제어할 수 있습니다. Ruby 메소드는 : 비공개 공개(기본값) 보호 기본적으로 모든 메소드는 public입니다. . 누구나 사용할 수 있습니다! 그러나 메소드를 private로 만들어서 이것을 변경할 수 있습니다. 또는 protected . 이것이 유용한 이유는 무엇입니까? 이러한 방법을 더 쉽게 변경할 수 있기 때문입니다. 직장에서 몇 가지 다른 프로젝트에서 사용할 코
Map은 Arrays, Hashes &Ranges와 함께 사용할 수 있는 Ruby 메서드입니다. 지도의 주요 용도는 데이터를 변환하는 것입니다. 예를 들어 : 문자열 배열이 주어지면 모든 문자열을 살펴보고 모든 문자를 대문자로 만들 수 있습니다. 또는 User 목록이 있는 경우 개체... 변환할 수 있습니다. 해당 이메일 주소, 전화번호 또는 기타 속성 목록에 추가 User에 정의됨 수업. 정확히 어떻게 하는지 봅시다! 루비 맵 구문 map 구문은 다음과 같습니다. array = [a, b, c] array.map
Ruby on Rails(때로는 RoR)는 가장 인기 있는 오픈 소스 웹 애플리케이션 프레임워크입니다. Ruby 프로그래밍 언어로 제작되었습니다. 간단한 것부터 복잡한 것까지 Rails를 사용하여 애플리케이션을 구축할 수 있습니다. Rails로 수행할 수 있는 작업에는 제한이 없습니다! 프레임워크란 무엇입니까? 프레임워크는 소프트웨어를 작성할 때 작업할 특정 구조를 제공하는 코드, 도구 및 유틸리티의 모음입니다. 이 구조는 코드를 보다 체계적으로 만듭니다. 올바르게 사용하는 법을 배우면 작업이 쉬워집니다. Rails는
grep에 대해 이야기해 봅시다. 방법. 이 방법으로 무엇을 할 수 있나요? Grep을 사용하여 배열 및 범위와 같은 열거 가능한 개체를 필터링할 수 있습니다. 하지만 select는 이미 하고 있습니다! 예, 하지만 grep은 다른 방식으로 작동하며 다른 결과를 생성합니다. 몇 가지 예를 살펴보겠습니다. Ruby Grep 메소드 예 주어진 배열: objects = [a, b, c, 1, 2, 3, nil] grep을 사용하여 문자열만 가져올 수 있습니다. : objects.grep(String) # [a, b,
오늘은 요소 배열, 해시 또는 Enumerable 모듈을 포함하는 기타 개체에 대해 조건문을 확인하는 데 도움이 되는 4가지 Enumerable 메서드에 대해 배웁니다. 이 4가지 메서드는 true를 반환합니다. 또는 false . 내용 1 Ruby 모든 방법 전체 및 빈 배열 2개 3 Ruby 없음 메서드 4 Ruby Any 메소드 5 Ruby One 메서드 6 새로운 Ruby 2.5 기능 7 요약 7.1 관련 해보자! 루비 올 메소드 배열 안의 모든 문자열이 특정 크기를 가지고 있는지 확인하고 싶다면. 이렇게
CSV는 쉼표로 구분된 값을 나타냅니다. 쉼표로 구분된 값이 있는 행으로 구성된 일반적인 데이터 형식입니다. 데이터 내보내기 및 가져오기에 사용됩니다. 예를 들어 : Gmail 연락처를 CSV 파일로 내보낼 수 있으며 동일한 형식을 사용하여 가져올 수도 있습니다. CSV 파일의 모양 : id,name 1,chocolate 2,bacon 3,apple 4,banana 5,almonds 이제 Ruby CSV 라이브러리를 사용하는 방법을 배우게 됩니다. CSV 파일을 읽고 쓸 수 있습니다. 루비 CSV 파싱 Ruby에는 C