본문 바로가기

Simple Project

(8)
8. FAVORITE 테이블 수정, CRU 기능 구현 Mypage에서 회원이 선택한 관심 원두를 출력할려고 쿼리문을 작성하다보니, 너무 복잡하다는 것을 느꼈다........ 애초에 회원 아이디를 가지고, FAVORITE 테이블에 가서, 각각의 CUPNOTE NUM, RPOINT NUM, FLAVOR NUM을 조회한 다음에, 거기서 또 각각의 내용들을 조회해야 하니 이게 최종적으로 5개의 테이블을 거쳐야하는 작업이라는 것을........ 설령 각각 따로 쿼리문을 나눠서 작업한다고 해도.. 어쨌든 조회 작업을 3번을 나눠서 해야 하니 만약 이런 작업이 빈번해진다면, 빈번해질것이 뻔한데 너무 비효율적이라는 생각이 든다. 아예 그냥 FAVORITE 테이블 안에, CUPNOTE NAME1, 2, 3 이렇게 넣고 RPOINT, FLAVOR 이렇게 컬럼으로 넣는 방법이..
7. 관심사 테이블 설계 Favorite 테이블 - 회원마다 관심정보를 담고 있는 테이블 컬럼 컵노트(향미) - 여러개가 가능함 로스팅포인트 - 여러개가 가능 맛 - 여러개가 가능 -> 테이블을 또 분리 산지 - 여러개가 가능 가공방식 - 여러개가 가능 우선 위 두개는 나중에 추가 블랜딩 여부는 일단 뺌, 굳이 필요가 없을 것 같음, 나중에 검색 옵션으로는 추가하든지 해야겠음 우선 차근차근 설계하자. 처음부터 관심 컵노트는 하나부터 최대 3개까지 설정 가능하다 라고 요구사항을 잡아버리니까 나름 뭔가 구조가 복잡해지는 것 같아서 생각할 거리가 많아져버린다. 우선적으로 구조는 이렇게 잡아보았다. 회원마다 각각 관심사가 있고, 관심사를 따라가면 각각 컵노트번호, 로스팅번호, 향미번호가 있어서 또 각각 좋아하는 컵노트, 로스팅, 향미(..
6. 프로젝트 재구성 곰곰히 생각해보니, 지금까지 설계했던 기능들은 뭔가 커피 커뮤니티에 맞지 않다. 그저, 지금까지 배웠던 내용들을 복습하고 조금 응용하는 것에 그치지 않았나 싶다. 프로젝트의 전체적인 틀을 다시 잡아야 할 것 같다. 이 웹 페이지를 이용하고자 하는 클라이언트들은 어떤 목적을 가지고 이용하도록 설계해야겠는지 생각을 해보니, 마땅한 원두 추천 사이트가 없다는 점이 떠올랐다. 대표적으로 유명한 커피 포럼들이 몇 가지가 있다. 내가 아는 것은 블랙워터이슈, 홈바리스타클럽 이 두 커뮤니티가 떠오르는데, 스페셜티 시장이 점점 커지고, 나처럼 직접 집에서 브루잉을 하거나 가정용 머신을 가지고 에스프레소를 내려먹는 사람들이 점점 많아지는 것을 고려했을 때 이 두 커뮤니티가 물론 정보가 부족하진 않지만 아쉬운 점이 있다...
5. paging, search 추가, 하나의 테이블로 게시판 분리하여 기능 설계하기 paging과 search는 학원 수업때 배웠던 내용을 가지고 복습했던 것이기에 따로 포스팅하진 않겠다. (국비지원 43일차, 44일차 글 참고) paging 기능과 search 기능을 설계하면서 느꼈던 어려운 점은 검색을 원하는 컬럼을 선택하기 위해서 select 박스를 이용할 때, 클라이언트가 요청을 보내고 서버가 응답을 jsp를 보내주면 전에 선택했던 값을 선택하게 하는 방법을 연구해봐야겠다는 점이다. 파라미터는 전에 선택했던 값을 보내긴 하지만, select박스 자체 값은 자꾸 초기값으로 가있다. 우선 이 부분은 어차피 클라이언트 측에서 검색을 할 때, 자신이 원하는 조건을 선택하고 검색버튼을 클릭할 것이기 때문에 설계상 급하지는 않다고 판단하여 나중에 처리하기로 결정했다. 오늘 작업했던 것 중에..
4. 글작성자만 글을 수정하고 삭제할 수 있게 설정 글 수정하기 글 삭제하기 우선 JSP에 일차적으로 작성자와 로그인된 사용자의 닉네임이 맞는지 비교하여 맞다면 수정버튼과 삭제버튼이 보이도록 조치를 취하였다. 근데, 이게 GET방식이기 때문에, URL을 통해서도 삭제를 할 수가 있기 때문에 서버 내부에서도 검증 작업이 필요할 것 같다. @RequestMapping(value = "delete", method = RequestMethod.GET) public String delete(BoardDTO boardDTO, HttpSession session) throws Exception { RegisterDTO registerDTO = (RegisterDTO) session.getAttribute("member"); if (registerDTO == null ..
3. 게시판 Update 작업 시 작성자 이름 자동으로 넣기 전에는, 단지 폼태그 내에 글 제목과 글 내용을 입력받아서 DB에 Update하는 작업만을 했었다. 이번에는 내가 프로젝트를 설계할 때, 요구사항에 작성자명은 로그인 한 사용자의 닉네임을 넣기로 했기에 그렇게 작업을 해 보았다. 학원에서 알려주진 않았지만, 이 작업은 그래도 쉬웠다. 기존에 배웠던 Session 객체의 개념을 잘 이해하고 있다면 충분히 해결할 수 있었던 문제였던 것 같다. 우선, 쿼리문을 보자 INSERT INTO BOARD VALUES (BOARD_SEQ.NEXTVAL, #{title}, #{contents}, SYSDATE, #{writer}, 0, 2) 순서대로 NUM, TITLE, CONTENTS, REGDATE, WRITER, HIT, CATEGORY 이다. 우선 NUM은 PK라..
2. 회원명부 테이블 기능 설계 https://github.com/cares0/Coffee_Community/commits/add_REGISTER GitHub - cares0/Coffee_Community Contribute to cares0/Coffee_Community development by creating an account on GitHub. github.com 프로젝트를 새로 만들고, 스프링 초기 세팅도 하고, 마이바티스 연동도 하고, 테이블도 만들고, 처음부터 다시 해보니까 한번 해본 작업이었는데도 힘들었다.. 우선 아직까지는 배운 내용을 응용하는 작업까지 나가진 못했다. 다시 해보면서, 내가 부족했던 부분이나 이렇게 했을 때 어떤 예외가 발생했는지 알 수 있어서 좋았다. 우선 회원가입기능, 로그인기능, 마이페이지기능, ..
1. 최초 요구사항, 테이블 구성 이게 프로젝트가 맞는지도 모르겠는데, 일단 지금까지 배웠던 내용을 복습도 할 겸, 내가 직접 한번 서버를 만들어보고, 웹 페이지를 만들어 봐야겠다는 생각에 덜컥 시작하기로 했다. 정보처리기사 필기도 얼마 남지 않은 지금..... 이거 필기도 우선 따긴 해야 하는데.... 일단 아직까지는 엄청나게 많이 배우지는 못했기 때문에 프로젝트 기간은 학원 휴강일인 3/1일 까지 최대한 해보고, 나머지 못 한 것들은 정보처리기사 시험이 끝나면 마무리 작업을 하는 걸로.... 뭐, 그리고 나중에 이것저것 추가할 수도 있으니까! 우선 정말 간단하게 온라인 커피 커뮤니티 사이트를 구축하려고 한다. 커뮤니티 회원들끼리 커피를 센서리 하면서 느낀 의견들을 공유하는 것이다. 홈커핑을 하면서 어려운 점을 함께 해결하는 곳, 자유..