Java์์๋ null์ ์์ ํ๊ฒ ๋ค๋ฃจ๊ณ ํํ๋ ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ผ๋ก Optional์ด ์ ์๋ ค์ ธ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ก ์ฌ์ฉํ๋ค๋ณด๋ wrapper ํ์ ์ด๋ผ๋ ์ ์ผ๋ก ์ธํด ๊ณ ๋ฏผ๋๋ ์์ธ๋ค์ด ๊ฝค ๋ง์๋๋ฐ์. ์ ํํ๋ Optional์ nullable ํํ์ ์ฉ๋๋ก API response ํ๋ ๊ฐ์ ์ฌ์ฉํ๊ณ ์ถ์๋๋ฐ ๊ทธ ๊ณผ์ ์์ ๊ณ ๋ฏผ๋๋ ์ ์ด ์์์ด์. ์ค๋์ ๊ทธ ๋ด์ฉ์ ๋ํด ๊ฐ์ธ์ ์ธ ์๊ฐ์ ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. Optional์ response ํ๋์ ์ฌ์ฉํ ๋ ๋ฌธ์ ์ 1. ์ง๋ ฌํ "Optional์ ์ง๋ ฌํํ๋๋ฐ ์๋์น ์๋ ํ๋๊ฐ ์ง๋ ฌํ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค." ์ง๋ ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ตฌํ๋ง๋ค ๋ค๋ฅด๊ฒ ์ง๋ง ๋ชจ๋ Optional์ ํธํํ๋์ง๋ ๋ณด์ฅ๋์ง ์์ผ๋ฏ๋ก ์ฐ๋ฆฌ๊ฐ ์ ์ดํ ์ ์๋ ์์ญ์ด ์ค์ด๋ค๊ณ ..

๋ค์๊ณผ ๊ฐ์ ์ง์์ ํ์ตํ๊ณ ์ ๋ฆฌํฉ๋๋ค ๋ฒํฌํ, ์คํธ๋ฆฌ๋ฐ ํ ๋ฐ์ดํฐ ์ ์ก ์คํธ๋ฆฌ๋ฐํ์ ๋ฐ์ดํฐ ์ ์ก์ธ ๋ฉ์์ง ๋ฐฐ์ก ๊ตฌ์กฐ์ ํธ๋ ์ด๋์คํ ์ฑ๋ฅ์ ์ป๊ณ ์ ๋ขฐ์ฑ์ด ํฌ์๋๋ ๊ฒฝ์ฐ ๋ฑ ๋ฉ์์ง ๋ฐฐ์ก์ ์์ด์ ํ๋ก์ธ์ค ์๊ฐ๊ณผ ์ด๋ฒคํธ ์๊ฐ์ ๊ตฌ๋ณ ์ด๋ฒคํธ ์๊ฐ์ ๊ณ ๋ คํ ์ต์ ํ ๋ฐ์ดํฐ ์์ธ์ ํตํ ์ต์ ํ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ช ๊ฐ์ง ํน์ฑ๊ณผ ๊ตฌ๋ถ ๋ฐ์ดํฐ ์ถ์ ์ ์ ๋ฐ์ ์ธ ํ๋ก์ฐ 4-1 ๋ฒํฌ ํ ์คํธ๋ฆฌ๋ฐ ํ์ ๋ฐ์ดํฐ ์์ง ๋ฐ์ดํฐ ์ ์ก์๋ ๋ฒํฌ ํ๊ณผ ์คํธ๋ฆฌ๋ฐ ํ์ ๋ ์ข ๋ฅ๊ฐ ์์ ๊ฐ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ถ์ฐ ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋๊น์ง์ ํ๋ฆ์ ์ดํด๋ณด์. ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ ์์ง ๋น ๋ฐ์ดํฐ๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ์ฅ์ฑ์ด ๋์ ๋ถ์ฐ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋จ ๋ถ์ฐ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด์ฉ๋๋ ๊ฒฝ์ฐ๋ ์์ง๋ง ๋๋์ผ๋ก ํ์ผ์ ์ ์ฅํ๊ธฐ ์ํ ๊ฐ์ฒด ..

