일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- FLAB
- F-Lab
- redis
- 부트캠프
- 자바백엔드
- MySQL
- 자바
- Flutter
- 코딩테스트
- EC2
- 후기
- error
- java
- 도커
- Spring
- 백엔드
- 에프랩
- nGrinder
- AWS
- 멘토링
- 플러터
- backend
- 데이터구조
- 레디스
- 로드밸런서
- grafana
- 알고리즘
- 성능테스트
- 트러블슈팅
- github
- Today
- Total
목록전체 글 (132)
민스씨의 일취일장
Java Spring의 DispatcherServlet에 대해서 알게된 모든 내용과 고민들을 시간 순으로 기록하는 페이지이다. 2023년 1월 16일 Dispatch, Dispatcher 영어 단어 뜻부터 살펴보려고 한다. 네이버 영어사전에 의하면 dispatch와 dispatcher의 뜻은 다음과 같다. dispatch | 보내다 처리하다 dispatcher | 배치 담당자 단어들의 의미로 볼때 DispatcherServlet은 어떤가를 배치하는 업무를 담당한다는 느낌이 온다. Servlet에서 DispatcherServlet 기존에 Java에서는 각가의 서블릿이 입력, 처리, 출력이라는 일련의 과정을 각각 수행했다. 이를 Spring으로 발전시키면서 MVC 패턴을 도입했고 입력부분은 Dispatche..
Java Spring의 DAO에 대해 알게된 모든 내용과 고민들을 시간순으로 기록하는 페이지이다. DAO란? Data Access Object의 줄임말로 데이터에 접근하는 객체를 말한다. Controller 객체에서 DB에 접근할 때 DAO를 거친다. 이를 통해서 Controller 별로 같은 기능을 반복적으로 구현해야 하는 번거로움을 줄일 수 있을 뿐만 아니라 DB를 변경시에도 수정 포인트를 DAO로 옮겨와 OOD에 적합한 구현을 돕는다. DB의 테이블 당 하나씩 존재한다. DAO 구현 DAO를 구현할 때 DAO를 인터페이스 객체로 만들고 구현체는 DaoImpliment라는 이름으로 구현한다.
DAO 적용 후 아래와 같은 오류가 발생 이슈 : 에러 메시지 ERROR: org.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@561b6512] to prepare test instance [com.---.UserDaoImplTest@751e664e] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name..
Java Spring의 TDD에 대해서 알게 된 모든 내용과 고민들을 시간순으로 기록하는 페이지이다. 2023년 1월 13일 TDD TDD란 Test Driven Development의 약자이다. 작은 단위로 각각의 기능에 대한 테스트 코드를 작성해 가며 개발하는 방식이다. 이를 통해 실제 코드를 돌려보는 테스트를 줄일 수 있고 발생한 문제를 빠르게 찾는데 도움을 줄 수 있다. DB에 TDD 적용하기 클래스 전체에서 사용하는 인스턴스 객체를 테스트 Annotaion (@Test)가 붙은 메서드들이 공유하지 않는다. 테스트 메서드들은 서로 독립적이어야 하고 몇번을 수행해도 성공해야 한다. Delete All 테스트를 매번 시행 함에 있어서 기존의 데이터가 테스트에 영향을 주지 않도록 하기 위해 데이터를 모..
Java Spring으로 DB를 다루는 방법에 대해서 알게된 모든 내용과 고민들을 시간순으로 기록하는 페이지이다. Java를 이용해서 DB 연결하기 사용한 DB : MySQL JDBC API를 사용한다. DriverManager 객체를 사용한다. 데이터를 테이블로 읽어와서 한줄 (row) 단위로 읽으면서 사용한다. Spring을 이용해서 DB 연결하기 사용한 DB : MySQL Spring JDBC API를 사용한다. DriverManagerDataSource 객체를 사용한다. root-context.xml에 Bean으로 연결 정보를 저장해서 연결을 단순화 하고 향후 수정해야 할 곳을 한곳으로 모을 수 있다. Bean 위에서 [host], [DB-NAME], [Registered-DB-ID], [Regi..
Java Srping의 Exception 처리에 대해 알게 된 내용들을 시간순으로 정리하는 글이다. 2023년 1월 12일 Exception Exception이 발생한다 throw new Exception("예외 발생"); Exception을 처리한다 try { throw new Exception("예외 발생"): } catch (Exception e) { return "error"; // error.jsp 또는 error.html을 보여준다. } Class 내에 Exception 처리 Method를 만든다 @ExceptionHandler(Exeption.class) public String catcher(Exception e){ return "error"; } // try-catch문에서 catch 부..
Java Spring의 쿠키와 세션에 대한 공부를 하면서 알게 된 내용을 시간 순으로 기록하고 있다. 쿠키와 세션은 Java Spring에서만 사용되는 개념은 아니기 때문에 몇몇 특정 Spring 코드 외에는 범용적으로 이해할 수 있는 내용일 것이라고 생각한다. 쿠키와 세션 2023년 1월 11일 쿠키란? 쿠키는 브라우저에서 생성하는 데이터 모음이다. 데이터는 배열과 같이 키(key)와 값(value) 한 쌍으로 저장되고 여러 쌍이 저장될 수 있다. 특징 아스키문자만 담을 수 있다. 따라서 한글과 같은 문자는 Encode 해줘야 한다. 서버에 요청을 보낼 때 Request Header에 cookie 라는 항목으로 전달된다. 쿠키 다루기 생성 Cookie cookie = new Cookie("key", "..
Java Spring의 Application 내의 데이터 저장소에 대해 알게된 것들을 시간순으로 기록한 글이다. 2023년 1월 10일 Application의 저장소 : 내장객체 (Implicit Objects) HTTP의 특징 중 하나는 상태정보를 저장하지 않는 것이다. 하지만 특정 정보들은 웹 애플리케이션을 이용하는 동안 지속적으로 또는 특정시간동안 필요해서 저장해 둬야할 필요가 있다. 이 때 사용할 수 있는 저장소들이 있다. 이들은 접근범위와 생존기간(Scope)에 따라서 4가지로 분류할 수 있다. 저장소 접근범위 특징 PageContext JSP페이지 내부에서만 접근 가능하다. 요청할 때 마다 초기화된다. lv로 저장해 놓은 데이터는 EL( ${} )을 이용해 사용할 수 있다. Applicatio..
Java Spring의 JSP와 Servlet에 대해 공부한 내용을 시간순으로 기록하고 있다. 2022년 1월 10일 Servlet JSP와 Servlet은 거의 같은 존재이다. 이 Servlet을 발전시킨 것이 Spring이다. @WebServlet = @Controller + @RequestMapping JSP (Java Server Pages) HTML에 작성한 Java 코드를 작성한 것이다. 를 사용해 HTML 코드와 구별된다. 를 사용해 로컬변수(local variable)을 호출할 수 있다. JSP는 요청 시 WebServlet 객체로 변환된다. 이렇게 요청 시에 변환 및 초기화 되는 것을 lazy-init이라고 부른다. (cf. 스프링은 객체를 생성 초기화 해놓고 요청을 기다리는데 이를 ea..