์ „์ฒด ๊ธ€ 52

[์ „์‚ฐ์ง ํ•„๊ธฐ] 2. ์šด์˜์ฒด์ œ๋ก 

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

ํ•„๊ธฐ 2024.07.14

[์ธํ”„๋ผ] Vue.js, React ๋ฐฐํฌ ์ดํ›„ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด 404 Not Found

๋ฌธ์ œ ์ƒํ™ฉ ํ”„๋ก ํŠธ๋ฅผ Nginx๋ž‘ Docker๋ฅผ ์ด์šฉํ•ด EC2์— ๋ฐฐํฌํ•ด๋†จ๋Š”๋ฐ, ๋ฐฐํฌํ•œ ํ”„๋ก ํŠธ ์„œ๋ฒ„์— ์ ‘์†ํ–ˆ์„ ๋•Œ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜ url์„ ์ž…๋ ฅํ•ด์„œ ์ ‘์†ํ•˜๋ฉด 404 Not Found ํŽ˜์ด์ง€๊ฐ€ ๋œจ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ` GET http://{ํ”„๋ก ํŠธ ์„œ๋ฒ„ ip}/login 404 (Not Found) ` ์ด๋Ÿฐ์‹์œผ๋กœ.. ์ฐพ์•„๋ณด๋‹ˆ Vue.js ํ”„๋กœ์ ํŠธ์—์„œ๋Š” History ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Vue Router๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋‹ˆ, ์‹ค์ œ๋กœ ์„œ๋ฒ„ ์„ค์ •์—์„œ ์ ์ ˆํ•œ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.History ๋ชจ๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ๋ผ์šฐํŒ…์„ ๋‹ด๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ URL์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ๊ณ ์นจ์„ ํ•  ๋•Œ ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ 404 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.ํ˜„์žฌ๋Š” Vue.js๋กœ ๋ฐฐํฌํ•œ ์„œ๋ฒ„์— ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / ์ž๋ฐ” / Lv.2] 12941 ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œํ’€์ด ๋‘ ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ์˜ ๊ณฑ์˜ ๋ˆ„์ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ๋ฌธ์ œ๋‹ค.๊ฐ ์›์†Œ์˜ ๊ณฑ์˜ ๋ˆ„์ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋ ค๋ฉด, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด๊ณผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋ฅผ ๊ณฑํ•ด์ค€ ํ›„์— ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•ด์ฃผ๋ฉด ์ตœ์†Ÿ๊ฐ’์ด ๋œ๋‹ค. 1. ์ž๋ฐ”์—์„œ๋Š” int[] ๋ฐฐ์—ด์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ, ์ผ๋‹จ ๊ฐ๊ฐ A, B ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ค€๋‹ค.2. A๋ฐฐ์—ด์€ ์›์†Œ์˜ ์‹œ์ž‘์ธ i ๋ถ€ํ„ฐ, B ๋ฐฐ์—ด์€ ์›์†Œ์˜ ๋์ธ (len-1)-i ๋ถ€ํ„ฐ ์—ญ์ˆœ์œผ๋กœ ์›์†Œ๋ฅผ ๊ณฑํ•ด์ฃผ๊ณ , answer์— ํ•ฉ์„ ๋ˆ„์ ํ•œ๋‹ค.  class Solution{ public int solution(int []A, int []B){ int len = A.length; int answer = 0; ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / ์ž๋ฐ” / Lv.2] 12909 ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ

๋ฌธ์ œ ์ž๋ฐ” ๊ฐœ๋… ์ •๋ฆฌString ๋ฌธ์ž์—ด์—์„œ ์ธ๋ฑ์Šค i๊ฐ’ ๋ฝ‘์•„์˜ค๊ธฐ : `charAt(i)`์Šคํƒ ์ƒ์„ฑStack stack = new Stack(); // push, pop, peek, empty, search ์ง€์› ํ’€์ด () ์Œ์ด ์˜ฌ๋ฐ”๋ฅด๊ธฐ ์œ„ํ•ด์„œ๋Š” ( ์ดํ›„์— )๊ฐ€ ๋ฌด์กฐ๊ฑด ์™€์•ผํ•œ๋‹ค.๋”ฐ๋ผ์„œ ์Šคํƒ์„ ์ƒ์„ฑํ•˜์—ฌ ( ์ธ ๊ฒฝ์šฐ์— push๋ฅผ ํ•˜๊ณ  )์ธ ๊ฒฝ์šฐ์— pop์„ ํ–ˆ์„ ๋•Œ ์ตœ์ข…์ ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๋ผ๋ฉด ์Šคํƒ์ด ๋น„์–ด์žˆ์–ด์•ผํ•œ๋‹ค. 1. Character ํƒ€์ž…์œผ๋กœ ์Šคํƒ์„ ์ƒ์„ฑํ•œ๋‹ค. (charAt()์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด)2. ์ž…๋ ฅ๊ฐ’์„ charAt์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ˆœํšŒํ•˜๊ณ , ( ์ธ ๊ฒฝ์šฐ ์Šคํƒ์— push๋ฅผ ํ•ด์ค€๋‹ค.3. ๋งŒ์•ฝ ) ์ธ ๊ฒฝ์šฐ์—๋Š” ์Šคํƒ์„ pop ํ•ด์ฃผ๋Š”๋ฐ, ์ด ๋•Œ ์Šคํƒ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ์— pop์„ ํ•ด์ค„ ์ˆ˜ ์—†์œผ๋ฉฐ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ๊ธฐ๋•Œ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / ์ž๋ฐ” / Lv.2] 12939 ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’

๋ฌธ์ œ  ์ž๋ฐ” ๊ฐœ๋…Stream API๋ž€?๋žŒ๋‹ค์‹์„ ์ด์šฉํ•œ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๋กœ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์กฐ์ž‘ ๋ฐ ๊ฐ€๊ณต, ๋ณ€ํ™˜ํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์ŠคString[] ๋ฐฐ์—ด to Integer[] ๋ฐฐ์—ด : `Arrays.stream(list).mapToInt(Integer::parseInt)`์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’ : `Arrays.stream(list).max().getAsInt()`, `Arrays.stream(list).min().getAsInt()`ํ’€์ด String ๋ฐฐ์—ด์„ Integer ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ• ๋•Œ Stream API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์ดํ•˜์˜€๋‹ค.1. String ์ž…๋ ฅ๊ฐ’์„ split์„ ์ด์šฉํ•ด ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ String ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ2. `Arrays.strea(list).mapToInt(Integer::parseIn..

[AWS] ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ, ๋„๋ฉ”์ธ ์—†์ด EC2 ์„œ๋ฒ„ HTTPS ์—ฐ๊ฒฐ

๊ฐœ์š” ํ˜„์žฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋Š” EC2๋กœ ๋ฐฐํฌํ•ด๋†“์€ ์ƒํƒœ์ด๊ณ , SSL ์ธ์ฆ์„œ๋กœ Https ๋ถ™์—ฌ์•ผ Https ์ ์šฉ๋œ ํ”„๋ก ํŠธ๋ž‘ ํ†ต์‹ ํ•  ๋•Œ Mixed Content ์—๋Ÿฌ๊ฐ€ ์•ˆ๋‚œ๋‹ค.ํ”„๋ก ํŠธ๋Š” S3๋กœ ๋ฐฐํฌํ•ด์„œ ACM์œผ๋กœ SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰๋ฐ›์•„์„œ ๋ฐ”๋กœ Route53์ด๋ž‘ Cloud Front๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ ์šฉํ•˜๊ธฐ ์‰ฌ์› ๋Š”๋ฐ, ๋ฐฑ์—”๋“œ๋Š” EC2๋กœ ๋ฐฐํฌํ•ด์„œ ๋„๋ฉ”์ธ ๊ตฌ๋งคํ›„ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ Route53 AEM์œผ๋กœ ๋ถ™์—ฌ์•ผ ํ•˜๋Š”๊ฒŒ ์ •์„์ด๋ผ๋Š”๋ฐ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋‹ฌ๊ธฐ ์‹ซ์–ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ดค๋‹ค.. Caddy๋ž€?Caddy๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ Https๋ฅผ ๋ถ™์—ฌ์ฃผ๋Š” DNS๋‹ค. systemd๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ๋ฐฐํฌํŒ์—์„œ Caddy๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋„๋ฉ”์ธ ๊ตฌ๋งค ์—†์ด Https๋ฅผ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค! ๊ณผ์ • 1. EC2์— Caddy ์„ค์น˜ํ•˜๊ธฐcurl -1sLf 'h..

[Docker] docker-compse๋กœ ๋ฐฐํฌ ์„œ๋ฒ„์—์„œ redis ํ†ต์‹ ํ•˜๊ธฐ

๊ฐœ์š” ๋ฐฐํฌ ์„œ๋ฒ„์—์„œ redis์™€ ๋ฐฑ์—”๋“œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ†ต์‹ ํ•˜๋ ค๋ฉด ๊ฐ™์€ docker group์œผ๋กœ ๋ฌถ์–ด์ค˜์•ผ ์„œ๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.docker-compose๋ž€?๋„์ปค ์ปดํฌ์ฆˆ๋Š” ๋‹จ์ผ ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ์ •์˜ํ•ด ์ปจํ…Œ์ด๋„ˆ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค. ๋„์ปค ์ปดํฌ์ฆˆ๋Š” yml ํŒŒ์ผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ์˜ ์‹คํ–‰์„ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌํ•œ๋‹ค.๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋„์ปค ์ปดํฌ์ฆˆ๋กœ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด ํ†ต์‹ ์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ง„ํ–‰ ๊ณผ์ • ๋„์ปค ์ปดํฌ์ฆˆ๋ฅผ ์„ค์น˜ํ•ด์ฃผ๊ณ   ๋ฐฑ์—”๋“œ EC2 ์„œ๋ฒ„์— ssh ์ ‘์†์œผ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ๊ณ  ๋ฃจํŠธ์— docker-compose.yml ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.ubuntu@ip-...:~$ ls -altotal 3476drwxr-x--- 8 ubuntu ubuntu ..

[Jenkins] ์  ํ‚จ์Šค Built-In Node ์˜คํ”„๋ผ์ธ ๋ฌธ์ œ

๋ฌธ์ œ ์ƒํ™ฉ /var/jenkins_home ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ €์žฅ๊ณต๊ฐ„์ด 1.00GiB ์ด์ƒ ํ•„์š”ํ•ด์„œ ๋…ธ๋“œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ์ž๋™์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์—†๊ณ  ๋…ธ๋“œ๊ฐ€ ์˜คํ”„๋ผ์ธ์œผ๋กœ ๊ฐ•์ œ ์ „ํ™˜๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์  ํ‚จ์Šค๋ฅผ ์„ค์น˜ํ•œ EC2์— SSH ์—ฐ๊ฒฐํ•ด์„œ ์ฝ˜์†”๋กœ ๋“ค์–ด ๊ฐ„ ํ›„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋„์ปค ๊ณต๊ฐ„ ์ •๋ฆฌํ•ด์ค˜์„œ ์šฉ๋Ÿ‰์„ ํ™•๋ณดํ›„ ๋นŒํŠธ์ธ ๋…ธ๋“œ ์˜จ๋ผ์ธ์œผ๋กœ ์ „ํ™˜์‹œ์ผœ์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค.# ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ$ docker container prune# ๋„์ปค์— ์ €์žฅ๋œ ๋ณผ๋ฅจ์„ ์ •๋ฆฌ$ docker volume prune# ๋ฏธ์‚ฌ์šฉ ์ค‘์ธ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ฑฐdocker image prune -a# ํ•œ ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด (์ด๋ฏธ์ง€, ์บ์‹œ, ๋„คํŠธ์›Œํฌ, ๋นŒ๋“œ ์บ์‹œ, ์ปจํ…Œ์ด๋„ˆ)docker system prune -a -f

[AWS, Docker, Jenkins] ๋„์ปค + ์  ํ‚จ์Šค + EC2 ๋กœ CICD ๊ตฌ์ถ• ํ›„ ๋ฐฐํฌํ•˜๊ธฐ

๋ฐฐํฌ ๊ฐœ์š”๋„์ปค์™€ ์  ํ‚จ์Šค๋กœ CICD๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , EC2๋กœ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€ ํ”„๋ก ํŠธ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•ด๋ณด์ž.์ดˆ๊ธฐ์—๋Š” ๋ฐฑ์—”๋“œ, ํ”„๋ก ํŠธ, ์  ํ‚จ์Šค ๊ฐ๊ฐ์˜ EC2๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋Š”๋ฐ, ๋น„์šฉ ๋ฌธ์ œ๋กœ ํ”„๋ก ํŠธ ์„œ๋ฒ„๋Š” ์ถ”ํ›„์— S3๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜- ๋ฐฑ์—”๋“œ ๋ฐฐํฌ : ๋„์ปค ํŒŒ์ผ์„ ์  ํ‚จ์Šค๊ฐ€ ๊ฐ์ง€ํ•ด์„œ jar ํŒŒ์ผ ์ƒ์„ฑํ•˜์—ฌ EC2๋กœ ๋ฐฐํฌํ•œ๋‹ค.- ํ”„๋ก ํŠธ ๋ฐฐํฌ : ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ง„ํ–‰ํ•œ๋‹ค.๊ตฌ์ถ• ๊ณผ์ •1. ์  ํ‚จ์Šค ์„œ๋ฒ„ EC2 ์„ค์ •jenkins-server EC2 ์ƒ์„ฑAMI : Ubuntu Server 22.04 LTS (HVM), SSD Volume Type์•„ํ‚คํ…์ฒ˜ : 64๋น„ํŠธ x86Quick start : ubuntu์ธ์Šคํ„ด์Šค ์œ ํ˜• : t2.microํ‚คํŽ˜์–ด ์ƒ์„ฑ ํ›„ ์ €์žฅ (jenkins-key-pair)๋„คํŠธ์›Œํฌ ์„ค์ • : ๋ณด์•ˆ๊ทธ๋ฃน..

[์Šคํ”„๋ง] ๋นŒ๋” ํŒจํ„ด @Builder

1. ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ƒ์„ฑ์ž ํŒจํ„ด User user = new User("์œ ์ €1", "1234"); userRepository.save(user); ์ž๋ฐ”๋นˆ์ฆˆ ํŒจํ„ด User user = new User(); user.setUserId("์œ ์ €1"); user.setUserPassword("1234"); userRepository.save(user); ๋นŒ๋” ํŒจํ„ด User user = User.builder() .userId("์œ ์ €1") .userPassword("1234") .build(); userRepository.save(user); 2. ๋นŒ๋” ํŒจํ„ด(Builder Pattern)์ด๋ž€? ๋นŒ๋”ํŒจํ„ด์€ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ฐ์ฒด..