본문 바로가기

Team Project (국비)48

중간프로젝트 Model 파트 회의록 23.07.20 오늘 한일) 1) PK - FK 간의 외래키 제약 조건을 설정 했다. (PK가 없어지면, FK를 null로 바꿔주거나 등등..) 2) 키워드로 검색하기의 SQL 구문과, (LIKE) 필터 검색하기의 SQL 구문을 하나의 코드로 작성이 가능해서 수정 했다. 3) OrderSet 클래스를 작성 했다. (각 주문 마다 주문 상세를 보기 위해 1 : N 구조의 로직 클래스 작성) 오늘 이슈) 1) double 타입은 디폴트값이 0.0 이라, 로직상 필요한 값은 디폴트값이 null 인 경우라, 래퍼 클래스를 사용해서 해결 했다. 2) 평균 별점을 M에서 계산하는게 아니라서, M이 C에게 별점 총합과 별점 총 부여 횟수를 보내주면, C가 V에게 해당 데이터 들을 넘겨줘서 V가 평균 별점을 계산하는걸.. 2023. 7. 29.
중간프로젝트 Model 파트 회의록 23.07.19 오늘 한일) 1) 샘플 데이터 크롤링 (리스너 클래스로) => 이거 View 하고 말해보기. 2) MySQL DBMS에서 이벤트를 생성하여, 회원의 구독정보 업데이트를 DB에서 처리되도록 구현 했다. 오늘 이슈) 1) 이벤트 구문에 BEGIN 하고 END 가 있었는데, 얘를 같이 작성하니 syntax 에러가 발생 했다. 발생 이유 : BEGIN과 END는 하나의 이벤트 블록 안에 다수의 쿼리문을 작성할 때 사용된다. 이벤트를 작성할 때, 단일 쿼리문을 작성했기에, BEGIN과 END는 불필요한 개념 이였다. 내일 할일) 1) ERD 초안 PPT 버전으로 작성 하기. 2) FK 개념으로 사용하는 것들을 볼때, PK가 사라지면 FK가 반드시 지워져야 하는것들 확인하기. 그래서 만약 반드시 지.. 2023. 7. 29.
중간프로젝트 Model 파트 회의록 23.07.18 오늘 한일) 1) V파트와 C파트 사람이 SQL 테이블 구조를 파악 할 수 있도록 SQL 파일을 생성 했다. 2) VO 객체 필요한 키워드와, 임시 변수를 세팅 했다. 내일 추가적으로 필요한 임시 변수를 세팅할 예정이다. 3) 테이블간의 JOIN이 필요한 테이블이 있었는데, JOIN 구문 작성을 마무리 했다. 4) POJO 클래스 CRUD 코드를 작성 했다. 내일 추가적으로 작성 완료할 예정이다. 오늘 이슈) 구독 유효기간이 끝나면, 멤버의 구독 정보를 어떻게 변경할것인지 고민을 했다. DB 자체에서 처리 되게 할지, 아니면 Controller 에서 DATE 클래스를 사용해서 처리할지 의사소통을 통해 해결할 예정이다. 내일 할일) 1) 구독 유효기간 관련 해서 처리할 예정 이다. 2) C.. 2023. 7. 29.
중간프로젝트 크롤링 샘플 데이터 상품이름 가격 이미지 재고 주종 도수 단맛 신맛 탄산 담은 33000 takju1 100 탁주 6.50 강 약 붉은 원숭이 9000 takju2 100 탁주 10.80 중 약 복순도가 손 막걸리 36000 takju3 100 탁주 6.50 강 강 강 백련 미스티 살균 막걸리 4500 takju4 100 탁주 7.00 중 약 나루 생 막걸리 21000 takju5 100 탁주 6.00 강 약 바텐더의 막걸리 9000 takju6 100 탁주 14.00 중 강 혼디주 8000 gwasilju1 96 과실주 12.00 중 강 고도리 샤인머스캣 와인 23000 gwasilju2 97 과실주 10.50 강 중 고도리 복숭아 와인 23000 gwasilju3 98 과실주 6.50 강 강 제주, 유채 12000 gw.. 2023. 7. 19.
중간프로젝트 Model 파트 회의록 23.07.17 오늘 한일) 1) Controller가 필요한 searchKeyword 값을 정해서 Controller 파트장에게 전달 했다. 2) 필요한 칼럼을 추가하고, 제약조건을 수정 했다. 3) DAO 클래스들에서 필요한 CRUD SQL 구문들을 작성 했다. 4) 기존 필터 검색을 할 때, SQL 구문으로 간단하게 처리 했었는데, JDBC 인터페이스 내부 코드 로직을 새롭게 작성해서, 필터 검색 기능을 구현 했다. 오늘 이슈) 테이블을 그동안 2개 정도만 JOIN 해서 사용했었는데, 이번에 테이블을 3개를 JOIN 해서 사용 해야 하는 상황이 생겼다. 그래서, 이 부분을 어떻게 처리할지 고민을 했다. 내일 할일) 1) 다른 파트 사람들도 SQL 테이블 구조를 파악 하기 위해서, SQL 파일을 생성.. 2023. 7. 17.
GIT 메모 clone >> 리포지토리와 로컬 폴더를 동기화. (시점도 동기화 시킨다) commit >> 내 로컬 git에 변경 사항을 저장. push >> 로컬 git에 커밋된 변경 사항을 온라인 리포지토리에 저장. pull >> 온라인 리포지토리에 저장된 변경 사항을 당겨 온다. ( 다운로드 한다) 누군가가 업데이트를 해서 시점이 달라졌어. (버전 정보가 달라졌어) 그때, 만약 내가 새로운 버전을 업데이트 하지 않았을 때, (동기화를 하지 않았을 때) 내가 그때, 내가 가지고 있는 버전 (구버전) 을 push 하면 충돌이 일어난다. 그래서 충돌이 일어나지 않게 하려면, 서버에 누군가 최신 버전을 올린것을 pull 해서 (땡겨와서), 나의 파일을 최신버전으로 바꾸고 나서, 업데이트를 하고 싶으면 하고 한 후에, 서.. 2023. 6. 25.
6월 19일 프로젝트 Model 파트 2 1. CouponDAO C에서 흐름을 보면, 다음과 같다. 사용자가 책 구매하기 기능을 이용할 때, 구매를 바로할건지, 장바구니에 담을건지 여부를 물어본 후, 바로 구매를 하게 되면, 쿠폰을 사용할건지 여부를 물어보게 된다. 쿠폰 사용을 안한다면, 쿠폰 사용 로직을 들어가지 않고, 구매 로직으로 넘어 가게 된다. 쿠폰을 사용 한다면, 일단 사용자가 쿠폰을 들고 있는지를 확인 해야 한다. 쿠폰이 있다면, 어떤 쿠폰을 사용할건지를 사용자에게 입력 받게 된다. 해당 쿠폰이 뭔지를 DB 를 통해 확인하고 와야하니, cDAO.selectOne() 메서드의 인자로 필요한 객체 정보를 넣고, 책이 가지고 있는 가격의 정보를 인자로 해서, 쿠폰을 주체로 해서 가격 정보를 set 해줘야 한다. 그래야, 가격정보를 받고,.. 2023. 6. 25.
6월 19일 프로젝트 View 파트 메뉴가 있는 함수들은 사용자에게 메뉴 넘버를 입력받을 때 그 범위를 벗어나면 안되서, 유효성 검사를 위해서 선언해 놓은 클래스 변수 들 이다. 스캐너도 자주 사용하니, static 키워드를 붙혀서 상단 배치를 한 모습 이다. 위와 같이 메뉴가 있는 함수들은, return 값으로 해당 메뉴의 개수를 숫자로 주는 모습이다. 회원가입 시, 사용자에게 비밀번호를 입력 받았을 때, 입력한 비밀번호가 정말 맞는지 재확인을 받는 모습이다. mpw가 checkMpw 와 다르면 while문을 무한히 도는 로직 이다. 둘이 같다면, if문이 거짓이라 실행을 하지않고, return 값으로 mpw을 뱉어낸다. 회원가입이 끝나고, 추천인을 등록시 추천인 등록을 안할시, 2번이고, return 값으로 String 타입을 뱉는 상.. 2023. 6. 24.
6월 19일 프로젝트 Model 파트 1. 크롤링 해온 책의 데이터들을 BookDAO 에서 insert 메서드를 통해서 DB에 삽입 하기. JDBCUtil 클래스에서 connect() 메서드를 통해서, connetion 객체의 정보를 conn 참조변수에 저장 한다. 비즈니스 메서드인 insert 메서드는 Controller로부터 BookVO 타입의 bVO 라는 매개변수로 객체를 인자로 받는다. 향상된 statement 객체를 통해서, sql 구문을 인자로 넣을 수 있다. set 할 수 있는 메서드를 지니고 있기에, 책의 제목, 가격, 개수, 카테고리 정보 4가지를 객체로부터 get 해서 sql 구문의 값에 set 해준다. sql 구문은 아래와 같다. BOOK 이라는 이름을 가진 테이블에 INSERT 할거야. 칼럼명은 각각 TITLE, PRI.. 2023. 6. 24.