๐ณ ๋ ์์ธํ ๋ด์ฉ์ โ pdf ํ์ผ ์ฐธ์กฐ.
-
์ฑ๋จ์์ ๊ต์ก์ ๋ฐ์ผ๋ฉฐ ์ฑ์ฅ๊ณผ ๋ฐ์ ์ ๋ํ ๋ชฉ๋ง๋ฆ์ผ๋ก ์์ํ ์์ด๋์ด.
-
๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ํ๊ณ ์ถ์๋ฐ ๋ด๊ฐ ์ํ๋ ์คํฐ๋๋ฅผ ์ฐพ๊ธฐ ํ๋ค๋ค๋ฉด?
-
COSMOS์์ ๋ด๊ฐ ๊ณต๋ถํ๊ณ ์ถ์ ๋ถ์ผ๋ณ๋ก ๋๋ง์ ์คํฐ๋ ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋ฌผ๋ก ,
LMS ํ์ต๊ด๋ฆฌ์์คํ ์ผ๋ก ์คํฐ๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํด๋ณด์!
- 2021-12-07 ~ 2021-12-30 (์ฝ 1๊ฐ์, Official) : ๊ต์ก๊ธฐ๊ด ๋ง๊ฐ๊ธฐํ
- 2022-01-03 ~ : ํ์๋ค๊ณผ ์ถ๊ฐ๊ธฐ๋ฅ ๊ตฌํ
๊น์ฒ ์ง
/ cheoljin408 : ํ์ฅ ๋ฐ ๋ฉ์ธ๊ฐ๋ฐ์, ์ฝ๋ ํ์๊ด๋ฆฌ๊น๋ณ์ค
/ Joonkb : ๋ฉ์ธ๊ฐ๋ฐ์, ๊ฐ๋ฐ ๋ฆฌ๋๊น์์ฐ
/ westkitekim : ๋ฉ์ธ๊ฐ๋ฐ์, ์ฐ์ถ๋ฌผ ๊ด๋ฆฌ๊น์คํ
/ KimJoongHyeok : ๋ฉ์ธ๊ฐ๋ฐ์, ์์ฌ์ํต ๋ฆฌ๋์ด ์ฉ
/ nogy21 : ๋ฉ์ธ๊ฐ๋ฐ์, ์คํฐ๋ ๋ฆฌ๋
- TDD์ Agile ๋ฐฉ์์ ์ ํํ์ฌ ํ์์๋ง๋ค ์ค๊ณ, ๊ตฌํ, ํ ์คํธ๋ฅผ ๋ฐ๋ณตํ์๋ค.
๐ท์ค๊ณ image(์ ๊ธฐ/ํผ์น๊ธฐ)
๐ถ๋ ์ด์์ ๋ฐ UI ์ค๊ณ
- ๋นํ์ : ๋นํ์์ ๋ฉ์ธํ์ด์ง์์ ํ์ฌ ๋ชจ์ง์ค์ธ ์คํฐ๋๋ง ํ์ธํ ์ ์๋ค.
- ํ์ : ๋ณ๋์ ํ์๊ฐ์
์ ์ฐจ์์ด ์์
๋ก๊ทธ์ธ(๋ค์ด๋ฒ/๊ตฌ๊ธ) ๊ธฐ๋ฅ์ ํตํด ํ์์ผ๋ก ์๋น์ค์ด์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ์คํฐ๋๋ฆฌ๋ : ์คํฐ๋๋ฅผ ๋ง๋ ํ์, ์คํฐ๋๋ฅผ ๊ด๋ฆฌํ๋ ํ์
- ์คํฐ๋์ : ์คํฐ๋์ ๊ฐ์ ๋์ด ์๋ ํ์
- ๋ฉ์ธํ์ด์ง์์ ๋ฑ๋ก๋์ด ์๋ ์คํฐ๋ ์ ๋ณด๋ฅผ ์ต์ ์์ผ๋ก 6๊ฐ ๋ณด์ฌ์ค๋ค. ์คํฐ๋ ์ ๋ณด์๋ ์คํฐ๋ ์ ํ, ์ฌ์ฉ ์ธ์ด, ์คํฐ๋ ๋ฑ๋ก์ผ์, ์คํฐ๋ ๋ฆฌ๋์ ๋ํ ์ ๋ณด๊ฐ ์กฐํ๋๋ค.
- ํ์์ํ์์ ๋๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๋ฉด ์คํฐ๋ ๋ฆฌ์คํธ ํ์ด์ง๋ก ์ด๋ํ๋ค.
- ์คํฐ๋ ๋ฆฌ์คํธ ํ์ด์ง ์๋จ๋ถ์ ์คํฐ๋ ์ ํ, ์ฌ์ฉ ์ธ์ด๋ณ๋ก ๊ฒ์ํ ์ ์๋ ๊ธฐ๋ฅ์ด ์๋ค.
- ์คํฐ๋ ๋ฆฌ์คํธ ํ์ด์ง๋ ํ์ด์ง ์ฒ๋ฆฌ๊ฐ ๋๋ค.
- ์คํฐ๋ ์นด๋๋ทฐ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์คํฐ๋์ ์์ธ ํ์ด์ง๋ก ์ด๋ํ๋ค.
-
์คํฐ๋๋ฆฌ๋ : ์คํฐ๋๋ฆฌ๋๋ ์คํฐ๋๋ฅผ ๊ฐ์ค(๋ฑ๋ก)ํ๊ณ ์์ , ์ญ์ ๋ฑ ์คํฐ๋์ ์ ๋ฐ์ ์ธ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ค.
- ์คํฐ๋ ๊ด๋ฆฌ
- ์คํฐ๋ ๋ฑ๋ก : ์คํฐ๋ ๋ง๋ค๊ธฐ์์ ์คํฐ๋ ์ด๋ฆ, ์ ํ, ์ฌ์ฉ ์ธ์ด์ ์๊ฐ๋ฅผ ์ ๊ณ ์คํฐ๋๋ฅผ ์๋ก ๋ง๋ค ์ ์๋ค.
- ์คํฐ๋ ์์ / ์ญ์ : ์คํฐ๋๋ฆฌ๋๊ฐ ์์ ์ด ๋ง๋ ์คํฐ๋์ ์์ธํ์ด์ง๋ก ์ด๋ํ๋ฉด ์คํฐ๋์ ๋ํ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋ค.
- ์คํฐ๋ ์์ธ ํ์ด์ง : ์คํฐ๋ ์นด๋๋ทฐ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์คํฐ๋์ ๊ดํ ์์ธํ ์ ๋ณด๋ฅผ ํ์ธ ํ ์ ์๋ค. (์คํฐ๋ ์์ธ ์๊ฐ ๋ฑ)
- ๋๊ธ ์์ฑ / ์์ / ์ญ์ : ์คํฐ๋ ์์ธ ํ์ด์ง์์ ๋๊ธ์ ์์ฑํ๊ฑฐ๋ ์์ , ์ญ์ ํ ์ ์๋ค. ๋๊ธ์ ์์ ๋ฐ ์ญ์ ๋ ์์ฑํ ๋ณธ์ธ๋ง ๊ฐ๋ฅํ๋ค.
- ์ฐธ์ฌ์ ์ฒญ ๊ด๋ฆฌ
- ์ฐธ์ฌ์ ์ฒญ ์๋ฆผ : ๋ด๊ฐ ๊ฐ์คํ ์คํฐ๋์ ์ด๋ค ํ์์ด ์ ์ฒญํ๋์ง ํ์ธํ ์ ์๋ค.
- ์ฐธ์ฌ์ ์ฒญ ์๋ฝ / ๊ฑฐ์ : ๋ด๊ฐ ๊ฐ์คํ ์คํฐ๋์ ์ ์ฒญํ ํ์๋ค์ ์๋ฝํ๊ฑฐ๋ ๊ฑฐ์ ํ ์ ์๋ค. ์๋ฆผํ์ด์ง์์ ํด๋น ์นด๋๋ทฐ ์๋์ ํด๋ฆญ ํ ๋ชจ๋ฌ์ฐฝ์์ ์๋ฝ / ๊ฑฐ๋ถ๋ฅผ ํ ์ ์ด/ใ ๋ค.
- ์คํฐ๋ ๊ด๋ฆฌ
-
์คํฐ๋์
- ์คํฐ๋ ์ฐธ์ฌ ์ ์ฒญ : ์คํฐ๋ ์์ธ ํ์ด์ง์์ ์คํฐ๋ ์ ์ฒญ์ด ๊ฐ๋ฅํ๋ค.
- ์ฐธ์ฌ์ ์ฒญ ์๋ฆผ : ๋ด๊ฐ ์ ์ฒญํ ์คํฐ๋์ ๋ํ ์๋ฝ / ๊ฑฐ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ค. ๋ง์ฝ ์คํฐ๋๋ฆฌ๋์ด๋ฉด์ ๋ค๋ฅธ ์คํฐ๋์ ์คํฐ๋์์ด๋ผ๋ฉด ์ฐ์ธก ์๋จ์ ๋ฒํผ์ผ๋ก ์๋ฆผํ์ด์ง ์ด๋์ด ๊ฐ๋ฅํ๋ค
- ๊ณต์ง์ฌํญ ์์ฑ : ์คํฐ๋๋ฆฌ๋๋ ๊ณต์ง์ฌํญ ์์ฑ / ์์ / ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ๊ณต์ง์ฌํญ ๋ฑ๋ก์ ๋ค์ค ํ์ผ ์ ๋ก๋์ ๋ค์ค ์ด๋ฏธ์ง ํ์ผ ์ ๋ก๋๊ฐ ๊ฐ๋ฅํ๋ค. ๊ณต์ง๊ธ์ ๋ฑ๋ก์ ํ ์คํธ ํธ์ง๊ธฐ๋ก ์์ฑํ ์ ์๋ค.
- ๊ณผ์ ๊ด๋ฆฌ : ์คํฐ๋๋ฆฌ๋๋ ๊ณผ์ ๊ณต์ง๊ธ์ ์์ฑ / ์์ / ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ๊ณผ์ ๊ณต์ง๋ฅผ ํ ๋ ํ์ผ๊ณผ ์ด๋ฏธ์ง ๋ค์ค ์ ๋ก๋๊ฐ ๊ฐ๋ฅํ๋ค.
- ๊ณผ์ ์ ์ถ : ์คํฐ๋์์ ๊ณผ์ ๊ณต์ง ๊ฒ์ํ์์ ๋๊ธ๋ก ํ์ผ ๋ฐ ์ด๋ฏธ์ง ์ ๋ก๋๋ก ๊ณผ์ ์ ์ถ์ด ๊ฐ๋ฅํ๋ค.
- ์คํฐ๋ ๋ชจ์ง์ํ ๋ณ๊ฒฝ : ์คํฐ๋๋ฆฌ๋๋ LMS ํ์ด์ง ํค๋์์ ์คํฐ๋ ๋ชจ์ง์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
- ์คํฐ๋ ์์ /์ญ์ : ์คํฐ๋๋ฆฌ๋๋ LMS ํ์ด์ง ์ฌ์ด๋๋ฐ์ ์์นํ ์คํฐ๋์ค์ ์์ ์คํฐ๋์์ /์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์คํฐ๋ ๋ชจ์ง์ํ๋ ๊ทธ ์ ์ ์ข ๋ฃ์ํ์ผ ๋๋ง ์์ /์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
ํ ํผ์น๊ธฐ/์ ๊ธฐ
์ผ์ | ์ด์ ๋ด์ฉ | ํด๊ฒฐ ๋ฐฉ์ |
---|---|---|
21.12.10 | ์ค๋ผํด(ORACLE)์์ ํ ์ด๋ธ๋ช ์ ๊ธธ์ด ์ ํ ์๋ฌ์ฝ๋ ORA-00972 identifier is too long Cause:ย An identifier with more than 30 characters was specified.Action: Specify at most 30 characters. | ํ ์ด๋ธ๋ช ์ ์ค๋ผํด์์ 30์๋ก ์ ํ์ ํ๊ณ ์์ผ๋ฉฐ 30์๋ฅผ ์ด๊ณผ์ ์ค๋ฅ๋ฅผ ์์ฑํ ์ ์์. Oracle 8 ๋ฒ์ ๋์์๋ ์๊ด์์ง๋ง 9๋ฒ์ ์ด์์ผ๋ก ๊ฐ๋ฉด์... Alias๊ฐ 20๋ฐ์ดํธ(์๋ฌธ20์ ํ๊ธ10์)๊ฐ ์ด๊ณผํ๋ฉด ์๊ธฐ์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋๋ค. |
21.12.11 | Oracle PL/SQL if ์กฐ๊ฑด๋ฌธ c varchar2(200):= '์๋ฐ'; ๋ฅผ begin์์ c := '์๋ฐ'; ๋ก ์์ฑํ์์๋ ์๋ฌ | ์ปจํธ๋กค๋ฌ์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ผ๋ก ํด๊ฒฐ |
21.12.11 | Git ๋ฌธ์ ์ํฉ : ํ์ผ์ ํฌ๊ธฐ๊ฐ 1MB์ด์์ผ ๊ฒฝ์ฐ ์๋ฌ๋ฐ์ ์๋ฌ์ฝ๋ : the remote end hung up unexpectedly | ์์คํธ๋ฆฌ์์ ์๋์ ์ผ๋ก pushํ์ฌ ํด๊ฒฐ์๋ฃ |
21.12.12 | Lombok์ ์ฌ์ฉํ์ฌ Getter , Setter๋ฅผ ์ ์ํ์๊ณ โ ์ด๋ฅผ View์์ ์ถ๋ ฅ์ ํ๋ ค๊ณ ๊ฐ์ฒด์ ์ธ์คํด์ค ๋ณ์๋ช ์ ์ ๋ ฅํ์์ผ๋ ๋นจ๊ฐํ์๋ก ์ ๋๋ก๋ ์ถ๋ ฅ์ ํ ์ ์์์ | ํ์๋ฆฌํ๋ก ํด๋น ๊ฐ์ฒด์ ์ธ์คํด์ค ๋ณ์๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ ํด๋น ๊ฐ์ฒด์ Getter ๋ฉ์ ๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ํ์ง๋ง Lombok์ ์ฌ์ฉํ์ฌ ์๋์น ์์ ์ด๋ฆ์ Getter ๋ฉ์๋๊ฐ ์ ์๋์๊ณ ํด๋น ๋ฉ์๋๋ฅผ ํตํด์ ์ถ๋ ฅ์ ํ ์ ์์์. (eName โ EName) |
21.12.13 | Study ๊ด๋ จ Service Interface๋ฅผ ์คํฐ๋ ์ฐธ๊ฐ์ ์ฒญ, ์คํฐ๋ ๊ฒ์ํ ๋๊ธ๊ณผ ๊ฐ์ด ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ด์ฒด์ ์ผ๋ก ๋ฌถ์ด Service Interface๋ฅผ ๊ตฌํํ ์ง, ๋ถํํ์ฌ ๊ตฌํํ ์ง์ ๋ํ ๊ณ ๋ฏผ์ ํ์์ | ๊ธฐ๋ฅ๋ณ๋ก ์ต๋ํ ๋ถํํ์ฌ Service Interface(๋ฐ Controller)๋ฅผ ์ค๊ณํ๋ค. ์์น์ ์ผ๋ก ์ ํด์ง ๊ฒ์ ์๋๊ธฐ ๋๋ฌธ์ ์ ๋ฌด์ ์๋น์ค์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๊ฒฐ์ ํ๋ค. ํ์ง๋ง ์ธํฐํ์ด์ค๊ฐ ์ปค์ง๊ณ ๋ฉ์๋ ์๊ฐ ๋ง์์ง๋ค๋ฉด ์์ง๋ ์ฆ, SOLID์์น ์ค ๋จ์ผ ์ฑ ์ ์์น(SRP) ์ ๊ณ ๋ คํ์ฌ ํ๋จํด์ผ ํ๋ค. |
21.12.14 | resource ํด๋ ์๋ ํ๋ก์ ํธ๋ช . mapper ์ด๋ฆ์ผ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ mapper.xmlํ์ผ์ ๋ง๋ค๋ฉด ํ์ผ๊ฒฝ๋ก๋ฅผ ์ฐพ์ง๋ชปํจ | resource ํด๋ ์๋ ํ๋ก์ ํธ๋ช . mapper ์ด๋ฆ์ผ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ mapper.xmlํ์ผ์ ๋ง๋ค๋ฉด ํ์ผ๊ฒฝ๋ก๋ฅผ ์ฐพ์ง๋ชปํจ |
21.12.14 | MyBatis ์ธ์คํด์ค ๋ณ์๋ช , ํ ์ด๋ธ ์ปฌ๋ผ๋ช ๋ถ์ผ์น๋ก ์ธํ ์๋์ฐธ์กฐ ์๋ฌ | ํ๋ผ๋ฏธํฐ ํ์ ์ ์ ์ธํ์ฌ ์ฐธ์กฐ |
21.12.15 | ๋ถํธ์คํธ๋ฉ ์นด๋ ์ ๋ ฌ ์ด์ | css ํ๊ทธ์ ๋ชจ๋ div์ ์ ๋ ฌ(div {} |
21.12.15 | ORA-00911: invalid character, MyBatis ์ฟผ๋ฆฌ ์์ฑ ์ค ์๋ชป๋ ๋ฌธ์ ์กด์ฌ. DB์์ ์์ฑํ ๋ด์ฉ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ ์ธ๋ฏธ์ฝ๋ก ์ ๊ฑฐ ๋๋ฝ | ์ธ๋ฏธ์ฝ๋ก ์ ๊ฑฐ๋ฅผ ํตํด ํด๊ฒฐ |
21.12.16 | MyBatis select ์ฟผ๋ฆฌ์์ ๊ฐ์ฒด์์ ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ์์ ๊ฒฝ์ฐ , ํด๋์ค depth๊ฐ ๋ ๋ฒ ์ด์ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ์ ๊ฐ์ฒด ์๋ ๋งคํ์ด ๋ถ๊ฐ | resultMap ๋ด๋ถ์์ ์ ์ฌ์ฉํ์ฌ ํด๋์ค depth๋ฅผ ํํ. ๊ฐ์ฒด๊ฐ์ resultmap collection์ ์ฌ์ฉํด์ ๊ฐ์ฒด๊ฐ์ ๊ด๊ณ๋ฅผ ํด๊ฒฐ |
21.12.16 | MyBatis LowerCase ์ด์, MyBatis์์ result map์ ์ฐพ์ง ๋ชปํจ. | LowerCase ์ด์. application.properties์ mybatis.type-aliases-package=org.kosta.finalproject.model.domain, mybatis.configuration.map-underscore-to-camel-case=true ์ค์ ์ถ๊ฐ |
21.12.16 | thymeleaf ์ด์. ์ปจํธ๋กค๋ฌ์์ ์ ๋ฌํ ๊ฐ์ฒด๋ฅผ ํ์๋ฆฌํ๋ก ์ฌ์ฉ์ ๊ฐ๋ฅํ์ง๋ง, ๋ค์ ์ปจํธ๋กค๋ฌ๋ก ์ ์กํ๋ ๊ณผ์ ์์ studyDTO์ ์ธ์คํด์ค ๋ณ์์ธ categoryTypeDTO, categoryLangDTO ์ ์ธ์คํด์ค ๋ณ์( categoryTypeNo , categoryType, categoryLangNo, categoryLangType) ํ์ฑ ์คํจ | ๋น๋๊ธฐ ์ ์ก์ผ๋ก ๋ฐฉ์์ ๋ฐ๊ฟ |
21.12.17 | ์คํฐ๋ ์์ธ๋ณด๊ธฐ์์ ๋ณธ๋ฌธ ๋ด์ฉ์ String์ผ๋ก ์ถ๋ ฅ ์คํจ CLOB ํ์ ์ผ๋ก DB์ ๋ณธ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์๊ณ , ์ด๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ ๊ณผ์ ์์ String์ผ๋ก ๋ณํ๋์ง ์์์. ERROR: oracle.sql.CLOB@77198f88 | ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ณผ์ ์์ DBMS_LOB.SUBSTR(column, DBMS_LOB.GETLENGTH(column)) ์ฌ์ฉ |
21.12.18 | ์๋ฐ์คํฌ๋ฆฝํธ ์์์ ํ์๋ฆฌํ ์ฌ์ฉํ ๋ ์ ์์ฌํญ | <script th:inline="javascript"> 2 |
21.12.18 | html ๋ฒํผ ๋งํฌ ์ด์. ํ์๋ฆฌํ์์ ๋ฒํผ์ ๋งํฌ๋ฅผ ์ ๊ณตํ ๋ ๊ธฐ์กด html์ onclick=location.href๋ก ์ด๋ ๋ถ๊ฐ | <button type="button" th:onclick=" |