전체 글(223)
-
스프링 웹 개발 기초
정적 컨텐츠 서버에서 하는것 없이 파일 그대로 웹브라우저에 그대로 뿌려주는 것 위와 같이 html에서 작성한 그대로 화면으로 뿌려준다. localhost:8080/hello-static.html을 들어가게되면, 내장 톰캣 서버에서 요청을 먼저 받게 된다. 첫번째로 Controller 단에서 먼저 hello-static 컨트롤러가 있는지 확인한다. 없는 경우에는 resources 폴더에서 찾게된다. MVC와 템플릿 엔진 가장 흔하게 사용하는 방식으로 JSP 같은게 템플릿 엔진이 된다. 서버에서 프로그래밍을 해서 html을 동적으로 바꿔서 내리는 방식으로 이를 하기 위해서 MVC 사용 MVC = Model + View + Controller 이전에는 View에서 Controller의 역할까지 한번에 하였다...
2022.07.26 -
14499 - 주사위 굴리기
이번 문제는 해석만 잘 하면 쉽게 풀리는 문제였다... 하지만 처음에 정육면체인 주사위의 움직임을 어떻게 표현하는가에 대한 고민을 많이 해야했다. 이것만 해결되면 쉽게 풀리는 문제... 나는 방향에 따른 주사위의 움직임이 아래와 같음을 찾아냈다. 이를 리스트로 나타낸 후, 각 움직임에 따른 주사위 번호의 위치를 변화시켰다. 그리고 문제 해석상의 시행착오를 한번 겪었는데... 문제에서 "주사위는 지도의 바깥으로 이동시킬 수 없다. 만약 바깥으로 이동시키려고 하는 경우에는 해당 명령을 무시해야 하며, 출력도 하면 안 된다." 문구가 있는데, 난 처음에 주사위를 굴려서 지도 밖으로 이동 하는 경우에는 이후 명령인 지도가 0인 경우에는 주사위의 아랫면 수를 복사하고, 0이 아닌 경우 지도상의 숫자를 주사위 아랫..
2022.07.26 -
프로젝트 환경 설정 - View 환경 설정 [By 김영한 ]
resources/static/index.html 의 정적파일을 생성 여기에 thymleaf 템플릿 엔진을 이용해서 동작하고 프로그래밍 되는 화면을 만들 예정 웹 애플리케이션에서 첫번째 진입점 = Controller 컨트롤러에서 리턴 값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리한다. 스프링 부트 템플릿 엔진 기본 viewName 매핑 resources:templates/ + {ViewName} + .html 결과를 웹에서 보게 되면 아래와 같다. 위의 프로세스를 도식화하면 아래와 같다. 자동으로 컴파일 해주는 devtools 추가하기! build.gradle 파일에 spring-boot-devtools 의존성 추가 위와 같은 과정을 수행한 뒤에 빌드하면, 자동 컴파일이 된다.
2022.07.25 -
프로젝트 환경 설정 - 라이브러리 살펴보기 [By 김영한 ]
많은 외부 라이브러리들이 있음 - maven이나 gradle은 많은 라이브러리들의 의존관계를 관리해준다. 따라서 thymeleaf, web과 의존관계를 가진 라이브러리들이 외부 라이브러리로 들어오게 된다. 요즘은 소스라이브러리에서 Tomcat 과 같은 웹서버를 내장하고 있음 (다른 설정이 필요없음) -> 웹서버가 바로 떠서 8080으로 접속 가능 Spring Boot 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat : 톰캣(웹서버) spring-webmvc : 스프링 웹 MVC spring-boot-starter-thymleaf : 타임리프 템플릿 엔진(view) spring-boot-starter(공통) : 스프링부트 + 스프링코어 + 로깅 spri..
2022.07.25 -
프로젝트 환경 설정 - 프로젝트 생성 [By 김영한 ]
JDK : 자바 11 버전 IDEA : Intelli J Spring Initializr 은 스프링부트를 기반으로 스프링 관련 프로젝트를 만들어주는 사이트 1. Project Maven Project : 필요한 라이브러리를 땡겨오고, 빌드하는 라이프 사이클까지 관리하는 툴 Gradle Project : 최근 트렌드 (버전 설정, 라이브러리 땡겨오는 툴) 2. Project Metadata Group : 기업 도메인 명 Artifact : 빌드되어 나오는 결과물 ( 프로젝트 명과 비슷 ) 위에서 설정하여 만들어진 폴더를 인텔리J에서 임포트하면 아래와 같이 설정되어 나타난다. .idea : 인텔리J가 사용하는 설정파일 gradle : gradle과 관련하여 사용할 것들이 들어있는 폴더 src > main, ..
2022.07.24 -
스프링 입문 - 개요 [By 김영한 ]
- 목차 - - 스프링 프로젝트 생성 - 스프링 부트로 웹 서버 실행 - 회원 도메인 개발 - 웹 MVC 개발 - DB 연동 : JDBC, JPA, 스프링 데이터 JPA - 테스트 케이스 작성 사용할 기술 : Spring Boot, JPA, Gradle, HIBERNATE, Thymeleaf 스프링 웹 어플리케이션을 만드는 핵심 사이클을 한번 돌아보면서 Spring에 대한 공부를 해보자.
2022.07.24