전체 글 130

[FE] 04. 배열의 함수형 메소드

* for vs forEachvar data = [{title : "hello",content : "간지철철", price : 12000}, {title : "crong",content : "괜춘한 상품", price : 5500}, {title : "codesquad",content : "쩌는상품", price : 1200}]; - for문과 forEach를 사용하기 for(var i=0; i 20% 인상되는 가격을 계산하여 새로운 배열을 만들어 준다. (원본 값은 그대로 유지된다)이것이 map객체가 가지는 차이점! 그러므로 꼭 return을 해주어야 한다.(위에 데이터에 따라 object가 있을 경우에는 v.price * 1.1 이런 식으로 .을 찍고 값을 지정해 주어야 함)var filteredDa..

[Error] spring 환경 세팅 시 발생하는 오류

심각: Servlet [mvc] in web application [/mvcexam] threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet 이와 같은 오류가 뜨면서 404 에러가 나는 경우(views 폴더안의 main.jsp를 찾지못하고 404에러가 발생하였다.) 1. WebMvcContextConfiguration.java가 생성되어 있는 폴더인 src/main/java가 maven 수정 전에 navigator을 통해 제대로 생성 되었는지2. WebMvcContextConfiguration.java를 생성할 때 WebMvcConfigureAdapter를 상속받도록 설..

BoostCource/Etc 2018.08.04

#03. BE - RestController

http://www.edwith.org/boostcourse-web @RestController Spring 4 에서 Rest API 또는 Web API를 개발하기 위해 등장한 애노테이션이전 버전의 @Controller와 @ResponseBody를 포함한다. * MessageConvertor 자바 객체와 HTTP 요청 / 응답 바디를 변환하는 역할@ResponseBody, @RequestBody@EnableWebMvc 로 인한 기본 설정WebMvcConfigurationSupport 를 사용하여 Spring MVC 구현Default MessageConvertor 를 제공링크 바로가기 의 addDefaultHttpMessageConverters메소드 항목 참조 * MessageConvertor 종류 * J..

#03. BE - 레이어드 아키텍처(Layered Architecture)

http://www.edwith.org/boostcourse-web * Controller에서 중복되는 부분을 처리하려면? 별도의 객체로 분리별도의 메소드로 분리 * 컨트롤러와 서비스 비지니스 메소드를 별도의 Service객체에서 구현하도록 하고 컨트롤러는 Service객체를 사용하도록 한다. * 서비스(Service)객체란?비지니스 로직(Business logic)을 수행하는 메소드를 가지고 있는 객체를 서비스 객체라고 한다. 보통 하나의 비지니스 로직은 하나의 트랜잭션으로 동작한다. * 트랜잭션(Transaction)이란? 트랜잭션의 특징은 크게 4가지원자성 (Atomicity)일관성 (Consistency)독립성 (Isolation)지속성 (Durability) - 원자성 (Atomicity)예를 ..

#03. BE - Spring MVC 실습

http://www.edwith.org/boostcourse-web 전에 했던 실습 순서를 참고하여, Maven 프로젝트 생성 후 pom.xml에 라이브러리를 추가하고, Servlet 버전을 3.1로 올려준다.Spring MVC를 사용하기 위해 아래와 같은 순서로 설정을 추가한 후 실습을 진행한다. - DispatcherServlet을 FrontController로 설정해 주기.세 가지 방법이 존재한다.web.xml 파일에 설정 (가장 많이 사용되는 방법이다.)javax.servlet.ServletContainerInitializer 사용 - 서블릿 3.0 스펙 이상에서 web.xml파일을 대신해서 사용할 수 있다. => 이번 실습에서는 사용하지 않는다.org.springframework.web.WebA..

#03. BE - Spring MVC 개념과 동작흐름

http://www.edwith.org/boostcourse-web * MVC란? MVC는 Model-View-Controller의 약자이다.원래는 제록스 연구소에서 일하던 트뤼그베 린즈커그가 처음으로 소개한 개념으로, 데스트톱 어플리케이션용으로 고안되었다. Model : 모델은 뷰가 렌더링하는데 필요한 데이터. (사용자가 요청한 상품 목록이나, 주문 내역이 이에 해당한다.)View : 웹 애플리케이션에서 뷰(View)는 실제로 보이는 부분이며, 모델을 사용해 렌더링한다. (뷰는 JSP, JSF, PDF, XML등으로 결과를 표현)Controller : 컨트롤러는 사용자의 액션에 응답하는 컴포넌트. (컨트롤러는 모델을 업데이트하고, 다른 액션을 수행) - MVC Model 1 아키텍처- MVC Model..

[Error] Servlet 사용 시 발생하는 오류

Get방식 Post 방식 HTTP method GET is not supported by this URL 위와 같은 문제가 발생하였을 경우 실행하려는 서블렛 안에 doGet이 있는지 확인해보기! 서블렛 파일에서 get 방식을 수정하여 해결하였다. get 방식으로 데이터를 전송하였는데, 서블렛 안에 post방식밖에 존재하지 않아 발생하는 오류이다. doPost -> doGet으로 바꾸어 주거나 이부분을 post방식으로 바꾸어준다. 타입 일치문제 Cannot determine value type from string 'DTO명' 데이터베이스에서 create table 할때 선언한 테이터 타입과 dto에서 선언한 데이터 타입이 다를 때 발생하는 문제 DTO에서 데이터 타입이 맞게 입력되어 있는지 확인하고, 틀..

BoostCource/Etc 2018.08.03

[Error] DB config 오류

Caused by: java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. 이클립스 실행 시 위와 같은 문제가 발생하는 경우, mysql 연결하는 부분의 url 맨 뒤에 &serverTimezone=Asia/Seoul 붙여주기 (mysql 커넥터가..

BoostCource/Etc 2018.08.02

#03. BE - Spring JDBC 기초와 실습

http://www.edwith.org/boostcourse-web * Spring JDBC JDBC 프로그래밍을 보면 반복되는 개발 요소가 있다. (드라이버를 로딩하고, statement 객체를 얻어내고, ResultSet객체로 결과를 받아낸 후 객체들을 일일이 닫아주는 등...) 이러한 반복적인 요소는 생산성을 떨어뜨리는 주요인이다.Spring JDBC를 사용하면 개발하기 지루한 JDBC의 모든 저수준 세부사항을 스프링 프레임워크가 처리해준다.=> 개발자는 필요한 부분만 개발하면 되는 것! - Spring JDBC에서 개발자가 해야 할 일은?연결 파라미터 정의에서는 어떤 데이터베이스에 접속할 것인지, SQL문, 파라미터가 어떤 값을 가지고 쿼리문을 수행할 것인지는 프레임워크가 알 수 없기 떄문에 이 ..

#03. BE - Java Config로 의존성주입 설정하기

http://www.edwith.org/boostcourse-web * Java Config를 이용해 설정하기 ApplicationConfig.javapackage kr.or.connect.diexam01; import org.springframework.context.annotation.*; @Configuration public class ApplicationConfig { @Bean public Car car(Engine e) { Car c = new Car(); c.setEngine(e); return c; } @Bean public Engine engine() { return new Engine(); } }@Configuration 은 스프링 설정 클래스라는 의미를 가진다.JavaConfig로 ..