Skip to content

Commit b17d00a

Browse files
committed
Imported the "ko" content.
1 parent 8d421aa commit b17d00a

File tree

136 files changed

+4434
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+4434
-1
lines changed

index.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
'id': 'id',
1818
'it-IT': 'it',
1919
'it': 'it',
20-
'ja': 'ja'
20+
'ja': 'ja',
21+
'ko-kr': 'ko',
22+
'ko': 'ko'
2123
};
2224

2325
var language = languages[window.navigator.language];

ko/about/index.md

+171
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
layout: page
3+
title: "루비에 대해서"
4+
lang: ko
5+
---
6+
7+
루비가 왜 인기 있을까요? 루비의 팬들은 아릅답고 기교가 뛰어난 언어이기 때문이라고 말합니다. 하지만 이 말로는 부족하지요. 어떤
8+
점이 루비를 이처럼 매력적인 언어로 만드는 것일까요?
9+
10+
### 루비를 만든 마츠의 목표
11+
12+
![](http://redhanded.hobix.com/images/ruby-lang-matz.png){:
13+
style="padding-left:8px;"}
14+
{: style="float:right"}
15+
16+
루비는 균형잡힌 언어입니다. 루비를 만든 [유키히로 마츠모토][1](일명 마츠)는 그가 좋아하는 언어인 펄, 스몰토크, 아이펠,
17+
에이다, 리스프를 섞어서 명령형 프로그래밍언어이자 함수형 언어인 새로운 언어를 만들었습니다.
18+
19+
그는 “루비를 단순하게 만드는 것이 아니라 자연스럽게 만들려고 노력한다”라고 말하곤 합니다. 우리의 삶을 반영하고자 한다는
20+
것이지요.
21+
22+
이렇게 말한 적도 있습니다.
23+
24+
> 루비는 언뜻보기에는 간단해보입니다. 하지만 그 내부는 무척이나 복잡하지요. 마치 사람의 몸처럼요\[1\].
25+
26+
### 루비의 성장세
27+
28+
1995년에 처음 공개된 이후로 전세계에 많은 루비 개발자가 생겨났습니다. 특히 2006년에는 수많은 사람들이 루비를 배웠습니다.
29+
전 세계의 왠만한 도시에는 활발한 사용자 그룹이 만들어졌고, 루비와 관랸된 컨퍼런스는 모두 매진되었습니다.
30+
31+
![Graph courtesy of
32+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&width=280&height=140&title=Ruby-Talk+Activity+over+4+Years
33+
"Graph courtesy of Gmane."){: style="padding-left:8px;"}
34+
{: style="float:right"}
35+
36+
루비의 주된 커뮤니케이션 채널인 루비 토크는 하루에 평균 200개의 글이 올라올 정도로 성장하였습니다.
37+
38+
프로그래밍 언어 인기 순위를 제공하는 [TIOBE 인덱스][2]에 따르면 루비는 세계에서 10번째로 많이 쓰이는 프로그래밍
39+
언어이다. 그리고 2006년 ‘올해의 언어로’ 꼽히기도 하였다. 이런 성장은 루비로 만들어진 대중적인 소프트웨어, 특히나 루비 온
40+
레일스 웹 프레임워크\[2\]의 공이다.
41+
42+
루비는 [완전히 무료](license.txt)이다. 사용뿐 만 아니라 복사, 수정, 배포까지도 무료이다.
43+
44+
### 모든 것은 객체이다.
45+
46+
처음에 마츠는 이상적인 문법을 가진 언어를 찾고 있었다. 그 때를 회고하며 그는 “나는 펄보다 강력하고 파이썬보다는 객체지향적인
47+
스크립트 언어가 필요했다\[3\]”라고 말해다.
48+
49+
루비에서는 모든 것이 객체이다. 따라서 루비에서 모든 것은 자신만의 속성과 액션을 갖는다. 객체지향 프로그래밍에서 이런 속성을
50+
*인스턴스 변수*라고 하고, 액션을 *메서드*라고 한다. 루비의 순수 객체지향 접근법은 아래의 예제처럼 숫자에 액션을 취하는
51+
코드로 대표되곤 한다.
52+
53+
5.times { print "우리는 루비를 *사랑*해요! 너무 멋져요!" }
54+
{: .code .ruby-code}
55+
56+
많은 언어에서 숫자는 원시 타입이지 객체는 아니다. 하지만 루비는 스몰토크의 영향을 받아 모든 형태의 것에 메서드와 인스턴스
57+
변수를 부여한다. 이는 모든 곳에서 일관되게 적용되므로 루비 사용법을 쉽게 해준다.
58+
59+
### 루비의 유연함
60+
61+
개발자가 루비의 어떤 부분이든 자유롭게 바꿀 수 있기 때문에 매우 유연한 언어라고 할 수 있다. 원한다면 루비 코어 부분도
62+
제거하고 재정의할 수 있다. 이미 존재하는 코드에 무엇인가를 덧붙일 수도 있다. 루비는 기본적으로 개발자의 사고를 제한하지
63+
않는다.
64+
65+
예를 들어 아래는 `+` 연산자 대신 plus 라고 쓰는 것이 더 읽기 편하다고 결정했다면 루비의 빌트인 클래스인
66+
`Numeric`에 메서드드를 추가하면 된다.
67+
68+
class Numeric
69+
  def plus(x)
