MySQL ์คํ ๊ณํ ๋ถ์๐ก ์คํ ๊ณํ์์ ํ์๋๋ ๊ฐ ์ปฌ๋ผ์ด ์ด๋ค ๊ฒ์ ์๋ฏธํ๋์ง ์์๋ณด์๋ฉ๋ด์ผํ ์์ ์ด๋ ๊ฐ๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํ์ธํ๊ณ ์ถ์ ๋ EXPLAIN ํค์๋๋ฅผ ํตํด MySQL ์คํ ๊ณํ์ ์ดํด๋ณด๊ฒ ๋๋๋ฐ, ๊ฐ ์นผ๋ผ์ ์๋ฏธ์ ๋ํด์๋ ๋ช ํํ๊ฒ ์ ๋ฆฌํ๊ฑฐ๋ ์์๋ณธ ๊ฒฝํ์ด ์๋ ๊ฒ ๊ฐ์์ ์ด๋ฒ ๊ธฐํ์ ์ด๋ฅผ ์ ๋ฆฌํ๊ณ ์๊ธฐํฉ๋๋ค.๊ฐ ์นผ๋ผ์ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, Extra id ์นผ๋ผ๐ก ID ์ปฌ๋ผ์ ๋จ์ํ SELECT ์ฟผ๋ฆฌ ์๋ฅผ ์๋ฏธํ๊ณ ํด๋น SELECT ์ฟผ๋ฆฌ๋ฅผ ์๋ณํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋จ.SELECT ์ฟผ๋ฆฌ ์๋ฅผ ์๋ฏธํ๋ฏ๋ก ๊ฐ์ ID๊ฐ ์ฌ๋ฌ..
ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(isolation level)์ ๋ํด์ ์ ํํ๊ฒ ์ดํดํ๋ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์ ํํ๊ฒ ์ ์ดํ๋ ๊ฒ์ ์์ด์ ์ค์ํฉ๋๋ค. ํ์ง๋ง ๊ฒฉ๋ฆฌ ์์ค์ด ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง ์ ํํ๊ฒ ๋ชจ๋ฅด๊ณ ์์๋ ์ฌ์ค์ ๋ฐ๊ฒฌํด์ ์ฌํ์ต์ ์ํด ๋ด์ฉ์ ์ ๋ฆฌํฉ๋๋ค. ์ด ๊ธ์ MySQL ๊ธฐ์ค์ผ๋ก ์์ฑํฉ๋๋ค. ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค ๊ฒฉ๋ฆฌ ์์ค์ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ง๋ก ๋ค์๊ณผ ๊ฐ์ด ๋๋๊ฒ ๋ฉ๋๋ค. READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE 1๋ฒ์์ 4๋ฒ์ผ๋ก ๊ฐ์๋ก ํธ๋์ญ์ ๊ฐ์ ๋ฐ์ดํฐ ๊ฒฉ๋ฆฌ ์์ค์ด ๋์์ง๋ฉฐ, ๋์ ์ฒ๋ฆฌ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณดํต SERIALIZABLE ์ ๋๊ฐ ์๋๋ฉด ํฌ๊ฒ ์ฑ๋ฅ์ ๊ฐ์ ์ด๋ ์ ํ๋ ๋ฐ์ํ์ง ..
์ต๊ทผ์ staging ํ๊ฒฝ์์ ๋จ์ผ ์ธ์คํด์ค๋ฅผ ๋๋ฉด์๋ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ํ๊ณ ์ถ์๋๋ฐ, AWS Elastic Beanstalk์ ํ์ฉํด์ ์ด๋ฅผ ์์ฝ๊ฒ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ๋์ ์ ์ ๊ฐ์ ๊ณ ๋ฏผ์ ํ๊ณ ๊ณ์ ๋ถ๋ค์ ์ํด ๊ธฐ๋ก์ฐจ ์ด ๊ธ์ ์์ฑํฉ๋๋ค. AWS Elastic Beanstalk์ vercel๊ณผ ์ ์ฌํ๊ฒ ์ฝ๋๋ง ์ฌ๋ฆฌ๋ฉด ์ธํ๋ผ ๊ด๋ จ ์ธํ ์ ๋งค์ฐ ์์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์๋๋ก ๋์์ฃผ๋ PaaS(Platform as a Service)์ ๋๋ค. Elastic Beanstalk์ ์ฌ์ฉํ๋ฉด ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์ ์ ์๊ณ ๋น์ฉ๋ Elastic Beanstalk ๊ธฐ๋ฅ ์์ฒด๋ ๋ฌด๋ฃ์ด๋ฉฐ S3, EC2 ๋ฑ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅํ๊ณ ์คํํ๊ธฐ ์ํด ์์ฑํ ๋ฆฌ์์ค์ ๋ํด์๋ง ์ง๋ถํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋์ ๋ฆฌ์์ค๋ฅผ ์ต..
gRPC๋ ์ ์ค์ฉ์ ์ผ๊น? ์ด ๊ธ์ gRPC๋ฅผ ์ ํ ์ง ์ผ๋ง ์ ๋๊ฑฐ๋ ์๋กญ๊ฒ ์์๋ณด๊ณ ์ถ์ ์ฌ๋์ ๋์์ผ๋ก go, gRPC ๊ทธ๋ฆฌ๊ณ MSA ํ๊ฒฝ์์์ ์ค๋ฌด ๊ฒฝํ์ ๊ธฐ๋ฐํ์ฌ ์์ฑ๋์์ต๋๋ค. ์ ๋ gRPC๋ ์ธํ๋ผ ๊ตฌ์ถ์ ์์ด ๋ค์ ๋ฌ๋์ปค๋ธ๊ฐ ์๋ ํธ์ด์ง๋ง ๊ต์ฅํ ์ค์ฉ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ค๋์ ์ด์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๋ ค๊ณ ํด์. ๋จผ์ , gRPC๋ ๋ฌด์์ผ๊น์? gRPC๋ ํ ๋ฌธ์ฅ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ ์ํด๋ณผ ์ ์์ต๋๋ค. gRPC๋ Protocol Buffer๋ฅผ IDL(Interface Definition Language)๋ก ์ฌ์ฉํ๋ HTTP/2๊ธฐ๋ฐ์ RPC ํ๋ ์์ํฌ์ ๋๋ค. ์์ํ ๋จ์ด๋ค์ด ๋ง์ ์ ์์ ๊ฒ ๊ฐ์๋ฐ์! ์ ๊น ๋ช ๊ฐ์ง ์ดํด๋ณผ๊น์? RPC(Remote Procedure Call) RPC๋ ๋ง ๊ทธ๋..
๊ฐ์ 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 ๋ฉ์๋๋ ๋์ ๋ฆฌ์์ค๊ฐ ๋ฆฌ์์ค์ ๊ณ ์ ํ ์๋ฏธ ์ฒด๊ณ์ ๋ฐ๋ผ ์์ฒญ์ ํฌํจ๋ ํํ์ ์ฒ๋ฆฌํ๋๋ก ..
- Total
- Today
- Yesterday
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค
- Golang
- ํ(Heap)
- ๋ฆฌ์ธ๋ฒคํธ
- ํด์
- rate limit
- ์ถ์ ์ง๋
- http-logger
- ๋ฐฑ์ค ๋๋ฌด ์๋ฅด๊ธฐ
- ๋ฑ ํฌ์๋ฌ๋ ๊ฐ๋ฐ์
- spring validation
- ์๊ณ ๋ฆฌ์ฆ
- mysql ์คํ ๊ณํ
- mysql
- HTTP
- ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS)
- ๋ฐฑ์ค
- ์ข์ ๊ฐ๋ฐ์
- 2023 ํ๊ณ
- 2๋ ์ฐจ ์๋ฒ ๊ฐ๋ฐ์
- ์ข์ ์ฝ๋๋ ๋ฌด์์ธ๊ฐ?
- 2023 ๊ฐ๋ฐ์ ํ๊ณ
- ์ฝ๋ฉํ ์คํธ
- 2021ํ๊ณ
- Aws Reinvent 2023
- Go
- ๋ฐฑ์ค ์ค ์ธ์ฐ๊ธฐ
- ์คํ/ํ
- AWS re:Invent 2023
- ํ๋ก๊ทธ๋๋จธ์ค
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |