HTML์ ์์์๋ถํฐ ์ฝ๋๊ฐ ์คํ๋๊ธฐ ๋๋ฌธ์ head๊ฐ ์คํ๋๊ณ body๊ฐ ์คํ๋๋ค. js์ ์ฉ๋์ด ํฌ๋ฉด ํด์๋ก body๋ถ๋ถ์ ์คํ์ด ๋ฆ์ด์ง๊ธฐ ๋๋ฌธ์ bodyํ๋จ์ ๋๋๊ฒ ์ข๋ค css๋ ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ์ญํ ์ด๋ฏ๋ก head์์ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์ข๋ค + ๋ถํธ์คํธ๋ฉ์ธ ๊ฒฝ์ฐ ์ ์ด์ฟผ๋ฆฌ์ ์์กด ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์ด์ฟผ๋ฆฌ๋ฅผ ๋จผ์ ํธ์ถํ๋๊ฒ ๋๋๋ก ์์ฑํด์ผ ํ๋ค. + Scriptlet,jstl,el์ ์๋ฒ๋จ์์ ์คํ ๋๋ฉฐ ๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ Javascript์์๋ ๋ณ์๋ฅผ ์ง์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. + JAVA>JSTL>HTML>Javscript + jsp์ธ๋ถ๋ก js๋ฅผ ๋นผ๋ฉด ์๋์ํ ๊ฒ๋๋ค. ์๋ฒ๋ jsp๋ฅผ ์ฒ๋ฆฌํ์ง ์ธ๋ถ์์ ์ํฌํธ๋๋ js๋ฅผ ์ฒ๋ฆฌํ์ง๋ ์๋๋ค.
์ ์ฒด ๊ธ

Tomcat error) java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens https ์์ฒญ์ ์๋ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ ์ ์๋ ์๋ฌ์ด๋ค. ํฐ์บฃ ์ชฝ์์ https์ค์ ์ ํด์ฃผ์ง ์์๋๋ฐ https๋ก ์์ฒญํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ ์๋ ์๋ฌ์ด๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ 1. url์ http๋ก ๋ฐ๊พธ๋ฉด ํด๊ฒฐ๋๋ค. 2. ์๋ฒ ํฌํธ๋ฅผ ๋ฐ๊ฟ ๋ณธ๋ค. 3. ํ๋ก์ธ์ค๋ฅผ ์ฐพ์์ ์ข
๋ฃ์ํจ๋ค.

JPA๊ฐ ๊ด๊ณํ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง๊ฒ SQL์ ๋์ ์์ฑํ์ฌ ์คํํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์คํ๋ ์ฟผ๋ฆฌ์ ํํ๊ฐ ๊ถ๊ธํ ์ ์๋ค. application.properties๋ฅผ ๋ง๋ค์ด์ค ํ spring.jpa.show_sql = true ๋ฅผ ์์ฑํด์ค๋ค. ์ง๋!

bulid.gradle์ ์์กด์ฑ ๋ฑ๋กํ๊ธฐ Entity ํด๋์ค Entity๊ฐ not null์ผ ๊ฒฝ์ฐ Builder๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋๋ ํจํด์ผ๋ก ๋ง๋ค๋ Assert.notNull(title, "title must not be null"); Assert๋ฅผ ์ด์ฉํด ๊ฐ์ฒด๋ฅผ ์์ ํ๊ฒ ์์ฑํ๋ค Postsํด๋์ค๋ก Database๋ฅผ ์ ๊ทผํ๊ฒ ํด์ค PostsRepository ์ธํฐํ์ด์ค๋ฅผ Entityํด๋์ค์ ๊ฐ์ ์์น์ ๋ง๋ค์ด์ค๋ค(*) JpaReopository ๋ฅผ ์์ํ๋ฉด ๊ธฐ๋ณธ์ ์ธ CRUD๋ฉ์๋๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ค. ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ํ์ธํ์!

@RunWith(SpringRunner.class) ํ
์คํธ๋ฅผ ์งํํ ๋ JUnit์ ๋ด์ฅ๋ ์คํ์ ์ธ ๋ค๋ฅธ ์คํ์๋ฅผ ์คํ ์คํ๋ง ๋ถํธ ํ
์คํธ - JUnit์ฌ์ด์ ์ฐ๊ฒฐ์ ์ญํ ์ ํจ @WebMvcTest Web์ ์ง์คํ ์ ์๋ ์ด๋
ธํ
์ด์
, @Controller,@ControllerAdvice๋ฑ Controller์์ ์ด์ฉ ๊ฐ๋ฅํ ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ ์ ์๋ค. @Autowired ๋น์ ์ฃผ์
MockMvc HTTP์ GET,POST๋ฑ์ ๋ํ ์นAPI๋ฅผ ํ
์คํธํ ๋ ์ฌ์ฉ ์ธ๋ถ์ ๊ฒฐ๊ณผ์ ํฌ๊ฒ ์์กดํ ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ํน์ ๊ฐ์ ๋ฐ์ ๋, ํน์ ์๊ฐ์๋ง ์คํ๋๋ ๊ฒฝ์ฐ ๋ฑ perform() HTTP GET,POST ์์ฒญ, ์ฒด์ด๋ ์ง์ andExpect() ์ ์ด์ฉํด์ ๋ค์ํ๊ฒ ๊ฒ์ฆํ ์ ์๋ค. assertThat()
Controller @SpringBootApplication ์คํ๋ง๋ถํธ์ ์๋ ์ค์ , ์คํ๋ง Bean ์ฝ๊ธฐ์ ์์ฑ์ ๋ชจ๋ ์๋์ผ๋ก ์ค์ ํจ ํด๋น class์ ์๋ ์์น๋ถํฐ ์ค์ ์ ์ฝ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ํญ์ ํ๋ก์ ํธ์ ์ต์๋จ์ ์์นํด์ผ ํจ. SpringBootApplication.run() ์คํ๋ง๋ถํธ์ ๋ด์ฅ was์ด๋ค. ์ธ์ฅ was๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง ๋ด์ฅ was ์ฌ์ฉ ๊ถ๊ณ (์ธ์ ์ด๋์๋ ๊ฐ์ ํ๊ฒฝ์์ ์คํ๋ง ๋ถํธ๋ฅผ ๋ฐฐํฌ) ์ฑ๋ฅ์ ์ด์ : ํฐ์บฃ ์ญ์ ์๋ธ๋ฆฟ์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ค. ๋๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ํฌ๊ฒ ๊ณ ๋ คํ์ง ์์๋ ๋๋ค. @RestController ์ปจํธ๋กค๋ฌ๋ฅผ JSON์ ๋ฐํํ๋ ์ปจํธ๋กค๋ฌ๋ก ๋ง๋ค์ด ์ค ์์ ์๋ @ResposeBody๋ฅผ ๊ฐ ๋ฉ์๋๋ง๋ค ์ ์ธ ํ๋๊ฒ์ ํ๋ฒ์ ์ฌ์ฉํ ์ ..
JavaScript์์์ ๋ณ์ ์ ์ธ ๋ฐฉ์ ์ค var, const, let์ ์ฐจ์ด์ ๋จผ์ Hoisting๊ณผ Scope์ ๊ฐ๋
์ด ํ์ํ๋ค. Hoisting Hoist๋ ๋ณ์์ ์ ์๊ฐ ๋ฒ์์ ๋ฐ๋ผ ์ ์ธ, ์ด๊ธฐํ, ํ ๋น ๋ถ๋ฆฌ๋๋ ๊ฒ์ ์๋ฏธ (์ ์ญ๋ณ์์ ์ง์ญ๋ณ์) Scope - ์ ์ญ ์ค์ฝํ, ์ง์ญ ์ค์ฝํ 1. var ๋ณ์ ์ ์ธ์ ๊ฒฝ์ฐ ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ค. function scope 2. const ๋ณ์์ ์ฌ์ ์ธ, ์ฌํ ๋น ๋ถ๊ฐ block scope ์ง์ญ ์ค์ฝํ 3. let ๋ณ์์ ์ฌํ ๋น ๊ฐ๋ฅ block scope ES6์์๋ var๋ณด๋ค๋ const์ let์ ์ฌ์ฉํด์ ์ ํํ ๋ณ์ ์ฌ์ฉ์ ๊ถํ๋ค.

๋ฉ์ธํ์ด์ง์ ๊ฐ์
ํ ํ์์ ์๋ฅผ ํ์ํด์ฃผ๊ณ ์ถ์๋ฐ ํ์์ด ๊ฐ์
ํ์๋ ๋ฐ๋ก ํ์๋๋๊ฒ ์๋๋ผ ๋งค์ผ ์๊ฐ์ ์ ํด๋๊ณ ์๋์ผ๋ก ์
๋ฐ์ดํธ ํ๊ฒ ํ๊ณ ์ถ์๋ค. servlet-context์ xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd ์ถ๊ฐ ํด์ฃผ์๊ณ context:component-scan base-package ์๋ ์ ์ฉํ๋ ๊ฒฝ๋ก ์ ์ด์ฃผ๋ฉด ๋๋๋ฐ com.min.app ์ผ๋ก ์์ํ๋ ํจํค์ง ๋ชจ๋๋ฅผ ์ ํํ๋ค ๊ทธ๋ค์ ์ค์ผ์ฅด๋ฌ ์ฌ์ฉํ class๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค. public static i..
์ดํด๋ฆฝ์ค Help - Install new software... - Work with : http://download.eclipse.org/mpc/photon Eclipse software repository | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks. download.eclipse.org