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 2.7.0-preview2.
10
+
루비 2.7.0-preview2 릴리스를 알리게 되어 기쁩니다.
11
11
12
-
A preview version is released to gather feedback for the final release planned to release on December. It introduces a number of new features and performance improvements, most notably:
12
+
프리뷰 버전은 12월에 예정된 최종 릴리스에 대한 의견을 모으기 위해서 릴리스됩니다.
13
+
이는 많은 새 기능과 성능 향상을 포함하고 있습니다. 특히 눈에 띄는 것은 다음과 같습니다.
13
14
14
-
*Compaction GC
15
-
*Pattern Matching
16
-
* REPL improvement
17
-
*Separation of positional and keyword arguments
15
+
*압축 GC
16
+
*패턴 매칭
17
+
* REPL 개선
18
+
*위치 인자와 키워드 인자 분리
18
19
19
-
## Compaction GC
20
+
## 압축 GC
20
21
21
-
This release introduces Compaction GC which can defragment a fragmented memory space.
22
+
이 릴리스는 단편화된 메모리를 최적화할 수 있는 압축 GC를 도입합니다.
22
23
23
-
Some multi-threaded Ruby programs may cause memory fragmentation, leading to high memory usage and degraded speed.
24
+
몇몇 멀티 스레드를 이용하는 루비 프로그램은 메모리 단편화를 일으킬 수 있고,
25
+
이는 과다한 메모리 사용량과 성능 저하로 이어질 수 있습니다.
24
26
25
-
The `GC.compact` method is introduced for compacting the heap. This function compacts live objects in the heap so that fewer pages may be used, and the heap may be more CoW friendly. [[Feature #15626]](https://bugs.ruby-lang.org/issues/15626)
27
+
`GC.compact` 메서드는 힙 공간을 압축합니다.
28
+
이 함수는 더 적은 페이지를 사용하고, 힙이 CoW(Copy on Write)에 유리하도록 힙 내부에 살아있는 객체들을 압축합니다.
Pattern matching, widely used feature in functional programming languages, is introduced as an experimental feature. [[Feature #14912]](https://bugs.ruby-lang.org/issues/14912)
30
-
It can traverse a given object and assign its value if it matches a pattern.
For more details, please see [Pattern matching - New feature in Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7).
45
+
더 자세한 설명은 [Pattern matching - New feature in Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7)을 확인해 주세요.
41
46
42
-
## REPL improvement
47
+
## REPL 개선
43
48
44
-
`irb`, bundled interactive environment (REPL; Read-Eval-Print-Loop), now supports multi-line editing. It's powered by `reline`, `readline`-compatible pure Ruby implementation.
45
-
It also provides rdoc integration. In `irb` you can display the reference for a given class, module, or method. [[Feature #14683]](https://bugs.ruby-lang.org/issues/14683), [[Feature #14787]](https://bugs.ruby-lang.org/issues/14787), [[Feature #14918]](https://bugs.ruby-lang.org/issues/14918)
46
-
Besides, source lines shown at `binding.irb` and inspect results for core-class objects are now colorized.
49
+
루비에 포함되어 있는 상호작용 환경(REPL; Read-Eval-Print-Loop)인 `irb`가 이제 여러 줄 편집을 지원합니다.
50
+
이는 `reline`, `readline`과 호환되는 순수 루비 구현으로 동작합니다.
51
+
또한 rdoc 통합도 제공됩니다. `irb`에서 주어진 클래스, 모듈, 메서드의 레퍼런스를 볼 수 있습니다.
@@ -131,28 +133,32 @@ deprecated, and conversion will be removed in Ruby 3. [[Feature #14183]](https:
131
133
h = {}; def foo(a) a end; foo(h) # {}
132
134
{% endhighlight %}
133
135
134
-
## Other Notable New Features
136
+
## 이외의 주목할 만한 새 기능
135
137
136
-
* A method reference operator, <code>.:</code>, is introduced as an experimental feature. [[Feature #12125]](https://bugs.ruby-lang.org/issues/12125), [[Feature #13581]](https://bugs.ruby-lang.org/issues/13581)
* Numbered parameter as the default block parameter is introduced as an experimental feature. [[Feature #4475]](https://bugs.ruby-lang.org/issues/4475)
*`Enumerable#tally` is added. It counts the occurrence of each element.
153
+
*`Enumerable#tally`가 추가됩니다. 이는 각 요소가 몇 번 출현했는지를 셉니다.
149
154
150
155
{% highlight ruby %}
151
156
["a", "b", "c", "b"].tally
152
157
#=> {"a"=>1, "b"=>2, "c"=>1}
153
158
{% endhighlight %}
154
159
155
-
* Calling a private method on `self` is now allowed. [[Feature #11297]](https://bugs.ruby-lang.org/issues/11297)[[Feature #16123]](https://bugs.ruby-lang.org/issues/16123)
@@ -171,54 +178,61 @@ deprecated, and conversion will be removed in Ruby 3. [[Feature #14183]](https:
171
178
p e.map {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
172
179
{% endhighlight %}
173
180
174
-
## Performance improvements
181
+
## 성능 향상
175
182
176
-
* JIT [Experimental]
183
+
* JIT [실험적]
177
184
178
-
* JIT-ed code is recompiled to less-optimized code when an optimization assumption is invalidated.
185
+
* 최적화 가정이 유효하지 않은 경우 JIT으로 컴파일된 코드는 최적화 레벨이 낮은
186
+
코드로 재컴파일됩니다.
179
187
180
-
* Method inlining is performed when a method is considered as pure. This optimization is still experimental and many methods are NOT considered as pure yet.
188
+
* 순수하다고 판단된 메서드를 인라인으로 삽입하게 됩니다.
189
+
이 최적화는 아직 실험적이며 많은 메서드는 아직 순수하다고 판단되지 않는 상태입니다.
181
190
182
-
*Default value of `--jit-min-calls` is changed from 5 to 10,000
191
+
*`--jit-min-calls`의 기본값이 5에서 10,000으로 변경됩니다.
183
192
184
-
*Default value of `--jit-max-cache` is changed from 1,000 to 100
193
+
*`--jit-max-cache`의 기본값이 1,000에서 100으로 변경됩니다.
185
194
186
-
*`Symbol#to_s`, `Module#name`, `true.to_s`, `false.to_s` and `nil.to_s` now always return a frozen String. The returned String is always the same for a given object. [Experimental][[Feature #16150]](https://bugs.ruby-lang.org/issues/16150)
195
+
*`Symbol#to_s`, `Module#name`, `true.to_s`, `false.to_s`, `nil.to_s`가 이제 항상 얼린 문자열을 반환합니다.
*Require compilers to support C99[[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
213
-
*Details of our dialect: <https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99>
226
+
*루비 빌드에 C99를 지원하는 컴파일러를 요구합니다.[[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
227
+
*이에 대한 자세한 정보: <https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99>
214
228
215
-
See [NEWS](https://github.com/ruby/ruby/blob/v2_7_0_preview2/NEWS) or [commit logs](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview2) for more details.
229
+
[NEWS](https://github.com/ruby/ruby/blob/v2_7_0_preview2/NEWS)나 [커밋 로그](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview2)에서 더 자세한 설명을 확인할 수 있습니다.
216
230
217
-
With those changes, [3670 files changed, 201242 insertions(+), 88066 deletions(-)](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview2) since Ruby 2.6.0!
231
+
이러한 변경사항에 따라, 루비 2.6.0 이후로 [파일 3670개 수정, 201242줄 추가(+), 88066줄 삭제(-)](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview2)가 이루어졌습니다!
Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993, and is now developed as Open Source. It runs on multiple platforms and is used all over the world especially for web development.
267
+
루비는 1993년에 Matz(마츠모토 유키히로)가 처음 개발했고, 현재는 오픈 소스로서 개발되고 있습니다.
0 commit comments