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

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (106)

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Spring] DTO ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผํ• ๊นŒ

dto ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผ์„ ์ •๋ง ๋งŽ์ด ํ–ˆ๋‹ค. ๋‚˜์˜ ๋ฐฉ๋ฒ•์ด ์ •๋‹ต์ด ์•„๋‹ˆ์ง€๋งŒ ๋‚˜์™€ ๊ฐ™์€ ๊ณ ๋ฏผ์„ ํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ๊ณ ๋ฏผ์„ ๊ธฐ๋กํ•ด๋ณธ๋‹ค. ๐Ÿ˜“ ๊ณ ๋ฏผ์˜ ์„œ๋ง‰ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋งŽ์€ dto ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์—๋Š” ๋น„์Šทํ•œ dto ๊ฐ์ฒด๋“ค์„ InnerStaticClass ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•˜์˜€๋‹ค. ์šฐ์„  InnerStaicClass ๋ฅผ ์•Œ์•„๋ณด์ž ๐Ÿ”InnerStaicClass ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์™ธ๋ถ€ ํด๋ž˜์Šค์™€ ๋‚ด๋ถ€ ํด๋ž˜์Šค๊ฐ€ ๊ธด๋ฐ€ํ•œ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋‚ด๋ถ€ ํด๋ž˜์Šค์—์„œ ์™ธ๋ถ€ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋กœ ๊ด€๋ จ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ฌถ์–ด์„œ ์ฝ”๋“œ์˜ ์บก์Šํ™”๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ์™ธ๋ถ€์—์„œ๋Š” ๋‚ด๋ถ€ ํด๋ž˜์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. static์ด ๋ถ™์ง€ ์•Š์•˜์„ ๋•Œ ๋‹จ์  ์ฐธ์กฐ๊ฐ’..

[Docker] ์„œ๋ฒ„ ํ„ฐ์งˆ๋•Œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹คํ–‰ํ•˜๊ธฐ

sudo docker start [Container ID] mysqlMySQL๋ฅผ Docker ๋กœ ๋„์šฐ๋Š” ๊ฒฝ์šฐ, ์„œ๋ฒ„๊ฐ€ ํ„ฐ์งˆ ๋•Œ๋งˆ๋‹ค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 1. AWS ์„œ๋ฒ„ ์žฌ๋ถ€ํŒ…ํ•˜๊ธฐ์šฐ์„  AWS ์—์„œ ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜์ž์žฌ๋ถ€ํŒ…์„ ํ•˜๊ฒŒ๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ์‹คํ–‰ ํ•ด์ค˜์•ผํ•œ๋‹ค. 2. ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹คํ–‰ํ•˜๊ธฐssh๋กœ ec2์— ์›๊ฒฉ ์ ‘์†ํ•œ๋‹ค.sudo docker ps -aํ˜„์žฌ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค. sudo docker ps -aa์˜ต์…˜ ํ•˜๋ฉด running ์ƒํƒœ์™€ ์ฃฝ์€ ์ƒํƒœ ๋ชจ๋“  ์ƒํƒœ์— ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‹ค ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. mysql ์ด exited ์ƒํƒœ ๋œ ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ sudo docker start [Container ID]๋กœ mysql ์žฌ๊ธฐ๋™ํ•œ๋‹ค.sudo docker ps ๋กœ ์‹คํ–‰์‹œํ‚จ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž˜ ๋™..

[Jenkins] ์  ํ‚จ์Šค ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ํ™œ์šฉํ•œ ํŠน์ •API ์ •๊ธฐ ์ž‘์—… ์‹คํ–‰ํ•˜๊ธฐ

๐Ÿ”๋„์ž… ๋ฐฐ๊ฒฝ ํ”„๋กœ์ ํŠธ์—์„œ ๋งค์ผ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์„ ํ•ด์•ผ ํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • API์— ์ ‘๊ทผ ์‹œ findAll๋ฅผ ํ•˜์—ฌ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จํ›„, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋นŒ๋“œํ›„ save ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋Š”๋ฐ, ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ API์— ์ ‘๊ทผ์„ ์•ˆํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์•„ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๋”ฐ๋ผ์„œ ๋งค์ผ๋งˆ๋‹ค ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๊ด„ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋”ฐ๋กœ POST API๋กœ ๋นผ์„œ ์  ํ‚จ์Šค ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. 1. ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ํ™œ์šฉํ•  API์ƒ์„ฑ ์Šค์ผ€์ค„๋Ÿฌ๋กœ ํ™œ์šฉํ•ด์„œ ํ˜ธ์ถœํ•  POST ์š”์ฒญ API๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ํ•ด๋‹น API๋Š” ๋“ฑ๋ก๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋กœ ์ƒ์„ฑ ํ›„ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค. 2. ์  ํ‚จ์Šค JOB ์ƒ์„ฑ ํ˜„์žฌ ํ•„์ž์˜ ํ”„๋กœ์ ํŠธ๋Š” ๋„๋ฉ”์ธ์„ ..

