๊น์ํ๋์ ์คํ๋ง ํต์ฌ ์๋ฆฌ ๊ธฐ๋ณธํธ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. SOLID ํด๋ฆฐ์ฝ๋๋ก ์ ๋ช ํ ๋ก๋ฒํธ ๋งํด์ด ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํจ. SRP: ๋จ์ผ ์ฑ ์ ์์น(single responsibility principle) OCP: ๊ฐ๋ฐฉ-ํ์ ์์น (Open/closed principle) LSP: ๋ฆฌ์ค์ฝํ ์นํ ์์น (Liskov substitution principle) ISP: ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (Interface segregation principle) DIP: ์์กด๊ด๊ณ ์ญ์ ์์น (Dependency inversion principle) SRP ๋จ์ผ ์ฑ ์ ์์น Single responsibility principle ํ ํด๋์ค๋ ํ๋์ ์ฑ ์๋ง์ ๊ฐ์ ธ์ผ ํ๋ค. -..
๊น์ํ๋์ ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ ๊ฐ์๋ฅผ ์๊ฐํ๋ฉฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. GET ๋ฆฌ์์ค ์กฐํ ์๋ฒ์ ์ ๋ฌํ๊ณ ์ถ์ ๋ฐ์ดํฐ๋ query(์ฟผ๋ฆฌ ํ๋ง๋ฆฌํฐ, ์ฟผ๋ฆฌ ์คํธ๋ง)์ ํตํด์ ์ ๋ฌ ๋ฉ์์ง ๋ฐ๋๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์์ง๋ง, ์ง์ํ์ง ์๋ ๊ณณ์ด ๋ง์์ ๊ถ์ฅํ์ง ์์ GET /boards?title=hello HTTP/1.1 Host: localhost:8080 POST ์์ฒญ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฉ์์ง ๋ฐ๋๋ฅผ ํตํด ์๋ฒ๋ก ์์ฒญ ๋ฐ์ดํฐ ์ ๋ฌ ์๋ฒ๋ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ ๋ฉ์์ง ๋ฐ๋๋ฅผ ํตํด ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ํ ์ฃผ๋ก ์ ๊ท ๋ฆฌ์์ค ๋ฑ๋ก, ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๋ฑ์ ์ฌ์ฉ ์คํ ์์ POST POST ๋ฉ์๋๋ ๋์ ๋ฆฌ์์ค๊ฐ ๋ฆฌ์์ค์ ๊ณ ์ ํ ์๋ฏธ ์ฒด๊ณ์ ๋ฐ๋ผ ์์ฒญ์ ํฌํจ๋ ํํ์ ์ฒ๋ฆฌํ๋๋ก ..
๊น์ํ๋์ ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ ๊ฐ์๋ฅผ ์๊ฐํ๋ฉฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ํ ์ฝ๋ : ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ์์ฒญ์ ์ฒ๋ฆฌ ์ํ๋ฅผ ์๋ต์์ ์๋ ค์ฃผ๋ ๊ธฐ๋ฅ ์ํ์ฝ๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ ์ํฉ์ ๋ฐ๋ผ ์ ํฉํ์ง ์์ ์ ์๋ค. ์ํ์ฝ๋๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ์์ ์ฝ์์ด๊ณ , ๋ณดํต ๋ง์ด ์ฌ์ฉํ๋ ์ํ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ฐ๋ฐํ๋ ํ์ ๋ฐ๋ผ์ ์ํ ์ฝ๋๋ฅผ ์ ํํ๋ ๋ฑ ์ด ์ฝ์์ ์ ํฉํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ๋ ์ค์ํ๋ค. ์ข ๋ฅ 1xx (Informational): ์์ฒญ์ด ์์ ๋์ด ์ฒ๋ฆฌ์ค *๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ 2xx (Successful) : ์์ฒญ ์ ์ ์ฒ๋ฆฌ 3xx (Redirection) : ์์ฒญ์ ์๋ฃํ๋ ค๋ฉด ์ถ๊ฐ ํ๋์ด ํ์ 4xx (Client Error) : ํด๋ผ์ด์ธํธ ์ค๋ฅ, ์๋ชป๋ ๋ฌธ๋ฒ ๋ฑ์ผ๋ก ์๋ฒ๊ฐ ์์ฒญ์ ์ํํ ..
#2 ์์๋ ์ ์ฉํ ํค์๋๋ค์ ์ ๋ฆฌํ๋ฉด์ ๋ฌธ์ ๋ ๋ช ๊ฐ ์ ๋ฆฌํ ์๊ฐ์ ๋๋ค. - ์ง๊ณํจ์(SUM, MAX, MIN, COUNT, AVG) ์ง๊ณํจ์๋ ์ต๋๊ฐ ํน์ ์ต์๊ฐ ๊ตฌํ๊ธฐ, ๊ฐ์ ์ธ๊ธฐ ๊ทธ๋ฆฌ๊ณ ํ๊ท ๊ตฌํ๊ธฐ ๋ฑ์ ์ด์ฉ๋ ์ ์์ต๋๋ค. โ#1์์ ์ ๋ฆฌํ GROUP BY๋ ์ง๊ณํจ์์ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ ๊ผญ ์์๋ก์๋ค. ์ด์ ๊ด๋ จ๋ ์์ ๋ ๋ค์ GROUP BY ๋ฌธ์ ์ ํจ๊ป ์์๋ด ๋๋ค. - ์ค๋ณต ์ ๊ฑฐ ํ๊ธฐ(DISTINCT) DISINCT ํค์๋๋ฅผ ์ฌ์ฉํด์ ์ค๋ณต์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. โ์ถ๊ฐ๋ก ์ง๊ณํจ์์ ์กฐํฉํ์ฌ COUNT(DISTINCT NAME) ์ด๋ฐ ๋ฐฉ์๋ ๊ฐ๋ฅํฉ๋๋ค. NAME์ ์ค๋ณต๊ฐ์ ๋ฏธ๋ฆฌ ์ ๊ฑฐํ๊ณ COUNTํ๋ ๊ฒ์ด์ฃ . -- NAME SELECT ์ค๋ณต ์ ๊ฑฐ SELECT DISTINCT NAME FROM M..
#1์์๋ ํต์ฌ์ ์ธ ํค์๋๋ฅผ ์ ๋ฆฌํ๊ณ #2์์๋ ํ๋ก๊ทธ๋๋จธ์ค SQL ๊ณ ๋์ kit Level 3~4 ๋ฌธ์ ๋ช๊ฐ๋ฅผ ๋ค๋ฃจ๋ฉด์ ์์ฃผ ์ฌ์ฉํ๋ ํจ์๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ๊ฐ๋จํ๊ฒ ํค์๋๋ค์ ์ ๋ฆฌํ๊ณ ๋ง์ง๋ง์ ์ด๋ค์ ์ ํฉํ๊ฒ ์ฌ์ฉํ๋ ๋ฒ์ ์ ๋ฆฌํ ๊ฒ์ด๋ค. ORDER BY SELECT * FROM ํ ์ด๋ธ๋ช ORDER BY ์ปฌ๋ผ๋ช (ASC) ํน์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ. ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์(ASC) ์ ๋ ฌ SELECT * FROM ํ ์ด๋ธ๋ช ORDER BY ์นผ๋ผ1, ์นผ๋ผ2 DESC ์ ๋ฐฉ์์ฒ๋ผ ์ฌ๋ฌ ์นผ๋ผ์ ์ ์ฉํ ์๋ ์๋ค. GROUP BY, HAVING SELECT id, COUNT(*) FROM member GROUP BY id HAVING id > 3 ํน์ ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๋ค. ์ฃผ๋ก ์ง๊ณํจ์(COUNT(), ..
- Total
- Today
- Yesterday
- kotlin s3 upload
- ์ข์ ์์ง๋์ด
- Golang
- Aws Reinvent 2023
- grpc client
- ์ข์ ๊ฐ๋ฐ์ ๋๊ธฐ
- Go
- mysql
- ๋ฐฑ์ค
- 2023 ๊ฐ๋ฐ์ ํ๊ณ
- ์ข์ ์ฝ๋๋ ๋ฌด์์ธ๊ฐ?
- ์คํ/ํ
- golang oomkilled
- ํ(Heap)
- ์ข์ ๊ฐ๋ฐ์
- ๋ฑ ํฌ์๋ฌ๋ ๊ฐ๋ฐ์
- 2๋ ์ฐจ ์๋ฒ ๊ฐ๋ฐ์
- rate limit
- ํ๋ก๊ทธ๋๋จธ์ค
- HTTP
- ํด์
- AWS re:Invent 2023
- ์ถ์ ์ง๋
- 2023 ํ๊ณ
- ์ฅ์ ํ๊ณ
- ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS)
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค
- ์ฝ๋ฉํ ์คํธ
- ์๊ณ ๋ฆฌ์ฆ
- mysql ์คํ ๊ณํ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |