분류 전체보기
-
KOSTA 교육 60일차(Spring, Test, CRUD, MVC)Review 2020. 6. 24. 01:04
19. 1. 30(수) 배운 내용 MVC CRUD Mapper Test MVC CRUD Service Test MVC CRUD Controller Test 1. MVC CRUD Mapper Test Create, Read, Update, Delete를 Mapping을 확인하기 위해 각 Mapper를 Test한다. 라이브러리 및 DB 세팅은 완료되었다고 가정한다.(59일차 참조) 연동테스트를 위해 테이블 생성 및 더미 데이터를 생성한다. 데이터 추가 후 commit을 꼭 해주어야한다. DB연동 Test 위의 로직을 이용하여 연동 테스트를 하여 연동 여부를 꼭 확인한다. 영속계층 구현 준비 영속 계층 작업 순서 1. 테이블 칼럼 구조 반영 VO 클래스 생성 2. Mybatis의 Mapper 인터페이스 작성 ..
-
KOSTA 교육 59일차(Spring, JUnit, DB, myBatis, log4jdbc-log4j2, MVC)Review 2020. 6. 24. 00:59
19. 1. 29(화) 배운 내용 Spring 프로젝트 생성 및 세팅 JUnit Oracle Database 연동 myBatis 연동 log4jdbc-log4j2 MVC Controller 파일 업로드 1. Spring 프로젝트 생성 및 세팅 STS툴을 사용하여 Spring Project를 생성 및 세팅한다. 프로젝트 생성 Spring Legacy Project를 클릭한다. 제목을 입력하고 MVC Project를 선택하고 Next를 클릭한다. 생성 후 Finish를 눌러 생성한다. Project를 생성하면 보기와 같이 기본적으로 생성된다. src/main/java : 작성되는 코드의 경로 src/main/resource : 실행할 때 참고하는 기본 경로(주로 설정파일을 넣는다.) src/test/java..
-
KOSTA 교육 58일차(RequestParam, ModelAttribute, RESTful, PathVariable, tiles, File Up/Download, JSON, AOP, Transaction)Review 2020. 6. 24. 00:54
19. 1. 28(월) 배운 내용 @RequestParam @ModelAttribute @PathVariable(RESTful) tiles File Up/Download JSON AOP Transaction 1. @RequestParam 파라미터값을 가져올 수 있는 어노테이션이다. 가져오는 파라미터값을 명확하게 하기 위해 사용하기도 한다. 1:1로 파라미터를 받는 경우에 사용한다. name, value : 파라미터 이름 required : 해당 파라미터가 필요한지의 여부 (default : true) defaultValue : 해당 파라미터의 기본 값 fname이라는 파라미터값을 가져와서 filename이라는 변수를 주었다. 만약 위의 required, defaultValue를 사용하려면 다음과 같다. ..
-
KOSTA 교육 57일차(Spring, MVC, myBatis, CRUD)Review 2020. 6. 24. 00:49
19. 1. 25(금) 배운 내용 Spring MVC myBatis CRUD 1. MVC 어플리케이션의 확장을 위해 Model, View, Controller로 분리하여 개발하는 방법 컴포넌트의 변경이 다른 영역 컴포넌트에 영향을 미치지 않음 컴포넌트 간의 결합성이 낮아 프로그램 수정이 용이 장점 화면과 비즈니스 로직을 분리해서 작업 가능 영역별 개발로 확장성이 뛰어남 표준화된 코드를 사용하여 공동작업 및 유지보수가 편리함 단점 개발과정이 복잡해 초기 개발속도가 늦음 초보자가 활용하기엔 난이도가 있음 MVC 패턴 구조 순서 Dispatcher Servlet : url의 요청을 받아서 연결시켜준다. Handler Mapping(default) : Dispatcher Servlet이 Controller로 매..
-
KOSTA 교육 56일차(Spring, DI, AOP)Review 2020. 6. 24. 00:47
19. 1. 24(목) 배운 내용 Spring이란 ? DI(Dependency Injection) 의존성 주입 AOP 1. Spring이란? 엔터프라이즈 어플리케이션 개발을 편하게 해주는 프레임워크이다. 2003년에 등장하여 현재(2019)까지 사용되고 있다. 복잡성을 줄여주기 위한 목적을 가지고 있다. EJB사용을 하지 않기 위해 POJO(Plain Old Java Object)를 사용하여 가능하게 하였다. Maven을 사용하여 보다 편리하게 빌드 과정에서 라이브러리를 사용할 수 있다. pom.xml에 dependencies 태그를 추가하여 라이브러리를 추가하면 자동으로 Maven이 생성된다. Maven 문제 발생 시 프로젝트에 빨간 느낌표가 발생한다. 해결 방안 : 툴 종료 → m2 폴더 → Repo..
-
KOSTA 교육 55일차(Semi-Project 회고)Review 2020. 6. 24. 00:44
19. 1. 23(수) 실습 내용 회고 1. 회고 중간 프로젝트간 느꼈던 부분과 부족했던 부분을 생각하면서 최종 프로젝트에 반영하기 위해 회고하는 시간을 가져보도록 하려한다. 1. CRUD 기능을 구현하기에만 급급하였다. 기능에 대해 생각하고 구현하기 보다는 배운 것을 따라하는 느낌으로 의식의 흐름따라 코딩을 진행하였음 결론 : 기능 구현 뿐만 아니라 과정을 생각하고 분석하면서 구현 필요 2. DB 설계 시 관계를 고려하지 못함 각각의 기능에만 집중하여 각 테이블의 관계를 분석하지 못하고 정규화 과정을 진행하여 불필요한 쿼리 작업을 많이 하게 되었음 결론 : 기능에 집중한 설계가 아닌 각 테이블의 관계를 고려한 설계 진행 3. MVC의 구조를 정확하게 이해하고 활용하지 못함 많은 객체들이 하나의 동작으로..
-
KOSTA 교육 54일차(Semi-Project, Ajax, jQuery, update)Review 2020. 6. 24. 00:42
19. 1. 22(화) 실습 내용 Update 1. Update Drag를 이용하여 Post를 이동 시 DB에 반영될 수 있도록 한다. 담을 객체인 DTO를 생성하고 post가 새롭게 c_no를 받아 수정이 된다. 이 때 old_c_no는 이미 움직이고 기존에 있었던 c_no가 되겠고 여기서 and로 p_no를 가져와서 움직인 Post를 알아야 한다. update로서 DTO를 파라미터 값으로 선언하고 int 타입을 가진다. Mapping 후 commit 한다. session에서 p_no를 가져온다. getParameter로 new, old 두 c_no를 가져온다. 객체를 생성하여 set으로 담은 후 dao로 Mapping 한다. service 객체 생성 후 메소드를 호출한다. ajax 통신을 하기 위해 ..
-
KOSTA 교육 53일차(Semi-Project, Ajax, JavaScript, jQuery)Review 2020. 6. 24. 00:40
19. 1. 21(월) 실습 내용 Ajax 1. Ajax Post에 대한 내용들을 비동기식으로 바꾸어 해당 페이지에서 다른 페이지로 움직이지 않고 이동한다. Post의 내부 내용을 클릭했을 때 Ajax를 사용하여 팝업창이 뜬다. Post 내부 내용을 들어가면 제목 및 마감일이 출력되어야 한다. Post 클릭시 내부페이지 출력 detailPostView 클래스를 click하였을 때 함수를 실행한다. 그 함수는 p_no를 변수로 하여 변수는 this(여기서의 this는 detailPostView)에서 find(찾는 함수)로 select_pno 클래스를 찾아 .val()을 통해 클래스에 대한 value값을 p_no에 담는다. 담은 p_no는 Ajax로 나타낼 수 있게 메소드로 호출시켜놓고 파라미터는 p_no를..