You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are pleased to announce the release of Ruby {{ release.version }}.
12
+
Ruby {{ release.version }} 릴리스를 알리게 되어 기쁩니다.
13
13
14
-
## YJIT: New experimental in-process JIT compiler
14
+
## YJIT: 새로운 실험 인프로세스 JIT 컴파일러
15
15
16
16
17
-
Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify.
17
+
Ruby 3.1은 Shopify에서 개발한 새로운 인프로세스 JIT 컴파일러인 YJIT를 포함합니다.
18
18
19
-
Since [Ruby 2.6 introduced MJIT in 2018](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/), its performance greatly improved, and finally [we achieved Ruby3x3 last year](https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/). But even though Optcarrot has shown impressive speedups, the JIT hasn't benefited real world business applications.
19
+
[Ruby 2.6이 2018년도에 MJIT를 발표](https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/)한 뒤, 성능은 굉장히 향상되었으며 [작년에 드디어 Ruby3x3](https://www.ruby-lang.org/ko/news/2020/12/25/ruby-3-0-0-released/)을 달성했습니다. 하지만 Optcarrot이 인상적인 속도 향상을 보여줬음에도 JIT는 실제 세계의 비즈니스 애플리케이션들에 도움을 주지는 못했습니다.
20
20
21
-
Recently Shopify contributed many Ruby improvements to speed up their Rails application. YJIT is an important contribution, and aims to improve the performance of Rails applications.
21
+
최근에 Shopify는 자사 Rails 애플리케이션 속도를 높이기 위해 Ruby에 많은 기여를 했습니다. YJIT는 중요한 기여로, Rails 애플리케이션의 성능 향상을 목표로 합니다.
22
22
23
-
Though MJIT is a method-based JIT compiler and uses an external C compiler, YJIT uses Basic Block Versioning and includes JIT compiler inside it. With Lazy Basic Block Versioning (LBBV) it first compiles the beginning of a method, and incrementally compiles the rest when the type of arguments and variables are dynamically determined. See [YJIT: a basic block versioning JIT compiler for CRuby](https://dl.acm.org/doi/10.1145/3486606.3486781) for a detailed introduction.
23
+
MJIT가 메서드 기반의 JIT 컴파일러고 외부 C 컴파일러를 이용하는 반면, YJIT는 기본 블록 버전 관리를 이용하며 JIT 컴파일러를 포함합니다. 게으른 기본 블록 버전 관리(Lazy Basic Block Versioning, LBBV)를 통해 우선 메서드의 시작 부분을 컴파일하고 인자와 변수의 타입이 동적으로 결정되면 점진적으로 나머지 부분을 컴파일합니다. 자세한 설명은 [YJIT: CRuby를 위한 기본 블록 버전 관리 JIT 컴파일러](https://dl.acm.org/doi/10.1145/3486606.3486781)를 참고하세요.
24
24
25
-
With this technology, YJIT achieves both fast warmup time and performance improvements on most real-world software, up to 22% on railsbench, 39% on liquid-render.
25
+
이 기술을 이용하여, YJIT는 대부분의 현실 세계 소프트웨어에 빠른 준비 시간과 성능 향상을 가져다주어 railsbench에서는 최대 22%, liquid-render에서는 최대 39%의 성능 향상이 이루어졌습니다.
26
26
27
27
<!-- 試す人向けのお知らせ -->
28
28
29
-
YJIT is still an experimental feature, and as such, it is disabled by default. If you want to use this, specify the `--yjit`command-line option to enable YJIT. It is also limited to macOS & Linux on x86-64 platforms for now.
29
+
YJIT는 아직 실험적인 기능이기 때문에 기본적으로는 비활성화되어 있습니다. 만약 사용하고 싶다면 `--yjit`명령어 옵션을 통해 활성화할 수 있습니다. 그리고 아직은 x86-64 플랫폼의 macOS 및 Linux로만 한정되어 있습니다.
A new debugger [debug.gem](https://github.com/ruby/debug) is bundled. debug.gem is fast debugger implementation and it provides many features like remote debugging, colorful REPL, IDE(VSCode) integration and more. It replaces`lib/debug.rb`standard library.
37
+
새로운 디버거인 [debug.gem](https://github.com/ruby/debug)이 포함됩니다. debug.gem은 빠른 디버거 구현체로 원격 디버깅, REPL 색상, IDE(VSCode) 통합 등의 다양한 기능을 제공합니다.`lib/debug.rb`표준 라이브러리를 대체합니다.
38
38
39
-
## error_highlight: Fine-grained error location in backtrace
39
+
## error_highlight: 백트레이스에서의 세밀한 에러 위치
40
40
41
-
A built-in gem, error_highlight, has been introduced. It includes fine-grained error location in backtrace:
41
+
빌트인 gem인 error_highlight가 도입되었습니다. 백트레이스에 세밀한 에러 위치를 추가합니다.
This gem is enabled by default. You can disable it by using a command-line option `--disable-error_highlight`. See [the repository](https://github.com/ruby/error_highlight) in detail.
52
+
이 gem은 기본적으로 활성화되어 있습니다. `--disable-error_highlight` 명령어 옵션을 통해 비활성화할 수 있습니다. 자세한 설명은 [error_highlight 저장소](https://github.com/ruby/error_highlight)를 참고하세요.
53
53
54
-
## Irb improvement
54
+
## Irb 개선
55
55
56
-
To be described in next preview.
56
+
다음 프리뷰에서 설명될 예정입니다.
57
57
58
-
## Other Notable New Features
58
+
## 다른 주목할 만한 새로운 기능
59
59
60
-
### Language
60
+
### 언어
61
61
62
-
*Values in Hash literals and keyword arguments can be omitted. [Feature #14579]
63
-
*`{x:, y:}` is a syntax sugar of `{x: x, y: y}`.
64
-
*`foo(x:, y:)` is a syntax sugar of `foo(x: x, y: y)`.
62
+
*해시 리터럴과 키워드 인자의 값을 생략할 수 있습니다. [[Feature #14579]](https://bugs.ruby-lang.org/issues/14579)
63
+
*`{x:, y:}`는 `{x: x, y: y}`의 편의 문법입니다.
64
+
*`foo(x:, y:)`는 `foo(x: x, y: y)`의 편의 문법입니다.
65
65
66
-
*Pin operator in pattern matching now takes an expression. [Feature #17411]
66
+
*패턴 매칭에서 핀 연산자(`^`)에 표현식을 사용할 수 있습니다. [[Feature #17411]](https://bugs.ruby-lang.org/issues/17411)
@@ -73,43 +73,43 @@ Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a
73
73
74
74
### RBS
75
75
76
-
RBS is a language to describe the structure of Ruby programs. See [the repository](https://github.com/ruby/rbs) for detail.
76
+
RBS는 Ruby 프로그램의 구조를 설명하기 위한 언어입니다. 자세한 설명은 [RBS 저장소](https://github.com/ruby/rbs)를 참고하세요.
77
77
78
-
Updates since Ruby 3.0.0:
78
+
Ruby 3.0.0 이후의 변경 사항:
79
79
80
-
*`rbs collection` has been introduced to manage gems' RBSs. [doc](https://github.com/ruby/rbs/blob/master/docs/collection.md)
81
-
*Many signatures for built-in and standard libraries have been added/updated.
82
-
*It includes many bug fixes and performance improvements too.
80
+
*`rbs collection`이 gem들의 RBS를 관리하기 위해 도입되었습니다. ([문서](https://github.com/ruby/rbs/blob/master/docs/collection.md))
81
+
*빌트인 및 표준 라이브러리의 많은 시그니처가 추가되거나 갱신되었습니다.
82
+
*다수의 버그 수정과 성능 향상도 포함합니다.
83
83
84
-
See [the CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md) for more information.
84
+
더 많은 정보는 [CHANGELOG.md](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)를 참고하세요.
85
85
86
86
### TypeProf
87
87
88
-
TypeProf is a static type analyzer for Ruby. It generates a prototype of RBS from non-type-annotated Ruby code. See [the document](https://github.com/ruby/typeprof/blob/master/doc/doc.md) for detail.
88
+
TypeProf는 Ruby를 위한 정적 타입 분석기입니다. 타입을 기술하지 않은 Ruby 코드로부터 RBS의 프로토타입을 생성합니다. 자세한 내용은 [문서](https://github.com/ruby/typeprof/blob/master/doc/doc.md)를 참고하세요.
89
89
90
-
Updates since Ruby 3.0.0:
90
+
Ruby 3.0.0 이후의 변경 사항:
91
91
92
-
*[Experimental IDE support](https://github.com/ruby/typeprof/blob/master/doc/ide.md) has been implemented.
93
-
*Many bug fixes and performance improvements.
92
+
*[실험적인 IDE 지원](https://github.com/ruby/typeprof/blob/master/doc/ide.md)이 구현되었습니다.
93
+
*다수의 버그 수정과 성능 향상을 포함합니다.
94
94
95
-
## Performance improvements
95
+
## 성능 향상
96
96
97
97
* MJIT
98
-
*For workloads like Rails, the default `--jit-max-cache` is changed from 100 to 10000.
99
-
The JIT compiler no longer skips compilation of methods longer than 1000 instructions.
100
-
*To support Zeitwerk of Rails, JIT-ed code is no longer cancelled
101
-
when a TracePoint for class events is enabled.
98
+
*Rails와 같은 작업량을 위하여 `--jit-max-cache`의 기본값이 100에서 10000으로 변경되었습니다.
99
+
JIT 컴파일러는 더 이상 1000개의 명령어보다 긴 메서드의 컴파일을 건너뛰지 않습니다.
100
+
*Rails의 Zeitwerk를 지원하기 위해, 클래스 이벤트의 TracePoint가 활성화되었을
101
+
때 JIT된 코드를 더 이상 취소하지 않습니다.
102
102
103
-
## Other notable changes since 3.0
103
+
## 그 외 3.0 이후 주목할 만한 변화
104
104
105
-
*One-line pattern matching, e.g.,`ary => [x, y, z]`, is no longer experimental.
106
-
*Multiple assignment evaluation order has been changed slightly. [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443)
107
-
*`foo[0], bar[0] = baz, qux` was evaluated in order `baz`, `qux`, `foo`, and then `bar`in Ruby 3.0. In Ruby 3.1, it is evaluated in order `foo`, `bar`, `baz`, and then `qux`.
0 commit comments