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

๋ชฉ๋ก2025/04 (6)

Unfazedโ—๏ธ๐ŸŽฏ

[Java] String Pool

Java์˜ String Pool์€ JVM์ด ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ๋ฌธ์ž์—ด ๊ฐ’์„ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.๊ธฐ๋ณธ ๊ฐœ๋…String Pool(๋˜๋Š” String Constant Pool, String Intern Pool)์€ JVM์˜ ํž™ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ์กด์žฌํ•˜๋Š” ํŠน๋ณ„ํ•œ ๊ณต๊ฐ„์œผ๋กœ, ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ์ €์žฅ๋œ๋‹ค. String Pool์€ ๋ฌธ์ž์—ด์˜ ๋ถˆ๋ณ€์„ฑ(immutability)๊ณผ String interning์ด๋ผ๋Š” ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. 2. ๋ฌธ์ž์—ด ์ƒ์„ฑ ๋ฐฉ์‹๊ณผ String Pool1. ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ์ƒ์„ฑString s1 = "hello";String s2 = "hello"; JVM์€ str1์„ ์ƒ์„ฑํ•  ๋•Œ "..

Java 2025. 4. 9. 14:35
[Docker] Docker PostgreSQL ์—ฐ๊ฒฐ ๋ฌธ์ œ : localhost ๋ฐ”์ธ๋”ฉ ์šฐ์„ ์ˆœ์œ„์™€ 'role postgres does not exist' ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Docker ๊ธฐ๋ฐ˜ PostgreSQL ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์ค‘ DataGrip์—์„œ ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ ์‹œ "[28000] FATAL: role 'postgres' does not exist" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋กœ Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค.PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Docker ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•˜๋˜, ๋ฐ์ดํ„ฐ๋Š” ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ๋ณผ๋ฅจ์— ์ €์žฅํ•˜๊ณ , ํ˜ธ์ŠคํŠธ์˜ 5432 ํฌํŠธ๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ์˜ ๋‚ด 5432 ํฌํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค. ์ƒํƒœ๋„ ์ •์ƒ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ Datagrip์—์„œ Test Connection์„ ์‹œ๋„ํ•ด ๋ณด์•˜๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด [28000] FATAL: role 'postgres' does not exist ์—๋Ÿฌ๊ฐ€..

Docker 2025. 4. 7. 19:29
[Docker] ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋… ๋ฐ ์‹คํ–‰ ๊ณผ์ •

Docker ์ด๋ฏธ์ง€์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ข…์†์„ฑ, ์„ค์ • ํŒŒ์ผ ๋“ฑ์„ ํฌํ•จํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์Šค๋ƒ…์ƒท๋‹จ์ˆœํ•œ ์ •์  ํŒŒ์ผ ๋ชจ์Œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Dockerfile์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋นŒ๋“œ๋œ ๋ถˆ๋ณ€(immutable)์ธ ์ฒญ์‚ฌ์ง„์ฝ๊ธฐ ์ „์šฉ(read-only)์ธ ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ ˆ์ด์–ด๋Š” ์ด์ „ ๋ ˆ์ด์–ด ์œ„์— ์Œ“์ด๋Š” ํ˜•ํƒœ๋กœ ์ด๋ฏธ์ง€์˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์ŒDocker ์ปจํ…Œ์ด๋„ˆ์ด๋ฏธ์ง€์˜ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ธ์Šคํ„ด์Šค์ด๋ฏธ์ง€ ์œ„์— ์ฝ๊ธฐ-์“ฐ๊ธฐ ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒ์„ฑ๋ฆฌ๋ˆ…์Šค ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ cgroups ๊ฐ™์€ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•ด ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ ๋ฐ ์ž์› ํ• ๋‹น์„ ๊ด€๋ฆฌ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์ฃผ ํ”„๋กœ์„ธ์Šค(PID 1)์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋จ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจMySQL, Nginx..

Docker 2025. 4. 7. 14:06
Docker ํ•ต์‹ฌ ๋ช…๋ น์–ด ๋ฐ ์˜๋ฏธ ์ •๋ฆฌ

๊ธฐ๋ณธ ๋ช…๋ น์–ดdocker run - '์‹คํ–‰ํ•˜๋‹ค'์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹œ์ž‘์˜ˆ: docker run nginx - Nginx ์ด๋ฏธ์ง€๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰docker pull - '๋‹น๊ธฐ๋‹ค/๊ฐ€์ ธ์˜ค๋‹ค'Docker Hub ๋˜๋Š” ๋‹ค๋ฅธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋กœ์ปฌ ์‹œ์Šคํ…œ์œผ๋กœ ๋‹ค์šด๋กœ๋“œ์˜ˆ: docker pull ubuntu - Ubuntu ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œdocker push - '๋ฐ€๋‹ค/์˜ฌ๋ฆฌ๋‹ค'๋กœ์ปฌ์—์„œ ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ Docker Hub๋‚˜ ๋‹ค๋ฅธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์—…๋กœ๋“œ์˜ˆ: docker push myusername/myapp - ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์—…๋กœ๋“œdocker build - '๊ตฌ์ถ•ํ•˜๋‹ค'Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ Docker ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑ์˜ˆ: docker build -t myapp . - ํ˜„์žฌ ๋””๋ ‰..

Docker 2025. 4. 6. 00:24
AWS ํ”„๋ฆฌ ํ‹ฐ์–ด ๋งŒ๋ฃŒ ํ›„, Gmail Plus Addressing์œผ๋กœ ์ƒˆ ํ”„๋ฆฌ ํ‹ฐ์–ด ์‚ฌ์šฉํ•˜๊ธฐ, free tier ๋งŒ๋ฃŒ ์—ฌ๋ถ€ ์‰ฝ๊ฒŒ ํ™•์ธ ํ•˜๋Š”๋ฒ•

AWS ํ”„๋ฆฌ ํ‹ฐ์–ด ๋งŒ๋ฃŒ ํ›„ ๋Œ€์ฒ˜AWS ํ”„๋ฆฌํ‹ฐ์–ด๊ฐ€ ๋งŒ๋ฃŒ๋˜์–ด ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค๋ ค๋ฉด ์ƒˆ ์ด๋ฉ”์ผ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ Gmail ๊ณ„์ •์œผ๋กœ ๊ณ„์† ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ Gmail์˜ 'Plus Addressing' ๊ธฐ๋Šฅ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!ํ”Œ๋Ÿฌ์Šค ์ฃผ์†Œ(plus addressing)๋ž€?๊ธฐ์กด ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ์ƒˆ๋กœ์šด AWS ๊ณ„์ •์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.์‚ฌ์šฉ๋ฒ•: ํ˜„์žฌ ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ "@" ๊ธฐํ˜ธ ์•ž์— "+"์™€ ์ถ”๊ฐ€ ๋ฌธ์ž๋ฅผ ๋„ฃ์–ด ์‚ฌ์šฉํ•œ๋‹ค.์˜ˆ์‹œ: ์›๋ž˜ ์ด๋ฉ”์ผ์ด test@gmail.com์ด๋ผ๋ฉด, test+aws1@gmail.com์œผ๋กœ ์ƒˆ AWS ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.์œ„ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋™์ผ gmail ๊ณ„์ •์— ์ถ”์ž๋ฌธ์ž๋ฅผ ๋ถ™์—ฌ ๊ฐ€์ž…ํ•˜์—ฌ ๋™์ผ ๋ฉ”์ผ ๊ณ„์ •์œผ๋กœ ํ”„๋ฆฌ..

AWS 2025. 4. 3. 19:50