70+
    self.+(x)
71+
  end
72+
end
73+
74+
y = 5.plus 6
75+
# 이제 y는 11이 되었다
76+
{: .code .ruby-code}
77+
78+
루비의 연산자는 메서드를 이용한 문법 단축에 불과하다. 물론 이 부분도 재정의할 수 있다.
79+
80+
### 루비의 표현력을 풍부하게 해주는 블럭
81+
82+
루비의 블럭 기능 또한 뛰어난 유연성의 원천입니다. 개발자는 어떤 메서드에든 클로저를 추가함으로써 메서드의 동작을 기술할 수
83+
있습니다. 루비에서 이 클로저를 *블럭*이라고 부릅니다. 이는 PHP, 비주얼베이직 등 다른 명령형 언어에서 루비로 이주한
84+
개발자에게 가장 매력적인 기능으로 꼽힌다.
85+
86+
블럭은 함수형 언어에서 아이디어를 따왔다. 마츠는 “루비 클러저를 만들면서 나는 리스프의 클로저 기능을 존중하고
87+
싶었다\[4\]”고 말했다.
88+
89+
search_engines =
90+
  %w[Google Yahoo MSN].map do |engine|
91+
    "http://www." + engine.downcase + ".com"
92+
  end
93+
{: .code .ruby-code}
94+
95+
위 예제에서 블럭은 `do ... end` 문법 구조에 기술되었다. `map` 메서드는 주어진 단어 리스트에 블럭을 적용한다.
96+
이처럼 루비의 다른 메서드들도 그 동작 중 일부를 자신의 블럭으로 채워넣을 수 있도록 개발자에게 열린 구조를 제공하고 있다.
97+
98+
### 루비와 믹스인
99+
100+
다른 객체지향 언어와 달리 루비는 **의도적으로** 단일 상속만을 제공한다. 대신 루비에는 모듈 개념(Object-C에서는
101+
카테고리라 불리는)이 있다. 모듈은 메서드의 컬렉션이다.
102+
103+
클래스에 모듈을 믹스인할 수 있는데, 그렇게 하면 유용한 메서드를 손쉽게 얻을 수 있다. 예를 들어 `each` 메서드를 구현하고
104+
있는 클래스는 어떤 것이든 `Enumerable` 모듈을 믹스인하기만 하면, `each`를 루프에 이용해 많은 함수들이 추가된다.
105+
106+
class MyArray
107+
  include Enumerable
