ใ้จๅฑๆ่ฆ๏ผใไธ่ฆใงใฎ็ขบ่ช็ฎๆใฏ๏ผ
่จไบใชใณใฏ๏ผhttps://realestate.yahoo.co.jp/rent/column/rentmanual/03/
ๆฐใซๅ ฅใฃใ็ฉไปถใฏไธ่ฆใใใพใใ้ๅใๅณใจๅ็ใ่ฆใใ ใใงๅฅ็ดใใฆใใพใฃใฆใฏใใพใใซๅฑ้บใไพใใฐใ็ฎใฎๅใใใซใฎใใๆฅๅฝใใใผใญ๏ผใใชใใฆใใจใฏๅณ้ขใซๆใใฆใใพใใใไธ่ฆใงใฎใใงใใฏใใคใณใใฏใใใใใใใฎใงใๆ้ใใชใใฆใๅฟ ใใใฆใใใพใใใโฆใไธใฎ่จไบใชใณใฏๅ็ งใ
๋ง์์ ๋ค์๋ ๋ฌผ๊ฑด์ ์๋น์กฐ์ฌ๋ฅผ ํฉ๋๋ค. ๋ฐฉ๊ตฌ์กฐ์ ์ฌ์ง์ ๋ณธ๊ฒ ๋ง์ผ๋ก ๊ณ์ฝํด๋ฒ๋ฆฌ๋ ๊ฒ์ ๋งค์ฐ ์ํํฉ๋๋ค. ์๋ฅผ๋ค๋ฉด, ๋์์ด ๋น๋ฉ๋๋ฌธ์ ํ๋ณ์ด ์ ๋ก! ์ด๋ค๊ฒ์ ๋๋ฉด์ ๊ทธ๋ ค์ ธ์์ง ์์ต๋๋ค. ์๋น์กฐ์ฌ์์์ ์ฒดํฌํฌ์ธํธ๋ ๋ง์ด ์๊ธฐ๋๋ฌธ์, ์๊ฐ์ด ์์ด๋ ๋ฐ๋์ ํด๋ก์๋ค.
๋ณด๋ฌ๊ฐ์ง ์์ผ๋ฉด ๋ชฐ๋๋ ๊ฒ์ ๋ณผ์ง์ด๋ค.
์ผ๋ถ๋ก ๋ฐ๊ธธ์ ์ฎ๊ฒจ๋์ด[์~ ๋ฐฉ์ด ๋๊ฐ์๋ค!]์ด๋ค ๋๋ฉด์์ ์์ ์๋ ๊ฒ์ ๊ฐํ์ ํด์๋ ์๋๋ค. ์๋น์กฐ์ฌ์์๋ [์ค์ ์ ๋ณด๋ฌ๊ฐ์ง์๊ณ ๋ ์์ง ๋ชปํ๋ ๊ฒ]์ ์ค์ฌ์ผ๋ก ์ฒดํฌํ๋ค.
1.๋ฌผ๊ฑด์ ๋ถ์๊ธฐ๋ฅผ ์ฒดํฌ
์ฐ์ ์ ๋ฌผ๊ฑด ์ ์ฒด์ ๋ถ์๊ธฐ. ์ ์ง๋ชจ๋ฅด๊ฒ ์นจ์นจํ๊ณ , ์์นจํด ์๋, ์ ๋ง ์์๊ณ ์ฒ์ฅ์ด ๋๊ณ ๋์ ๋ฑ, [์ธ์]์ ํ์คํ ์ฒดํฌํด๋ณด์, ๋ ๋ฌผ๊ฑด ์ฃผ๋ณ์ ์์, ๋์์ ์ ๋ฐํ๋ ๊ฒ์ด ์๋์ง๋ฑ์ ์ฒดํฌํ๋ค.
2.ํ๋น์ ์ฒดํฌ
๋จํฅ์ผ๋ก ๋์ด ์์ด๋ ๋์์ ๋น๋ฉ์ด ์ ์์ผ๋ฉด ์๋ฏธ๊ฐ ์์ต๋๋ค.
๋ฐฉ์ ์ฐฝ๋ฌธ์ ๋ชจ๋ ์ด๊ณ ์ฐฝ๋ฐ์ ์ฒดํฌ, ๊ฐ๋ฅํ๋ฉด ๋ฐฉ์์ง์นจ์ผ๋ก ์ ํํ ๋ฐฉํฅ์ ํ์ธํด๋ณด์.
3.์ค๋น์ ์ฐ๊ธฐ ํธ๋ฆฌํจ์ ์ฒดํฌ
ํนํ ๋ฌผ์ฃผ๋ณ์ ์ค๋น๋ ๋๋ฉด์์ ์์ ์๋ ๊ฒ์ด ๋ง๋ค. ์ฃผ๋ฐฉ์ ํธ๋ฆฌํจ, ์์ด์ปจ์ ์๊ฒ๋ฑ, ์ค์ ๋ก ๋์ผ๋ก ๋ณด๊ณ ํ๋จํด๋ณด์. ๋, [ํด๋์ ํ๋ ํตํ๋์ง]๊ฒ๋ ์ค์ํฌ์ธํธ๋ค.
4.์ฃผ์ธ์ ๋งค๋๋ ์ฒดํฌ
์๋์ฃผํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณต๋์ํ. ๋งค๋๊ฐ ๋์ ์ฌ๋์ด ์์ ์ด๊ฑฐ๋ ํ๋ฉด ์๊ฐ์ง๋ ์์ ํธ๋ฌ๋ธ๋ก ์์์ผ๋ก ๊ณต๋ ๋ณต๋์ ๋ฌผ๊ฑด์ด ์ฐ๋ํ์ง ์์์ง ์ฐจ์ ์ทจ๋ฏธ๋ฑ๋ ์ฐธ๊ณ ๋ก.
๋ณธ ๋ฌผ๊ฑด์ ์ ๋ถ ๋ฉ๋ชจํ์
ํ๋ฃจ์ ๋ง์ ๋ฐฉ์ ๋ณด๋ฉด ๊ฐ๊ฐ์ ํน์ง์ด ๋ชจ๋ฅด๊ฒ ๋๋ ๊ฒ๋.
๊ทธ๋ฐ ์ผ์ด ์๋๋ก, ๊ฐ๊ฒ์์ ๋ฐ์ ๋๋ฉด์ ์ฒดํฌํ ํญ๋ชฉ์ ์ ๋ถ ์จ๋ก์๋ค.
์ญ๋ถํฐ๋ ์ค์ ๋ก ๊ฑท๊ณ , ๊ฐ๋ฅํ๋ฉด 2์ฐจ๋ก ์๋น์กฐ์ฌํ์.
๋ถ๋์ฐํ์ฌ์ ์ฐจ์ ํ๋ฉด์ ์๋น์กฐ์ฌ๋ฅผ ํธํํ๋ค. ์ดํธ์ด ํ๋ฒ์ ๋ช๊ฐ์ ๋ฌผ๊ฑด๋ ์๋น์กฐ์ฌ๊ฐ ๊ฐ๋ฅํ์ง๋ง, ๋งค์ผ ์ด์ฉํ๋ ์ญ๊น์ง์ ๊ธธ์ ์์ ์ ๋ฐ๋ก ๊ฑธ์ด์ ์ฒดํฌํด๋ก์๋ค. ์ญ๋๋ณด5๋ถ์ด ๋์ด ์์ด๋, ์ค์ ๋ ์์ฐํ๊ณ ๋ท๊ณจ๋ชฉ์ ํตํด ์ต๋จ๊ฑฐ๋ฆฌ์ ๊ธธ์ด๊ฑฐ๋, ๋์๋ ์ค๋ฅด๋ฐ์ธ ๊ฒฝ์ฐ๋.
๋ ํนํ, ๋ฐฉ๋ฒ๋ฉด์์๋ ๋ฐค๋ฎ์ ์ํฉ์ด ์ผ๋ณํ๋ ์ผ๋, ํด์ผ์ด๋ ๋ฎ์๋ ์กฐ์ฉํด๋, ์์นจ ์ ๋
์ ํต๊ทผ ์๊ฐ๋๋ ์์ ๊ธธ์์ ์ฐจ๊ฐ ์ ์ฒด๋๊ฑฐ ์๊ฑฐ๋, ๋ฐค์ฐฝ๋ฌธ์ ์ด๋ฉด ๋ง์ํธ์์ ์ค๋ต์ผ๋ก๋ถํฐ ๋
ธ๋ซ์๋ฆฌ๊ฐ ๋ค๋ฆฌ๊ธฐ๋ ํ๋ค. ๊ฐ๋ฅํ๋ฉด ์๊ฐ์ ๋ด์ 2๋ฒ ๋ณด๋ฌ๊ฐ๋ฉด ์ข์ ๊ฒ์
๋๋ค.
ใใใพใงใ็ฟป่จณใ็ตใใพใใ
ไธ่ฆ:ใใใฟ๏ผ์๋น์กฐ์ฌ(ไธ่ฆใซ่กใ)
้ๅใๅณ๏ผใพใฉใใ๏ผ๋ฐฉ๊ตฌ์กฐ
ใใพใใซ๏ผ๋งค์ฐ, ๋ชน์
่ฆใในใ๏ผ๋ณผ์ง์ด๋ค.
ๆๅฟ:๊ฐํ
่ๆใ:ใใใใใ๏ผ์ข์ด๋ก๋ค. ์นจ์นจํ๋ค
ใชใใจใชใ๏ผ์ ์ง ๋ชจ๋ฅด๊ฒ
ใใใใ๏ผ์ต๊ธฐ๊ฐ ๋ง์ ๋ชจ์, ์ถ์ถํ, ์งํฝ์งํฝ, ์์นจํ
็ถบ้บ:ใใใ
้จ้ณ:ใใใใ:์์
ไฝฟใๅๆ:ใคใใใใฃใฆ:์ฐ๊ธฐ ํธ๋ฆฌํจ
่ฃ่ทฏๅฐ:ใใใใ๏ผ๋ท๊ณจ๋ชฉ, ๊ณจ๋ชฉ์
ๆผๅค๏ผ๋ฐค๋ฎ
ใๆ50ไธๅใง็ใใใใชใ็ๆดปใใ30ไธๅใงไปไบใๆฅฝใใ็ๆดปใใใ็ฉ่ญฐ้ธใใ้ชๆฅ้ป้ใฎๅบๅใไธญๆญขใซ
่จไบใชใณใฏ๏ผhttps://headlines.yahoo.co.jp/hl?a=20190610-00000084-it_nlab-sci
6/10(ๆ) 21:10้ ไฟก
ใใๆฏๆ50ไธๅใใใฃใฆ็ใใใใฎใชใ็ๆดปใ30ไธๅใ ใใฉไปไบใๆฅฝใใ็ๆดปใใฉใฃใกใใใใใโโใใใชๅ ๅฎนใฎๅบๅใๆนๅคใๅใใฆใใ้ชๆฅ้ป้ใฎๅบๅใธใฃใใฏไผ็ปใใใฟใณใใฌใคใณใใไธญๆญขใจใชใใใจใๅใใใพใใใโฆโฆโฆ. ใไธใฎ่จไบใชใณใฏๅ็ งใ
ใ๋งค์ 50๋ง์ ๋ฐ๋ ์ถ์ ๋ณด๋์๋ ์ํ, 30๋ง์๋ง์ด์ง๋ง ์ผ์ด ์ฆ๊ฑฐ์ด ์ํ, ์ด๋์ชฝ์ด ์ข์๊น?ใ--์ด๋ฐ ๋ด์ฉ์ ๊ด๊ณ ๊ฐ ๋นํ์ ๋ฐ๊ณ ์๋ ํ๊ธ์ ์ฒ ์ ๊ด๊ณ ์ญ๊ธฐํ[ํํ์ฝํธ๋ ์ธ]์ด ์ค์ง ๋๊ฒ์ ์์์ต๋๋ค.
ํํํธ๋ ์ธ์ ๊ธฐ์
๋ธ๋๋ฉ์ ์์ ๋ค๋ฃจ๋ ํจ๋ฌ๋
์ค์ ํํ์ ์ฒ ์ ์ฝ๋ผ๋ณด๊ธฐ์
.
ํจ๋ฌ๋
์ค๊ฐ ๊ธฐ์
ํ์ด๋ง์ค์์ ๋์จ ๋ง์ ์ ๋ฆฌํ ์์ [์ผํ๋ ๋ง๋ค]์ผ๋ก๋ถํฐ ๊ณ ๋ฅธ ๋ง์ ์ฐจ๋ด ๊ด๊ณ ๋ก์จ ๊ฒ์ํ ๊ฒ์
๋๋ค.๋ฌธ์ ๊ฐ ๋์๋[๋งค์ 50๋ง]์ธ, [์ํ๋ฆฌ์นด์ ์ค๊ณ ์ฐจ์ ํ๋งคํด์ ๊ฐ์ฌ์ ์ฌ์ง์ ๋ฐ์์๋ ์์ ์ ์ผ์ ๊ฐ์น์ ์์๋ค.]๋ผ๋ ์๋์ฐจ์ ํต์
์ ์์
๋ด๋น์ ๋ง๋ฑ์ด ๊ด๊ณ ๋ก์จ ๊ฒ์๋์ด ์์์ต๋๋ค.
๋นํ์ ๋ชจ์๊ฒ์ [๋งค์ 50๋ง์ ๋ฐ๊ณ , ๋งค์ผ ์ถ์ ๋ณด๋์ด ์๋ ์ํ์ ๋ณด๋ผ๊น, 30๋ง์๋ง์ด์ง๋ง ์ผ์ ๊ฐ๋ ๊ฒ์ด ์ฆ๊ฑฐ์์ผ๋ก ์ด์ฉ์ ์๋ค๋ผ๋ ์ํ๊ณผ ์ด๋์ชฝ์ด ์ข์๊น]๋ผ๋ 80๋์ ์ฐ๊ตฌ๊ธฐ๊ด์ ์ฐ๊ตฌ์์ ๋ง์ ๊ธฐ์ ํ ๊ด๊ณ , ์ด๊ฒ์ ๋ํด์ [๋ณด๋์ฐฉ์ฅ][์ ์ ์ธ๋์ ๊ธ์ฌ์ ์์ง ๋ชปํ๋ ๊ฒ์ธ๊ฐ?]๋ฑ์ SNS๋ก ๋นํ์ด ๋ชจ์์ ธ,[์ 50๋ง์]์ด ํธ์ํฐ์ ํธ๋ ๋์ ๋ค์ด๊ฐ์ ๋ ํ์ ๊ฐ ๋์์ต๋๋ค.
ํธ์ง๋ถ๊ฐ ํจ๋ฌ๋
์ค์ ๋ฌธ์ํ๋๋, ์๋ ๊ธ ์ฒ๋ผ ํ๋ต์ด ์์์ต๋๋ค.
-- ์ข
์ฌ์ ๋ง๋ค ์ค์์ ํด๋น์ ๋ง์ ๊ฒ์๋์์ผ๋ก ์ ํํ ์ด์ ๋
์ซ์์ ์ด๋๊น์ง๋ผ๋ ๊ตฌ์ฒด์ ์ธ ์๋ก ์ฌ์ฉํ๊ณ ์๋ ๊ฒ๋ง์ผ๋ก, ๊ธ์ฌ์ ๋์ด๋ณด๋ค๋ ์ผ์ ๋ณด๋์ ์์คํ ํ๋ค๋ ๊ฐ์น๊ด๋ ์๋ ๊ฒ์ ์ ํ๊ณ ์ถ์ ๋ง์ ์๋๋ก ์ ์ถํ์ต๋๋ค. ์ด ์ซ์์ ์ํด์, ๋ถ์พํ ์๊ฐ์ ๋๋ผ๊ฒ ํด๋ฒ๋ฆฌ๊ฒ ๋์ด๋ฒ๋ ค, ๋๋จํ ๋ฏธ์ํ๊ฒ ๋๋ผ๊ณ ์์ต๋๋ค.
-- ์ธํฐ๋ท์ ๋ฐ์์ ๋ํด ์ด๋ป๊ฒ ๋ฐ์๋ค์ผ๊น?
์ผํ๋ ๊ฒ์ ๋ํด์, ์ฌ๋ฌ๊ฐ์ง ์๊ฒฌ์ด ๋์ค๋ ๊ฒ์ ๋น์ฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ๊ณ๊ธฐ๋ก ์ผํ๋ ๊ฒ์ ๋ํด์ ์ฌ๋ฌ ๋
ผ์๊ฐ ์๊ธด๋ค๊ณ ์ข๋ค๊ณ ์๊ฐํ๊ณ ์์ต๋๋ค๋ง, ์ด ๋ถ์พํ ์๊ฐ์ ๊ฑธ์ด๋๊ฒ์ ๋ํด์๋ ์ฃ์กํ๋ค๊ณ ์๊ฐํ๊ณ ์์ต๋๋ค.
-- ๊ตํ๋ฑ์ ์์ ์
์์ [์ข
์ฌ์ ๋ง๋ค]์ ๊ฒ์๋ ๋ค์ํ ์
๊ณ, ์ธ๋์ ๋ง์ ์๊ฐ์ ํตํด์, ์ผํ๋ ์ฌ๋๋ค์ ์์ํ๊ณ ์ถ๋ค๋ผ๋ ์ทจ์ง๋ก ๊ธฐํํ๊ณ ์์์ต๋๋ค๋ง, ์ผ๋ถ ์คํด์ ๋ถ๋ฅธ ๋ถ์ ์ ํ ๋ง์ ๊ฒ์๊ฐ ์์๊ธฐ ๋๋ฌธ์, 6์ 11์ผ ์ดํ[ํํ์ฝํธ๋ ์ธ]์ ์ดํ์ ์ค์งํ๊ธฐ๋ก ํ์ต๋๋ค.
ใใใพใงใ็ฟป่จณใ็ตใใพใใ
ๆๆใใ:์์ ๋ค๋ฃจ๋ค, ๋ณด์ดํผ๋ค. ๋๋ณด๋ค.
ๆฒๅบ:ใใใใ
ใค๏ผ๊ฒ์ํ๋ค
ใใใใๆพๅ:๋ณด๋์ฐฉ์ฅ๏ผใใใใใใใใ
๏ผ
ๅ
ฅใใใใปใฉ:๋ค์ด๊ฐ์ ๋
ใใจใใ:๋ง ํ์ฐธ ํ๋๋,ํ๋๋
ๅ
ทไฝไพ:๊ตฌ์ฒด์ ์ธ ์
ใใใจใใ๏ผ๋ฐ์๋ด๋ค, ๋ง์๋ด๋ค, ๋ฐ์๋ค์ด๋ค.
ๅทฎใๆฟใ:๋ฐ๊ฟ ๊ฝ์, ๋ฐ๊ฟ ๋ผ์, ๋ฐ๊ฟ
่ถฃๆจ:์ทจ์งใใ
ใ
https://yamea-guide.tistory.com/85
https://brunch.co.kr/@ourlove/82
https://blog.naver.com/dladhtjd/220027501580
๋ค์ด๋๋ฏน ๋์ ์ ๋ ํธ ๋ฐ์ค ์๋ฐ์คํฌ๋ฆฝํธ๋ก๋ง
Ajax๋ ์ ์ธ
https://blog.naver.com/jayun137/220661877153
TemporaryFolder API
https://qiita.com/tag1216/items/4b8ebee07ebcf8618d7d
ํด๋๋ฅผ ์์ฑํ๊ณ , ๊ฐฑ์ ํ๋ ํด๋์ค๋ฅผ ํ ์คํธํ ๋์๋, ๋ค์ ์คํํ ๋์ ๋ค๋ฅธ ํ ์คํธ์ ์คํ์ ์ํฅ์ด ์๋๋ก, ๋ท ์ฒ๋ฆฌ๋ก ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ ์ํ๋ก ๋๋ฆฌ์ง ์์ผ๋ฉด ์๋๋ค.
์ด๋ฌํ ๋์๋ org.junit.rules.TemporaryFolder์ ์ฌ์ฉํ๋ฉด, ํ ์คํธ๋ฉ์๋์ ์คํํ ๋๋ง๋ค
ํจ๊ป ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์ข ๋ฃํ ๋ ์๋ ์๋์ ์ผ๋ก ์ ๊ฑฐ๋๋๋ก ๋๋ค.
์ฌ์ฉ๋ฒ
ํ ์คํธํด๋์ค์ TemporaryFolderํ์ publicํด๋๋ฅผ ์์ฑํ๊ณ , @Rule ์ด๋ ธํ ์ด์ ์ ๋ถ์ฌ๋๋ฉด, ํ ์คํธ๋ฉ์๋๊ฐ ์คํ๋ ๋๋ง๋ค ํจ๊ป ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํด ์ค๋ค.
@Rule
public TemporaryFolder tempFolder = new TemporaryFolder();
์์ฑ์ํจ ์ผ์์ ๋๋ ํ ๋ฆฌ ํจ์ค๋ getRoot()๋ก ์ทจ๋ ํ ์ ์๋ค.
//getRoot()๋ ์์ํด๋์ ์์น
tempFolder.getRoot();
์ผ์ ๋๋ ํ ๋ฆญ๋ด์ ํด๋๋ ์๋ธ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ๋์๋ createFile() ๊ณผ createFolder()๋ฅผ ์ฉํ๋ค.
์ธ์๊ฐ ์๋ ์ชฝ์ ์ฌ์ฉํ๋ฉด ๋๋ค์ธ ์ด๋ฆ์ ๋ถ์ฌ ์์ฑํด์ค๋ค.
//์ธ์ ๋ช ์ผ๋ก ์์ฑ
tempFolder.createFile(filename);
tempFolder.createFolder(foldername);
//๋๋ค
tempFolder.createFile();
tempFolder.createFolder();
ํ ์คํธ์ฉ ํ์ผ์ ์ฌ์ฉ๋ชฉ์ ์ผ๋ก ์๋ ๊ฒฝ์ฐ์๋, ์ผ์ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์นดํผํ๊ณ ๋์ ์ฌ์ฉํ๋ฉด, ํ์ผ์ ๊ฐฑ์ /์ ๊ฑฐํ๋ ค๋ ํ ์คํธ๋ผ๋, ๋ค์ ์คํ๋์ ์ํฅ์ด ์๋ค.
FileUtils.copyDirectory(new File(โsrc/test/data/test1/โ), tempFolder.getRoot());
//์ฒซ๋ฒ์งธ ์ธ์๋ด์ฉ์ ๋๋ฒ์งธ ์ธ์ ๋ด์ฉ์ ๋ณต์ฌํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
**๋ชจ๋ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ง์ ํ๋๋ฐ, ์ฑ๊ณต ์คํจ์๋ ์๋ฌด๋ฐ ํ์๊ฐ ๋ํ๋์ง ์๋๋ค.
https://cafe.naver.com/infoguide114/280
getAbsolutePathName(pathspec) ๋,
์ด ์ถ์์ ๋ฉ์๋๋ช ์ ์ ๋ ํจ์ค๋ช ๋ฌธ์์ด๋ก ๋ฐ๋ฉํ๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก ๋ด์ญ์ ๊ทผ๊ฑฐํ์ฌ ์์ ํ๊ณ ๋ถ๋ช ํ ๊ฒฝ๋ก๋ฅผ ๋ฐํํ๋ค.
pathspec : ํ์์ ์ธ ์์, ์์ ํ๊ณ ๋ถ๋ช ํ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ ๊ฒฝ๋ก ๋ด์ญ์ด๋ค.
ํ์ฌ์ ์ ์ ์ ์์คํ ํ๋กํผํฐ์ ์ ์ ๋๋ ํ ๋ฆฌ๋ก ํ์๋๋ค.
Pathspec ๋ฐํ๋๋ ๊ฒฝ๋ก
โc:โ โc:\mydocuments\reportsโ
โc:..โ โc:\mydocumentsโ
โc:\" โc:"
โc:.\may97โ โc:\mydocuments\reports*.*\may97โ
โregion1โ โc:\mydocuments\reports\region1โ
โc:....\mydocumentsโ โc:\mydocumentsโ
File.separator
์๋ฐ๋ ์ดํด๋ฆฝ์ค ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ ๋ง์ด ํ๊ฒ ๋๋ค. ์ ์ฐํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด์๋ ํ๋กํผํฐ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ๋ฐ, ํ๋กํผํฐ ํ์ผ์ ํน์ ํ์ผ ๊ฒฝ๋ก๋ ๊ฑฐ์ ํ์์ ์ผ๋ก ํฌํจ๋๋ค ๋ณด๋ฉด ๋๋ค. ํ์ง๋ง ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ ๊ตฌ๋ฌธ๋ฌธ์๊ฐ UNIX์ ์๋์ฐ ๊ฐ OS์ ์ฐจ์ด๋ก ๋ค๋ฅด๊ฒ ์์ง์ธ๋ค ์ด๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฒ์ด File.separator์ด๋ค.
์ฌ์ฉ๋ฐฉ๋ฒ
์) Data ๋๋ ํ ๋ฆฌ ์์ readme.txt ํ์ผ์ ์ํ๋ค ํ ๋,
์๋์ฐ Data\readme.txt
๋ฆฌ๋ ์ค Data/readme.txt
๊ฐ ๋๋ค.
ํ์ง๋ง ์๋ฐ์์๋
โDataโ + File.separator + โreadme.txtโ
๋ผ๊ณ ์ด์ฉํ๋ฉด๋๋ค.
์ถ์ฒ
File ํด๋์ค
https://blog.naver.com/harloveysj/221480763073
https://hyeonstorage.tistory.com/233
https://docs.oracle.com/javase/jp/7/api/java/io/File.html
Junit annotation
https://blog.naver.com/dajung674/221376544132
Before, After, BeforeClass, AfterClass
@Before / @After๋ ๋ช ๊ฐ์ฉ ์์ด๋ ์๊ด์๋ค. Junit์ ์ด๋ค์ ๋น ์ง ์์ด ํธ์ถํ๋ค.
๋ค๋ง ํธ์ถ ์์๋ ๋ณด์ฅํ์ง ์๋๋ค.
@Before
-ํ ์คํธ ๋ฉ์๋ ๋ณ๋ก ์ด๊ธฐํ ์ฒ๋ฆฌ
-๊ฐ ํ ์คํธ ์ํ์ ์คํ๋๋ ๋ฉ์๋์ด๋ค.
-์ฃผ๋ก ํฝ์ค์ณ๋ฅผ ์ค๋นํ๋ค.
โ *fixture
โ -ํ ์คํธ๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ ์ค๋ธ์ ํธ์ด๋ค.
โ -์ผ๋ฐ์ ์ผ๋ก ํฝ์ค์ฒ๋ ์ฌ๋ฌ ํ ์คํธ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์
โ @Before ๋ฉ์๋๋ฅผ ์ด์ฉํด ์์ฑํด๋๋ฉด ํธ๋ฆฌํ๋ค.
โ -UserDaoTest์์๋ dao๊ฐ ๋ํ์ ์ธ ํฝ์ค์ฒ์ด๋ค.
โ -ํ ์คํธ ์ค์ add() ๋ฉ์๋์ ์ ๋ฌํ๋ User ์ค๋ธ์ ํธ๋ค๋ ํฝ์ค์ฒ๋ผ๊ณ ๋ณผ ์ ์๋ค.
-pulbic void ํํ๋ฅผ ๊ฐ์ง๋ค.
@After
-๊ฐ ํ ์คํธ ์ํ ํ ์คํ๋๋ ๋ฉ์๋์ด๋ค.
-public void ํํ๋ฅผ ๊ฐ์ง๋ค.
@BeforeClass/ @AfterClass ๋ ํ ์คํธ ์คํ, ์ ํ์ ์ ์ฒด์ ์ผ๋ก ํ๋ฒ ์ฉ๋ง ํธ์ถํ๋ ๋ฉ์๋์ด๋ค.
-public static์ผ๋ก ์์ฑํ๋ค.
*BeforeClass : ํ ์คํธ๋ฅผ ํตํ์ด์ ๋จ ํ๋ฒ๋ง ์ด๊ธฐํํ๋ ์์ ์ ์คํํ๋ค.
@Test
ํ ์คํธ ๋์ ๋ฉ์๋๋ฅผ ๋งํ๋ค.
Handler
https://qiita.com/Qui/items/40077ce9e33738dd3914
ํธ๋ค๋ฌ๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฑ๋กํ ์ ์๋ค. ์ธ์คํด์ค ์์ฑ
Logger logger = Logger.getLogger(โlogger์ ์ด๋ฆโ)
Handler handler = new FileHandler(โc:\sample\sample.logโ);
Logger.addHandler(handler);
Formatter formatter = new simpleFormatter();
Handler.setFormatter(formatter);
์ตํ์ Formatter ์ธ์คํฐ์ค๋ฅผ ์์ฑํ๊ณ ํธ๋ค๋ฌ๋ฅผ ๋ฑ๋กํฉ๋๋ค.
์ด๋ฒ์๋ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํ์์ผ๋ก ํฌ๋งทํ๊ธฐ ์ํด, simpleFormatter ์ ์ด์ฉํฉ๋๋ค. simpleFormattersms formatter์ ์ธํฐํ์ด์ค ๊ตฌํํด๋์ค์ ๋๋ค.
์ด๊ฒ์ผ๋ก ์ค๋น๋ ๋์ ๋๋ค logger์ ๋ฉ์์ง๋ฅผ ๊ฑด๋ด์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
logger.log(Level.INFO, โmessageโ); ๋ก๊ทธ๋๋ฒจ์ ์ง์ ํด์ค๋ค.
โขFINEST - ้ๅธธใซ่ฉณ็ดฐใชใใฌใผในใกใใปใผใธ
โขFINER - ใใชใ่ฉณ็ดฐใชใใฌใผในใกใใปใผใธ
โขFINE - ่ฉณ็ดฐใชใใฌใผในใกใใปใผใธ
โขCONFIG - ้็ใชๆงๆใกใใปใผใธ
โขINFO - ๆ ๅ ฑใกใใปใผใธ
โขWARNING - ่ญฆๅใกใใปใผใธ
โขSEVERE - ้ๅคงใชใกใใปใผใธ
โ
Logger.setLevel(level.INFO);
์ธํฌ ๋ ๋ฒจ์ด์์ ๋ฉ์์ง๋ง ์ถ๋ ฅํ ๊ฒฝ์ฐ ์ค์
METHOD
https://docs.oracle.com/javase/jp/8/docs/api/
Method ํด๋์ค ๋๋ ์ธํฐํ์ด์ค์ ๋ฉ์๋๋ฅผ ํ ๋ฒ์ ๋ ํ ์ก์ธ์ค๋ฅผ ์ ๊ณต ํฉ๋๋ค. ๋ฐ์ ๋ ๋ฉ์๋๋ ํด๋์ค ๋๋ ์ธ์คํด์ค ๋ฉ์๋ (์ถ์ ๋ฉ์๋๋ฅผ ํฌํจ ํ ์ฌ)์ ๋๋ค. Method๋ ์ค์ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ธฐ๋ณธ ๋ฉ์๋ ํ์ ๋งค๊ฐ ๋ณ์์ ์ผ์น ํ๋ ๊ฒฝ์ฐ ํ์ฅ ๋ณํ์ด ๋ฐ์ํ ์ ์์ง๋ง ์ถ์ ๋ณํ์ด ๋ฐ์ํ ๊ฒฝ์ฐ IllegalArgumentException ๋ฐ์ ํฉ๋๋ค.
getDeclaredMethod(String name, Class <>โฆ.. parameterTypes)
์ด Class ๊ฐ์ฒด๊ฐ ๋ํ๋ด๋ ํด๋์ค ๋๋ ์ธํฐํ์ด์ค์ ์ง์ ๋ ์ ์ธ ๋ ๋ฉ์๋๋ฅผ ๋ฐ์ ํ๋ Method ๊ฐ์ฒด๋ฅผ ๋ฐํ ํฉ๋๋ค. Name ๋งค๊ฐ ๋ณ์๋ ์์ฒญ ๋ ๋ฉ์๋๋ ๋จ์ํ ์ด๋ฆ์ ์ง์ ํ๋ String์ ๋๋ค. ParameterTypes ๋งค๊ฐ ๋ณ์๋ ๋ฉ์๋์ ํ์ ๋งค๊ฐ ๋ณ์์ ํ์์ ์ ์ธ ์์ ๋๋ก ํ์ธ ํ๋ Class ๊ฐ์ฒด์ ๋ฐฐ์ด์ ๋๋ค. ๋์ผํ ๋งค๊ฐ ๋ณ์ ํ์์ ๊ฐ๋ ๋ฉ์๋๋ฅผ ๋จ์ผ ํด๋์ค์ ์ ์ธ ๋ ์ด๋ฌํ ๋ฉ์๋ ์ค ํ๋๊ฐ ๋ค๋ฅธ ๊ฒ ๋ณด๋ค ๋ช ํํ ๋ฐํ ๊ฐ์ ํ์์ด ์๋ ๊ฒฝ์ฐ์๋ ํด๋น ๋ฉ์๋๊ฐ ๋ฐํ ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฉ์๋ ์ค ํ๋๊ฐ ์์๋ก ์ ํ ๋ฉ๋๋ค.
์ด๋ฆ์ด ใ
์ด Class ์ค๋ธ์ ํธ๊ฐ ๋ฐฐ์ด ํ์์ ๋ํ๋ด๋ ๊ฒฝ์ฐ์ด ๋ฉ์๋๋ clone () ๋ฉ์๋๋ฅผ ์ฐพ์ง ์์ต๋๋ค. </clinit></init>
Method.invoke(Object obj, Objectโฆ args)
https://blog.naver.com/bajohw/40198155644
ํน์ Class์ Method๋ฅผ ํธ์ถํด์ ๊ฐ์ ์ค์ ํด์ฃผ๊ฑฐ๋ ๊ฐ์ ๋ฐ์ ์ฌ ์ ์๋ค.
์๋ฅผ ๋ค์ด 30๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์ Bean ๊ฐ์ฒด์ ๊ฐ๊ฐ 30๊ฐ๋ฅผ ์ค์ ํ๋ ค๊ณ ํ ๋
set๋ฉ์๋๋ฅผ 30๋ฒ ์ญ~ ๋์ดํ์ฌ ์ฝ๋ฉ ํ ์ ์๋ ๋ ธ๋ฆ์ด๋ค.
ํ๋ก์ ํธ ์งํ์ค์ invoke ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฌ๋ฌ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ setํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋ณด์๋ค.
https://blog.naver.com/kst7132/140120735523
setAccessible(Boolean xx)
Arrays.asList(1, 2, 3, 4)
๋ฐฐ์ด์ ๋ฆฌ์คํธ์ ์ ์ฅ
Arrays.asList(new Integer[]{1,2,3,4,5});
List.add(6) // ์์ธ๋ฐ์
*asList()๊ฐ ๋ฐํํ list์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝ๋ถ๊ฐ ์ฆ, ์ถ๊ฐ๋ ์ญ์ ๊ฐ ๋ถ๊ฐ๋ฅ, ์ ์ฅ๋ ๋ด์ฉ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ.
๋ง์ฝ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ คํ ๋๋
List