๊ด€๋ฆฌ ๋ฉ”๋‰ด

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

JUINTINATION

์–ด๋Œ‘ํ„ฐ(Adapter) ํŒจํ„ด

์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์ด๋ž€?์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์€ ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํŒจํ„ด์œผ๋กœ, ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋•Œ๋ฌธ์— ํ•จ๊ป˜ ๋™์ž‘ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค๋“ค์ด ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•ด์ค€๋‹ค. GOF ๋””์ž์ธ ํŒจํ„ด ์ค‘ ๊ตฌ์กฐ ํŒจํ„ด์— ํ•ด๋‹นํ•˜๋ฉฐ, ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ํด๋ž˜์Šค๋ฅผ ์–ด๋Œ‘ํ„ฐ๋กœ์„œ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค.์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์€ ๊ทธ ์ด๋ฆ„์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์กฐ์ •์— ๋”ฐ๋ฅธ ์ ์‘(Adaptation)์— ์‚ฌ์šฉ๋˜๋ฉฐ, ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‘ ํด๋ž˜์Šค๋ฅผ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ํ”ํžˆ ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์„ ์„ค๋ช…ํ•  ๋•Œ USB ์–ด๋Œ‘ํ„ฐ๋ฅผ ์˜ˆ๋กœ ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋‘ ๊ฐœ์˜ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ USB ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ†ตํ•ด ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์ด๋‹ค.ํด๋ž˜์Šค ์–ด๋Œ‘ํ„ฐ์™€ ๊ฐ์ฒด ์–ด๋Œ‘ํ„ฐ..

StudyNote 2024. 11. 2. 22:46
ํผ์‚ฌ๋“œ(Facade) ํŒจํ„ด

ํผ์‚ฌ๋“œ ํŒจํ„ด์ด๋ž€? ํผ์‚ฌ๋“œ ํŒจํ„ด(์ฐฝ๊ตฌ ํŒจํ„ด)์€ ์‚ฌ์šฉํ•˜๊ธฐ ๋ณต์žกํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ, ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ๋˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค๋“ค์˜ ๋ณต์žกํ•œ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ๋‹จ์ˆœํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ด๋‹ค. GOF ๋””์ž์ธ ํŒจํ„ด ์ค‘ ๊ตฌ์กฐ ํŒจํ„ด์— ํ•ด๋‹นํ•˜๋ฉฐ, ์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜(SOA)์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ด๋‹ค.ํผ์‚ฌ๋“œ ํŒจํ„ด๊ณผ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์–ผ๋งˆ๋‚˜ ์„ธ๋ถ„ํ™”ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด  ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ํผ์‚ฌ๋“œ ํŒจํ„ด์€ ๊ทธ ์›๋ฆฌ์™€ ๊ตฌํ˜„์ด ๋งค์šฐ ๊ฐ„๋‹จํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ ๋Œ€์ƒ์ด ๋น„๊ต์  ๋ช…ํ™•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.๋งŒ์•ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”ํ•˜๊ณ  ๋‹จ์ผ ์ฑ…์ž„์„ ์ง€๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ํ•ด์„œ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„๋ฅผ ๋„ˆ๋ฌด ์„ธ๋ถ„ํ™”ํ•˜๋ฉด ๋น„์ฆˆ๋‹ˆ..

StudyNote 2024. 11. 2. 17:30
AWS Ubuntu 22.04 LTS EC2 ํŒŒ์ด์ฌ ๋ฒ„์ „ ๋ณ€๊ฒฝํ•˜๊ธฐ

