데이터베이스는 많은 애플리케이션의 핵심이며 데이터베이스에 문제가 있으면 심각한 성능 문제가 발생할 수 있습니다. ActiveRecord 및 Mongoid와 같은 ORM은 구현을 추상화하고 코드를 더 빠르게 전달하는 데 도움이 되지만 때로는 내부에서 실행 중인 쿼리를 확인하는 것을 잊어버립니다. bullet gem은 잘 알려진 데이터베이스 관련 문제를 식별하는 데 도움이 됩니다. N+1 쿼리:애플리케이션이 목록의 각 항목을 로드하기 위해 쿼리를 실행할 때 Unused Eager Loading:일반적으로 N+1 쿼리를 피하기 위해
2011년에 처음으로 Ruby 코드를 전문적으로 작성하기 시작했을 때 언어에 대해 가장 인상 깊었던 것 중 하나는 유연성이었습니다. Ruby와 함께라면 모든 것이 가능한 것처럼 느껴졌습니다. C# 및 Java와 같은 언어의 경직성에 비해 Ruby 프로그램은 거의 살아 있는 것처럼 보였습니다. . Ruby 프로그램에서 얼마나 많은 놀라운 일을 할 수 있는지 생각해 보십시오. 메소드를 마음대로 정의하고 삭제할 수 있습니다. 존재하지 않는 메소드를 호출할 수 있습니다. 당신은 허공에서 전체 이름 없는 클래스를 불러낼 수 있습니다. 정말
Ruby 애플리케이션의 메모리 팽창 문제는 자주 논의되는 주제입니다. 이 게시물에서는 Ruby 메모리 관리가 어떻게 잘못될 수 있는지, Ruby 애플리케이션이 중단되는 것을 방지하기 위해 무엇을 할 수 있는지 살펴보겠습니다. 먼저 애플리케이션 메모리의 맥락에서 팽창이 무엇을 의미하는지 이해해야 합니다. 뛰어들자! Ruby의 메모리 팽창이란 무엇입니까? 메모리 팽창은 명백한 설명 없이 애플리케이션의 메모리 사용량이 갑자기 증가하는 경우입니다. 이러한 증가는 빠르거나 빠르지 않을 수 있지만 대부분의 경우 계속됩니다. 일정 시간 동
다음과 같은 가상 시나리오를 상상해 보십시오. 임대 자산 관리 시스템에서 직원 A가 임대 X에 대한 연락처 정보 편집을 시작하고 몇 가지 추가 전화 번호를 추가합니다. 거의 같은 시간에 직원 B는 정확히 해당 Rental X의 연락처 정보에 오타를 발견하고 업데이트를 수행합니다. 몇 분 후 직원 A는 Rental X의 연락처 정보를 새 전화번호로 업데이트하고 ... 오타를 수정하는 업데이트는 이제 사라졌습니다! 그것은 확실히 좋지 않습니다! 그리고 이것은 아주 사소한 시나리오입니다. 금융 시스템에서 유사한 충돌이 발생한다고 상상해
아래 게시물은 2017년 Nate Berkopec의 GC.stat를 통한 Ruby GC 이해 기사를 기반으로 한 것으로 확인되었습니다. 이 기사의 일부가 표절된 것으로 보이며, 이는 원저자가 언급할 때까지 우리가 알지 못했던 것입니다. 우리는 게시하기 전에 모든 기사를 표절 도구를 통해 실행했지만 이를 선택하지 않았습니다. 이 실수에 대해 Nate와 독자들에게 큰 사과를 드립니다. 앱 성능을 완벽하게 제어하려면 Ruby에서 가비지 수집이 작동하는 방식을 이해하는 것이 중요합니다. 이 게시물에서는 Ruby에서 가비지 수집을 구현
프로덕션 환경에서 애플리케이션을 실행하고 유지 관리할 때 애플리케이션의 동작에 대해 확신을 갖고 예상대로 작동하지 않을 때를 알고 싶습니다. 최소한 우리는 애플리케이션 전체에서 오류를 추적하고, 성능을 모니터링하고, 특정 측정항목을 수집하기를 원합니다. 우리는 개발자이고 유지 관리 가능한 솔루션을 좋아하기 때문에(그렇습니까?), 모든 것을 추적하기 어렵게 만드는 도구, 통합 및 종속성이 뒤죽박죽이 되는 것을 원하지 않습니다. 이 게시물에서는 애플리케이션 동작에 대한 명확한 통찰력을 제공하는 데 도움이 되도록 Ruby on Rai
Rails 7이 바로 모퉁이에 있습니다. 확정된 릴리스 날짜는 없지만 크리스마스 전에 사용할 수 있을 것으로 예상되므로 얼마 남지 않았습니다. 이 게시물 게시 시점의 최신 버전은 7.0.0.rc1입니다. , 첫 번째 릴리스 후보입니다.Basecamp, HEY, Github 및 Shopify는 모두 프로덕션 단계에서 Rails 7 알파를 실행하고 있으므로 릴리스 후보도 꽤 안정적일 것으로 예상할 수 있습니다. 이 게시물에서는 Rails 7이 가져올 몇 가지 새로운 기능과 변경 사항을 살펴보겠습니다. 노드 및 웹팩이 필요하지 않음
아직 연말을 앞두고 계신가요? 잠시 시간을 내어 지난 1년 동안 최고의 Ruby 게시물을 돌아보는 것은 어떻습니까? 따라서 핫 초콜릿을 만들고 가장 포근한 담요를 껴안고 재능 있는 게스트 작가의 멋진 기사(우리 스스로 그렇게 말한다면!)를 찾아보십시오. 바로 들어가 봅시다! 2021년 상위 5개 Ruby 블로그 게시물 💎 RBS:새로운 Ruby 3 입력 언어 실행 몇 가지 실제 사례를 통해 Sorbet과 최근 출시된 RBS의 차이점과 유사점을 알아보세요. Ruby on Rails 애플리케이션에서 Webpacker 사용 — 심
두 부분으로 구성된 이 시리즈의 첫 번째 부분에서 Ruby on Rails 애플리케이션에서 즉시 사용할 수 있는 많은 유용한 정보를 위해 AppSignal을 설정하는 방법을 다루었습니다. AppSignal은 자동으로 오류를 추적하고 성능을 모니터링하며 일부 종속성에 대한 지표를 보고할 수 있습니다. 그러나 많은 경우에 각 애플리케이션은 서로 다른 방식으로 작동하므로 일반적인 모니터링 이상의 기능이 필요합니다. 이 게시물에서는 Ruby on Rails 애플리케이션에 사용자 지정 계측 및 모니터링을 추가하는 방법을 살펴보겠습니다.
루비에서 문자열 형식을 지정하는 방법에 대해 이야기해 보겠습니다. 문자열 형식을 지정하려는 이유는 무엇입니까? 숫자가 10 미만인 경우에도 선행 0을 사용하거나(예:01, 02, 03...) 콘솔 출력을 열 형식으로 멋지게 지정하는 것과 같은 작업을 수행할 수 있습니다. 다른 언어에서는 printf를 사용할 수 있습니다. 함수를 사용하여 문자열 형식을 지정하고 C를 사용한 적이 있다면 익숙할 것입니다. printf를 사용하려면 형식 지정자 목록과 변수 또는 값 목록을 정의해야 합니다. Ruby 문자열 포맷 시작하기 sprint
Ruby로 HTML을 구문 분석하려고 합니까? 이 작업은 적절한 도구가 없는 경우 다소 어려울 수 있습니다. . 하지만 오늘은 운이 좋았습니다! Ruby에는 Nokogiri라는 멋진 라이브러리가 있기 때문에 , HTML 구문 분석을 공원에서 산책하게 만듭니다. 몇 가지 예를 살펴보겠습니다. 먼저 nokogiri gem을 설치합니다. 함께: gem install nokogiri gem 설치에 문제가 있다면 다음을 시도하십시오: gem install nokogiri -- --use-system-libraries 제목
Ruby에서 난수 및 문자열을 생성하는 방법을 배우고 싶다면 바로 찾아오셨습니다. 그것이 바로 이 기사의 내용이기 때문입니다! 임의의 숫자로 임의의 요소를 선택할 수 있습니다 배열에서, 목록에서 승자 선택, 주사위 굴림 생성 등 Ruby에는 다양한 속성을 가진 난수를 생성하는 많은 방법이 있습니다. 예를 들어... rand 방법은 3가지 방법으로 사용할 수 있습니다. 인수 없이 rand 부동 소수점 0과 1 사이의 숫자 제공 (예:0.4836732493) 정수 사용 인수(rand(10) ) 0과 해당 숫자 사이의 새 정
Caesar cipher에 대해 들어본 적이 있습니까? ? Julius Caesar는 이 기술을 사용하여 적으로부터 비밀 메시지를 숨겼습니다! Caesar 암호는 가장 원시적인 암호화 기술 중 하나입니다. 이 시스템의 기본 아이디어는 문자를 회전하는 것입니다. x개의 알파벳 위치 . 예를 들어, x = 1 , A는 B가 되고 C는 D가 되는 식입니다. 그렇다면 이것을 코드로 어떻게 구현할까요? 당신이 물어봐서 다행입니다. 그것은 그것이 보이는 것만큼 어렵지 않다는 것이 밝혀졌습니다. 우리는 문자가 숫자(ASCII 코드
구문 분석은 일련의 문자열을 이해하고 우리가 이해할 수 있는 것으로 변환하는 기술입니다. 정규 표현식을 사용할 수 있지만 항상 작업에 적합한 것은 아닙니다. 예를 들어, 정규 표현식으로 HTML을 구문 분석하는 것은 좋은 생각이 아니라는 것은 상식입니다. Ruby에는 이 작업을 수행할 수 있는 nokogiri가 있지만 자신만의 파서를 구축하여 많은 것을 배울 수 있습니다. 시작하겠습니다! Ruby로 구문 분석 파서의 핵심은 StringScanner입니다. 수업. 이 클래스는 문자열의 복사본과 위치 포인터를 보유합니다. 포인터
Ruby에서 사용자 정의 네트워크 클라이언트 및 서버를 만들고 싶습니까? 아니면 어떻게 작동하는지 이해하시겠습니까? 그런 다음 소켓을 처리해야 합니다. 이 루비 네트워크 프로그래밍 둘러보기에 참여하세요. 기본 사항을 배우고 Ruby를 사용하여 다른 서버 및 클라이언트와 대화를 시작하세요! 소켓이란 무엇입니까? ? 소켓은 통신 채널의 끝점이며 클라이언트와 서버 모두 소켓을 사용하여 통신합니다. 작동 방식은 매우 간단합니다. : 연결이 설정되면 데이터를 소켓에 넣을 수 있으며 다른 쪽 끝으로 이동하여 수신기가 소켓에서 읽어
어레이란 무엇입니까? 배열은 기본 제공 Ruby 클래스로 0개 이상의 항목 목록을 보유합니다. , 그리고 이러한 모든 항목을 쉽게 추가, 액세스 및 반복하는 데 도움이 되는 메서드가 포함되어 있습니다. 배열이 존재하지 않으면 많은 변수를 사용해야 하기 때문에 이것은 유용합니다. 예 : a = 1 b = 2 c = 3 하지만 대신 할 수 있습니다. : numbers = [1, 2, 3] 가장 좋은 점은? 배열 안에 무엇이든 넣을 수 있습니다! 좋아요 : 숫자 문자열 더 많은 어레이! (다차원 배열이 됩니다)
오늘은 콘텐츠를 추출하고 새 파일을 만들고 필요한 정보를 찾을 수 있도록 Ruby에서 파일을 읽고 쓰는 방법을 배웁니다! 여기에서 다룰 내용입니다 : 내용 1 Ruby에서 파일을 읽는 방법 2 Ruby에서 파일에 쓰는 방법 3가지 Ruby 파일 메서드 4 디렉터리 작업 5 FileUtils 모듈 사용 방법 6 요약 6.1 관련 해보자! Ruby에서 파일을 읽는 방법 다음과 같이 Ruby에서 파일을 읽을 수 있습니다. 파일 열기 , open 방법. 파일 읽기 , 전체 파일, 한 줄씩 또는 특정 바이트 수. 파일 닫
Ruby 정규식(ruby regex 줄여서) 추가 처리를 위해 데이터를 추출할 목적으로 문자열 내부의 특정 패턴을 찾는 데 도움이 됩니다. 정규 표현식의 두 가지 일반적인 사용 사례에는 유효성 검사 및 구문 분석이 있습니다. 예를 들어 : ruby regex가 있는 이메일 주소를 생각해 보세요. 유효한 이메일 주소의 모양을 정의할 수 있습니다. 즉, 귀하의 프로그램은 유효한 이메일 주소와 유효하지 않은 이메일 주소를 구별할 수 있습니다. 루비 정규식은 두 개의 슬래시 사이에 정의됩니다. 다른 언어 구문과 구별하기 위해.
Ruby의 스레드란 무엇입니까? 스레드는 Ruby 프로그램이 동시에 여러 작업을 수행하도록 합니다. 예: : 여러 파일 읽기 여러 웹 요청 처리 여러 API 연결 만들기 스레드를 사용하면 작업을 더 빠르게 완료할 수 있는 다중 스레드 Ruby 프로그램을 갖게 됩니다. 하지만 하나의 경고... Ruby 애플리케이션을 실행하는 기본 방법인 MRI(Matz의 Ruby Interpreter)에서는 i/o 바운드 애플리케이션을 실행할 때만 스레드의 이점을 누릴 수 있습니다. . 이 제한은 GIL(Global Interprete
귀하의 프로그램은 처음에 원하는 것을 정확히 얼마나 자주 수행합니까? 많은 경우 프로그램이 예상대로 작동하지 않으므로 루비 디버깅 기술을 사용해야 합니다. 이유를 찾는 데 도움이 됩니다. 다음 오류 메시지에 익숙할 수 있습니다. undefined method some_method for nil:NilClass 이것은 nil 값이 우리 코드에 들어갈 방법을 찾았음을 의미합니다. 이 기사에서 논의된 기술을 사용하여 이 문제 및 유사한 문제를 처리하는 방법을 배우게 될 것입니다! 오류 및 스택 추적 이해 Ruby 인터프리터에서