Skip to content

Commit d6f0502

Browse files
committed
Translate "Ruby 3.4.0 RC 1 Released" (ko)
1 parent f9f094c commit d6f0502

File tree

1 file changed

+92
-93
lines changed

1 file changed

+92
-93
lines changed

ko/news/_posts/2024-12-12-ruby-3-4-0-rc1-released.md

+92-93
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,111 @@
11
---
22
layout: news_post
3-
title: "Ruby 3.4.0 rc1 Released"
3+
title: "Ruby 3.4.0 rc1 릴리스"
44
author: "naruse"
5-
translator:
5+
translator: "shia"
66
date: 2024-12-12 00:00:00 +0000
7-
lang: en
7+
lang: ko
88
---
99

1010
{% assign release = site.data.releases | where: "version", "3.4.0-rc1" | first %}
11-
We are pleased to announce the release of Ruby {{ release.version }}.
11+
Ruby {{ release.version }} 릴리스를 알리게 되어 기쁩니다.
1212

1313
## Prism
1414

15-
Switch the default parser from parse.y to Prism. [[Feature #20564]]
15+
parse.y에서 Prism으로 기본 파서를 변경했습니다. [[Feature #20564]]
1616

17-
## Modular GC
17+
## 모듈러 GC
1818

19-
* Alternative garbage collector (GC) implementations can be loaded dynamically
20-
through the modular garbage collector feature. To enable this feature,
21-
configure Ruby with `--with-modular-gc` at build time. GC libraries can be
22-
loaded at runtime using the environment variable `RUBY_GC_LIBRARY`.
19+
* 다른 가비지 컬렉터(GC) 구현을 모듈러 가비지 컬렉터 기능을 통해 동적으로 로드할 수 있습니다.
20+
이 기능을 활성화하려면 Ruby 빌드 시에 `--with-modular-gc`를 설정하세요. GC 라이브러리는
21+
환경 변수 `RUBY_GC_LIBRARY`를 사용하여 런타임에 로드할 수 있습니다.
2322
[[Feature #20351]]
2423

25-
* Ruby's built-in garbage collector has been split into a separate file at
26-
`gc/default/default.c` and interacts with Ruby using an API defined in
27-
`gc/gc_impl.h`. The built-in garbage collector can now also be built as a
28-
library using `make modular-gc MODULAR_GC=default` and enabled using the
29-
environment variable `RUBY_GC_LIBRARY=default`. [[Feature #20470]]
24+
* Ruby의 내장 가비지 컬렉터는 `gc/default/default.c`에 분리되어 있으며,
25+
`gc/gc_impl.h`에 정의된 API를 사용하여 Ruby와 상호 작용합니다.
26+
내장 가비지 컬렉터는 `make modular-gc MODULAR_GC=default`를 사용하여
27+
라이브러리로서 빌드하고 환경 변수 `RUBY_GC_LIBRARY=default`
28+
사용하여 활성화할 수 있습니다. [[Feature #20470]]
3029

31-
* An experimental GC library is provided based on [MMTk](https://www.mmtk.io/).
32-
This GC library can be built using `make modular-gc MODULAR_GC=mmtk` and
33-
enabled using the environment variable `RUBY_GC_LIBRARY=mmtk`. This requires
34-
the Rust toolchain on the build machine. [[Feature #20860]]
30+
* [MMTk](https://www.mmtk.io/)를 기반으로 한 실험적인 GC 라이브러리가 제공됩니다.
31+
GC 라이브러리는 `make modular-gc MODULAR_GC=mmtk`를 사용하여 빌드하고
32+
환경 변수 `RUBY_GC_LIBRARY=mmtk`를 사용하여 활성화할 수 있습니다.
33+
이는 빌드 머신에 Rust 도구 체인이 필요합니다. [[Feature #20860]]
3534

3635

37-
## Language changes
36+
## 언어 변경
3837

39-
* String literals in files without a `frozen_string_literal` comment now emit a deprecation warning
40-
when they are mutated.
41-
These warnings can be enabled with `-W:deprecated` or by setting `Warning[:deprecated] = true`.
42-
To disable this change, you can run Ruby with the `--disable-frozen-string-literal`
43-
command line argument. [[Feature #20205]]
38+
* 파일에 `frozen_string_literal` 주석이 없을 때, 문자열 리터럴이 변경되면
39+
폐기 예정 경고를 출력합니다.
40+
이 경고는 `-W:deprecated``Warning[:deprecated] = true` 설정을 통해 활성화할 수 있습니다.
41+
이 변경을 무효화하고 싶다면 Ruby를 실행할 때 `--disable-frozen-string-literal` 커맨드라인 인수를
42+
사용하세요. [[Feature #20205]]
4443

45-
* `it` is added to reference a block parameter. [[Feature #18980]]
44+
* 블록 인자를 가리키는 `it`이 추가됩니다. [[Feature #18980]]
4645

47-
* Keyword splatting `nil` when calling methods is now supported.
48-
`**nil` is treated similarly to `**{}`, passing no keywords,
49-
and not calling any conversion methods. [[Bug #20064]]
46+
* 메서드 호출 시에 `nil`에 키워드 스플랫을 지원합니다.
47+
`**nil``**{}`와 비슷하게 동작하며, 키워드를 넘기지 않으며,
48+
어떤 변환 메서드도 호출하지 않습니다. [[Bug #20064]]
5049

51-
* Block passing is no longer allowed in index. [[Bug #19918]]
50+
* 블록을 인덱스로 사용할 수 없게 됩니다. [[Bug #19918]]
5251

53-
* Keyword arguments are no longer allowed in index. [[Bug #20218]]
52+
* 키워드 인수를 인덱스로 사용할 수 없게 됩니다. [[Bug #20218]]
5453

5554
## YJIT
5655

5756
TL;DR:
58-
* Better performance on most benchmarks on both x86-64 and arm64 platforms.
59-
* Reduced memory usage of compilation metadata
60-
* Multiple bug fixes. YJIT is now even more robust and better tested.
61-
62-
New features:
63-
* Add unified memory limit via `--yjit-mem-size` command-line option (default 128MiB)
64-
which tracks total YJIT memory usage and is more intuitive than the
65-
old `--yjit-exec-mem-size`.
66-
* More statistics now always available via `RubyVM::YJIT.runtime_stats`
67-
* Add compilation log to track what gets compiled via `--yjit-log`
68-
* Tail of the log also available at run-time via `RubyVM::YJIT.log`
69-
* Add support for shareable consts in multi-ractor mode
70-
* Can now trace counted exits with `--yjit-trace-exits=COUNTER`
71-
72-
New optimizations:
73-
* Compressed context reduces memory needed to store YJIT metadata
74-
* Improved allocator with ability to allocate registers for local variables
75-
* When YJIT is enabled, use more Core primitives written in Ruby:
76-
* `Array#each`, `Array#select`, `Array#map` rewritten in Ruby for better performance [[Feature #20182]].
77-
* Ability to inline small/trivial methods such as:
78-
* Empty methods
79-
* Methods returning a constant
80-
* Methods returning `self`
81-
* Methods directly returning an argument
82-
* Specialized codegen for many more runtime methods
83-
* Optimize `String#getbyte`, `String#setbyte` and other string methods
84-
* Optimize bitwise operations to speed up low-level bit/byte manipulation
85-
* Various other incremental optimizations
86-
87-
## Core classes updates
88-
89-
Note: We're only listing outstanding class updates.
57+
* x86-64와 arm64 플랫폼에서 대부분의 벤치마크에서 성능이 향상되었습니다.
58+
* YJIT 메타 데이터 컴파일의 메모리 사용량이 줄었습니다.
59+
* 여러 버그가 수정되었습니다. YJIT는 이제 더 견고하고 잘 테스트되었습니다.
60+
61+
새 기능:
62+
* YJIT의 메모리 사용량을 추적하는 통합 메모리 제한을 `--yjit-mem-size`
63+
커맨드 라인 옵션(기본값 128MiB)으로 추가했습니다.
64+
이는 이전 `--yjit-exec-mem-size`보다 직관적이며, YJIT의 전체 메모리 사용량을 추적합니다.
65+
* 이제 `RubyVM::YJIT.runtime_stats`를 통해 항상 더 많은 통계가 사용 가능합니다.
66+
* `--yjit-log`를 통해 무엇이 컴파일되었는지 추적하는 컴파일 로그를 추가했습니다.
67+
* 실행중에도 로그의 마지막 부분을 `RubyVM::YJIT.log`로 확인할 수 있습니다.
68+
* 멀티 Ractor 모드에서 공유 가능한 상수를 지원합니다.
69+
* `--yjit-track-exits=COUNTER`로 종료한 횟수를 추적할 수 있습니다.
70+
71+
새 최적화:
72+
* YJIT 메타 데이터를 저장하는 데 필요한 메모리를 줄이는 컨텍스트 압축.
73+
* 로컬 변수를 위한 레지스터를 할당할 수 있는 개선된 할당기.
74+
* YJIT을 사용할 때 Ruby로 작성된 더 많은 코어 프리미티브를 사용합니다.
75+
* 성능을 높이기 위해 Ruby로 다시 작성된 `Array#each`, `Array#select`, `Array#map` [[Feature #20182]].
76+
* 작고 사소한 메서드를 인라인할 수 있는 능력.
77+
* 빈 메서드
78+
* 상수를 반환하는 메서드
79+
* `self`를 반환하는 메서드
80+
* 인수를 직접 반환하는 메서드
81+
* 더 많은 실행시간 메서드에 대한 특별한 코드 생성
82+
* `String#getbyte`, `String#setbyte` 및 다른 문자열 메서드를 최적화
83+
* 저레벨 비트/바이트 조작을 빠르게 하기 위한 비트 연산 최적화
84+
* 다양한 다른 점진적 최적화
85+
86+
## 코어 클래스 변경
87+
88+
주의: 눈에 띄는 클래스 변경만을 포함합니다.
9089

9190
* Exception
9291

93-
* `Exception#set_backtrace` now accepts an array of `Thread::Backtrace::Location`.
94-
`Kernel#raise`, `Thread#raise` and `Fiber#raise` also accept this new format. [[Feature #13557]]
92+
* `Exception#set_backtrace`는 이제 `Thread::Backtrace::Location`의 배열을 입력으로 받을 수 있습니다.
93+
`Kernel#raise`, `Thread#raise``Fiber#raise`도 같은 형식의 입력을 받습니다. [[Feature #13557]]
9594

9695
* Range
9796

98-
* `Range#size` now raises `TypeError` if the range is not iterable. [[Misc #18984]]
97+
* `Range#size`는 이제 범위가 순회 가능하지 않다면 `TypeError`를 던집니다. [[Misc #18984]]
9998

10099

101100

102-
## Compatibility issues
101+
## 호환성 문제
103102

104-
Note: Excluding feature bug fixes.
103+
주의: 기능 버그 수정은 포함되어 있지 않습니다.
105104

106-
* Error messages and backtrace displays have been changed.
107-
* Use a single quote instead of a backtick as a opening quote. [[Feature #16495]]
108-
* Display a class name before a method name (only when the class has a permanent name). [[Feature #19117]]
109-
* `Kernel#caller`, `Thread::Backtrace::Location`'s methods, etc. are also changed accordingly.
105+
* 에러 메시지와 백트레이스의 출력 결과가 변경됩니다.
106+
* 여는 따옴표로 백틱 대신 작은 따옴표를 사용합니다. [[Feature #16495]]
107+
* 메서드 이름 앞에 클래스 이름을 출력합니다(클래스가 불변하는 이름을 가지고 있는 경우만). [[Feature #19117]]
108+
* `Kernel#caller`, `Thread::Backtrace::Location`의 메서드 등도 마찬가지로 변경됩니다.
110109

111110
```
112111
Old:
@@ -118,34 +117,34 @@ Note: Excluding feature bug fixes.
118117
from test.rb:2:in '<main>'
119118
```
120119

121-
## C API updates
120+
## C API 변경
122121

123-
* `rb_newobj` and `rb_newobj_of` (and corresponding macros `RB_NEWOBJ`, `RB_NEWOBJ_OF`, `NEWOBJ`, `NEWOBJ_OF`) have been removed. [[Feature #20265]]
124-
* Removed deprecated function `rb_gc_force_recycle`. [[Feature #18290]]
122+
* `rb_newobj``rb_newobj_of`(그리고 대응하는 매크로인 `RB_NEWOBJ`, `RB_NEWOBJ_OF`, `NEWOBJ`, `NEWOBJ_OF`)가 삭제됩니다. [[Feature #20265]]
123+
* 폐기 예정인 `rb_gc_force_recycle` 함수가 삭제됩니다. [[Feature #18290]]
125124

126-
## Miscellaneous changes
125+
## 그 이외의 변경
127126

128-
* Passing a block to a method which doesn't use the passed block will show
129-
a warning on verbose mode (`-w`).
127+
* 상세 모드(`-w`)에서 메서드에 넘긴 블록이 사용되지 않았을 때
128+
경고를 출력합니다.
130129
[[Feature #15554]]
131130

132-
* Redefining some core methods that are specially optimized by the interpeter
133-
and JIT like `String.freeze` or `Integer#+` now emits a performance class
134-
warning (`-W:performance` or `Warning[:performance] = true`).
131+
* `String.freeze``Integer#+`처럼 인터프리터와 JIT이 특별히 최적화하는
132+
몇몇 코어 메서드를 재정의하면 성능 클래스
133+
경고(`-W:performance``Warning[:performance] = true`)를 출력합니다.
135134
[[Feature #20429]]
136135

137-
See GitHub releases like [Logger](https://github.com/ruby/logger/releases) or
138-
changelog for details of the default gems or bundled gems.
136+
기본 gem 또는 내장 gem에 대한 자세한 내용은 [Logger](https://github.com/ruby/logger/releases)와 같은
137+
GitHub 릴리스 또는 변경 로그에서 확인하세요.
139138

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

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

147146

148-
## Download
147+
## 다운로드
149148

150149
* <{{ release.url.gz }}>
151150

@@ -168,11 +167,11 @@ since Ruby 3.3.0!
168167
SHA256: {{ release.sha256.zip }}
169168
SHA512: {{ release.sha512.zip }}
170169

171-
## What is Ruby
170+
## Ruby는
172171

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

177176
[Feature #13557]: https://bugs.ruby-lang.org/issues/13557
178177
[Feature #15554]: https://bugs.ruby-lang.org/issues/15554

0 commit comments

Comments
 (0)