์ด๋ฒˆ์— ์ข…์„ค ์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ ์ด๋ฏธ์ง€ ์Šคํ‹ฐ์นญ ์„œ๋ฒ„๋ฅผ ์ด๊ฒƒ ์ €๊ฒƒ ํ•ด๋ณด๋ฉด์„œ ๋ฐฐํฌ ๊ด€๋ จ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰์ค‘์ด์—ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ Flask๋กœ ๊ตฌํ˜„๋œ ์„œ๋ฒ„๊ฐ€ AWS๋กœ ์˜ฌ๋ผ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋„ˆ๋ฌด ๋ถ€์กฑํ•ด์„œ ๊ฒฐ๊ตญ Elastic Beanstalk์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์„ ์‹คํŒจํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ FastAPI๋กœ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๊ณ  ์žฌ๋„์ „ํ•ด๋ดค๋Š”๋ฐ ๋˜‘๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๊ธฐ์กด์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋น„๋กฏํ•œ ๊ด€๋ จ ์„ค์ •๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œํ•œ ์ƒํƒœ์˜€๋Š”๋ฐ, ์ด๋ฅผ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค์ •์„ ํ•ด์•ผํ–ˆ๋‹ค.ํŒŒ์ด์ฌ ๋ฒ„์ „ ๋ฌธ์ œ์ฒ˜์Œ Amazon Ec2 ์‹œ์ž‘ํ•˜๊ธฐ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์„ ๋•Œ์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ์„ ๋•Œ ํŒŒ์ด์ฌ ๋ฒ„์ „์€ 3.12์˜€๋‚˜ ์•„๋ฌดํŠผ ํ•„์š”ํ•œ ํŒŒ์ด์ฌ ๋ฒ„์ „์ธ 3.8 ๋ฒ„์ „๊ณผ ๋งž์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ๋ฐ”๊พธ๋ ค๊ณ  ์ด๊ฒƒ ์ €๊ฒƒ ํ•ด๋ดค๋Š”๋ฐ ๊ฒฐ๋ก ์ ์œผ๋กœ ๊ธฐ๋ณธ์ ์ธ ..

Amazon Web Services 2024. 10. 26. 23:18
REST API ์ธ์ฆ ๊ธฐ๋ฒ•

์ง€๋‚œ ํ•ด์ปคํ†ค ์ดํ›„ Spring Security ๊ด€๋ จ ๊ธ€๋“ค(Board Clone ํ”„๋กœ์ ํŠธ์— Spring Security๋ฅผ ํ™œ์šฉํ•œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ, Spring Security RoleHierarchy๋กœ ๊ณ„์ธต๊ถŒํ•œ ์„ค์ •ํ•˜๊ธฐ)์„ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ ๋ฒˆ์•„์›ƒ์ด ๋„ˆ๋ฌด ์‹ฌํ•˜๊ฒŒ ์™”๋‹ค๋Š” ํ•‘๊ณ„๋กœ ๋„ˆ๋ฌด ์˜ค๋žซ๋™์•ˆ ์•„๋ฌด๋Ÿฐ ๊ธ€๋„ ์•ˆ ์“ฐ๊ณ  ์‰ฌ๋˜ ์ค‘์— ์˜ˆ์ „์— ์ฃผ๋ฌธํ–ˆ๋˜ ์ฑ…(React.js, ์Šคํ”„๋ง ๋ถ€ํŠธ, AWS๋กœ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ 101)์ด ๋„์ฐฉํ–ˆ๋‹ค. ๊ณง ๊ฐœ๊ฐ•์ด๋ผ ํ•™์ˆ ์ œ ์ค€๋น„๋„ ํ•˜๊ณ , ์กธ์—… ์ค€๋น„๋„ ํ•ด์•ผ ํ•ด์„œ ๋ฐ”๋น ์งˆ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์— ํ‚ค๋ณด๋“œ ์•ž์— ์•‰์•˜๋‹ค. ์ด ์ฑ…์€ ์‚ฌ์‹ค AWS์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ์ฃผ๋ฌธํ–ˆ๋˜ ์ฑ…์ธ๋ฐ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ๊ด€๋ จ ์ข‹์€ ๊ธ€๋„ ์žˆ์–ด์„œ ๋จผ์ € ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. React.js, ์Šคํ”„๋ง ๋ถ€ํŠธ, AWS๋กœ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ 101 - ..

StudyNote 2024. 8. 30. 19:33