Banner

My Tech Blog (Eclipse)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์ง€ํ˜œ๋Š” ๊ณ ๋‚œ ์†์—์„œ ๋ฐฐ์šด๋‹ค. "
- ์…ฐ์ต์Šคํ”ผ์–ด (์˜๊ตญ ๊ทน์ž‘๊ฐ€, ์‹œ์ธ)
Spring ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์„œ๋น„์Šค ๋ ˆ์ด์–ด์—์„œ ์ธํ„ฐํŽ˜์ด์Šค(*Mgr.java)์™€ ๊ตฌํ˜„ ํด๋ž˜์Šค(*MgrImpl.java)๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด, F3(Open Declaration)๋ฅผ ๋ˆŒ๋Ÿฌ๋„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋งŒ ์ด๋™ํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Open Implementation ๊ธฐ๋Šฅ์„ ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค(Ctrl + F3)๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌ ํ•ด ๋ณธ๋‹ค. ๐Ÿ”น ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: Open Implementation ๋‹จ์ถ•ํ‚ค ์„ค์ •ํ•˜๊ธฐ 1. Eclipse ํ™˜๊ฒฝ์„ค์ • Window โ†’ Preferences (๋˜๋Š” Alt + W, P)2. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ General โ†’ Keys ์„ ํƒ3. "Open Implementation" ๋‹จ์ถ•ํ‚ค ์ง€์ • type filter text์— Open Implementation ์ž…๋ ฅ Binding(๋‹จ์ถ•..
โš ๏ธ ๋ฌธ์ œ* ์ œ์ด์œ ๋‹›์€ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ฝ˜์†”์—์„œ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  JUnit ํƒญ์—์„œ ํ™•์ธํ•œ๋‹ค. * ์›์น™์ ์œผ๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ฅด๋ฉด ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜์žˆ๋‹ค.JUnit ํ…Œ์ŠคํŠธ ์‹คํ–‰ (Run As โ†’ JUnit Test) Eclipse ํ•˜๋‹จ "JUnit" ํƒญ ํด๋ฆญ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ํ™•์ธ (์„ฑ๊ณตํ•˜๋ฉด ๋…น์ƒ‰, ์‹คํŒจํ•˜๋ฉด ๋นจ๊ฐ„์ƒ‰)ํ•˜์ง€๋งŒ ์ œ์ด์œ ๋‹› ํƒญ์—์„œ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋œจ์ง€ ์•Š๊ณ   ์ฝ˜์†”์— ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๊ฐ€ ๋œจ๋Š” ํ˜„์ƒjava.lang.NoClassDefFoundError: org/junit/platform/engine/ConfigurationParameters๐Ÿง ์›์ธ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ด์œ ๋Š” ํ™˜๊ฒฝ์„ค์ •์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.JUnit์„ ์ถ”๊ฐ€ํ• ๋•Œ Modulepath์— ์ถ”๊ฐ€ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.โšก ํ•ด๊ฒฐ๋ฒ•์ œ์ด์œ ๋‹› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Cl..
1. ์ž๋™ ์ž„ํฌํŠธ & ์ •๋ฆฌ ๊ด€๋ จ ๋‹จ์ถ•ํ‚คCtrl + Shift + O : ์ž๋™ ์ž„ํฌํŠธ (Organize Imports) โ†’ ํ•„์š”ํ•œ import ์ถ”๊ฐ€ ๋ฐ ๋ถˆํ•„์š”ํ•œ import ์ •๋ฆฌCtrl + Shift + F : ์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ (Format Code) โ†’ ์ฝ”๋“œ ์Šคํƒ€์ผ์— ๋งž์ถฐ ์ •๋ฆฌCtrl + Shift + S : ๋ชจ๋“  ํŒŒ์ผ ์ €์žฅCtrl + / : ํ•œ ์ค„ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐCtrl + Shift + / : ์—ฌ๋Ÿฌ ์ค„์„ ์„ ํƒํ•œ ํ›„ ์ „์ฒด๋ฅผ ๋ธ”๋ก ์ฃผ์„(/* */)์œผ๋กœ ๊ฐ์‹ธ๊ธฐCtrl + Shift + \ : ๋ธ”๋ก ์ฃผ์„ ํ•ด์ œ (/* */ ์‚ญ์ œ)2. ์ฝ”๋“œ ์ด๋™ ๊ด€๋ จ ๋‹จ์ถ•ํ‚คCtrl + Click : ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ, ํด๋ž˜์Šค ์ •์˜๋กœ ์ด๋™F3 : ์„ ์–ธ๋œ ๊ณณ์œผ๋กœ ์ด๋™ (Open Declaration)Ctrl + O : ํ˜„์žฌ ํด๋ž˜..
1. ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์ด๋ž€? URL์˜ ๋’ค์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. ์›น๊ฐœ๋ฐœ์—์„œ ์›นํŽ˜์ด์ง€๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ  GET๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ๋•Œ ์“ฐ์ธ๋‹ค. POST๋ฐฉ์‹์€ ๋ณด์•ˆ์ˆ˜์ค€์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์•„์„œ URL ์— ๋„˜์–ด๊ฐ€๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  URL์˜ ๋์— ?๋กœ ์‹œ์ž‘ํ•˜๊ณ , ๊ทธ ๋’ค์— ํ‚ค-๊ฐ’ ์Œ์ด ์ด์–ด์ง€๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค. ๊ฒ€์ƒ‰์ฟผ๋ฆฌ๋‚˜ ํ•„ํ„ฐ๋ง์— ์‚ฌ์šฉ๋œ๋‹ค.  ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰์ฐฝ์— '๋ฑ์Šค'๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์—”ํ„ฐ ์น˜๋ฉด ์ผ์–ด๋‚˜๋Š” ์ผ โ–ผ URL ์— ?๊ฐ€ ์ƒ๊ธฐ๋ฉด์„œ ๋‚ด๊ฐ€ ์ž…๋ ฅํ•œ ๊ฒ€์ƒ‰์–ด '๋ฑ์Šค'๊ฐ€ ๋์— ์ถ”๊ฐ€๋œ๋‹ค ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์ฐฝ์— '์†ํฅ๋ฏผ'์„ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด?์•„๋ž˜์ฒ˜๋Ÿผ ์ฃผ์†Œ์ฐฝ์—์„œ url ๋’ค์— ? ์™€ ๊ฐ์ข… ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ™๋Š”๋‹ค.2. ๊ตฌ์กฐhttps://www...
๋ฌธ์ œ1. web.xml ์ด ์ฝ”๋“œ ์—๋””ํ„ฐ ํ˜•์‹์œผ๋กœ ์—ด๋ฆฌ์ง€ ์•Š์•„์„œ ์ˆ˜์ •์ด ์–ด๋ ค์šด ๋ฌธ์ œ2. Maven Project ์—์„œ pom.xml ํŒŒ์ผ์ด Maven POM Editor ๋กœ ์—ด๋ฆฌ๋Š” ๋ฌธ์ œ Eclipse Dynamic Web Project์—์„œ `jsp`ํŒŒ์ผ ๋˜๋Š” `xml` ํŒŒ์ผ์„ ์—ด์—ˆ๋Š”๋ฐ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘ ํ•  ์ˆ˜ ์žˆ๋Š” ์—๋””ํ„ฐ๋กœ ์—ด๋ฆฌ์ง€ ์•Š๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด Node ๋ž‘ Content ๊ตฌ์กฐ๋กœ ์—ด๋ฆฌ๋Š” ๋ฌธ์ œ ๋˜ Maven ํ”„๋กœ์ ํŠธ์—์„œ pom.xml ํŒŒ์ผ์ด  xml ํ…์ŠคํŠธ ์—๋””ํ„ฐ ๋Œ€์‹  Maven POM Editor๋กœ ์—ด๋ฆฌ๋Š” ํ˜„์ƒ ๋‚˜๋Š” ์ด๊ฒŒ ๋” ์•Œ์•„๋ณด๊ธฐ ํž˜๋“ค๊ณ  ๋ช…ํ™•ํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ xml ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•œ๋‹ค.  ์•„๋ž˜์™€ ๊ฐ™์ด ์ผ๋ฐ˜ text Editor ๋กœ ์—ด๋ ค์„œ ํƒœ๊ทธ ์ธ์‹์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ™์€ ํ•ด๊ฒฐ๋ฒ•์„ ์“ฐ๋ฉด..
1. ๋ฌธ์ œ์ดํด๋ฆฝ์Šค ์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ  ํ‘ธ์‰ฌํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์•„๋ž˜ ๊ฒฝ๊ณ ์ฐฝ์ด ๋œจ๋ฉด์„œ ์•ˆ ๋จCan't connect to any URI:๋‚ด ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์ฃผ์†Œ git: not authorized ์ธ์ฆ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ผ์„œ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค.  2. ์›์ธ๊นƒํ—ˆ๋ธŒ(GitHub)์—์„œ๋Š” ๊ธฐ์กด์˜ ์•„์ด๋””, ํŒจ์Šค์›Œ๋“œ ์ธ์ฆ์„ ์—†์• ๊ณ  ID/Personal Access Token ์œผ๋กœ ์ธ์ฆ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ–ˆ๋‹ค. (2021.08.13) ์ดํด๋ฆฝ์Šค์—์„œ ๊นƒํ—ˆ๋ธŒ ์—ฐ๋™์—๋Š” ์„ฑ๊ณตํ•ด๋„Personal Token์„ ๋“ฑ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ์ €๋ ‡๊ฒŒ ๋จ. ๊นƒํ—ˆ๋ธŒ์—์„œ ํ† ํฐ ๋ฐ›์•„์„œ ๋“ฑ๋ก ํ•ด ์ฃผ์ž 3. ํ•ด๊ฒฐ๋ฒ•3-1. ํ† ํฐ ์ƒ์„ฑํ•˜๊ธฐGitHub ํ™ˆํŽ˜์ด์ง€ ์ ‘์† -> ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ํ”„๋กœํ•„ -> Settings > Developer settin..
1. ์ดํด๋ฆฝ์Šค์— ๊นƒํ—ˆ๋ธŒ ์—ฐ๋™ํ•˜๊ธฐ ์ƒ๋‹จ๋ฉ”๋‰ด [Window] - [Show View] - [Other] [Git] - [Git Repositories] - ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ [Clone a Git Repository] URI: ๋‚ด ๊นƒํ—ˆ๋ธŒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ URI (HTTP)User  & password : ๋‚ด ๊นƒํ—ˆ๋ธŒ ์•„์ด๋””์™€ ๊นƒํ† ํฐ ์ž…๋ ฅํ•˜๊ณ  [Next] - [Finish] ๊นƒํ—ˆ๋ธŒ์™€ ์—ฐ๋™ํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ [Team] - [Share Project..] ํด๋ฆญ Repository: ์•„๊นŒ Git Repositories์—์„œ ๋งŒ๋“ค์–ด ๋†จ๋˜ ๊ฒฝ๋กœ๋ฅผ ํด๋ฆญ ๊ทธ๋ฆฌ๊ณ  [Finish] ์ปค๋ฐ‹ํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ [Team] - [Commit]  - [Unstaged Chages] ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ƒ๋‹จ [++] ์„ ..
1. write.jsp ๊ธ€์“ฐ๊ธฐ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ ๋จผ์ € ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํŽ˜์ด์ง€ `write.jsp`๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋ ค๊ณ  ํ•œ๋‹ค.`bbs.jsp`๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ ๋„ฃ๊ณ  ์ค‘๊ฐ„ ๋ถ€๋ถ„๋งŒ ์ˆ˜์ • ํ•ด ์ค„ ๊ฒƒ์ด๋‹ค. nav๋ฐ” ์•„๋ž˜ ๋ถ€๋ถ„์— ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑBootstrap5 ์ด์šฉํ–ˆ๋‹ค. โšก `mt-5` margin-top: 5rem;  โšก ``ํƒœ๊ทธ์— `required` ์†์„ฑ ๋„ฃ์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•จ. ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ ์•ˆ ํ•œ ์ฑ„๋กœ submit ํ•˜๋ฉด `์ด ์ž…๋ ฅ๋ž€์„ ์ž‘์„ฑํ•˜์„ธ์š”.` ๋ผ๋Š” ๊ฒฝ๊ณ  ๋ฉ”์„ธ์ง€๋ฅผ ๋„์šด๋‹ค.  โšก `form-control` ํด๋ž˜์Šค Bootstrap์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค ์ค‘ ํ•˜๋‚˜๋กœ, ์ž…๋ ฅ ํ•„๋“œ์˜ ์Šคํƒ€์ผ์„ ์‰ฝ๊ฒŒ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋จ.์ด๊ฑฐ ์“ฐ๋ฉด ์ž…๋ ฅ ํ•„๋“œ(input, textarea, select ๋“ฑ)๊ฐ€ ๊ธฐ๋ณธ..
์ƒ๋‹จ์œผ๋กœ