- 2021๋ 08์ 09์ผ ~ 2021๋ 08์ 30์ผ
- ํ ํ๋ก์ ํธ (6๋ช )
- ๋งก์ ์ญํ : ์๋น ์์ธ๋ณด๊ธฐ, ๊ฑด์ํ๊ธฐ, ๋ฆฌ๋ทฐ ๋ชจ์๋ณด๊ธฐ ํ์ด์ง ๊ธฐ๋ฅ ๊ตฌํ
Back-end
- Java 16
- Amazon RDS for MySQL
- Spring boot
- Spring Security
- Spring JPA
Front-end
- HTML, CSS3
- JavaScript, jQuery
Tool & Program
- IntelliJ IDEA 2021-03v
- Navicat Premium 15.0
- Visual Studio Code
- Adobe XD
- Slack , Notion
๊ฒ์ ๊ฒฐ๊ณผ ํ์ด์ง์์ ์๋น์ ํด๋ฆญํ๋ฉด ์์ธ์ ๊ณต๊ณต๋ฐ์ดํฐ ์คํ API๋ฅผ ์ฐ๋ํด ์๋น ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์๋น ๊ฒ์ ๋ฟ๋ง ์๋๋ผ ์๋น์ ๋ํ ๋ฆฌ๋ทฐ๋ฅผ ๋ฑ๋กํ ์ ์์ต๋๋ค. ๋ฆฌ๋ทฐ์ ์ฌ์ง์ ๋ก๋, ๊ธ ์์ , ๊ธ ์ญ์ ๋ํ ๊ฐ๋ฅํฉ๋๋ค.
๋ด๊ฐ ๊ฐ๊ณ ์ถ์ ์๋น์ด๋ ์์ฃผ ๊ฐ๋ ์๋น์ ๋ํด '์ฐ' ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์์ต๋๋ค.
โถ 6.1 ์์ธ ํ์ด์ง์์ ์คํ API๋ฅผ ์๋ฐ ๊ฐ์ฒด๋ก ๋งคํํ๋ ๋ฌธ์
-
detail.html
๋ ๋น๊ฑด ์๋น ์์ธ ํ์ด์ง์ ๋๋ค. ํด๋น ํ์ด์ง์์ ์ฌ์ฉ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ์ ์ ์์ต๋๋ค. -
์ฌ๊ธฐ์ ํต์ฌ ๊ตฌํ์ JSONParse์ Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ObjectMapper๋ฅผ ์ด์ฉํด
Json ๋ฐ์ดํฐ๋ฅผ ์๋ฐ ๊ฐ์ฒด๋ก parsing
ํ๋ ๊ฒ์ ๋๋ค.
๐ ๊ธฐ์กด์ฝ๋
- writeValueAsString, readTree ๋ฉ์๋๋ฅผ ํตํด JsonNode๋ก ๋ณํ๋ ๊ฐ์ฒด๋ฅผ ํ๋์ฉ ๋ณ์์ ๋ด์ต๋๋ค.
- ๋ณํ์ ๋ง์น ๋ณ์๋ฅผ ๋ค์ ์๋ฐ ๊ฐ์ฒด๋ก ๋งคํํฉ๋๋ค.
- ํด๋น ์ฌ์ง์๋ ์ ๋ถ ๋ค ๋ด๊ธฐ์ง ์์์ง๋ง ๋ณ์๊ฐ 31๊ฐ์ธ ์ํฉ์์ ํด๋น ๋ฐฉ์์ ์๋นํ ๋นํจ์จ์ ์ ๋๋ค.
๐ ๊ฐ์ ๋ ์ฝ๋ ๐ ์ฝ๋ํ์ธ
- String์ผ๋ก ๋ณํ๋ JsonObject ๊ฐ์ฒด๋ฅผ readValue ๋ฉ์๋๋ฅผ ์ด์ฉํด ์๋ฐ ๊ฐ์ฒด๋ก ๋งคํํฉ๋๋ค.
- @JsonProperty๋ฅผ ์ด์ฉํด ๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์คํ API ๋ฐ์ดํฐ๋ฅผ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์๋ฐ ๊ฐ์ฒด ๋ณ์์ ๋งคํ๋๋๋ก ์ง์ ํฉ๋๋ค.
โถ 6.2 ์๋น์ ๋ํ ๋ฆฌ๋ทฐ ๋ณ์ List์์ ArrayIndexOutOfBoundsException
์ด ๋ฐ์ํ๋ ๋ฌธ์
๐ ๊ธฐ์กด์ฝ๋
- ์ปฌ๋ ์
๋ฐฐ์ด์์ get ๋ฉ์๋๋ก ์ธ๋ฑ์ค๋ฅผ ์ฐจ๋ก๋ก ๊บผ๋ด๋ฉด, ๋ฐฐ์ด์ ํฌ๊ธฐ๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ์ธ๋ฑ์ค์ ๋ํ ์์ฒญ์ผ ๊ฒฝ์ฐ
ArrayIndexOutOfBoundsException
์ด ๋ฐ์ํฉ๋๋ค.
๐ ๊ฐ์ ๋ ์ฝ๋ ๐ ์ฝ๋ํ์ธ
- Stream์ limit ๋ฉ์๋์ filter, map ๋ฉ์๋๋ฅผ ํตํด ์ค๊ฐ์ฐ์ฐ, forEach ๋ฉ์๋๋ก ์ต์ข ์ฐ์ฐ์ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ณํฉ๋๋ค.
- null๊ฐ์ด ์๋ ๋ฐ์ดํฐ์ ์ปฌ๋ ์ ์์ ํ์ํ ๋ฐ์ดํฐ๋ง ์ ํด์ง ์ซ์๋งํผ ์ ๋ฌํ ์ ์์ด ํจ์จ์ ์ ๋๋ค.
โถ 6.3 ๊ทธ ์ธ ์ฒ๋ฆฌ ์ฌํญ
- ์นด์นด์ค ์ง๋ API๋ฅผ ์ด์ฉํ ์๋น ์ง๋์ ์์น ์ค์ ์์ x, y์ขํ๋ณ์ ํ ๋น ์ฒ๋ฆฌ ๐์ฝ๋ํ์ธ
๊ฑด์ํ๊ธฐ
์์ ์ฌ์ฉ์์๊ฒ ๋ฉ์ธ์ง ์ ๋ฌ ์ฒ๋ฆฌ-
๋ฐ์์จ id์ ๊ฐ์ด ๋ค์ด์๋ค๋ฉด Controller์์ RedirectAttribute๋ก ์ํ ๊ฐ์ true๋ก ์ ๋ฌํฉ๋๋ค. ๐์ฝ๋ํ์ธ
-
View์์๋ status๊ฐ true๋ฉด ๊ฑด์์ฌํญ ๋ฐ์ค์ "๊ฑด์ ๋ด์ฉ์ด ์ ๋ฌ๋์์ต๋๋ค"๋ผ๋ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋์ด ์ฌ์ฉ์๊ฐ ํ์ธํ ์ ์์ต๋๋ค. ๐์ฝ๋ํ์ธ
๐ก ์ ์ฒด์ ์ธ ์ฝ๋ ๊ด๋ฆฌ GitHub
, ์ค์๊ฐ ์ด์ & ์ฝ๋๋ฆฌ๋ทฐ Slack
, ์งํ์ํฉ & ์ค์ผ์ฅด ๊ด๋ฆฌ Notion
GitHub
(private repository)
Slack
Notion