- โฐ ์ผ์ : 2019. 07. 11 (๋ชฉ)
- ๐ ์ฃผ์ต : NAVER
- โณ ์ฅ์ : ๋ค์ด๋ฒ ๊ทธ๋ฆฐํฉํ ๋ฆฌ
- ๐ ๋งํฌ : http://techcon.naver.com/
- ์๋ ์ ์ด์ด ๊ธฐ๋ณธ์ด์ง๋ง ํต์ฌ์ธ ๋ด์ฉ๋ค์ด ๋ง์์ ๋์์ด ๋ง์ด ๋์๋ค.
- ์๋ ๋ณด๋ค ๋์ ๊ฒฝ๋ ฅ์ธต์ด ๋ฎ์์ ธ ํ์์์ฃผ๋ก ์ด์ ์ด ๋ง์ถฐ์ง ๊ฒ ๊ฐ์ ๋๋์ด ๋ค๊ธด ํ๋ค.
- ๋๋ฒ์งธ ์ธ์ ์ธ '์์ ์์ ์๋ ค์ฃผ์ง ์๋ ๋ชจ๋ธ ์ด์ผ๊ธฐ' ๋ ์ ๋ง ๋์์ด ๋ง์ด ๋์๋ค.
๊ฐ๋์ ์ค์์ฑ
- ๐ค ๋ฐํ์ : ๋ ธํ์ ๋ค์ด๋ฒ
- ๐ฝ๏ธ ๋ฐํ ์์ : ์์ ๋งํฌ
Quick Lists
- Gradle Sycn, Split ๊ธฐ๋ฅ ๋ฑ์ ์ถ๊ฐํ์ฌ ์ธ ์ ์๋ค.
Keymap
- ํต๋ฆฌ์คํธ๋ฅผ ํค๋งต์ ์ถ๊ฐํ ์ ์๋ค.
Notification
- ๋ณด์ด์ค์ค๋ฒ ๊ธฐ๋ฅ๋ ์๋ค.
- ์ผ๊ณ ๋ ์ ์๋ค.
FileColor
- ํ๋ก์ ํธ ๋ทฐ์์ ๊ทธ๋๋ค, ํ
์คํธ ๋ฑ์ด ํ์ด๋ผ์ดํฐ๋ ๋ ์ปฌ๋ฌ๋ฅผ ์๋ฏธ.
- ProductFlavor์ ๋ฐ๋ผ ์์ ์ค์ ํ ์๋ ์๋ค.
Reformat code
- commit ์์๋ reformat์ ์ค์ ํ ์๋ ์๋ค.
- Editor > inspection > Kotlin > "file is not formatted"์ ์ค์ ํ๋ฉด ํ์ธํ ์ ์๋ค.
- ์ด๋
ธํ
์ด์
//@formatter:off ๋ก ํฌ๋งคํฐ๋ฅผ ๋ง์ ์ ์๋ค.
breakPoint
- preference > debug > ์ปจ๋์
์ด ์๋๊ฒฝ์ฐ ์ญ์ ํ ๋ ํ์ธํ์
์ ๋์ธ ์ ์๋ ์ค์ ์ด ์๋ค.
Language
- ํ๋ฆฌํผ๋ฐ์ค > language injection > advanced > add aonntation ์๋ ์ค์
layout edditor
- ํ๋ฆฌํผ๋ฐ์ค > ๋ ์ด์์ ์๋ํฐ > ํ๋ฆฌํผ xml
๋ผ์ด๋ธํ
ํ๋ฆฟ
- ํ๋ฆฌํผ๋ฐ์ค > ๋ผ์ด๋ธ ํ
ํ๋ฆฟ > + > ๋จ์ถํค ์ ํ
ํ๋ฆฟ ์ถ๊ฐ
- ๋ ์ด์์๋ ๊ฐ๋ฅ :
- ํฌ์ปค์ค์ ๋ง์ถฐ์ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅ
- ์ปค์คํ
๋ทฐ ๋ฑ์ ํฌํ๋ฆฟ์ ์ถ๊ฐํ์ฌ ํ๋ฒ์ ์์ฑํ ์๋ ์๋ค.
ํ๋ฆฌํผ๋ฐ์ค > ์์คํ
์ธํ
> ๋ฉ๋ชจ๋ฆฌ ์ธํ
์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ์ฅ ๊ฐ๋ฅ
ํ๋ฌ๊ทธ์ธ ๋ถํ์ํ ๊ธฐ๋ฅ๋ค์ ์ ๋ถ ๋บ๋ค.
- ๐ค ๋ฐํ์ : ๊น๋ฒ์ค ๋ฑ ํฌ์๋ฌ๋
- ๐ ๋ฐํ์๋ฃ : ๋ค์ด๋ก๋
- ๐ฝ๏ธ ๋ฐํ ์์ : ์์ ๋งํฌ
Model
์ญํ ๋ถ๋ฆฌ (์ฑ
์)์ ๋ฐ๋ฅธ ๋ถ๋ฆฌ๊ณผ์
1. ๋ ํฌ์งํ ๋ฆฌ ํจํด
๋ ํฌ์งํ ๋ฆฌํจํด : ํ๋์ ๋ ํฌ๋ ํ๋์ ๋๋ฉ์ธ
์ถ์ํ๋ฅผ ์ด์ฉํ์ฌ (์ธํฐํ์ด์ค)๋ฅผ ๊ฐ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ก์ง์ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌ
-> ํ
์คํธ๊ฐ ์ฉ์ด
2. ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌ branch:model_V2
๋น์ฆ๋์ค ๋ก์ง์ด๋? : ์ฌ์ฉ์์ ์ฌ์ฉ ๋ชฉ์
ํ๋ ์ ํ
์ด์
๋ ์ด์ด๊ฐ ๋๋ฌด ๋น๋ํด์ง๋ ๊ฒ์ ๋ง๊ธฐ ์ํด
์๋น์ค :
์๋น์ค๋ ์ด์ด ํจํด (n-tier, 3-layer์์ ํ์)
๋น์ฆ๋์ค๋ก์ง์ ์งํฉ์ ๊ฐ๋
, ์ฌ์ฌ์ฉ์ด ์ฉ์ดํ๋ค.
MSA์ ์ ์ฉ
์ค๊ณ๊ฐ ์ง์์๊ฐ ๋์ด ์์ด์ผ ํ๋ค.
์๋ฒฝํ๊ฒ ํ๋ ์ ํ
์ด์
์์ ๋ถ๋ฆฌํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ
UseCase:
ํ๋์ ์ ์ ํ๋์ ๋ํ ์๋น์ค(Applicatoin)์ ๋น์ง๋์ค๋ก์ง์ด ๋ด๊ฒจ์๋ ๊ฐ์ฒด
์๋ก(UseCase)์๊ฒ ๋
๋ฆฝ์
์ ์ง๋ณด์, ๋ณ๊ฒฝ์ด ์ ๋ฆฌ
* ์ ์ ์ ํ๋(๋น์ฆ๋์ค ๋ก์ง)๊ณผ 1:1 ๋งค์นญ
3. exception_handling
ํ๋ ์ ํฐ์ ์ต์
์
ํธ๋ค์ด ๋น์ฆ๋์ค๋ก์ง์ธ ์ด์
:httpException, 403์ฝ๋ ์ฒดํน์ Presenstation๋ก์ง์ด ์๋๋ค.
:์ ์ ์ ํ๋์ ๋ฐ๋ผ ๋ฐ์ํ๋ ์์ธ ์ํฉ์ด๊ธฐ ๋๋ฌธ์ BusinessLogic์ด ์๋๋ค.
- ๐ค๋ฐํ์ : ์์คํ ๋ค์ด๋ฒ ์นํฐ
- ๐ ๋ฐํ์๋ฃ : ๋ค์ด๋ก๋
- ๐ฝ๏ธ ๋ฐํ ์์ : ์์ ๋งํฌ
์๋๋ก์ด๋ ํธ๋ ์ด๋ ์ฝ์ค, ์ฝ๋๋ฉ
์ฝ๋ํจ์ค ์๋๋ก์ด๋ ํด๋ฆฌํ๋
ธํธ
ํด์ฆ > ๋ ์ด์์ ์ธ์คํํฐ
ํ๋๊ทธ๋จผํธ ๋์ ๋ทฐ๋ฅผ ์ฌํ์ฉ ๋จ์๋ก ๊ฐ์ ธ๊ฐ๋ฉด
ํ๋๊ทธ๋จผํธ ๋ค์ด์ผ๋ก๊ทธํ๋๊ทธ๋จผํธ, ๋ทฐํ๋ ๋ฑ์ ์ฌํ์ฉ ๊ฐ๋ฅํ๋ค.
์ฑ
: ์๋ฐ ๋ณ๋ ฌํ๋ก๊ทธ๋๋ฐ
์ฑ
: ์ดํผ์
๋ ์๋๋ก์ด๋
์๋๋ก์ด๋ ์ด๋น 60ํ๋ ์ : 16ms ๋จ์๋ก
๊ฐ๋ฐ์์ต์
ํ๋กํ GPU ๋ ๋๋ง
์๋๋ก์ด๋ ํผํฌ๋จผ์ค ํจํด์ฆ
์ฑ
: ์๋ค์ด๋ ์ฑ ์ฑ๋ฅ ์ต์ ํ
AOSP
์ฑ
: ์ธ์ฌ์ด๋ ์๋๋ก์ด๋
์ฑ
: ํด๋ฆฐ์ํํธ์จ์ด
์ฑ
: ์ค์ฉ์ฃผ์ ๋์์ธ ํจํด
OOP 5๋ ์์น
Source Making : ๋์์ธํจํด์
์ฑ
: Functional Thinking
์ฑ
: ํด๋ฆฐ์ฝ๋, ํด๋ฆฐ์ํคํ
์ณ, ๋ฆฌํฉํ ๋ง
์ฑ
: ํด๋ฆฐ์ฝ๋
- ๋ฐํ์ : ์์ฐฌ์ Google
- ๐ ๋ฐํ์๋ฃ : ๋ค์ด๋ก๋
- ๐ฝ๏ธ ๋ฐํ ์์ : ์์ ๋งํฌ
์๋๋ก์ด๋ ํ๋ ์์ํฌ๋ฅผ ์ชผ๊ฐ๋ ๋ฐฉ๋ฒ
:์๋๋ก์ด๋์ ๋ฏธ๋?
์๋๋ก์ด๋์ ์ฒ ํ 4๊ฐ์ง
์คํ์์ค
๋ชจ๋ ์ฑ์ ๋์ผํ๋ค
์ฑ์ ๊ฒฝ๊ณ๋ฅผ ๋์ด
๋น ๋ฅด๊ณ ์ฌ์ด ์ฑ ๊ฐ๋ฐ
๋ค์ด์ค ํต๋ณธ : ์๋๋ก์ด๋์ ๋๋ชจ
์ฌ์ฉ์๊ฐ ์ฑ์ ์ข
๋ฃํ ํ์๊ฐ ์์
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ต์ํ
์ฑ ์คํ ๋ฐ ๋ค๋ฅธ ์ฑ์ผ๋ก ์ ํ์ด ๋นจ๋ผ์ผ ํจ
์ ํ์ฌ๋๋ ์ฑ๊ณผ ๋์ผํ ์์ค์ API์ ๊ณต
4๋ ์ปดํฌ๋ํธ = Entry Point = ๋ฉ์ธํจ์ = ์ฑ์ ์์ํ๋ ๋ฐฉ๋ฒ
: ์ 4๊ฐ์ง ๋ค๋ฅธ ์์๋ฐฉ๋ฒ?
-> ์ฌ์ฉ์์๊ฒ UI๋ฅผ ์ ๊ณต, ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์
์ํ, ํน์ ์ด๋ฒคํธ์ ๋ฐ์, ๋ฐ์ดํฐ๋ฅผ ์ ๊ณต
platform APIs ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก 24000๋์ ๋๋ฐ์ด์ค ํธํ์ฑ ํ๋ณด
CDD, CTS