SMALL

๋ชฉ๋ก์ „์ฒด ๊ธ€ (58)

You are a developer, not a coder.

RDS๋ฅผ ์ด์šฉํ•˜์—ฌ DB ์„œ๋ฒ„ ๋‹ค์ค‘ํ™”

1. RDS์˜ ๊ธฐ๋Šฅ,์ œํ•œ ๋ฐ ๋‹ค์ค‘ํ™”๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  AWS์—์„œ RDB๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. EC2 ์ธ์Šคํ„ด์Šค์— RDBMS๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉ ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค์ธ ์•„๋งˆ์กด RDS๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ „์ž๋Š” OS์™€ RDBMS๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์„ ํƒํ•˜๊ณ  ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด์— ๋‹จ์ ์œผ๋กœ๋Š” OS์™€ DBํ™˜๊ฒฝ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ์•ˆ๋œ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค. ํ›„์ž์ธ ๊ฒฝ์šฐ ํŒจ์น˜ ์ ์šฉ๊ณผ ๋ฐฑ์—…์ด ์ž๋™ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šด์˜์˜ ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ค„์–ด๋“ ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜ DB์šด์˜์—๋Š” ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ์–ด, ์ด์šฉ ๋ชฉ์ ์— ๋งž๋Š”์ง€ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. RDS์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์ œํ•œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋‚ด์šฉ ์ž๋™ ์œ ์ง€๋ณด์ˆ˜ ๋ฐฑ์—… ์ž๋™์ ์œผ๋กœ ๋ฐฑ์—…์ด ์ž‘์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ๋ณดํ†ต 5๋ถ„ ์ด๋‚ด์— ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ด๋„ˆ ๋ฒ„์ „์—…์ด ์ž๋™์ ์œผ๋กœ ..

AWS 2020. 5. 11. 14:39
ELB๋ฅผ ์ด์šฉํ•˜์—ฌ ์›น ์„œ๋ฒ„ ๋‹ค์ค‘ํ™”

1. ๋ชฉ์  ํ•˜๋‚˜์”ฉ ์ˆ˜์ž‘์—…์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ฐ€์ƒ ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ์ธ AMI๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ƒ ์„œ๋ฒ„ ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์…‹์—…ํ•˜์ž. ๊ทœ๋ชจ๊ฐ€ ํฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ๋‚˜ ๊ฐ™์€ ํ™˜๊ฒฝ์„ ๋ฐ˜๋ณตํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ELB๊ฐ€ ์›น ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ๊ฐ์‹œํ•˜์—ฌ ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์€ ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ถ„์‚ฐ์‹œํ‚ค๋Š”๋ฐ์— ๋ชฉ์ ์„ ๋‘”๋‹ค. 2. ๊ตฌ์„ฑ ํ•„์š”ํ•œ ์ˆ˜์˜ ์›น์„œ๋ฒ„๋ฅผ ๋งŒ๋“  ํ›„์— ELB์™€ ์—ฐ๊ณ„ํ•œ ๋‹ค์ค‘ํ™” ๊ตฌ์„ฑ์„ ์„ค์ • ELB๋ฅผ ์›น ํŠธ๋ž˜ํ”ฝ์˜ ์ž…๊ตฌ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์ด ๋ณต์ˆ˜์˜ ์›น ์„œ๋ฒ„์— ๋ถ„์‚ฐ๋˜๋„๋ก ํ•œ๋‹ค ์ธํ„ฐ๋„ท ์ ‘์† End Point๋ฅผ ELB๋กœ ์ง€์ • ELB๋Š” IP ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ CNAME(๋Œ€์ฒด ๋„๋ฉ”์ธ ์ด๋ฆ„)์„ ์ง€์ •ํ•˜์—ฌ ์ ‘์† (ELB์˜ IP์ฃผ์†Œ๋Š” ๊ณ ์ •์ด ์•„๋‹ˆ๋ผ ๊ณ„์† ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ) DNS ์„œ๋ฒ„์ธ Route 53์„ ์ด์šฉํ•˜์—ฌ ELB์˜ ..

AWS 2020. 5. 11. 14:39
๋‹ค์ค‘ํ™”๋กœ ๊ฐ€์šฉ์„ฑ ํ™•๋ณด, ์„œ๋น„์Šค ํ™œ์šฉ์œผ๋กœ ๋น„์šฉ ์ ˆ๊ฐ ํ•˜๊ธฐ

