Permalink
Browse files

[KO] Update translation (#896)

"else example for case operator" in control structures lesson (for Korean Lesson)
  • Loading branch information...
1 parent a30474a commit 1bd2efaaf3f61470e137bd2862dc38ee44a8cd7b @marocchino marocchino committed with devleoper Jan 8, 2017
Showing with 24 additions and 5 deletions.
  1. +19 −0 ko/lessons/basics/control-structures.md
  2. +5 −5 ko/lessons/libraries/poolboy.md
@@ -174,3 +174,22 @@ with
{:ok, jwt, full_claims} <- Guardian.encode_and_sign(user, :token),
do: important_stuff(jwt, full_claims)
```
+
+
+Elixir 1.3부터 `with`구문에서 `else`를 사용할 수 있습니다.
+
+```elixir
+import Integer
+
+m = %{a: 1, c: 3}
+
+a = with {:ok, res} <- Map.fetch(m, :a),
+ true <- Integer.is_even(res) do
+ IO.puts "Divided by 2 it is #{div(res, 2)}"
+else
+ :error -> IO.puts "We don't have this item in map"
+ _ -> IO.puts "It's not odd"
+end
+```
+
+이는 오류를 처리할 때 `case`같은 패턴매칭을 사용할 수 있도록 도와줍니다. 넘겨지는 값은 첫 번째 매치하지 않은 표현식입니다.
@@ -6,17 +6,17 @@ order: 2
lang: ko
---
-동시에 실행 되는 프로세스를 임의로 실행하도록 허용하면 시스템 리소스를 쉽게 소모할 수 있습니다. Poolboy는 워커 풀을 만들어 동시에 실행 되는 프로세스의 수를 제한해 오버헤드가 발생하지 않도록합니다.
+동시에 실행 되는 프로세스를 임의로 실행하도록 허용하면 시스템 리소스를 쉽게 소모할 수 있습니다. Poolboy는 워커 풀을 만들어 동시에 실행 되는 프로세스의 수를 제한해 오버헤드가 발생하지 않도록 합니다.
{% include toc.html %}
-## Poolboy를 사용해야하는 이유는 무엇인가요?
+## Poolboy를 사용하나요?
-잠시 구체적인 예를 생각해 봅시다. 사용자 프로필 정보를 데이터베이스에 저장하기 위한 애플리케이션을 작성한다고 합시다. 모든 사용자 등록에 대해 각각 프로세스를 만들면 무한한 연결 수를 만들게 됩니다. 그리고 어떤 시점에서 이러한 연결은 데이터베이스 서버에서 사용할 수있는 제한된 리소스를 놓고 경합하기 시작합니다. 결국 애플리케이션은 이런 경합으로 발생하는 오버헤드로 인해 시간 초과 및 다양한 예외가 발생하게 됩니다.
+잠시 구체적인 예를 생각해 봅시다. 사용자 프로필 정보를 데이터베이스에 저장하기 위한 애플리케이션을 작성한다고 합시다. 모든 사용자 등록에 대해 각각 프로세스를 만들면 무한한 연결 수를 만들게 됩니다. 어떤 시점에서 이러한 연결은 데이터베이스 서버에서 사용할 수있는 제한된 리소스를 놓고 경합하기 시작합니다. 결국 애플리케이션은 이런 경합으로 발생하는 오버헤드로 인해 시간 초과 및 다양한 예외가 발생하게 됩니다.
이 문제의 해결책은 사용자 등록을 위한 프로세스를 각각 만드는 대신 한정된 연결 수를 사용하는 워커(프로세스)들을 사용하는 것입니다. 그러면 시스템 자원이 모두 소모되는 것을 쉽게 피할 수 있습니다.
-여기서 Poolboy가 필요합니다. 수동으로 처리하기 위해 고생할 필요없이 `Supervisor`가 관리하는 워커 풀을 만듭니다. 실제로 많은 라이브러리가 Poolboy를 사용하고 있습니다. 예를 들어 `postgrex`의 연결 풀 *(PostgreSQL을 사용할 때 Ecto가 사용함)*,`redis_poolex` *(Redis 연결 풀)*가 Poolboy를 사용하는 인기있는 라이브러리중의 일부입니다.
+여기서 Poolboy가 필요합니다. 수동으로 처리하기 위해 고생할 필요없이 `Supervisor`가 관리하는 워커 풀을 만듭니다. 많은 라이브러리가 내부적으로 Poolboy를 사용하고 있습니다. 예를 들어 `postgrex`의 연결 풀 *(PostgreSQL을 사용할 때 Ecto가 사용함)*,`redis_poolex` *(Redis 연결 풀)*가 Poolboy를 사용하는 인기있는 라이브러리중의 일부입니다.
## 설치하기
@@ -136,4 +136,4 @@ end
```
사용할 수 있는 풀 워커가 없다면, Poolboy는 타임아웃 기본값(5 초)이 지난 후에 타임아웃 하고 새로운 요청을 받지 않습니다. 이 예제에서는 타임아웃 기본값을 변경하는 법을 설명하기 위해, 타임아웃 기본값을 1분으로 늘렸습니다.
-여러 프로세스를 만드려고 해도 *(위 예제에서 총 20 개)* `:poolboy.transaction` 함수는 생성할 프로세스를 설정에서 지정한 총 다섯 개 *(경우에 따라 두 개의 오버플로 워커를 추가)*로 제한합니다. 모든 요청은 요청마다 새 프로세스를 작성하는 것이 아니라 작업자 풀에서 처리됩니다.
+여러 프로세스를 만들려고 해도 *(위 예제에서 총 20 개)* `:poolboy.transaction` 함수는 생성할 프로세스를 설정에서 지정한 총 다섯 개 *(경우에 따라 두 개의 오버플로 워커를 추가)*로 제한합니다. 모든 요청은 요청마다 새 프로세스를 작성하는 것이 아니라 작업자 풀에서 처리됩니다.

0 comments on commit 1bd2efa

Please sign in to comment.