๋“œ๋””์–ด XSX ์ˆ˜๋ น!

๋“œ๋””์–ด XSX ์ˆ˜๋ น!

JoonHo Son
ํšŒ์‚ฌ ๋™๋ฃŒ์˜ ์ˆ™๋ จ๋œ ์˜ˆ์•ฝ๊ตฌ๋งค ์Šคํ‚ฌ๋กœ ๋“ํ…œ(!)ํ•œ Xbox Series X. 2์ฐจ ์˜ˆ์•ฝ๊ตฌ๋งค์—์„œ๊นŒ์ง€ ์ž…๊ตฌ์ปท ๋‹นํ•˜๊ณ  3์ฐจ ์˜ˆ์•ฝ๊ตฌ๋งค์—์„œ ๊ฒจ์šฐ ๊ตฌ๋งคํ•˜๊ธฐ ๋ฒ„ํŠผ๋งŒ ๊ตฌ๊ฒฝํ•œ ์ƒํƒœ๋กœ ์ขŒ์ ˆํ–ˆ์—ˆ๋Š”๋ฐ, ์˜†์ž๋ฆฌ์— ์•‰์•„ ์žˆ๋˜ ๋™๋ฃŒ๊ฐ€ ํ•œ ๋ฐฉ์— ์„ฑ๊ณตํ•ด์„œ 1,000์› ์›ƒ๋ˆ ์ฃผ๊ณ  60๋งŒ์›์— ๊ตฌ์ž…ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋งค๋ถˆ๋ง ๋ชฉ์ด ๋น ์ ธ๋ผ ๊ธฐ๋‹ค๋ฆฌ๋‹ค ์ˆ˜๋ น! ์ž‘๋…„์— ๊ตฌ๋งคํ•œ Xbox One X๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ๋ณด๋‹ค ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋Š” 9์„ธ๋Œ€ ์ฝ˜์†”์ด๋ผ…๋Š” ์ž๊ธฐ ํ•ฉ๋ฆฌํ™”. ๐Ÿ˜‚ ์‚ฌ๋ฌด์‹ค์—์„œ ์ˆ˜๋ นํ•ด์„œ ๋ถ€๋žด๋ถ€๋žด ๋ช‡ ์žฅ ๋‚จ๊ธด๋‹ค(์ง‘์—์„œ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฐ์—ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ, ๋„ˆ๋ฌด ๋“ค๋œฌ ๋งˆ์Œ์—…). << ๋ฐ•์Šค ์ •๋ฉด >> << ๋ฐ•์Šค ์ƒ๋‹จ.

Tableplus์—์„œ ๋ณต์›์‹œ ์ธ์ฝ”๋”ฉ์ด ๊นจ์งˆ ๊ฒฝ์šฐ

JoonHo Son
ํŒŒ์ผ ์ž์ฒด๋Š” UTF-8๋กœ ์ •์ƒ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ, ์ด์ƒํ•˜๊ฒŒ TablePlus์—์„œ ๋ณต์›์„ ์‹œํ‚ค๋ฉด ๊นจ์ง€๋”๋ผ. ํŒŒ์ผ์—๋Š” ๋‹จ์ˆœ insert ์ฟผ๋ฆฌ๋งŒ ๋“ค์–ด์žˆ์—ˆ๋‹ค. ํ˜น์‹œ๋‚˜ ํ•˜๋Š” ๋งˆ์Œ์— ๋ณต์›ํ•˜๋Š” ํ™”๋ฉด์—์„œ ์˜ต์…˜ --default-character-set=utf8์„ ๋„ฃ์œผ๋‹ˆ๊นŒ ์ •์ƒ ์ž‘๋™๋˜์—ˆ๋‹ค. << TablePlus์—์„œ ๋ณต์›ํ•˜๋Š” ํ™”๋ฉด >>

JPA + Hibernate์—์„œ DDL script ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ธฐ

JoonHo Son
JPA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ถ€ํ„ฐ ๊ณ„์† ํ•˜๋ ค๊ณ  ํ–ˆ๋˜๊ฑด๋ฐ, ์ด๋ฒˆ์— ์†Œ๊ธฐ์˜ ๋ชฉ์ ์—์„œ ์•„์ฃผ ์ผ๋ถ€๋ถ„์€ ๋‹ฌ์„ฑํ•˜์—ฌ ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ •์„ ๊ธฐ๋ก์ฐจ์›์—์„œ ๋‚จ๊ธด๋‹ค. ์„ ์š”์•ฝ ์ง€์ •ํ•œ ํŒจํ‚ค์ง€์˜ @Entity annotation์ด ์„ ์–ธ๋œ ํด๋ž˜์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ DDL script๋ฅผ ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. DDL script ์ƒ์„ฑ์‹œ column comment๋„ ํ•จ๊ป˜ ์ƒ์„ฑํ•œ๋‹ค(์ œ์ผ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ•จ). @Embedded annotation์ด ๋‹ฌ๋ฆฐ ํ•ญ๋ชฉ๋„ comment๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. TODO Table comment ์ถ”๊ฐ€ Embedded ์ˆœํ™˜ ์ฒ˜๋ฆฌ ๊ตฌํ˜„๋ถ€ ์ž‘์—…์˜ ํ๋ฆ„ ์šฐ์„  Reflections์„ ์ด์šฉํ•˜์—ฌ ์ง€์ •ํ•œ package์•ˆ์— ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค ์ค‘ @Entity annotation์ด ์„ ์–ธ๋œ ํด๋ž˜์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ๊ฒ€์ƒ‰๋œ ํด๋ž˜์Šค ๋ชฉ๋ก์—์„œ ํด๋ž˜์Šค๋‚ด์— ์ •์˜๋œ Field๋ฅผ ์ถ”์ถœํ•œ๋‹ค.

๋ธ”๋กœ๊ทธ ๊ธ€ ์ผ๋ถ€๊ฐ€ ์œ ์‹ค๋๋„ค.

JoonHo Son
์›Œ๋“œํ”„๋ ˆ์Šคํ•˜๊ณ  ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธ€ ๋’ค์ ธ๊ฐ€๋ฉฐ ์˜ฎ๊ธฐ๊ณ  ์žˆ๋Š”๋ฐ, ์ค‘๊ฐ„์— ghost ๋ธ”๋กœ๊ทธ๋•Œ ์ž‘์„ฑํ•œ ํฌ์ŠคํŠธ ๋‚ ๋ ธ๋„ค. ์  ์žฅ

๋ธ”๋กœ๊ทธ ์ด์ „ ์ค€๋น„ ์ค‘

JoonHo Son
์›Œ๋“œํ”„๋ ˆ์Šค๋ฐ์ดํ„ฐ ๊ผฌ์—ฌ ๋ฒ„๋ ธ๋„ค. ํ‹ฐ์Šคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ์™€ ์›Œ๋“œํ”„๋ ˆ์Šค ๋ฐ์ดํ„ฐ ํ•ฉ์ณ์„œ ์ˆ˜์ž‘์—…์œผ๋กœ ๋‹ค ์ด์ „ํ•ด์•ผ๊ฒ ๋‹ค.

macOS + IntelliJ + Tomcat8 + ehcache ๊ตฌ๋™์‹œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

JoonHo Son
์ด๊ฒŒ, ์œˆ๋„์šฐ์—์„œ ๋™์ผํ•œ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ๋™์‹œํ‚ฌ๋•Œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค. ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider: Error starting heartbeat. Error was: Canโ€™t assign requested address << ์˜ค๋ฅ˜ ๋กœ๊ทธ >> ์ด์งํ•œ ํšŒ์‚ฌ์—์„œ ์•ฝ๊ฐ„ ํฌ์•ˆํ•œ ๊ตฌ์กฐ์˜ maven์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธธ๋ž˜โ€ฆ ์ ์‘ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅ์ค‘์— ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜(์ด ํ”„๋กœ์ ํŠธ์—์„œ ehcache๋ฅผ ์“ฐ์ง€๋ฅผ ์•Š๋Š”๋‹ค. ๐Ÿ˜‘) ๋™์ผํ•œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ์šด์˜์ฒด์ œ๋งŒ ์œˆ๋„์šฐ์ธ ํšŒ์‚ฌ๋žฉํƒ‘์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๊ณ  ๋ญ”๊ฐ€ ๋Š๋‚Œ์ด ์™€์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆโ€ฆ IPv6๋กœ ์ธ์‹์ด ๋˜์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ด๋”๋ผ. ์•„๋งˆ *NIX ๊ณ„์—ด์˜ ์šด์˜์ฒด์ œ์—์„œ๋Š” ๋™์ผํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.

์˜ค๋Š˜๋„ ์ž์ฐจ๋กœ ์ถœ๊ทผ#2

JoonHo Son
์˜ค๋Š˜๋ถ€ํ„ฐ ํŒŒ๊ฒฌ์ง€๋กœ ์ถœ๊ทผํ•˜๊ธฐ ๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ณ ๊ฐ์‚ฌ์—์„œ 22์ผ๊นŒ์ง€ ์žฌํƒ๊ทผ๋ฌด ์—ฐ์žฅ์œผ๋กœ ๊ณ„์† ์šฐ๋ฆฌ ํšŒ์‚ฌ ์‚ฌ๋ฌด์‹ค๋กœ ์ถœ๊ทผ. ๊ทธ๋ž˜๋„ ์ „์ฒ ๋กœ ์ถœ๊ทผํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋น„๊ฐ€ ์™€์„œ ์ƒˆ์ฐจ๋ฅผ ํ•  ๊ฒธโ€ฆ(๋น„๊ฒํ•œ ๋ณ€๋ช…) ๐Ÿคฃ

์˜ค๋Š˜๋„ ์ž์ฐจ๋กœ ์ถœ๊ทผ#1

JoonHo Son
์˜ค๋Š˜๊นŒ์ง€๋งŒ ์ž์ฐจ๋กœ ์ถœ๊ทผ. ๋‚ด์ผ๋ถ€ํ„ฐ๋Š” ๊ฐ€์‚ฐ์œผ๋กœ ๋‹ค์‹œ ์ถœ๊ทผํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ๋‹ค์‹œ ๋Œ€์ค‘ ๊ตํ†ต์œผ๋กœ ์ถœ๊ทผ ํ•ด์•ผ์ง€.