1. ์˜ˆ์ œ ์‚ฌ์ดํŠธ์˜ ๊ฐœ์š” ๊ณต๊ฐœ ์›น์‚ฌ์ดํŠธ๋กœ ์‚ฌ์šฉ์ž๋Š” ๊ฑฐ๋ž˜์ฒ˜, ์ž ์žฌ์  ๊ณ ๊ฐ, ์ž…์‚ฌ์ง€์›์ž ๋“ฑ์ด๋‹ค. ์ •์  ์ฝ˜ํ…์ธ  ์ค‘์‹ฌ์ด๋‹ค. ์„œ๋ฒ„๋ฅผ ๋‹ค์ค‘ํ™”ํ•˜์—ฌ ์žฅ์• ์— ๋Œ€๋น„ํ•œ๋‹ค. ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์ง€๋ฉด ์„ญ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑํ•œ๋‹ค. ์žฅ์•  ์„œ๋ฒ„์˜ ๊ต์ฒด, ์ถ”๊ฐ€๋Š” ์ˆ˜๋™์œผ๋กœ ์กฐ์ž‘ํ•œ๋‹ค. ์‘๋‹ต์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ตฌ์„ฑํ•œ๋‹ค. 2. ์ธํ”„๋ผ ํ•ต์‹ฌ ์„ค๊ณ„ ์‚ฌํ•ญ ์›น ์„œ๋ฒ„ ๋‹ค์ค‘ํ™” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋กœ ์žฅ์• ์— ๋Œ€๋น„ํ•˜๊ณ , ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์ง„ ๊ฒฝ์šฐ์— ๋Œ€๋น„ํ•ด ์›น ์„œ๋ฒ„ ์ถ”๊ฐ€๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. 2020/05/11 - [AWS] - ELB๋ฅผ ์ด์šฉํ•˜์—ฌ ์›น ์„œ๋ฒ„ ๋‹ค์ค‘ํ™” ELB๋ฅผ ์ด์šฉํ•˜์—ฌ ์›น ์„œ๋ฒ„ ๋‹ค์ค‘ํ™” 1. ๋ชฉ์  ํ•˜๋‚˜์”ฉ ์ˆ˜์ž‘์—…์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ๊ฐ€์ƒ ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ์ธ AMI๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ƒ ์„œ๋ฒ„ ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์…‹์—…ํ•˜์ž. ๊ทœ๋ชจ๊ฐ€ ํฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ๋‚˜ ๊ฐ™์€ ํ™˜๊ฒฝ์„ ๋ฐ˜๋ณตํ•ด..

AWS 2020. 5. 11. 14:39
๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ

์„œ๋น„์Šค Lanuch ์ดํ›„ ์ดˆ์กฐํ•˜๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ•˜๋ฉด์„œ ๊ธฐ๋‹ค๋ฆฌ๋ƒ? ์•„๋‹ˆ๋ฉด ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ์‚ฌ์ „ ์ˆ˜ํ–‰์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ์„ Check ํ• ๊ฒƒ์ด๋ƒ ๋‘˜์ค‘์— ํ•œ๊ฐœ๋ฅผ ํƒํ•˜๋ผ ํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋‹น์—ฐํžˆ ํ›„์ž๋ฅผ ํƒํ•  ๊ฒƒ์ด๋‹ค. ์ž ๊ทธ๋Ÿผ AWS ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 1. ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋Š”? ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ๋˜๋Š” ์ปดํ“จํŒ… ์žฅ์น˜์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ์‘๋‹ต์„ ์ธก์ •ํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜„์ƒ๋“ค์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ ์„œ๋น„์Šค ๊ตฌ์„ฑ์˜ ์ œํ•œ(limit)์„ ์ฐพ๊ธฐ ์›ํ•˜๋Š” ๋ถ€ํ•˜๋ฅผ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ๋ณ‘๋ชฉ ์ง€์ ์„ ์ฐพ๊ณ  ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ œ๊ฑฐ 2. ์ข…๋ฅ˜ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ (Load Test) ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์— ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ์‘๋‹ต์„ ์ธก์ •ํ•˜๋Š” ์ ˆ์ฐจ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ (Stress Test) ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด..

AWS 2020. 5. 8. 14:49
UUID (Universally Unique IDentifier)๋ž€?

