。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

분류 전체보기 393

[BleuAuction 리팩토링] 12/13 (수) 종원's Service 코드 리뷰

계속 반복되는 코드를 메서드로 만들어바라 ! 하는 종원's 리뷰 이런 생각을 한 번,, 진짜 해봤는데 그냥 생각만 하고 넘어갔다. 바꾸니까 좋잖아 ,,!! 서비스를 두 개로 나누고 나서 아래와 같이 조언을 받았다. 그래서 고쳤더니;; 테스트 코드가 작동이 안 됐다. 아니 왜 안 되는거야 !!!!! 검색해보니까 주입이 어쩌고 저쩌고 하는데 이미 다 @를 달아놨는데 왜 ,,! 하고 생각해보니,,, 서비스를 두 개로 나누면서 서비스에서 서비스를 주입받는 것을 깨달았고 Mock 객체로 추가 해주니 정상 작동했다. 오늘의 발견 ^ㅡ^

앱서버 웹서버

요청자가 데이터를 가지고 있는 자(웹서버)에게 request(요청)를 함 요청자의 위치를 알려주는 ip주소를 보내야 하고 무엇을 필요로 하는지 알려주는 url(자원을 요청하는 주소)이 있어야 함. ex) http:~/a.html // http:~/b.avi 응답자(웹서버)는 요청자의 ip주소를 토대로 response(응답)해줌. 웹서버는 주로 아파치를 사용하며 Static 자원(정적인 자원)을 지원함 JSP 혹은 자바코드를 요청하면 아파치는 자바코드를 이해하지 못 하기 때문에 톰켓 추가 톰켓이 JSP → 자바 → html 문서로 변환 → 아파치가 응답 아파치(Apache)는 웹 서버 소프트웨어 중 하나로, 가장 널리 사용되는 오픈 소스 웹 서버 중 하나입니다. Apache HTTP Server라고도 불리..

CS 2023.12.12

[BleuAuction 리팩토링] 12/11(월) 특이사항 없음

종원님을 기다린다는 핑계와 ,,, 약간의 무기력증 ,,, 등등 핑계를 만들어 업데이트가 없었다. 지난 주에 jsp공부한다고 바빴음. 다음 회의까지 해올 것은 서비스 나누기 isEmpty() 문자열(String) 객체에서 사용되는 메서드로, 이 메서드는 문자열이 null이거나 길이가 0인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다. Spring Data JPA에서는 JpaRepository 인터페이스를 사용하여 자동으로 CRUD(생성, 읽기, 갱신, 삭제) 기능을 구현할 수 있습니다. JpaRepository는 Spring Data JPA에서 제공하는 기본적인 리포지토리 인터페이스 중 하나입니다. import org.springframework.data.jpa.repository.Jp..

[Spring 입문] 5. 웹 MVC 개발/Thymeleaf

Thymeleaf를 사용하는 웹 페이지에서 XML 네임스페이스를 정의하는 부분 Thymeleaf는 서버 사이드 및 클라이언트 사이드 템플릿 엔진으로 사용되며, th:로 시작하는 속성을 사용하여 템플릿에서 서버 변수 및 표현식을 사용할 수 있음. 이렇게 정의된 네임스페이스는 Thymeleaf 속성을 사용할 때 사용. th:text="${pageTitle}"는 서버 변수 pageTitle의 값을 출력하는 Thymeleaf 속성 Default Title 회원 웹 기능 - 홈 화면 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.ann..

강의/Spring 2023.12.11

[Spring 입문] 4. 스프링 빈과 의존관계

스프링 빈(Spring Bean) 스프링 프레임워크에서 관리되는 객체 스프링은 객체 지향 프로그래밍의 장점을 활용하여 애플리케이션을 개발하는데, 이때 많은 객체들이 생성되고 관리되어야 합니다. 스프링 빈은 이러한 객체들을 스프링 컨테이너가 생성, 관리, 조립하여 제공하는 것입니다. 특징: 생성과 소멸의 관리: 스프링 컨테이너가 객체의 생성과 소멸을 담당하므로 개발자는 객체의 생명주기를 직접 다룰 필요가 없습니다. 의존성 주입(Dependency Injection): 스프링은 빈을 생성하고 조립할 때 의존성 주입(DI)을 통해 필요한 의존 객체들을 자동으로 주입합니다. 이로써 객체 간의 결합도가 낮아지며 유지보수와 테스트 용이성이 향상됩니다. 스코프 관리: 스프링은 빈의 스코프를 관리하며, 싱글톤, 프로토..

강의/Spring 2023.12.11

[Spring 입문] 3. 회원 도메인 개발

일반적인 웹 어플리케이션 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 회원 객체 public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 회원 ..

강의/Spring 2023.12.11

[JSP 게시판 만들기] 14. 웹 사이트 메인 페이지 디자인

jumbotron 폰트꾸미기 캐러셀 만들기 폰트꾸미기 위한 css 파일 생성 @import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css); @import url(http://fonts.googleapis.com/earlyaccess/hanna.css); * { font-family : 'Nanum Gothic'; } h1 { font-family : 'Hanna'; } main 페이지 웹사이트 소개 이 웹사이트는 부트스트랩으로 만든 JSP 웹 사이트입니다. 최소한의 간단한 로직만을 이용해서 개발했습니다. 디자인 템플릿으로는 부트스트랩을 사용했습니다. 포트폴리오 전체보기 캐러셀 만들기!

[JSP 게시판 만들기] 13. 게시글 수정 및 삭제 기능 구현하기

onclick BbsDAO 에 update 메서드 추가 post method 설정 및 기존 글 내용 출력되게 표시 게시판 글수정 양식 넘어온 BbsTitle과 BbsContent 값이 null이거나 빈문자열인 경우 체크 if (request.getParameter("bbsTitle") == null || request.getParameter("bbsContent") == null || request.getParameter("bbsTitle").equals("") || request.getParameter("bbsContent").equals("")) { update 메서드 실행 BbsDAO BbsDAO = new BbsDAO(); int result = BbsDAO.update(bbsID, request..

[JSP 게시판 만들기] 12. 게시판 보기 기능 구현하기

는 JSP(JavaServer Pages)에서 사용되는 스크립트릿(scriptlet) 태그입니다. 이 태그 안에 포함된 코드는 JSP 페이지를 서블릿으로 변환할 때 자바 코드로 처리됩니다. 는 표현식(expression) 태그로, 그 안에 있는 값이 출력됩니다. 로그인 유저와 글쓴이가 같으면 수정&삭제 버튼 띄우기 수정 삭제 글 목록에서 게시글 제목 선택해서 들어가서 글 보기 게시글 번호에 맞는 내용 출력하기 위한 메서드 생성 public Bbs getBbs(int bbsID) { String SQL = "SELECT * FROM BBS WHERE bbsID=?"; try { PreparedStatement pstmt = conn.prepareStatement(SQL); pstmt.setInt(1, bb..

[JSP 게시판 만들기] 11. 게시판 글 목록 기능 구현하기

게시글 리스트 만들기 getNext()는 다음에 쓰여질 게시글 번호이기 때문에 -1 Limit 10을 주었기 때문에 한 페이지에는 게시글 10개가 담김. 따라서 가장 최신의 게시물부터 10번째 이전의 게시물까지 가져옴 public ArrayList getList(int pageNumber) { String SQL = "SELECT BBS WHERE bbsID < ? AND bbsAvailable = 1 ORDER BY bbsID DESC LIMIT 10"; ArrayList list = new ArrayList(); try { PreparedStatement pstmt = conn.prepareStatement(SQL); pstmt.setInt(1, getNext() - (pageNumber - 1) *..