Skip to content

Commit a7c37a3

Browse files
committed
Translate "Ruby 3.1.0 Preview 1 Released" (ko)
1 parent 225069a commit a7c37a3

File tree

1 file changed

+58
-58
lines changed

1 file changed

+58
-58
lines changed

ko/news/_posts/2021-11-09-ruby-3-1-0-preview1-released.md

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
11
---
22
layout: news_post
3-
title: "Ruby 3.1.0 Preview 1 Released"
3+
title: "Ruby 3.1.0 Preview 1 릴리스"
44
author: "naruse"
5-
translator:
5+
translator: "yous"
66
date: 2021-11-09 00:00:00 +0000
7-
lang: en
7+
lang: ko
88
---
99

1010
{% assign release = site.data.releases | where: "version", "3.1.0-preview1" | first %}
1111

12-
We are pleased to announce the release of Ruby {{ release.version }}.
12+
Ruby {{ release.version }} 릴리스를 알리게 되어 기쁩니다.
1313

14-
## YJIT: New experimental in-process JIT compiler
14+
## YJIT: 새로운 실험 인프로세스 JIT 컴파일러
1515

1616

17-
Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify.
17+
Ruby 3.1은 Shopify에서 개발한 새로운 인프로세스 JIT 컴파일러인 YJIT를 포함합니다.
1818

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는 실제 세계의 비즈니스 애플리케이션들에 도움을 주지는 못했습니다.
2020

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 애플리케이션의 성능 향상을 목표로 합니다.
2222

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)를 참고하세요.
2424

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%의 성능 향상이 이루어졌습니다.
2626

2727
<!-- 試す人向けのお知らせ -->
2828

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로만 한정되어 있습니다.
3030

3131
* <https://bugs.ruby-lang.org/issues/18229>
3232
* <https://shopify.engineering/yjit-just-in-time-compiler-cruby>
3333
* <https://www.youtube.com/watch?v=PBVLf3yfMs8>
3434

35-
## debug gem: A new debugger
35+
## debug gem: 새로운 디버거
3636

37-
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` 표준 라이브러리를 대체합니다.
3838

39-
## error_highlight: Fine-grained error location in backtrace
39+
## error_highlight: 백트레이스에서의 세밀한 에러 위치
4040

41-
A built-in gem, error_highlight, has been introduced. It includes fine-grained error location in backtrace:
41+
빌트인 gem인 error_highlight가 도입되었습니다. 백트레이스에 세밀한 에러 위치를 추가합니다.
4242

4343
```
4444
$ ruby test.rb
@@ -49,21 +49,21 @@ test.rb:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
4949
Did you mean? times
5050
```
5151

52-
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)를 참고하세요.
5353

54-
## Irb improvement
54+
## Irb 개선
5555

56-
To be described in next preview.
56+
다음 프리뷰에서 설명될 예정입니다.
5757

58-
## Other Notable New Features
58+
## 다른 주목할 만한 새로운 기능
5959

60-
### Language
60+
### 언어
6161

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)`의 편의 문법입니다.
6565

66-
* Pin operator in pattern matching now takes an expression. [Feature #17411]
66+
* 패턴 매칭에서 핀 연산자(`^`)에 표현식을 사용할 수 있습니다. [[Feature #17411]](https://bugs.ruby-lang.org/issues/17411)
6767

6868
```ruby
6969
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a
@@ -73,43 +73,43 @@ Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a
7373

7474
### RBS
7575

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)를 참고하세요.
7777

78-
Updates since Ruby 3.0.0:
78+
Ruby 3.0.0 이후의 변경 사항:
7979

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+
* 다수의 버그 수정과 성능 향상도 포함합니다.
8383

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)를 참고하세요.
8585

8686
### TypeProf
8787

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)를 참고하세요.
8989

90-
Updates since Ruby 3.0.0:
90+
Ruby 3.0.0 이후의 변경 사항:
9191

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+
* 다수의 버그 수정과 성능 향상을 포함합니다.
9494

95-
## Performance improvements
95+
## 성능 향상
9696

9797
* 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된 코드를 더 이상 취소하지 않습니다.
102102

103-
## Other notable changes since 3.0
103+
## 그 외 3.0 이후 주목할 만한 변화
104104

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`.
108-
* Variable Width Allocation: Strings (experimental) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239)
105+
* 한 줄 패턴 매칭(예: `ary => [x, y, z]`)은 더 이상 실험적이지 않습니다.
106+
* 다중 대입의 평가 순서가 살짝 변경되었습니다. [[Bug #4443]](https://bugs.ruby-lang.org/issues/4443)
107+
* `foo[0], bar[0] = baz, qux`는 Ruby 3.0에서 `baz`, `qux`, `foo`, `bar` 순으로 평가되었습니다. Ruby 3.1에선 `foo`, `bar`, `baz`, `qux` 순으로 평가됩니다.
108+
* 변수 너비 할당: 문자열 (실험적) [[Bug #18239]](https://bugs.ruby-lang.org/issues/18239)
109109

110-
### Standard libraries updates
110+
### 표준 라이브러리 업데이트
111111

112-
* Some standard libraries are updated.
112+
* 다음 표준 라이브러리가 업데이트되었습니다.
113113
* RubyGems
114114
* Bundler
115115
* RDoc 6.4.0
@@ -165,29 +165,29 @@ Updates since Ruby 3.0.0:
165165
* Pathname 0.2.0
166166
* Digest 3.1.0.pre2
167167
* Un 0.2.0
168-
* The following bundled gems are updated.
168+
* 다음 내장 gem이 업데이트되었습니다.
169169
* minitest 5.14.4
170170
* power_assert 2.0.1
171171
* rake 13.0.6
172172
* test-unit 3.5.0
173173
* rbs 1.6.2
174174
* typeprof 0.20.0
175-
* The following default gems are now bundled gems.
175+
* 다음 기본 gem은 이제 내장 gem입니다.
176176
* net-ftp
177177
* net-imap
178178
* net-pop
179179
* net-smtp
180180
* matrix
181181
* prime
182182

183-
See [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
184-
or [commit logs](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }})
185-
for more details.
183+
더 자세한 내용은 [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
184+
[커밋 로그](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }})
185+
확인해주세요.
186186

187-
With those changes, [{{ release.stats.files_changed }} files changed, {{ release.stats.insertions }} insertions(+), {{ release.stats.deletions }} deletions(-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket)
188-
since Ruby 3.0.0!
187+
이러한 변경 사항에 따라, Ruby 3.0.0 이후로 [파일 {{ release.stats.files_changed }}개 수정, {{ release.stats.insertions }}줄 추가(+), {{ release.stats.deletions }}줄 삭제(-)](https://github.com/ruby/ruby/compare/v3_0_0...{{ release.tag }}#file_bucket)
188+
이루어졌습니다!
189189

190-
## Download
190+
## 다운로드
191191

192192
* <{{ release.url.gz }}>
193193

@@ -210,8 +210,8 @@ since Ruby 3.0.0!
210210
SHA256: {{ release.sha256.zip }}
211211
SHA512: {{ release.sha512.zip }}
212212

213-
## What is Ruby
213+
## Ruby는
214214

215-
Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993,
216-
and is now developed as Open Source. It runs on multiple platforms
217-
and is used all over the world especially for web development.
215+
Ruby는 1993년에 Matz(마츠모토 유키히로) 씨가 처음 개발했고,
216+
현재는 오픈 소스로서 개발되고 있습니다. 여러 플랫폼에서 동작하며,
217+
특히 웹 개발에서 전 세계적으로 이용되고 있습니다.

0 commit comments

Comments
 (0)