108+
end
109+
{: .code .ruby-code}
110+
111+
대부분 루비스트들은 위와 같은 기능이 복잡하기만하고 제한적인 다중 상속보다 훨씬 간결한 방법이라고 보고 있다.
112+
113+
### 루비 코드의 외향
114+
115+
루비에는 변수 선언이 없다. 단지 변수의 범위를 나타내기 위해 몇가지 간단한 이름 관례를 사용하고 있다.
116+
117+
* `var` 지역변수.
118+
* `@var` 인스턴스 변수.
119+
* `$var` 전역변수.
120+
121+
이런 몇가지 장치는 변수의 역할을 명확히 드러냄으로써 프로그래머가 코드를 읽기 쉽게 해준다. 그리고 모든 인스턴스 메서드에
122+
붙인다면 정말 피곤할 `self.`도 대부분 생략할 수 있다.
123+
124+
### 고급 기능
125+
126+
루비는 개발자의 편의를 위해 많은 기능을 제공한다. 그 중 유용한 일부는 아래와 같다.
127+
128+
* 루비에는 자바, 파이썬처럼 예외 처리 기능이 있다. 따라서 에러 처리를 간편하게 할 수 있다.
129+
^
130+
131+
* 루비는 모든 객체를 대상으로 마크-스윕 가바지 컬렉터를 제공한다. 확장 라이브러리에서 참조 카운트를 관리할 필요는 없다.
132+
마츠는 “건강을 위한” 기능이라고 표현했다.
133+
^
134+
135+
* C 에서 루비를 사용하기 위한 간결한 API를 제공하기때문에, 펄이나 파이썬보다 쉽게 C 확장기능을 만들 수 있다. 여기에는
136+
스크립팅을 위해 루비를 임베딩하는 것도 포함된다. 물론, SWIG 인터페이스도 제공된다.
137+
^
138+
139+
* OS가 지원한다면 확장 기능을 동적으로 로드할 수 있다.
140+
^
141+
142+
* 루비는 운영체제에 의존하지 않는 스레딩 기능을 제공한다. 그리고 이는 루비가 동작하는 모든 플랫폼에 적용된다. 따라서 스레드를
143+
지원하지 않는 MS-DOS에서도 다중 스레드 프로그램을 작성할 수 있다.
144+
^
145+
146+
* 루비는 이식성이 매우 높다. 대부분 GNU 리눅스에서 개발되었지만 대부분의 유닉스. 맥 OS X, 윈도우
147+
95/98/Me/NT/2000/XP, 도스, BeOS, OS/2 등에서 동작한다.
148+
149+
#### 참조
150+
151+
<sup>1</sup> 마츠, 루비토크 메일링리스트에서, [May 12th, 2000][3].
152+
{: #fn1}
153+
154+
<sup>2</sup> 자세한 내용은 [루비 온 레일스][4] 홈페이지를 참조.
155+
{: #fn2}
156+
157+
<sup>3</sup> 마츠, [An Interview with the Creator of Ruby][5], Nov. 29th,
158+
2001.
159+
{: #fn3}
160+
161+
<sup>4</sup> 마츠, [Blocks and Closures in Ruby][6], December 22nd, 2003.
162+
{: #fn4}
163+
164+
165+
166+
[1]: http://www.rubyist.net/~matz/
167+
[2]: http://www.tiobe.com/index.htm?tiobe_index
168+
[3]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
169+
[4]: http://rubyonrails.org/
170+
[5]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
171+
[6]: http://www.artima.com/intv/closures2.html

ko/about/license.txt

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
RUBY LICENSE
2+
3+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
4+
You can redistribute it and/or modify it under either the terms of the GPL
5+
(see COPYING.txt file), or the conditions below:
6+
7+
1. You may make and give away verbatim copies of the source form of the
8+
software without restriction, provided that you duplicate all of the
9+
original copyright notices and associated disclaimers.
10+
11+
2. You may modify your copy of the software in any way, provided that
12+
you do at least ONE of the following:
13+
14+
a) place your modifications in the Public Domain or otherwise
15+
make them Freely Available, such as by posting said
16+
modifications to Usenet or an equivalent medium, or by allowing
17+
the author to include your modifications in the software.
18+
19+
b) use the modified software only within your corporation or
20+
organization.
21+
22+
c) rename any non-standard executables so the names do not conflict
23+
with standard executables, which must also be provided.
24+
25+
d) make other distribution arrangements with the author.
26+
27+
3. You may distribute the software in object code or executable
28+
form, provided that you do at least ONE of the following:
29+
30+
a) distribute the executables and library files of the software,
31+
together with instructions (in the manual page or equivalent)
32+
on where to get the original distribution.
33+
34+
b) accompany the distribution with the machine-readable source of
35+
the software.
36+
37+
c) give non-standard executables non-standard names, with
38+
instructions on where to get the original software distribution.
39+
40+
d) make other distribution arrangements with the author.
41+
42+
4. You may modify and include the part of the software into any other
43+
software (possibly commercial). But some files in the distribution
44+
are not written by the author, so that they are not under this terms.
45+
46+
They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
47+
files under the ./missing directory. See each file for the copying
48+
condition.
49+
50+
5. The scripts and library files supplied as input to or produced as
51+
output from the software do not automatically fall under the
52+
copyright of the software, but belong to whomever generated them,
53+
and may be sold commercially, and may be aggregated with this
54+
software.
55+
56+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
57+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
58+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59+
PURPOSE.

