Review
-
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를..
-
KOSTA 교육 52일차(Semi-Project, update, delete, select, session, choose-when-otherwise)Review 2020. 6. 24. 00:39
19. 1. 18(금) 실습 내용 session update / select delete 1. session session을 생성하여 프로젝트와 Post의 번호를 저장한다. 어떤 메소드던 Controller를 무조건 거쳐가기 때문에 프로젝트, Post의 번호를 가지고 있다면 삭제 후 가져가게 된다. 2. update insert된 마감일을 수정하는 역할을 한다. d_day 테이블에 있는 정보를 p_no를 조건으로 출력한다. DdateDTO 객체를 가지고 수정하는 메소드 생성 p_no를 가져와 객체를 출력하는 메소드 생성 수정된 Ddate를 Mapping한다. ddateDTO에 Mapping 한다. p_no를 가져오는 session을 생성하여 p_no의 마감일을 객체에 담고 return한다. 가져온 마감일..
-
KOSTA 교육 51일차(Semi-Project, insert, select)Review 2020. 6. 24. 00:36
19. 1. 17(목) 실습 내용 insert select 1. insert 마감일을 입력하여 Post에 디데이를 나타내준다. 마감일을 text로 입력하여준다. insert, select할 마감일 쿼리문을 작성한다. Post에 작성해야 하기 때문에 p_no를 가져간다. select 및 insert에 대한 메소드 생성 DTO객체에 대한 int 타입을 Insert한다. p_no에 대한 객체 타입을 selelct 한다. select 및 insert에 대한 DAO를 생성하여 Mapping 여기서 DdateInfo는 p_no에 대한 DTO 객체를 들고 나와야 하니 객체를 return해준다. Post를 가져와서 객체에 Mapping 후에 객체를 return한다. insert시 p_no를 가져와서 DateInfo(F..
-
KOSTA 교육 50일차(Semi-Project, insert, delete)Review 2020. 6. 23. 02:02
19. 1. 16(수) 실습 내용 insert delete 1. insert 생성한 Post에 insert 했던 담당자들을 post 내부로 가져간다. ChargeDTO를 생성하고 해당 DTO에 넣을 쿼리문을 작성한다. 그리고 최근 입력한 Post를 가져오기 위하여 select로 찾는다. 각각 Mapper 메소드를 선언한다. Mapping 해준다. ChargeDTO 객체를 생성한다. checkbox는 중복이 가능하기 때문에 배열로 선언하여 getParameterValues로 담는다. 담은 배열을 형변환 하기 위해 int 배열에 new로 새롭게 생성한다. 배열을 for문을 이용하여 하나씩 형변환한다. 형변환 한 member를 chargeDTO에 set으로 담고 dao로 Mapping한다. insertForm..