2023๋ ์ ์ ๋ง ๋ค์ด๋๋ฏนํ๋ ๊ฒ ๊ฐ์์. 1๋ ์ด๋ผ๋ ์๊ฐ๋์ ์ ๋ง ๋ง์ ์ผ๋ค์ด ์์๊ณ ๊ฐ์น๊ด์๋ ํฐ ๋ณํ๊ฐ ์๊ฒผ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๋ 1๋ ์ด๋ผ๋ ์๊ฐ์ ์ด๋ ๊ฒ ๋ง์ ๊ฒ๋ค์ ํ ์ ์๋ค๋ ๊ฑธ ์ดํดํ๊ณ ๋ค๋ฅธ ์ด๋ค์ด ๊ฒช์ ์๊ฐ๊ณผ ๊ฐ์์ ์๊ฐ์ ์กด์คํ๊ฒ ๋ ๊ฒ ๊ฐ์์. ์ฌํด 3๋ ์ฐจ๊ฐ ๋์๊ณ ๋ด๋ ์ด๋ฉด ์ค์์ด ๋์ด ์๋๊ณ ์๋ ๋์ด๋ก 25์ด(00๋ ์)์ด ๋๋๋ฐ ์๊ฐ์ด ์ง๋ ์๋ก ์ ์ ์ฌ์ ๊ฐ ์๊ธฐ๋ฉด์๋ ์๋ก ๊ฒช๋ ๊ฒฝํ๋ค์ด ๋ง์์ ์ฆ๊ฑฐ์ด ๊ฒ ๊ฐ์ต๋๋ค. 2023์ ์์๋ ์ผ๋ค ์ค์ ๊ธฐ์ต๋๋ ๊ฒ๋ค์ ํ๋์ฉ ์ดํด๋ณผ๊ฒ์. AUSG์์ ๋ง๋ ์์คํ ์คํฐ๋ AUSG๋ผ๋ AWS ๊ด๋ จ ํด๋ผ์ฐ๋ ๋์๋ฆฌ์์ ๊ธฐ์ ์ฑ ์คํฐ๋๋ฅผ ํ 9๊ฐ์ ์ ๋ ๋๋ ์๊ฐ ๋์ ๊ฝค ์ค๋ ์งํํ์ด์. ์คํฐ๋ ๊ตฌ์ฑ์๋ถ ์ค์ ์ด๋ค ๋ถ์ด "์ฐ๋ฆฌ๋ ๋จ์ํ..

AWS re:Invent 2023์ ์ฐธ์ฌํ ์ ์๋๋ก ํ์ฌ์์ ๋์์ ์ฃผ์ ์ ๊ธฐ๋ถ ์ข๊ฒ ๋ค๋ ์์ต๋๋ค! AWS ๋ฆฌ์ธ๋ฒคํธ๋ ๋งค๋ ์ด๋ฆฌ๋ AWS ์ปจํผ๋ฐ์ค์ด๊ณ ์ ์ธ๊ณ์ ์ฌ๋๋ค์ด ๋ชจ์ด๋ ์ต๊ณ ์ ํ ํฌ ์ปจํผ๋ฐ์ค ์ค ํ๋์ ๋๋ค. ์ด๋ฒ ํ์ฌ๋ 2023๋ 11์ 27์ผ๋ถํฐ 2023๋ 12์ 1์ผ๊น์ง ๋ผ์ค๋ฒ ๊ฐ์ค์์ ์งํ๋์๊ณ ๊ธธ๊ณ ๋ ์งง์ ์๊ฐ์ ๋ณด๋ด๋ฉด์ ๋ง์ ์ถ์ต๋ค๊ณผ ์ง์์ ์ป์๋ ๊ฒ ๊ฐ์ต๋๋ค ใ ใ ์ด๋ฒ ๊ธ์์๋ ์๋ ๋ด์ฉ๋ค์ ํ ๋ฒ ์ด์ผ๊ธฐํด๋ณผ๊ฒ์! ํ์ํ์ ๋ด์ฉ์ ์ฐพ์๊ฐ์ ๋ณด์๋ ๊ฑธ ์ถ์ฒํฉ๋๋ค. ๋ฆฌ์ธ๋ฒคํธ ์ด์ผ๊ธฐ์ DB ๊ด๋ จํด์ ์๋ก ๊ณต๊ฐ๋ AWS ์ ํ ๊ทธ๋ฆฌ๊ณ ์ถ์ฒ ์ํฐํด ๋ค์์ ๋ฆฌ์ธ๋ฒคํธ์ ๊ฐ์๋ ๋ถ๋ค์ ์ํ ์ฝ๊ฐ์ ๊ฟํ(์ถ์ฒ ์ธ์ ์ข ๋ฅ, ์์น ์ ์ ๋ฑ) ์ด๋ป๊ฒ ์ ๋์๋์ง ์กฐ๊ธ ์๋ ๋ฆฌ์ธ๋ฒคํธ ์ด์ผ๊ธฐ ๋ฆฌ์ธ๋ฒคํธ์ ์ฒ์ ๊ฐ๋ฉด..