1. UUID๋ž€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๊ณ ์œ ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” id๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๊ทœ์•ฝ์ด๋‹ค. UUID๋Š” Universally Unique IDentifier์˜ ์•ฝ์–ด์ด๊ณ  ๋ฒ”์šฉ ๊ณ ์œ  ์‹๋ณ„์ž๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ๋กœ ๋ถ„์‚ฐ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹๋ณ„์ž์ด๋‹ค. ์ค‘์•™๊ด€๋ฆฌ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ฐ ์„ธ์…˜์— ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด์คŒ์œผ๋กœ์จ ์œ ์ผ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์ค‘์•™์—์„œ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ถ„์‚ฐ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ฐœ๋ณ„ ์‹œ์Šคํ…œ์ด id๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋”๋ผ๋„ ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ๋งŒ ํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํƒ„์ƒํ•œ ๊ฒƒ์ด ๋ฒ”์šฉ๊ณ ์œ ์‹๋ณ„์ž UUID์ด๋‹ค. RFC 4122์— ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. UUID๋Š” 128๋น„ํŠธ์˜ ์ˆซ์ž์ด๋ฉฐ, 32์ž๋ฆฌ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. 8์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-12์ž๋ฆฌ ํŒจํ„ด์œผ๋กœ ํ•˜์ดํ”ˆ์„ ์ง‘์–ด ๋„ฃ์–ด 5๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ด๋ฆ„ ๊ธธ์ด (๋ฐ”์ดํŠธ) ๊ธธ์ด..

Backend-Languages/Java 2020. 4. 29. 10:19
JPA, Hibernate, Mybatis ์š”์•ฝ, ์ •๋ฆฌ

1. JPA ๋ž€? JPA๋ฅผ ์ดํ•ดํ•˜๊ธฐ์— ์•ž์„œ ORM์ด ๋จผ์ง€์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์ •๋ฆฌํ•ด ๋ณด๋Š”๊ฒŒ ์ข‹์„๊ฒƒ ๊ฐ™๋‹ค. ORM (Object-relational mapping) ์ด๋ž€? ๊ฐ์ฒด๋Š” ๊ฐ์ฒด๋Œ€๋กœ ์„ค๊ณ„ํ•˜๊ณ , ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Œ€๋กœ ์„ค๊ณ„ํ•œ๋‹ค. ORM ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ค‘๊ฐ„์—์„œ ๋งคํ•‘ํ•ด ์ฃผ๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๋Œ€์ค‘์ ์ธ ์–ธ์–ด์—๋Š” ๋Œ€๋ถ€๋ถ„ ORM ๊ธฐ์ˆ ์ด ์กด์žฌํ•œ๋‹ค. ORM์€ ๊ฐ์ฒด์™€ RDB ๋‘ ๊ธฐ๋‘ฅ ์œ„์— ์žˆ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ORM์˜ ์žฅ์  ํŠน์ • DBMS์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค. SQL๋ฌธ์ด ์ฝ”๋“œ์— ๋“ค์–ด๊ฐ€์ง€ ์•Š์•„ ๊น”๋”ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ORM์ด nesting ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉํ•ด์ค€๋‹ค. ORM์˜ ๋‹จ์  RAW query์— ๋น„ํ•ด performance๊ฐ€ ๋Š๋ฆฌ๋‹ค. Query tuning์ด ํž˜๋“ค๋‹ค. ์„œ๋น„์Šค๊ฐ€ ๋ณต์žกํ•ด ์งˆ์ˆ˜๋ก ORM์œผ๋กœ ํ• ..

Oauth 2.0

1. ๊ฐœ์š” ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๋ถ€์—ฌ๋ฅผ ์œ„ํ•ด์„œ Oauth ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์€ 2.0์ด๋ฉฐ, ํ•ด๋‹น ๋ฒ„์ „์˜ ์ŠคํŽ™ ๋ฌธ์„œ๋Š” https://tools.ietf.org/html/rfc6749์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. Oauth2.0์€ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๋ถ€์—ฌ์— ๊ด€ํ•œ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชฉ์ ์— ๋งž๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค. Oauth2.0์€ ์™ธ๋ถ€ ์„œ๋น„์Šค (third-party application)์˜ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๋ถ€์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฒ”์šฉ ํ”„๋ ˆ์ž„์›Œํฌ ์ด๋‹ค. Oauth ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค์˜ API๋ฅผ ํ˜ธ์ถœ์„ ํ•  ๋•Œ์—๋Š”, HTTP ํ—ค๋”์— access token์„ ํฌํ•จํ•˜์—ฌ ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ์„œ๋น„์Šค๋Š” access token์„ ๊ฒ€์‚ฌํ•˜๋ฉด์„œ ์ด ์š”์ฒญ์ด ์œ ํšจํ•œ์ง€ ํŒ๋‹จํ•˜์—ฌ ์ ์ ˆํ•œ ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ตํ•œ๋‹ค. 2. ํ๋ฆ„๋„ ๋ญ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์—๋Š” ์Œ... ..

Prev 1 2 3 4 5 6 7 8 Next
LIST