
๊ฐ์ nginx ์ค์ ์ค์ ์ค์ ํ directory๋ฅผ ์ฐพ์ง ๋ชปํ๋ ๊ฒ์ผ๋ก ํ๋จ๋์ด log๋ฅผ ํ์ธํด๋ณด๋ 403 (13: Permission denied) ์๋ฌ๊ฐ ๋ฐ์ํ์๊ณ , ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํฉ๋๋ค. error ๋ฐ์ ์ํฉ server { listen 80; root /xxx/xxx/build; index index.html; server_name _; location / { try_files $uri $uri/ /index.html; } } /etc/nginx/sites-available/default์ ์์ ๊ฐ์ด ์ค์ ์ ํด๋๊ณ ํด๋น ํฌํธ๋ก ์ ์ํด๋ณด๋ 500 Error์ ํจ๊ป ํ์ด์ง๋ฅผ ์ฐพ์ ์ ์์๋ค. ๊ทธ๋์ ๋ฐ๋ก log๋ฅผ ํ์ธํด๋ณด์๊ณ , /var/log/nginx/error.log์์ ๋ค์๊ณผ ๊ฐ์ ..

JSON WEB TOKEN JWT๋? ํ ํฐ ์์ฒด์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ ๋ฌด๊ฒ์ง ์๊ณ ๊ฐํธํ๊ณ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅ Base64 URL Safe Encoding์ ์ด์ฉํด์ URL, Cooke, Header ๋ฑ์ ์ฌ์ฉ ๊ฐ๋ฅ ์ค์์ ์ธ์ฆ ์๋ฒ, ๋ฐ์ดํฐ ์คํ ์ด์ ๋ํ ์์กด์ฑ์ด ์์ด์ ์์คํ ์ํ ํ์ฅ์ ์ ๋ฆฌํจ → ๊ธฐ์กด์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ธ์ ์ ์ ์ฅํ๋ ๋ฐฉ์์ ํด๋น ์๋ฒ์์๋ง ํด๋น ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ ์ ์์ด์ ๋ฐ๋ก ์ธ์ ์๋ฒ๋ฅผ ๋ฌ์ผํ์ง๋ง, ํ ํฐ์ ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ธ์ ์๋ฒ๊ฐ ํ์ ์์ด์ง. JWT๋ ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ aaaaaa.bbbbbb.cccccc // ์์์๋ถํฐ .์ ๊ธฐ์ค์ผ๋ก ๋ค์๊ณผ ๊ฐ์ // ํค๋(header).๋ด์ฉ(payload).์๋ช (signature) ํค๋(Header) S..

๊น์ํ๋์ ์คํ๋ง ํต์ฌ ์๋ฆฌ ๊ธฐ๋ณธํธ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. 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) : ํด๋ผ์ด์ธํธ ์ค๋ฅ, ์๋ชป๋ ๋ฌธ๋ฒ ๋ฑ์ผ๋ก ์๋ฒ๊ฐ ์์ฒญ์ ์ํํ ..
- Total
- Today
- Yesterday
- mysql
- ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS)
- mysql metadata lock
- AWS re:Invent 2023
- ๋ฐฑ์ค
- Golang
- mysql metadata_locks
- ์ถ์ ์ง๋
- 2023 ๊ฐ๋ฐ์ ํ๊ณ
- 2023 ํ๊ณ
- HTTP
- ํ(Heap)
- mysql mdl
- golang oomkilled
- ํด์
- Go
- ์ข์ ์์ง๋์ด
- ์๊ณ ๋ฆฌ์ฆ
- ์ข์ ๊ฐ๋ฐ์ ๋๊ธฐ
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค
- 2024ํ๊ณ
- mysql ์คํ ๊ณํ
- grpc client
- ์ฅ์ ํ๊ณ
- ํ๋ก๊ทธ๋๋จธ์ค
- Aws Reinvent 2023
- kotlin s3 upload
- ์ฝ๋ฉํ ์คํธ
- ์ข์ ๊ฐ๋ฐ์
- ์คํ/ํ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |