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์ด ์„ ์–ธ๋œ ํด๋ž˜์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

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

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
์˜ค๋Š˜๊นŒ์ง€๋งŒ ์ž์ฐจ๋กœ ์ถœ๊ทผ. ๋‚ด์ผ๋ถ€ํ„ฐ๋Š” ๊ฐ€์‚ฐ์œผ๋กœ ๋‹ค์‹œ ์ถœ๊ทผํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ๋‹ค์‹œ ๋Œ€์ค‘ ๊ตํ†ต์œผ๋กœ ์ถœ๊ทผ ํ•ด์•ผ์ง€.

์•„์ˆ˜๋ผ๋ฐฑ์ž‘

JoonHo Son
<< ๊ฐ•๋‚จ์€ ๋นจ๊ฐฑ์ด ์Šคํƒ€์ผ >> ํ•œ ์ž…์œผ๋กœ ๋‘๋งํ•˜๊ธฐ์˜ ๋‹ฌ์ธ๋“ค. ๋งˆ์Œ์— ์•ˆ๋“ค๋ฉด ์ข…๋ถ์œผ๋กœ ๋ชฐ์•„ ํ‘œ ์–ป์–ด๊ฐ€๋˜ ์ž‘์ž๋“ค์ด ๋ฌด์Šจ ์ƒ๊ฐ์œผ๋กœ ์˜์ž…์„ ํ–ˆ์„๊นŒ๋‚˜โ€ฆ ๊ธฐ์‚ฌ์ „๋ฌธ๋ณด๊ธฐ