1๊ฐ. ์ปดํจํฐ์ ์ธํฐ๋ท
- ์ปดํจํฐ : ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๊ณ๋ฅผ ๋ชจ์๋ ๊ฒ
- CPU : ๊ณ์ฐํ๊ธฐ
- RAM : ๊ธฐ์ตํ๊ธฐ
- ํ๋๋์คํฌ : ์ ์ด๋๊ธฐ
- ๋ฉ์ธ๋ณด๋ : ๊ฝ์๋๊ธฐ
- OS (์ด์์ฒด์ ) : ์ธ๊ฐ์ด ๊ธฐ๊ณ์ ์ํตํ ์ ์๊ฒ ๋ง๋๋ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋จ
ex) ์๋๋ก์ด๋, ios, Window, Linux ···
โป Linux๋ '์คํ์์ค'
- ์ฝ๋ฉ : OS์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๊ฒ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
ex) Python, JS, PHP, JAVA, C++ ··· - ํ๋ก๊ทธ๋จ : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ฏธ๋ฆฌ ์ฝ๋ฉํด์ ๋งค๋ฒ ๋๊ฐ์ด ์์ง์ด๋ ๊ฒ
ex) ํ๊ธ, ์์ , ํ์ํฌ์ธํธ ···
- ์ปดํจํฐ๋ผ๋ฆฌ ๋ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ์ถ์ผ๋ฉด? → ์ธํฐ๋ท ํ์!
- ๋, ๋ํ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด ๊ท์น์ด ํ์ → ๊ท์น ์ค ํ๋๊ฐ ์น = http
- [http://dearest-mingyeong.tistory.com/] ์์ http๋ ์น ํต์ ์ ํ๊ฒ ๋ค๋ ์๋ฏธ
- ์๊ตฌํธ ํ๋ฅผ ์๋ก ๊ฐ์ ธ์ ๊ฐ์ด๋ฐ์ ๋ชป๋ฃ๊ฒ ํ๋๊ฒ = https
- "์ ๋ฃ๊ณ ์๋ค๊ฐ ๋๊ฐ http๋ฅผ ์์ฒญํ๋ฉด ์ด ํ์ผ์ ๋๋ ค์ค" ๋ช
๋ น
= "์น์๋ฒ๋ฅผ ๋ง๋ค์๋ค"๊ณ ํ๋ ๊ฒ
2๊ฐ. ์น ์๋น์ค ๋์ ๋ฐฉ์
- ์ ์์ ํญ์ฃผ → "์๋ฒ ํฐ์ก๋ค"
- ์๋ฒ์ ์ญํ : ๊ฐ์ด๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ์ฃผ๋ ๊ฒ
(๊ทธ๋์, ์ฌ๋์ด ๋ง์์ง๋ฉด ํ๋ค๋ค) - ์๋ฒ : "์ปดํจํฐ:๋ผ๋ ์ฌ๋์ ์ง์
๊ณผ ๊ฐ์ ๊ฒ
(DB, ์น ์ํ ๋ฑ ํฌ์ก, ..., N์ก ๊ฐ๋ฅ!) - ๋ธ๋ผ์ฐ์ ์ญํ : ์์ฒญ์ ๋ณด๋ด๊ณ , ๋ฐ์์์ ๊ทธ๋๋ก ๊ทธ๋ ค์ฃผ๋ ๊ฒ
- HTML : ๋ผ๋
- CSS : ์์๊ฒ
- JS : ์์ง์
- ๊ทธ๋ฐ๋ฐ, ๊ผญ ์ด๋ ๊ฒ ํ์ด์ง๋ฅผ ์ค์ผํ ๊น?
โซ ํ์ด์ง ๋ก๋ฉ์ด ์๋๋ผ ๋ฐ์ดํฐ๋ง ๊ฐ์๋ผ์ธ ์ ์๋ค. - ๊ทธ๋ฐ๋ฐ, ์๋ฌด๋ ๊ฒ๋ ์ค ์ ์์ผ๋, ๊ท์น์ด ํ์ํ๋ค.
โซ JSON ๋ฐฉ์ (ํน์ง : {key : value})
- ์ฑ์์ ์ด ๋ฐฉ์์ ๋ง์ด ์
: ๊ป๋ฐ๊ธฐ๋ ๋ค ๊ฐ๊ณ ์๋ค๊ฐ, ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋ถ์ฌ์ฃผ๋ ๊ฒ
โซ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฑ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๊ฒ! - ์น์์๋ ์๋ฒ์์ ๊ป๋ฐ๊ธฐ๊น์ง ๋ค ๋ฐ์์ค๊ธฐ ๋๋ฌธ์ ์ ๋ฐ์ดํธ ํ์ X
- ์น์ ๋ค ๋ฐ๊ณ , ์ฑ์ ๋ฐ์ดํฐ๋ง!
3๊ฐ. ์๋ฒ-ํด๋ผ์ด์ธํธ ํต์
- ๋์ฒด ๋ฌด์จ ๊ท์น์ผ๋ก, ์ด๋ป๊ฒ ํต์ ํ๋ ๊ฒ์ผ๊น?
- ๋ฐฐ๋ฌ ์ฑ API ์์
- A : ์์ด๋ ๊ฐ์ ธ์, ์ฃผ๋ฌธ๋ด์ญ์ ๋ณด์ฌ์ค๊ป.
- B : ์ฃผ์ ๊ฐ์ ธ์, ์์์ ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค๊ป.
- C : ์ฃผ๋ฌธ๋ฒํธ ๊ฐ์ ธ์, ๋ฐฐ๋ฌํํฉ์ ๋ณด์ฌ์ค๊ป.
- API : ์๋ฒ์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋ ๊ธฐ๋ฅ
(= ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์์ ์๋ฒ ๊ฐ๋ฐ์์ ์ฝ์)
→ ๋ฌธ์๋ก ์ ์ด๋ ๊ฒ : API ๋ช ์ธ์
https://movie.naver.com/movie/bi/mi/basic.naver?code=208077
http:// ์๋ฒ ์์น / API ์ฃผ์ ? ๊ฐ์ ธ๊ฐ๊ธฐ๋ก ํ ๋ฐ์ดํฐ
- Open API : ๋๊ตฌ๋ ์์ฒญํ ์ ์๊ฒ ์ด์ด ๋ API
ex) ๊ณต๊ณต๋ฐ์ดํฐ ···
- ์น/์ฑ ์๋ฒ๋ (๋๊ฐ ์์ฒญํ๋์ง) ์๊ด์๋ค.
(์ฑ ์๋ฒ, ์น ์๋ฒ, TV ์๋ฒ ๋ฑ์ด ๋ฐ๋ก ์์ผ๋๊น)
4๊ฐ. ๊ฐ๋ฐ์ธ์ด, ํ๋ ์์ํฌ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด : OS์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๊ฒ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๋ฒ๋ฅผ ์ฒ์๋ถํฐ ๋ง๋๋ ๊ฒ์ ์์ฃผ ์ด๋ ค์ด ์ผ!
→ ๊ทธ๋์ 'ํ๋ ์์ํฌ'๊ฐ ์กด์ฌ
ex) Java - Spring / Node.js - Express / Python - Django, Flask
(์ด ์ธ ํ๋ ์์ํฌ๋ ์์ฒญ ๋ง๊ณ , ๋์ฒด์ ์ผ๋ก ์ ๋ช ํ ๊ฒ ์ฌ์ฉ)
- ์ธ์ด๋ณ ์ฉ์ฒ์ ํน์ง
์น ํ๋ก ํธ์๋
- HTML ๋ผ๋, CSS ๊พธ๋ฏธ๊ธฐ, Javascript ์์ง์
→ ์ด๊ฑฐ๋ง ๊ฐ์ง๊ณ ๋ง๋ค๋ฉด ํ๋ ์์ํฌ ์์ด ๋ง๋๋ ๊ฒ
Javascript๋ก ๋ง๋ ํ๋ ์์ํฌ : Angular, vue.js, React.js
์๋ฒ
- ๋๋ถ๋ถ์ ์ธ์ด๋ก ์๋ฒ๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํจ.
(HTML, CSS, JS ์ ์ธ)
- Java : ์ด๋ ค์, ํ์์ด ์์, ํฐ ํ์ฌ์์ ๋ง์ด ์
- Python : ์ฝ๊ฒ ์
๋ฌธ, ์์ ๋ก์, ๋ฐ์ดํฐ ๋ถ์์๋ ์
- node.js : Javascript์ ๊ฑฐ์ ๊ฐ์, ์คํํธ์
์์ ๋ง์ด ์ฌ์ฉ
(๋ฐฑ/ํ๋ก ํธ ์ธ์ด๊ฐ ๊ฐ์ผ๋ฉด ํธํ๋๊น)
- C์ธ์ด : ์๋ฒ ๋๋ ์นฉ, IoT์์, C๋ก ์๋ฒ ๋ง๋๋ ๊ณณ์ ๊ฑฐ์ X (๊ฐ๋ ๊ฒ์ํ์ฌ?)
- GO : ์ต๊ทผ ์ธ๊ธฐ, ์ฌ์ด๋ฐ ์ ๋นํ ํ์์ด ์์
- Typescript : Javascript์ ํ์ ์ ๋ฃ์
๊ทธ ์ธ ์ฑ
- ์๋๋ก์ด๋ ์ฑ : Kotlin
- ์์ดํฐ ์ฑ : Swift
- ํ๋ฒ์ ๊ฐ๋ฐ : Flutter or React Native
- ์ธ์ด์๋ ํน์ฑ๋ง ์์ ๋ฟ, ์ํฉ์ ๊ณ ๋ คํด ์ ํ!
5๊ฐ. ์ํคํ ์ณ/DB
- ์๋ฒ, ํด๋ผ์ฐ๋ ๋ฑ ์ํคํ ์ณ๊ฐ ๋งค์ฐ ๋ณต์กํจ.
- ๊ทธ๋์, ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ด์ฉ
ex) AWS
→ ์ด๋ฏธ ์ ๊ณตํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ตฌ์ฑํ๋ ๊ฒ๋ ๋งค์ฐ ์ค์ํด์ง (์ค๋ ฅ)
- ๋ฐ์ดํฐ ๋ฒ ์ด์ค : ๋ฐ์ดํฐ๋ฅผ ์ ์ฐพ๊ฒ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ
- DB ์ ๋ ฌ๋ ์ํ๋๋ก ์ฐพ์์ผ ๋น ๋ฅด๊ฒ ์ฐพ์
- ์ ๋ฆฌ๋ ํญ๋ชฉ : ์ธ๋ฑ์ค, ์ธ๋ฑ์ค๋ฅผ ํ์ผ ๋น ๋ฅด๊ฒ ์ฐพ์์ด
- DB / SQL vs NoSQL
- ์ ํํ๋ SQL (ORACLE, MySQL) VS ๋น์ ํํ๋ Not-Only SQL (mongoDB)
- ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ธฐ ์ํด SQL์ ๋ฐฐ์ด๋ค
= SQL DB์์ ๋ฐ์ดํฐ๋ฅผ ๋นผ๋ด๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด๋ค
6๊ฐ. ํ์
- ๊ฐ๋ฐ์๋ค์ ์ด๋ป๊ฒ ์ผ์ ๊ฐ์ด ํ ๊น?
→ ์ฐ์ ํ์ผ์ด ๋ง๊ณ , ํ์ผ ์์ ๋ด ์ฝ๋๋, ๋จ์ ์ฝ๋๋ ์์.
โซ ๋ถ๋ถ์ ๋๋ ์ ์์ ํ๊ณ , ํฉ์น๋ ๋ฐฉ๋ฒ์ด ํ์
โซ Git์ผ๋ก
- ์ฝ๋๋ฅผ ๋ชจ์์ ๊ด๋ฆฌํ ์ปดํจํฐ๋ฅผ ์ธํฐ๋ท์์ ๋น๋ฆฌ์!
โซ GitHub
(1) ์ธ์ด๋ธ ํฌ์ธํธ (cummit)
(2) ์ ๋ก๋ (push)
(3) ๋ค์ด๋ก๋ (pull)
(4) ๋ธ๋์น ๋ฐ๊ธฐ (branch)
(5) ๋จธ์งํ๊ธฐ(ํฉ์น๊ธฐ) (merge)