[AWS] ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ ๋ฐฑ์—”๋“œ ์ฑŒ๋ฆฐ์ง€ 3์›” 1ํšŒ์ฐจ - AWS ๊ตฌ์กฐ

์›ํ‹ฐ๋“œ์—์„œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ ๋ฐฑ์—”๋“œ ์ฑŒ๋ฆฐ์ง€ 3์›” ํ”„๋กœ๊ทธ๋žจ์„ ์ฐธ์—ฌ์‹ ์ฒญ์„ ํ–ˆ๋‹ค. AWS๋ฅผ ํ™œ์šฉํ•œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•ด์ค€๋‹คํ•ด์„œ AWS ๋น ์ˆœ์ด์ธ ๋‚˜๋กœ์จ ๋‹น์žฅ ์‹ ์ฒญํ–ˆ๋‹ค. 1ํšŒ์ฐจ ์ˆ˜์—…์—์„œ๋Š” ์ „๋ฐ˜์ ์ธ AWS ๊ตฌ์กฐ์™€ ํšจ์œจ์ ์ธ ์šด์˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์…จ๋‹ค. Agenda ์ข‹์€ ์•„ํ‚คํ…์ฒ˜๋ž€? Monolithic server RDS scaling EC2 scaling Cache CDN Serverless ๋‚ด์šฉ ์š”์•ฝ ์ข‹์€ ์•„ํ‚คํ…์ฒ˜๋ž€? ์„œ๋น„์Šค ์šด์˜ ๋ฐฉ์‹์— ์ ํ•ฉํ•œ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— “์ด๊ฑฐ ๋ฌด์กฐ๊ฑด ํ•ด์•ผ๋ผ์š”" ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ bottleneck์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์•„ํ‚คํ…์ฒ˜ ์„œ๋น„์Šค ์ดˆ๊ธฐ๋‹จ๊ณ„์—์„œ ๊ตณ์ด auto scaling ์•ˆํ•ด๋„ ๋œ๋‹ค. ๋ฌด์กฐ๊ฑด ๊ธฐ๋ณธ๋งŒ ๋งŒ๋“ค๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ๋Š˜์–ด๋‚œ๋‹ค๋ฉด ๊ทธ๋•Œ ํ™•์žฅํ•˜์ž! โœ”๏ธsca..

