# ๐ ๋จธ์ฑํ๋...;; ๋จธ์คํฐ๋(Mustudy)

## ๐จโ๐ฉโ๐งโ๐ฆ ์คํฐ๋์
Wonbi๐, SummerCat๐, Stone๐ชจ, minii๐, ๋ฑ๐, ํ๋ชจ(ํ๋ฆฌ)๐ฆฆ, Kyo๐บ, zhilly๐ฅ, Dragon๐, somโ๏ธ, LJ๐ต, woong๐, ํ ํธ์ด๐
## ์กฐ ํธ์ฑ
1 : ํ๋ชจ(ํ๋ฆฌ)๐ฆฆ zhilly๐ฅ ๋ฑ๐
2 : SummerCat๐ Kyo๐บ Dragon๐ ํ ํธ์ด๐
3 : minii๐ somโ๏ธ LJ๐ต
4 : woong๐ Wonbi๐ Stone๐ชจ
---
- **์์์ ํด์น์ง ์๋ ์ ์์ ์์ ๋กญ๊ฒ ์์ฑํด์ฃผ์ธ์!**
### ๐ก์ฒซ ์คํฐ๋ OT๋ ์ง๋ 8์ 31์ผ ์์์ผ 9์ ์
๋๋ค!
- ์คํฐ๋ฅผ ์งํํ๊ณ , ์คํฐ๋ ์ธ์์ ๋๋๊ณ , ์ค์ผ์ฅด์ ์กฐ์ ํ ์์ ์ด์์! ๋ฌผ๋ก ๋ค์ ์คํฐ๋ ์ฃผ์ ์ ์ ๋ ์งํํฉ๋๋ค!
### โ
์คํฐ๋ ๋ชฉ์
- ์์ค์ฝ๋ ์์์ ํ์์ด **๋จธ์ฑ...๐
์ฝ์ฑ...๐ฅฒ** ํด์ง๋ ์ฐ๋ฆฌ๋ฅผ ์ํด ๊ณต์ ๋ฌธ์ ์คํฐ๋๋ฅผ ํ๊ณ ์ ํฉ๋๋ค.
### โ
๊ณต๋ถ ๋ด์ฉ
- the swift programming language
- API Design Guidelines
- Human Interface Guidelines
- *๊ฐ๋ฅํ๋ค๋ฉด.. `๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด`๋..?*
- *๊ทธ๋ฆฌ๊ณ .. SOLID๋.. ๋์์ธ ํจํด.. ์๋ฐ ๋ถ๋ถ๋ค๋.. ๊ฐ๋ฅํ๋ค๋ฉด..?*
### โ
์งํ ๋ ์ง
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ฃผ์ผ์ ํ๋ฒ ์ ๋๋ก ์๊ฐํ๊ณ ์์ต๋๋ค.
- ๋งค์ฃผ ์์์ผ ์ค์ 9์ ๋ถํฐ 1~2์๊ฐ ์ ๋!
### โ
์ง๋ (์คํฐ๋ OT ํ ์ฌ๋
ผ์)
- ํ์ฃผ์ ํ ํํธ์ฉ ๊ณต๋ถ
- ํ ์กฐ ์ธ์์ด 4๋ช
์ผ ๊ฒฝ์ฐ, Swift Language Guide์ ํฐ ํํธ ๊ฐ 1๊ฐ๋ฅผ ๊ฐ๊ฐ ์ค๋น = ์คํฐ๋ ๋ ์ด 4๊ฐ์ ํํธ๋ฅผ ๊ณต๋ถํ๊ฒ ๋จ!
- ํ๋ก์ ํธ์์ ๊ณต๋ถํ๋ผ๊ณ ์๊ตฌํ ๋ถ๋ถ์ ์ฐ์ ์ ์ผ๋ก ์ ์ ํ์ฌ ๊ณต๋ถํฉ๋๋ค.
### โ
์งํ ๋ฐฉ์ (์คํฐ๋ OT ํ ์ฌ๋
ผ์)
---
- โ๏ธ **์ผ์ฃผ์ผ๋์ ์์ ๋ฅผ *ํ๋๋!* ์ ๋ง๋ค๊ณ ์ค์ ๋ถ๋ค์ ๋น์ผ ์คํฐ๋๋ ์คํฐ๋ ์๋ค์๊ฒ ์ปคํผ ์ฌ์
์ผ ํฉ๋๋ค. `์คํ๋ฒ
์ค`๋ก ์ฌ์
์ผ ํฉ๋๋ค. *์ด๋์ผ ์๋ฉ๋๋ค.* ๋ฉ๋ด๋ ์คํฐ๋์๊ณผ ๊ณ ๋ฏผํ์ญ์์ค. ๋ ๋จน ๊ธ์ง! (์ง์ง)** โ๏ธ
- ๋ณ๋ค๋ฐฉ๋ง ๋ฉ๋๋ค.
- ์ฐธ๊ณ : ์ ์ฒด ์ธ์ ํฉํ๋ฉด 5๋ง์...!
- ์ ๋ ์๋ฐ์นฉ ํ๋ผํธ์น๋
ธ
- ์ ๋ ์๋ชฝํ๋๋ธ๋ํฐ ๋ฒคํฐ๋ก..X 2
- ์ ๋ ์์ด์ค ์๋ฉ๋ฆฌ์นด๋
ธ
---
#### ์คํฐ๋ ์งํ ๋ฐฉ์ (์์ )
- ์คํฐ๋ ์๊ฐ๊น์ง ๊ฐ์ ๋งก์๋ ํํธ๋ฅผ ๊ณต๋ถํด์ค๊ธฐ
- ๋ฌธ์๋ฅผ ํ ๋๋ก ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด์ค๊ธฐ
- ์คํฐ๋ ์๊ฐ์ ๊ฐ์ ๋ง๋ ์์ ๋ฅผ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ ๊ณต์ ํ๊ธฐ
- ์ง์์๋ต ์๊ฐ์ ๊ฐ์ง๊ธฐ
- ์คํฐ๋๊ฐ ์ข
๋ฃ๋ ํ ์ํ๋ ์ฌ๋์ ํํด ์์ ์ ๊ณต๋ถ๋ด์ฉ๊ณผ ์คํฐ๋์์ ๋์จ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ๊นํ์ ์
๋ก๋ํ๊ธฐ
### ์กฐ๋ณ ์คํฐ๋ ์งํ๋ฐฉ์
#### 1์กฐ
- ์คํฐ๋ ์๊ฐ๊น์ง ๊ฐ์ ๋งก์๋ ํํธ๋ฅผ ๊ณต๋ถํด์ค๊ธฐ
- ๋ฌธ์๋ฅผ ํ ๋๋ก ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด์ค๊ธฐ
- ์คํฐ๋ ์๊ฐ์ ๊ฐ์ ๋ง๋ ์์ ๋ฅผ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ ๊ณต์ ํ๊ธฐ
- ์ง์์๋ต ์๊ฐ์ ๊ฐ์ง๊ธฐ
- ์คํฐ๋๊ฐ ์ข
๋ฃ๋ ํ ์ํ๋ ์ฌ๋์ ํํด ์์ ์ ๊ณต๋ถ๋ด์ฉ๊ณผ ์คํฐ๋์์ ๋์จ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ๊นํ์ ์
๋ก๋ํ๊ธฐ
#### 2์กฐ
- ์คํฐ๋ ์๊ฐ๊น์ง ๊ฐ์ ๋งก์๋ ํํธ๋ฅผ ๊ณต๋ถํด์ค๊ธฐ
- ๋ฌธ์๋ฅผ ํ ๋๋ก ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด์ค๊ธฐ (๋ง๋ค๊ธฐ ๋๋ฌด ํ๋ค๋ฉด ๋ฌธ์์ ์์ ๋ฅผ ํ์ฉํด๋ ๋๋ค.)
- ์คํฐ๋ ์๊ฐ์ ๊ฐ์ ๋ง๋ ์์ ๋ฅผ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ ๊ณต์ ํ๊ธฐ
- ์ง์์๋ต ์๊ฐ์ ๊ฐ์ง๊ธฐ
- ์คํฐ๋๊ฐ ์ข
๋ฃ๋ ํ ๊ณต๋ถ๋ด์ฉ๊ณผ ์คํฐ๋์์ ๋์จ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ๋
ธ์
์ ์
๋ก๋ํ๊ธฐ
> ๋
ธ์
๋งํฌ : https://www.notion.so/c4c5c32792894cf6ab577673296b3d5f
#### 3์กฐ
- ์คํฐ๋ ์๊ฐ๊น์ง ๊ฐ์ ๋งก์๋ ํํธ๋ฅผ ๊ณต๋ถํด์ค๊ธฐ
- ๋ฌธ์๋ฅผ ํ ๋๋ก ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด์ค๊ธฐ (๋ง๋ค๊ธฐ ๋๋ฌด ํ๋ค๋ฉด ๋ฌธ์์ ์์ ๋ฅผ ํ์ฉํด๋ ๋๋ค.)
- ์คํฐ๋ ์๊ฐ์ ๊ฐ์ ๋ง๋ ์์ ๋ฅผ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ ๊ณต์ ํ๊ธฐ
- ์ง์์๋ต ์๊ฐ์ ๊ฐ์ง๊ธฐ
- ์คํฐ๋๊ฐ ์ข
๋ฃ๋ ํ ์ํ๋ ์ฌ๋์ ํํด ์์ ์ ๊ณต๋ถ๋ด์ฉ๊ณผ ์คํฐ๋์์ ๋์จ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ๊นํ์ ์
๋ก๋ํ๊ธฐ
- ์์ ๋ฅผ ์ ๋ง๋ ์ฌ๋์ด ์คํ๋ฒ
์ค ์ด์ธ์ ํ์์๊ฒ ์ํ๋ ์๋ฃ ์ฌ์ฃผ๊ธฐ๐น
#### 4์กฐ
- 1๏ธโฃ ์คํฐ๋ ์๊ฐ๊น์ง ๊ฐ์ ๋งก์๋ ํํธ๋ฅผ ๊ณต๋ถํด์ค๊ธฐ.
- 2๏ธโฃ ๋ฌธ์๋ฅผ ํ ๋๋ก ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด์ค๊ธฐ. (๋ง๋ค๊ธฐ ๋๋ฌด ํ๋ค๋ฉด ๋ฌธ์์ ์์ ๋ฅผ ํ์ฉํด๋ ๋๋ค.)
- 3๏ธโฃ ์คํฐ๋ ์๊ฐ์ ๊ฐ์ ๋ง๋ ์์ ๋ฅผ ํ ๋๋ก ๊ณต๋ถํ ๋ด์ฉ ๊ณต์ ํ๊ธฐ.
- 4๏ธโฃ ์ง์์๋ต ์๊ฐ์ ๊ฐ์ง๊ธฐ.
- 5๏ธโฃ ์คํฐ๋๊ฐ ์ข
๋ฃ๋ ํ ์ํ๋ ์ฌ๋์ ํํด ์คํฐ๋์์ ๋์จ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ HackMD ์ด ๋ฌธ์์ ์ ๋ฆฌํ๊ธฐ.
- ๐ก ์ํ๋ค๋ฉด ๊ทธ ๋ด์ฉ์ ๊ฐ์์ ๊นํ๋ธ, ๋ธ๋ก๊ทธ, ๋ฑ๋ฑ์ ๋ฃ์ผ์
๋ ๋ฉ๋๋ค!
## 8์ 31์ผ ์คํฐ๋ ๋ด์ฉ
### 1์กฐ
#### 1์ฃผ์ฐจ ํํธ
### 2์กฐ
#### ๐ฅ1์ฃผ์ฐจ ํํธ๐ฅ
- SummerCat๐ : Swift Language Guide - Access Control (์ด๋์
๋ผ์ด์ ์ด์
์ ํ ํธ์ด์๊ฒ ์๋ณด..โญ๏ธ)
- Kyo๐บ : Swift Language Guide - Type Casting (์๊ฑฐ๋ก ํ๊ฒ ์ต๋๋ค ใ
ใ
)
- Dragon๐ : Swift Language Guide - Nested Types, Swift Language Guide - Error Handling (์ ๋ ์๋กท๊ฒ ๋๊ฐ ํ๊ฒ ์ต๋๋ค!)
- ํ ํธ์ด : Swift Language Guide - Initialization
### 3์กฐ
#### ๐ฉโ๐ป1์ฃผ์ฐจ ํํธ๐งโ๐ป
- minii๐: Swift Language Guide - Initialization
- somโ๏ธ: Swift Language Guide - Type Casting
- LJ๐ต: Swift Language Guide - Access Control
### 4์กฐ
#### ๐ฅ1์ฃผ์ฐจ ํํธ๐ฅ
- woong๐: Swift Language Guide - Access Control
- Wonbi๐: Swift Language Guide - Initialization
- Stone๐ชจ: Swift Language Guide - Error Handling
- ์๊ฐ์ด ๋จ๋ ์กฐ์์ด ์๋ค๋ฉด.. : Swift Language Guide - Nested Types, Type Casting