목록Projects (20)
Programing_Java
1. 구현이 안된부분들이 있다고 밝혔는데 그럼 이게 왜 구현이 안된건지? 언급하고, 마무리를 어찌할것인지까지 pt하면 좋겠습니다.A : 그 부분에 대해서 소홀했던거같습니다. 프로젝트 완성의 기준에 있어 우선순위가 밀려 구현하지 못했습니다. 마무리를 어떻게 할 것인지 ppt에 언급한만큼 최종 프로젝트에는 구현하겠습니다. → 프로젝트의 구동이 가장 우선 시 되어 기존 설계한 내용을 완성시키고자, 추가 API 등 부가적인 기능에 대해 구현 못한 부분2. 4명 프로젝트맞나요? 소개페이지보다 발표자가 많아보여서요A : 총 4명으로 진행된 프로젝트이며, 발표의 순서상 부득이하게 정리되지 않았습니다. → 여러명이 일정한 루틴이 아닌 플랫폼의 흐름상으로 발표 순서를 정했으나, 혼선 야기3. 요즘 이런 웹은 모바일접속이..
❎ Canva로 팀원 공동 작업을 하였지만, 템플릿 변경으로 인해 MacBook에서 작업함❎ 공동 작업이 불가능 하고, Keynote 파일을 윈도우로 .pptx로 내보낸다고 하더라도 온전한 파일이 가지 않는 현상 발생(글자 깨짐 등) ✅ 최종 프로젝트 발표 시 Canva, 미리캔버스 등 공동 작업이 가능한 공간에서 템플릿 선정 신중하게 한 후, 공동작업하여 PPT 제작에 시간 낭비 하지 않기✅ 포트폴리오에 사용할 캡쳐 이미지 선명하게 생성하기 ❗️ 발표에 사용할 PPT PDF 파일 첨부❗️ 최종 프로젝트 발표에선 코드와 PPT 모두 더 개선 시키기
✔ 문제 상황장바구니 시스템을 구현하면서 다양한 상품(Book, Electronics 등)을 하나의 리스트에 담아 처리해야 했음처음엔 아래처럼 instanceof로 타입을 구분해서 처리for (Object item : cart) { if (item instanceof Book) { // Book 관련 로직 } else if (item instanceof Electronics) { // Electronics 관련 로직 }} 동작은 하지만 타입마다 분기문이 늘어나고, 새로운 상품 타입이 추가될수록 if-else나 switch가 계속 복잡해짐 ✔ 개선 방향 : HashMap을 활용한 구조로 전환다형성과 자료구조를 활용해서 HashMap 형태로 리팩토링Map cartMa..
☑️ 문제점• 웹 애플리케이션 개발 도중 서블릿을 수정한 후에도 브라우저에서 여전히 이전 버전의 서블릿이 실행되는 문제가 발생→ 톰캣 서버를 사용하는 경우 캐시 문제로 인해 이러한 현상이 자주 등장☑️ 상황톰캣 서버를 실행하면서 서블릿 파일을 수정했지만, 브라우저에서 요청을 보낼 때 여전히 수정 전의 서블릿이 실행되는 현상 발생코드를 변경하고 서버를 재시작해도 반영되지 않음☑️ 원인브라우저의 캐시 때문일 가능성이 큼→ 브라우저는 요청한 URL에 대해 캐시를 저장, 동일한 요청이 들어오면 서버가 아닌 브라우저 내부의 캐시된 데이터를 반환하는 경우가 있음→ 서블릿 파일을 수정해도 브라우저에서 이전 데이터를 불러오는 현상 발생✅ 해결 방법 1️⃣브라우저 캐시 삭제• 브라우저의 방문 기록을 삭제2️⃣ 개발자 도..
🛠 서블릿을 이용한 비동기 게시판 정렬 기능 구현정렬하는 기능을 구현할 때, 페이지를 새로고침하지 않고 비동기(Async) 방식으로 데이터를 가져오는 것이 일반적BoardComboOrderServlet을 이용, 게시글 데이터를 JSON 형식으로 클라이언트에 반환,최신순, 오래된순, 인기순 정렬 및 페이지네이션 처리 🚀 주요 기능✅ 비동기 요청 처리 (AJAX와 함께 동작)✅ 게시판 데이터 정렬 (최신순, 오래된순, 인기순)✅ 페이지네이션 기능 구현 (더보기 방식으로 데이터 로드)✅ JSON 형식으로 데이터 응답 (View에서 쉽게 처리 가능) 📌 코드 분석 – 핵심 로직 설명1️⃣ View에서 정렬 조건과 페이징 정보 전달View는 AJAX 요청을 통해 정렬 조건과 페이지 정보를 서버로 전달 → 서..
☑️ 기존 문제점 : 불필요한 중복 조건 처리• 기존 코드 : 두 가지 조건을 동시에 검사 → 맞다면 SQL 조건을 설정하는 방법• 카테고리 조건과 정렬 조건이 반복적으로 사용되면서 코드 중복이 많아지고 유지보수성이 떨어지는 문제→ 아래 코드 블록과 같이 동일한 정렬 조건을 나열함if ("ORDERPOPULAR".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUProductCategory)) { productSingleDTO.setCondition("SELECTALL_3"); } else if ("ORDERHIGHPRICES".equals(CUProductOrderCondition) && "ALLPRODUCT".equals(CUPr..
1️⃣ 기존 방식 : 개별 상품과 조합 상품을 따로 관리• 기존 ProductSingle과 ProductCombo를 장바구니에 추가하는 각각의 서블릿을 만듬• /AddCartSingleProductServlet → 개별 상품 추가• /AddCartComboProductServlet → 조합 상품 추가: 처음 구현 시 직관적이었지만, 두개의 서블릿이 동일한 기능을 수행하며 코드의 중복을 확인 및 유지보수가 어려움 2️⃣ 하나의 서블릿에서 통합 관리• ProductSingle과 ProductCombo를 하나의 서블릿에서 처리하도록 개선• isComboProduct 파라미터를 활용하여 상품 유형을 먼저 판별 후 → 동일한 로직으로 장바구니에 추가하는 방식@WebServlet("/AddCartProductSer..
✅ 마이 페이지 구현: 사용자가 자신의 개인 정보, 주문 내역, 게시판 활동을 한곳에서 확인할 수 있도록 함: 사용자 경험을 개선: 개인화된 서비스 제공 1️⃣ 회원 정보 조회• 자신의 개인 정보를 확인 가능• 세션을 사용하여 사용자 정보를 저장하고, 이후 페이지에서 해당 정보를 쉽게 접근할 수 있도록 함• 아이디, 이름, 생년월일, 이메일, 전화번호, 주소 등 기본적인 정보를 세션에 저장// 회원 정보 세션에 저장memberDTO.setMember_Number(memberNumber); memberDTO = memberDAO.selectOne(memberDTO); session.setAttribute("memberId", memberDTO.getMember_Id()); session.setAt..