[AWS] Private Subnet ๋‚ด๋ถ€ EC2 ์— MySQL ๋งŒ๋“ค๊ณ  SSH ํ„ฐ๋„๋ง์„ ํ†ตํ•ด ๋กœ์ปฌ์—์„œ MySQL ์ ‘์†ํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋„์ปค๋กœ ๋„์šด MySQL๋ฅผ EC2 MySQL๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” MySQL WorkBench์—์„œ ssh ์ ‘์†์„ ์‚ฌ์šฉํ•˜๋Š” Standard TCP/IP over SSH ์œผ๋กœ ์—ฐ๊ฒฐ์„ ์„ฑ๊ณตํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์Šคํ”„๋ง๋ถ€ํŠธ application.yml ํŒŒ์ผ์—์„œ ์›๊ฒฉ DB ์„ค์ •์— ์‹คํŒจํ–ˆ๋‹ค..ใ… ใ…  ๋‹น์—ฐํ•œ๊ฒŒ ์Šคํ”„๋ง๋ถ€ํŠธ(๋กœ์ปฌ)์—์„œ ssh์„ค์ •์ด ์—†์œผ๋ฉด ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค... ์Šคํ”„๋ง๋ถ€ํŠธ์— ssh ์„ค์ •์„ ์‹œ๋„ํ•ด๋ดค์ง€๋งŒ ์ฒ˜์ฐธํžˆ ์‹คํŒจํ–ˆ๋‹คใ…Ž ๊ทธ๋ž˜์„œ ํ•„์ž๋Š” SSH ํ„ฐ๋„์„ ์ƒ์„ฑํ•˜์—ฌ Local Port Forwarding ์œผ๋กœ Private Subnet์•ˆ์˜ EC2 MySQL์— ์ ‘์†ํ•˜์˜€๊ณ  ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ํ˜„์žฌ ์„œ๋ฒ„ ํ™˜๊ฒฝ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ ๋‘๊ฐœ์˜ ๊ฐ€์šฉ์˜์—ญ(ap-northeast-2a, ap..

[Linux] SSH Broken Pipe ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

ssh๋กœ ec2 ์ ‘์†์ด ์ž˜ ๋˜๋˜์ค‘ ๊ฐ‘์ž๊ธฐ ๊ณ„์† broken pipe ๊ฐ€ ๋œจ๋ฉด์„œ ์ ‘์†์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ตฌ๊ธ€๋งํ•ด์„œ ์ฐพ์•„๋ณด๋‹ˆ๊น ์ผ์ • ์‹œ๊ฐ„ ์‹คํ–‰์ด ์—†์–ด, ssh ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์˜€๋‹ค. ๐Ÿ” ํ•ด๊ฒฐ๋ฐฉ๋ฒ• sudo nano /etc/ssh/ssh_config ๋ช…๋ น์œผ๋กœ ssh_config ํŒŒ์ผ์„ ์—ฐ๋‹ค Host * ์•„๋ž˜์— ServerAliveInterval 120 TCPKeepAlive no ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ServerAliveInterval 120 = ํด๋ผ์ด์–ธํŠธ๊ฐ€ 120์ดˆ๋งˆ๋‹ค ๊ณตํŒจํ‚ท(Null Packet)์„ ์„œ๋ฒ„์— ์ „์†กํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•œ๋‹ค. ์ฆ‰ 120์ดˆ๋งˆ๋‹ค ์„œ๋ฒ„์—๊ฒŒ ๋Œ€๋‹ต์„ ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ณด๋‚ด๋Š”๊ฒƒ์ด๋‹ค. TCPKeepAlive no = TCPKeepAlive๋Š” TCP ์†Œ์ผ“ ์—ฐ๊ฒฐ์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด..

[AWS] AWS Certified Solutions Architect Associate(SAA-C03) ๋’ค๋Šฆ์€ ์ทจ๋“ ํ›„๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ AWS๊ฐ€ ๋„ˆ๋ฌด ์žฌ๋ฐŒ์–ด์กŒ๋‹ค...ใ…Žใ…Ž ๊ทธ๋ž˜์„œ 3๋‹ฌ ๋™์•ˆ ๊ณต๋ถ€ ํ›„ AWS Solutions Aritect Associate๋ฅผ ์ทจ๋“ํ•˜์˜€๋Š”๋ฐ, ๊ณต๋ถ€ ๋ฐฉ๋ฒ•๊ณผ ์‹œํ—˜ ํ›„๊ธฐ๋ฅผ ์ ์–ด๋ณธ๋‹ค. ์ฒ˜์Œ AWS ์ ‘ํ•˜๋Š” ๋ถ„๋“ค์€ ์•„๋ž˜์˜ AWS ๊ฐ•์˜์‹ค์˜ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” AWS ๊ธฐ์ดˆ ๊ฐ•์ขŒ๋ฅผ ๋ณด๋ฉด ์ „๋ฐ˜์ ์ธ AWS ๊ธฐ์ดˆ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•„์ž๋„ ์ฒ˜์Œ์— AWS ์ดํ•ด๊ฐ€ ์–ด๋ ค์› ์ง€๋งŒ ํ•ด๋‹น ์žฌ์ƒ๋ชฉ๋ก์„ 3๋ฒˆ ์ด์ƒ ๋Œ๋ ค๋ณด๊ณ ์„œ ์–ด๋Š ์ •๋„ ์ดํ•ด๋ฅผ ํ•œ ํ›„ SAA ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์˜€๋‹ค. ๊ฐ•์ถ”!!!! https://youtube.com/playlist?list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&si=xAQf_j-hllbC1zCK ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š”AWS ๊ธฐ์ดˆ ๊ฐ•์ขŒ www.youtube.com ์–ด๋Š์ •๋„ ์ดํ•ด๋ฅผ ํ•œํ›„ ๋ณธ๊ฒฉ..