๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’Ž/๋ถ€์ŠคํŠธ์ฝ”์Šค

[๋ถ€์ŠคํŠธ์ฝ”์Šค] ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ›„๊ธฐ: ํ”„๋กœ์ ํŠธA-1. ํ™ˆํŽ˜์ด์ง€ BE

by dar0m! 2020. 2. 28.

์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋Š˜์€ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

BOOSTER 2๊ธฐ ํ™œ๋™์„ ํ•˜๋ฉด์„œ ๋ฌด๋ฃŒ ์ฝ”๋“œ๋ฆฌ๋ทฐ๊ถŒ์„ ๋ฐ›์•„์„œ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•„๋ณด์•„์„œ ๊ทธ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” '1.์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ' ํ™ˆํŽ˜์ด์ง€ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์„ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

 

 

https://www.edwith.org/boostcourse-web/project/4/content/3#summary

 

www.edwith.org

 

๊ธฐ์ˆ ์š”๊ตฌ์‚ฌํ•ญ

๐Ÿ‘‰์›นํ”„๋ก ํŠธ์—”๋“œ

  • html layout tag๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • classname์€ ์ผ์ •ํ•œ ์ปจ๋ฒค์…˜์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜๋ฏธ์— ๋งž๋Š” tag๋ฅผ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (div ์‚ฌ์šฉ์€ ์ตœ๋Œ€ํ•œ ์ž์ œ)
  • position์†์„ฑ๊ณผ float๋ฅผ ์‚ฌ์šฉํ•ด์„œ element๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋ ˆ์ด์•„์›ƒ์€ ์ง€์–‘ํ•ฉ๋‹ˆ๋‹ค. (๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋“ฑ)
  • id์™€ class๋“ฑ์˜ ๋‹ค์–‘ํ•œ selector๋ฌธ๋ฒ•์„ ์ž˜ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘‰์›น๋ฐฑ์—”๋“œ

  • ํ†ฐ์บฃ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด์„œ ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€๊ฐ€ ๋™์ž‘๋˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. (ex http://localhost:8080/aboutme/index.html ์—์„œ ๋…ธ์ถœ)
  • ์„œ๋ธ”๋ฆฟํŽ˜์ด์ง€ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑํ•ด์„œ, url์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์‹œ๊ฐ„๋ฐ์ดํ„ฐ๊ฐ€ ํ™”๋ฉด์— ๋…ธ์ถœ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ํ™”๋ฉด ๊ตฌ์„ฑ

index.html
aboutme.html
photo.html

 

TodayServlet.java

 

 

์ฝ”๋“œ ๋ฆฌ๋ทฐ

๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ

๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์‹ ์ฒญํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ์›น ๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ค‘์š”ํ–ˆ๋Š”๋ฐ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด Fail ๋ฐ›์•˜์Šต๋‹ˆ๋‹คใ…œ. ๊ทธ ์ด์œ ๋„ ์นœ์ ˆํžˆ ์•Œ๋ ค์ฃผ์…จ๋Š”๋ฐ, ์‹œ๊ฐ„๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋„์šธ ๋•Œ Formatter๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ‰๊ฐ€๊ธฐ์ค€ํ‘œ๋ฅผ ๋Œ€์ถฉ๋ดค๊ธฐ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ๋ถˆ์ƒ์‚ฌ๊ฐ€ ์ผ์–ด๋‚ฌ๋Š”๋ฐ์š”... ๋ฐ˜์„ฑํ•˜๊ณ  ๋‹ค์Œ ๋ถ€ํ„ฐ๋Š” ํ‰๊ฐ€๊ธฐ์ค€ํ‘œ๋ฅผ ๊ผผ๊ผผํžˆ๋ณด๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค! 

๋ฆฌ๋ทฐ๋ฅผ ๋งก์•„์ฃผ์‹  moons๋‹˜๊ป˜์„œ ์ƒ๊ฐ์ง€๋„ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„๊นŒ์ง€ ์„ธ์‹ฌํ•˜๊ฒŒ ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ฒจ์ฃผ์‹œ๊ณ  ์ฐธ๊ณ  ์ž๋ฃŒ๊นŒ์ง€ ์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ณ  ๊ฐ๋™๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋ถ„๊ป˜์„œ ์ •์„ฑ์Šค๋ ˆ ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ์•„์ฃผ์‹œ๋‹ˆ ํ”„๋กœ์ ํŠธ๋„ ๋” ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“œ๋„ค์š” ใ…Žใ…Ž.

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์–ด๋–ค ํ‰๊ฐ€๊ธฐ์ค€์—์„œ ์–ด๋–ค ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ฐ›์•˜๋Š”์ง€ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๊ธฐ๋Šฅ 1, ํŽ˜์ด์ง€ ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ตฌํ˜„

 

ํ™ˆํŽ˜์ด์ง€ ๋งํฌํƒœ๊ทธ๋ฅผ ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ํ•ญ๋ชฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. 3๊ฐœ์˜ ํŽ˜์ด์ง€์— ๋™์ผํ•œ ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ”๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํ˜„์žฌ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๋Š” TodayServlet์—์„œ๋Š” ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ๊ฐ€๋Š” ๋งํฌ๋งŒ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ํฐ ํƒˆ์—†์ด ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž

๐Ÿ™์ง€๊ธˆ๋ณด๋‹ˆ ํ™”๋ฉด ์ค‘์•™์˜ ์ž๊ธฐ์†Œ๊ฐœ, ๋‚ด์‚ฌ์ง„ ๋“ฑ ํด๋ฆญํ–ˆ์„ ๋•Œ ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ด์•ผํ–ˆ๋Š”๋ฐ ๊ทธ ๋ถ€๋ถ„ ๊ตฌํ˜„์„ ์•ˆํ–ˆ์—ˆ๋„ค์š”;; ์ œ๋Œ€๋กœ ๊ณ ์ณ์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ฆฌ๋ทฐ ๋ฐ›๋„๋ก ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹คใ…œ

๊ธฐ๋Šฅ 2, ํ˜„์žฌ์‹œ๊ฐ„๋…ธ์ถœ ๊ตฌํ˜„

TodayServlet์—์„œ ํ˜„์žฌ์‹œ๊ฐ„์„ ์ž˜ ๋…ธ์ถœํ–ˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. ์ผ๋‹จ ๋…ธ์ถœ์€ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์†Œ์Šค์ฝ”๋“œ 1, Java ์ฝ”๋“œ ์Šคํƒ€์ผ

์ž๋ฐ” ์ฝ”๋“œ์Šคํƒ€์ผ์„ ํ™•์ธํ•˜๋Š” ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. ์—†๋Š” ์žฅ์ ์„ ์–ด๋–ป๊ฒŒ ์ž˜ ๋งŒ๋“ค์–ด์ฃผ์…”์„œ ๋„ค ๊ฐœ์˜ ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ^^.

 

์†Œ์Šค์ฝ”๋“œ 2, LocalDateTime, Formatter ์ด์šฉ

๋Œ€๋ง์˜ ์‹คํŒจํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๊ธฐ์ค€์œผ๋กœ TodayServlet์„ ๋„์šธ ๋•Œ, LocalDateTime๊ณผ Formatter๋ฅผ ์ด์šฉํ•˜๋ผ๊ณ  ๋˜์–ด์žˆ๋Š”๋ฐ ์ €์˜ ๊ธฐ์ ์˜ ์‹œ์•ผ๋กœ ๋ณด์ง€ ๋ชปํ•˜๊ณ  ์ œ์ถœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— Fail์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค... ํ‘ ์–ผ๋ฅธ ๋‹ค์‹œ ๊ณ ์ณ์„œ ์ œ์ถœํ•ด๋ณด๊ณ  ๋‹ค์‹œ ํ›„๊ธฐ ๋‚จ๊ฒจ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

 

์ถ”๊ฐ€ ์ฐธ๊ณ ๋งํฌ

๊ทธ ์™ธ์— ์ €๋Š” ์ œ์ถœ์„ GitLap pullrequest์ฃผ์†Œ๋กœ ํ–ˆ๋Š”๋ฐ, ํ•ด๋‹น ํ’€๋ฆฌํ€˜์— ๋Œ“๊ธ€๋กœ ๋งŽ์€ ์˜๊ฒฌ๊ณผ ์ฐธ๊ณ ๋ฌธ์„œ๋ฅผ ์ƒ์„ธํ•˜๊ฒŒ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ™์ด ๊ณต์œ ํ•˜๊ณ  ๋งˆ๋ฌด๋ฆฌํ•˜๋„๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์นœ์ ˆํ•œ ๋ฆฌ๋ทฐ์–ด๋‹˜๊ป˜ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1.  gitignore

 

[GitHub] .gitignore ์„ค์ •ํ•˜๊ธฐ - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

gitignore.io

Create useful .gitignore files for your project

www.gitignore.io

 

2. ์ฝ”๋“œ ์Šคํƒ€์ผ ํฌ๋ฉง ์„ค์ •(๋“ค์—ฌ์“ฐ๊ธฐ)

 

[Code Style Formatter] ์ดํด๋ฆฝ์Šค ์ž๋ฐ” ์ฝ”๋“œ ์Šคํƒ€์ผ ์ ์šฉ ๋ฐฉ๋ฒ•

์ดํด๋ฆฝ์Šค๋Š” ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์ž๋™์œผ๋กœ ์ ์šฉ์‹œ์ผœ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Code Style Formatter ์ž…๋‹ˆ๋‹ค. 1. ...

blog.naver.com

 

3. @Override ์–ด๋…ธํ…Œ์ด์…˜

 

 

[Java] Annotation(Override, Deprecated, SuppressWarnings) - Onsil's blog

์ดˆ์งœ ๊ฐœ๋ฐœ์ž ์˜จ์‹ค์˜
์Šคํ„ฐ๋”” ๋ธ”๋กœ๊ทธ

onsil-thegreenhouse.github.io

 

 

4. ๋‚ ์งœ ํฌ๋งทํ„ฐ

 

 

Guide to DateTimeFormatter | Baeldung

Learn how to use the Java 8 DateTimeFormatter class to format and parse dates and times

www.baeldung.com

 

 

 

 

๋งˆ์น˜๋ฉฐ

์ด๋ ‡๊ฒŒ ๋น„๋ก fail์„ ๋ฐ›์•˜์ง€๋งŒ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์—๋„ ์ข‹์€ ๊ธ€๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ƒ BOOSTER 2๊ธฐ ๊น€๋‹ค๋กฌ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค~!

๋Œ“๊ธ€