"ํ์๋์ ์๊ฐ ๊ด๋ฆฌํ๋ ๊ฒ ํค๋ฅด๋ฏธ์จ๋ ๊ฐ์์ ๋๋จํด์", "์ด ํ ์์ด ์ฑ์ฅ์ ์ํด ๋ณธ์ธ์ ๋ฒผ๋ ๋์ผ๋ก ๋ฏธ๋ ๋ถ์ธ ๊ฒ ๊ฐ์์" ์ฃผ๋ณ์์ ์ด๋ฐ ๋ง์ ๋ค์์ง ํ 1๋ ์ ๋ ๋ ๊ฒ ๊ฐ๋ค. ๋ณดํต ๋ด๊ฐ ์ถ์ ์ถฉ์คํ๊ณ ์ด์ฌํ ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ ๋ชจ์ต์์ ์ด๋ฐ ๋ฐ์์ ๋ณด์ด์๋ ๊ฒ ๊ฐ๊ณ ๊ทธ ๋ถ๋ค์๊ฒ ๋ ๋ค๋ฅธ ์๊ทน์ด ๋๋ ๊ฒ ๊ฐ๋ค. ํ๋ฃจํ๋ฃจ ๋ฐ์๊ฒ ์ด๋ค๋ณด๋ ๊ณผ๊ฑฐ์ ์ด๋ ค์ ๋ ๊ฒ๋ค์ด ์ด์ ๋ ๋๋ฌด ๋น์ฐํ๊ณ ๋๋ ค์๋ ๋ง์ด ์์ด์ง ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ํ ํธ์ผ๋ก๋ ์์คํจ์ ์์ด๊ฐ๋ ๊ฑด ์๋๊ฐ ํ๋ ์๊ฐ๋ ๋ ๋ค. ๊ฐ๋ ์๋๋ ฅ์ด ๋ญ๋๊ณ ๋ฌผ์ด๋ณด์๋ ๋ถ๋ ์๋๋ฐ "๊ทธ๋ฅ ์ฌ๋ฐ์ด์! ๋ ๋ค ํด๋ฒ๋ฆฌ๋ ๊ฒ ๋ฐฉ๋ฒ์ ๋๋ค ใ ใ " ๋ผ๊ณ ์๊ฐ ๊ทธ๋๋ก ๋ต๋ณํ๋ค. ๋๋์ฒด ์ง๊ธ์ ๋๋ ์ด์ฉ๋ค๊ฐ ์ด๋ ๊ฒ ๋์๊น? ๊ฝค ๋จผ ๊ณผ๊ฑฐ ์ด์ผ๊ธฐ๋ถํฐ ํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. [์ง๊ธ์ ..

์ต๊ทผ์ staging ํ๊ฒฝ์์ ๋จ์ผ ์ธ์คํด์ค๋ฅผ ๋๋ฉด์๋ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ํ๊ณ ์ถ์๋๋ฐ, AWS Elastic Beanstalk์ ํ์ฉํด์ ์ด๋ฅผ ์์ฝ๊ฒ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๊ทธ๋์ ์ ์ ๊ฐ์ ๊ณ ๋ฏผ์ ํ๊ณ ๊ณ์ ๋ถ๋ค์ ์ํด ๊ธฐ๋ก์ฐจ ์ด ๊ธ์ ์์ฑํฉ๋๋ค. AWS Elastic Beanstalk์ vercel๊ณผ ์ ์ฌํ๊ฒ ์ฝ๋๋ง ์ฌ๋ฆฌ๋ฉด ์ธํ๋ผ ๊ด๋ จ ์ธํ ์ ๋งค์ฐ ์์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์๋๋ก ๋์์ฃผ๋ PaaS(Platform as a Service)์ ๋๋ค. Elastic Beanstalk์ ์ฌ์ฉํ๋ฉด ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์ ์ ์๊ณ ๋น์ฉ๋ Elastic Beanstalk ๊ธฐ๋ฅ ์์ฒด๋ ๋ฌด๋ฃ์ด๋ฉฐ S3, EC2 ๋ฑ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅํ๊ณ ์คํํ๊ธฐ ์ํด ์์ฑํ ๋ฆฌ์์ค์ ๋ํด์๋ง ์ง๋ถํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋์ ๋ฆฌ์์ค๋ฅผ ์ต..
์ด ๊ธ์์๋์ด ๊ธ์์๋ golang์ ํ์ฉํ rate limit์ ๋ํด์ ๋ค๋ฃน๋๋ค.์ต๊ทผ์ ํ์ฌ ์ ๋ฌด์์ tcp 100์ผ๋ก ๊ณ ์ ํ๊ณ ์ ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๋ batch job์ ๊ฐ๋ฐํ์๋๋ฐ,golang์์ ์ ๊ณตํ๋ rate limit ํจํค์ง๋ฅผ ํ์ฉํ์ต๋๋ค.๊ทธ๋์ ๊ด๋ จํด์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํด์!์ด ๊ธ์ ์ฝ๋ ์ฌ๋๋ค์ ๋ค์๊ณผ ๊ฐ์ ์ง์์ ์ป์ด๊ฐ๊ธธ ๊ธฐ๋ํฉ๋๋ค์ฒ๋ฆฌ์จ ์ ํ(rate limit)์ด๋?golang rate package ์ฃผ์*์ ๊ฐ ๊ฒฝํํ ์ผ์ด์ค๋ ๋จ์ผ batch job์ kubernetes cronjob์ผ๋ก ๋์์ํจ ๊ฒฝ์ฐ์ ๋๋ค.๋ถ์ฐ ์์คํ ์์์ rate limiter๋ ๋ ๋ค๋ฅธ ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๋ค์ด ์กด์ฌํฉ๋๋ค.๊ทธ ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ์ ๋ํ ์ด์ผ๊ธฐ๋ ๊ธ ํ๋ฐ๋ถ์ ๋ค๋ฃน๋๋ค. ์ฒ๋ฆฌ์จ ์ ํ(rate limit)์ด๋?rate li..

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