ko/community/index.md

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
layout: page
3+
title: "커뮤니티"
4+
lang: ko
5+
---
6+
7+
루비의 장점, 특징에 대한 설명에서 빠지지 않고 등장하는 것이 바로 친절한 커뮤니티입니다. 루비 커뮤니티는 모든 사람에게
8+
열려있습니다.
9+
10+
관심이 있다면 꼭 참여해보세요. 여기 참여할 수 있는 몇가지 방법을 알려드립니다.
11+
12+
## 루비 사용자 모임(RubyKR)
13+
14+
[루비 사용자 포럼][1] 을 중심으로 활동 중인 한국내 루비 커뮤니티입니다. 루비 홈페이지의 한국어 페이지도 루비 사용자
15+
모임에서 기여하고 있습니다.
16+
17+
비정기적으로 오프라인 행사(친목모임 또는 작은 세미나)도 있으니 참여해보기 바랍니다.
18+
19+
## IRC
20+
21+
* [hanirc 루비 채널](irc://irc.hanirc.org/ruby)
22+
* [freenode 루비 채널](irc://irc.freenode.org/ruby-lang "영어권")
23+
24+
## 컨퍼런스
25+
26+
국내에는 아직 루비를 다루는 컨퍼런스는 없습니다. 메년 열리는 “대안언어축제”에서 루비가 세션으로 다루어지고 있습니다.
27+
28+
영어권을 중심으로 [RubyConf][2], [RailsConf][3], [EuRuKo][4]가 매년 열리고 있습니다.일본에서는
29+
매년 [RubyKaigi][5]가 열리고 있습니다.
30+
31+
그 외에도 크고 작은 컨퍼런스가 많이 있으니, 참여하셔서 여러 경험을 공유하시기를 바랍니다.
32+
33+
## 그 외에 유용한 곳
34+
35+
* [루비 코어][6] – 현재 루비 개발 과정에 참여하고 싶거나, 루비 내부에 관한 질문이나 의견이 있다면 이 곳이 최적입니다.
36+
* [메일링 리스트와 뉴스그룹][7] – 가장 활발한 논의가 되는 곳입니다.
37+
38+
39+
40+
[1]: http://groups.google.com/group/rubykr
41+
[2]: http://www.rubycentral.org/conference
42+
[3]: http://www.railsconf.org/
43+
[4]: http://www.approximity.com/cgi-bin/europeRuby/tiki.cgi?c=v&amp;p=Euruko06
44+
[5]: http://jp.rubyist.net/RubyKaigi2006/
45+
[6]: http://ruby-lang.org/en/community/ruby-core
46+
[7]: http://ruby-lang.org/en/community/mailing-lists

ko/documentation/books/index.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
layout: page
3+
title: ""
4+
lang: ko
5+
---
6+
7+
루비에 관련된 한글 도서입니다(발행일순). 영문 도서 목록은 [여기][1]를 참고하시기 바랍니다.
8+
9+
### Ruby on Rails : 초고속 웹 개발의 시작
10+
11+
![](http://farm1.static.flickr.com/137/372008845_4b48e2ffdd_m.jpg)
12+
13+
이 책은 루비 온 레일즈를 시작하는 데 있어서 없어서는 안 될 중요한 필독서이다. 명쾌한 설명으로 실무 애플리케이션을 제작하는
14+
방법을 단계별로 소개하면서, 각 단계마다 레일즈를 다루는 데 꼭 필요한 내용인 액티브 레코드, 마이그레이션, Ajax, 스캐폴딩,
15+
테스트 방법 등을 자세하게 설명하고 있다.
16+
17+
### 레일스 레시피
18+
19+
![](http://farm1.static.flickr.com/162/372008869_0f8f974ac3_m.jpg)
20+
21+
이 책에는 레일스 프레임워크 전반을 한층 깊이 이해할 수 있는 원리가 들어있고 여러분만의 레일스 애플리케이션에 바로 적용할 수
22+
있는 완성도 높은 레시피들이 가득하다. 이 책은 루비온레일스에 대한 소개서는 아니다. 그렇지만 루비온레일스를 실전에 적용하고자
23+
한다거나, 또는 루비온레일스의 진면목을 확인해 보고 싶은 독자라면 반드시 곁에 두고, 필요할 때마다 바로바로 참조해야 할, 그런
24+
루비온레일스의 ‘전공필수’다.
25+
26+
### 프로그래밍 루비
27+
28+
![](http://farm1.static.flickr.com/164/372023513_08e50b96dd_m.jpg)
29+
30+
루비스트 사이에서 곡괭이(PickAxe)로 알려진 『프로그래밍 루비』 2판의 번역서이다. [홈페이지][2]도 마련되어 있으니,
31+
참고하기 바란다.
32+
33+
34+
35+
[1]: http://www.ruby-doc.org/bookstore
36+
[2]: http://ruby.insightbook.co.kr/

0 commit comments

Comments
 (0)