Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • Ruby

    1. ActiveRecord 성능:N+1 쿼리 안티패턴

      AppSignal에서 우리는 개발자의 애플리케이션 성능을 돕습니다. 수십억 개의 요청을 보내는 수많은 앱을 모니터링하고 있습니다. 우리는 Ruby와 성능에 대한 몇 가지 블로그 포스트를 통해서도 약간의 도움이 될 수 있다고 생각했습니다. N+1 쿼리 문제는 Rails 애플리케이션의 일반적인 반패턴입니다. Rails의 ActiveRecord와 같은 많은 ORM에는 필요한 순간까지 쿼리 연결을 연기할 수 있도록 지연 로딩이 내장되어 있습니다. 이 결정을 보기에 오프로드하여 로드해야 하는 연결에 대해 암시적으로 허용합니다. N+1 쿼

    2. Rails의 클라이언트 측 캐싱:조건부 GET 요청

      러시아어 인형 캐싱 외에도 Rails 앱의 성능을 향상시키는 더 많은 기술이 있습니다. 이번에는 렌더링된 페이지를 사용자의 브라우저 캐시에 저장할 수 있는 Rails의 기본 제공 조건부 GET 지원을 살펴보겠습니다. 👋 그리고 캐싱 외부의 성능에 대해 더 읽고 싶으시다면 Ruby(on Rails) 성능에 대해 더 많이 썼습니다. Ruby 성능 모니터링 체크리스트를 확인하세요. Etag 및 Last-Modified 헤더 브라우저가 Rails 앱의 페이지에 대한 HTTP GET 요청을 실행하면 라우터가 이를 컨트롤러 작업 중

    3. Ruby에서 실행 보장, 실패 재시도 및 예외 재발생

      발생한 예외는 상황이 잘못되었을 때 대체 코드 경로를 실행하기 위해 구출될 수 있지만 예외를 처리하는 더 많은 방법이 있습니다. 이번 버전의 AppSignal Academy에서는 retry에 대해 알아보겠습니다. ensure 키워드를 살펴보고 구조된 예외를 다시 발생시키는 방법을 살펴보겠습니다. 신뢰할 수 없는 웹 API와 통신한다고 가정해 보겠습니다. 때때로 다운되는 것 외에는 너무 느려서 요청에 몇 초가 걸릴 수 있습니다. 우리 라이브러리는 이 API에 의존하며 최대한 탄력적으로 만들어야 합니다. ensure ensure

    4. Turbolinks로 앱 탐색 속도 향상

      Turbolinks는 인지된 앱에서 페이지를 전환하고 자산을 다시 로드하는 것을 현명하게 함으로써 성능을 향상시킬 수 있습니다. 조건부 GET 요청과 달리 Rails 앱 자체에서 Ruby 코드를 변경할 필요가 없습니다. Turbolinks 5는 정적 페이지와 같이 Rails 없이도 모든 곳에서 작동하며 지원되지 않는 브라우저에서는 정상적으로 성능이 저하되는 JavaScript 라이브러리입니다. 터보링크 5 Turbolinks는 Rails와 함께 번들로 제공되며 Rails 4 이후 기본적으로 새 애플리케이션에 포함되어 있습니다. R

    5. Ruby의 마법 같은 Enumerable 모듈

      Ruby Magic의 또 다른 에피소드를 볼 시간입니다! 이번에는 Array와 같은 Ruby의 열거 가능한 클래스로 작업할 때 사용할 대부분의 메서드를 제공하는 Ruby의 가장 마법 같은 기능 중 하나를 살펴보겠습니다. , Hash 및 Range . 이 과정에서 우리는 열거 가능한 개체로 무엇을 할 수 있는지, 열거가 어떻게 작동하는지, 단일 메서드를 구현하여 개체를 열거할 수 있게 만드는 방법을 배웁니다. Enumerable , #each 및 Enumerator 열거 물체를 가로지르는 것을 말합니다. Ruby에서는 객체를 열거

    6. Ruby의 redo, retry 및 다음 키워드

      retry에 대해 이야기했습니다. 예외 후 재시도를 논의하는 동안 키워드. 잘 알려지지 않은 redo 비슷하게 작동하지만 전체 블록 대신 루프 반복을 다시 실행합니다. redo 키워드 이전 아카데미 기사에서 배웠듯이 retry하세요. 블록에서 코드 조각을 다시 시도할 수 있습니다. begin puts "Iteration" raise rescue retry end 이 예제는 예외를 발생시키기 전에 반복이라는 단어를 콘솔에 출력합니다. retry를 호출하는 구조 블록이 실행됩니다. 블록을 처음부터 다시

    7. ActiveRecord의 카운터 캐시로 카운터 캐싱

      페이지가 로드될 때마다 데이터베이스의 관련 레코드를 계산하는 대신 ActiveRecord의 카운터 캐싱 기능을 사용하면 카운터를 저장하고 연결된 개체가 생성되거나 제거될 때마다 카운터를 업데이트할 수 있습니다. AppSignal Academy의 이번 에피소드에서는 ActiveRecord의 캐싱 카운터에 대한 모든 것을 배울 것입니다. 기사와 응답이 있는 블로그의 고전적인 예를 들어 보겠습니다. 각 기사에는 응답이 있을 수 있으며 블로그 색인 페이지의 각 기사 제목 옆에 응답 수를 표시하여 인기도를 보여주고자 합니다. # app/c

    8. 내부:Ruby의 "Slurping" 및 스트리밍 파일

      이번 Ruby Magic 에디션에서는 Ruby의 스트리밍 파일, IO 클래스는 파일을 메모리에 완전히 로드하지 않고 읽기를 처리하고 읽기 바이트를 버퍼링하여 줄당 파일을 읽는 방법을 처리합니다. 바로 뛰어들자! Slurping 및 스트리밍 파일 Ruby의 File.read 메소드는 파일을 읽고 전체 내용을 반환합니다. irb> content = File.read("log/production.log") => "I, [2018-06-27T16:45:02.843719 #9098] INFO -- :

    9. 자바스크립트 기반 Rails 애플리케이션

      Rails의 프래그먼트 캐싱은 페이지의 더 큰 부분이 캐싱될 때 더 큰 속도 향상을 생성합니다. 동적 콘텐츠나 사용자별 콘텐츠가 많은 페이지에서는 더 어렵습니다. 해결책은 hagelslag와 같은 자바스크립트 스프링클을 사용하는 것입니다. , 그러나 초콜릿 없이 페이지의 나머지 부분이 캐시에서 직접 제공된 후 사용자별 콘텐츠를 로드하기 위한 추가 요청이 있습니다. 프래그먼트 캐싱 프래그먼트 캐싱과 같은 기술은 렌더링된 페이지의 프래그먼트를 캐싱하여 Rails 애플리케이션의 응답 속도를 높이는 데 사용됩니다. 스마트 캐시 키를 사용

    10. Ruby Magic Summer Special:최고의 AppSignal Academy

      어렸을 때 옴니버스 더블 에디션 만화를 샀던 것을 기억하십니까? 그것들을 읽는 것은 얼마나 마법 같은 일이었습니까? 우리는 이것이 잊을 수 없는 일이 될 것이라고 생각하지 않지만 해변, 공원에서 또는 그저 게으른 일요일에 읽을 수 있도록 아주 두툼한 Best-of AppSignal Academy 선택을 모았다고 생각합니다. 당신의 하루를 완벽하게 만들어줄 것입니다. 다음은 최고의 해먹 읽기 5개입니다. Ruby의 사용자 정의 예외 Ruby의 거의 모든 것은 객체이며 오류도 예외는 아닙니다. #dadjokes Ruby에서 실행 보

    11. Ruby에서 난수 생성

      난수는 게임, 암호화 및 건물 시뮬레이션과 같은 다양한 목적에 유용합니다. 기술적으로 컴퓨터는 계산만으로 난수를 생성할 수 없습니다. 결정론적 장치에서 진정한 난수를 생성하는 것은 근본적으로 불가능합니다. 당신이 기대할 수 있는 최선은 무작위로 생성된 것처럼 나타나는 일련의 숫자인 의사 난수입니다. 이 기사에서는 Ruby에서 난수를 생성하는 다양한 방법을 살펴보겠습니다. Kernel#rand로 난수 생성 시작하려면 rand를 사용하여 난수를 생성해 보겠습니다. 방법. 메서드가 인수 없이 호출되면 0.0보다 크거나 같고 1.0보다

    12. Ruby가 객체를 생성하는 방식 변경하기

      Ruby를 훌륭하게 만드는 것 중 하나는 거의 모든 것을 필요에 맞게 사용자 정의할 수 있다는 것입니다. 이것은 유용하면서도 위험합니다. 발에 총을 쏘는 것은 쉽지만 신중하게 사용하면 매우 강력한 솔루션이 될 수 있습니다. Ruby Magic에서는 유용함과 위험함이 훌륭한 조합이라고 생각합니다. Ruby가 객체를 생성하고 초기화하는 방법과 기본 동작을 수정하는 방법을 살펴보겠습니다. 클래스에서 새 개체 생성의 기본 시작하기 위해 Ruby에서 객체를 생성하는 방법을 살펴보겠습니다. 새 객체를 생성하려면 (또는 인스턴스 ), 우리는

    13. Rails 컬렉션 캐싱

      우리는 이전에 AppSignal Academy의 Rails에서 프래그먼트 캐싱을 살펴보았습니다. 이것은 보기의 더 작은 조각을 캐싱하여 보기의 성능을 크게 향상시킵니다. 부분을 ​​캐싱할 때 적은 비용으로 뷰의 다른 곳에서 재사용할 수 있다는 추가 이점이 있습니다. 이것은 작은 컬렉션에서는 잘 작동하지만 더 큰 컬렉션에서는 문제가 빠르게 발생합니다. 이 기사에서는 Rails 컬렉션 캐싱이 작동하는 방식과 이를 사용하여 대규모 컬렉션의 렌더링 속도를 높이는 방법을 살펴보겠습니다. 👋 그리고 이 기사가 마음에 드시면 Ruby(o

    14. Ruby의 푸시 및 Pub/Sub

      Action Cable과 같은 라이브러리를 사용하면 Rails에서 실시간 기능을 구축하는 것이 훨씬 쉬워졌습니다. AppSignal Academy의 이번 에피소드에서는 실시간 업데이트에 대해 알아보고 내부에서 어떻게 작동하는지 살펴보기 위해 최소한의 WebSocket 서버를 구축하는 방법을 살펴보겠습니다. 우리는 푸시하는 애플리케이션을 구축할 것입니다. 데이터 및 Pub/Sub 사용 WebSocket을 통해 . 코드를 시작하기 전에 먼저 이 세 가지 개념이 의미하는 바를 잠시 살펴보겠습니다. 푸시 수신기가 해당 데이터에 대

    15. Ruby의 클로저:블록, 프로시저 및 람다

      Ruby Magic에서 우리는 작동 방식을 이해하기 위해 우리가 매일 사용하는 것의 이면에 숨겨진 마법에 빠져드는 것을 좋아합니다. 이번 호에서는 블록, 프로시저 및 람다 간의 차이점을 살펴보겠습니다. 일류 함수를 사용하는 프로그래밍 언어에서 함수는 변수에 저장되고 다른 함수에 인수로 전달될 수 있습니다. 함수는 다른 함수를 반환 값으로 사용할 수도 있습니다. 클로저는 환경이 있는 일급 함수입니다. 환경은 클로저가 생성될 때 존재했던 변수에 대한 매핑입니다. 클로저는 다른 범위에 정의된 경우에도 이러한 변수에 대한 액세스를 유지

    16. #nil?, #empty?, #blank?, #present?의 차이점

      Ruby와 Rails에는 값의 존재 또는 객체의 상태를 확인하는 데 사용할 수 있는 몇 가지 메서드가 있습니다. Ruby는 #nil?을 제공합니다. 및 #empty? , 그리고 Rails의 ActiveSupport는 #blank?를 추가합니다. 및 #present? . 이 모든 것은 고유한 방식으로 작동하며 코드에서 잘못된 방법을 사용하면 예기치 않은 결과가 발생할 수 있으므로 각각이 데이터를 평가하는 방법을 아는 것이 중요합니다. 이 기사에서는 이러한 방법에 대한 지식을 새로 고칩니다. 우리는 각각이 사용될 때 어떤 조건이 통과

    17. #to_s 또는 #to_str?Ruby에서 명시적으로 캐스팅 대 암시적으로 유형 강제 변환

      형식 강제 변환은 개체의 형식을 해당 값과 함께 다른 형식으로 변경하는 것입니다. 예를 들어 #to_s를 사용하여 정수를 문자열로 변경 또는 #to_i를 사용하여 정수로 부동 . 덜 알려진 #to_str 및 #to_int 일부 개체가 구현하는 메서드는 언뜻 보기에는 동일하지만 몇 가지 차이점이 있습니다. 이번 AppSignal 아카데미 에디션에서는 Ruby에서 유형을 명시적으로 캐스팅하고 암시적으로 강제하는 방법을 살펴보고 유형 캐스팅 액터에 대해 간략히 설명합니다. 우리는 두 방법의 차이점을 다루고 어떻게 사용하는지 논의할 것입

    18. ActiveRecord 대 Ecto1부

      데이터는 대부분의 소프트웨어 응용 프로그램의 핵심 부분입니다. 데이터베이스에서 데이터를 매핑하고 쿼리하는 것은 개발자의 삶에서 반복되는 작업입니다. 이 때문에 프로세스를 이해하고 작업을 단순화하는 추상화를 사용할 수 있는 것이 중요합니다. 두 시리즈 중 첫 번째 게시물인 이 게시물에서는 ActiveRecord(Ruby)와 Ecto(Elixir)를 비교한 것입니다. 두 도구를 모두 사용하여 개발자가 데이터베이스 스키마를 마이그레이션하고 매핑할 수 있는 방법을 살펴보겠습니다. 그래서 우리는 사과와 오렌지를 비교할 것입니다. (Ori

    19. 클래스 수준 인스턴스 변수의 마법

      이전 Ruby Magic에서 .new를 덮어써서 모듈을 클래스에 안정적으로 주입하는 방법을 알아냈습니다. 메서드를 사용하여 메서드를 추가 동작으로 래핑할 수 있습니다. 이번에는 해당 동작을 재사용할 수 있도록 자체 모듈로 추출하여 한 단계 더 나아갑니다. Wrappable 클래스 확장을 처리하는 모듈을 살펴보고 그 과정에서 클래스 수준 인스턴스 변수에 대해 모두 배울 것입니다. 바로 뛰어들자! Wrappable 소개 모듈 객체가 초기화될 때 모듈로 객체를 래핑하려면 클래스에 사용할 래핑 모델을 알려야 합니다. 간단한 Wrappa

    20. ActiveRecord 대 Ecto2부

      이것은 ActiveRecord vs. Ecto 시리즈의 두 번째 부분으로, 배트맨과 Batgirl이 데이터베이스 쿼리를 놓고 싸우고 사과와 오렌지를 비교합니다. ActiveRecord 대 Ecto 파트 1에서 데이터베이스 스키마와 마이그레이션을 살펴본 후 이 게시물에서는 ActiveRecord와 Ecto를 모두 사용하여 개발자가 데이터베이스를 쿼리할 수 있는 방법과 ActiveRecord와 Ecto가 동일한 요구 사항을 처리할 때 비교하는 방법을 다룹니다. 그 과정에서 Batgirl의 1989-2011년 신원도 알게 됩니다. 시드

    Total 560 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:8/28  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13 14