[우리FISA] 클라우드 서비스 개발 10주차 회고 📑
1. 이번 주 학습 내용 📖
JSP
JSP는 Java Server Page의 약자이다.
java에서 html을 작성했던 Servlet과는 반대로 html에서 java코드를 작성한다.
서블릿 방식에서는 먼저 HttpServlet을 상속받아 HTTP 요청을 처리할 수 있는 서블릿을 정의한다.
그리고 메소드 내에서는 클라이언트로부터 받은 요청을 처리하고 그 결과를 HTML 형태로 만들어 응답한다.
이때 HTML 코드를 직접 작성하여 동적으로 웹 페이지를 생성하는 것이다.
JSP를 적용시키면 서블릿에서 데이터를 JSP 페이지로 전달하고, JSP에서는 이 데이터를 사용해 HTML을 동적으로 생성하는 방식이다.
즉, 로직 구현은 서블릿 클래스에서, html코드는 jsp에서 수행한다.
이렇게 서블릿과 JSP를 함께 사용하면 로직 처리와 화면 출력을 분리할 수 있어 유지보수가 용이하다는 장점이 있다.
MVC 패턴
위에서 말한 JSP방식처럼 서로 다른 역할을 담당하는 로직을 역할 및 용도에 따라 분리하는 것이 MVC패턴의 핵심이다.
MVC는 Model, View, Controller의 약자이다.
Controller : HTTP 요청 받아서 파라미터 검증, 비즈니스 로직 수행
Model : 뷰에 출력할 데이터 보관
View : 모델에 담겨있는 데이터를 사용해서 화면에 렌더링(HTML 생성)
JPA
JPA는 Java Persistence API의 약자로, 객체와 관계형 데이터베이스의 데이터 매핑을 의미하는 ORM(Object-Relational Mapping)방법론을 수행한다.
기존의 개발 방식은 SQL 중심적이었다면 JPA를 사용하면 객체 중심으로 애플리케이션 개발이 가능하기 때문에 생산성이 좋아진다.
JDBC 방식의 경우 SQL 쿼리문을 직접 작성해야 데이터베이스에 접근할 수 있었지만 JPA는 별도의 SQL문 작성 없이 Java 코드만으로 접근이 가능하기 때문이다.
다음과 같은 간단한 메서드를 통해 CRUD가 가능하다.
저장 : jpa.persist(member)
조회 : Member member = jpa.find(memberId)
수정 : member.setName(”변경할 이름”)
삭제 : jpa.remove(member)
영속성 컨텍스트
영속성 컨텍스트는 애플리케이션과 데이터베이스 사이에서 데이터를 임의로 캐시할 수 있는 가상의 데이터베이스라고 볼 수 있다.
엔티티 매니저를 통해 영속성 컨텍스트에 엔티티를 보관하고 관리한다.
먼저 persist() 로 엔티티를 영속성 컨텍스트에 저장한다.
그리고 commit() 로 영속성 컨텍스트에 있는 엔티티를 DB에 저장한다.
commit() 수행 직전에 flush()가 호출되는데 flush()는 영속성 컨텍스트의 캐시에 보관되어있는 엔티티 참조 정보와 DB 내 레코드를 비교한 후 동기화(Synchronize)를 수행한다.
2. 1기 선배와의 커피챗 👩🧑
수요일 저녁, 우리FISA 클라우드 서비스 개발반 1기를 수료하신 선배님들과의 커피챗 시간이 있었다.
저녁시간에 진행되다 보니 샌드위치와 음료도 운영진분들께서 준비해주셨다. 😀
약 1시간 30분간 진행됐고 교육생들의 많은 질문에 대해 답변해주시고 취업 스토리와 팁도 알려주셨다.
선배님 두 분은 교육 과정 마지막에 진행되는 최종 프로젝트 때 같은 팀이셨고, 현재 회사도 같은 곳에 다니고 계셨다.
두 분 모두 교육 과정에 성실히 참여할 뿐만 아니라 따로 금융 자격증 준비와 알고리즘 공부도 병행하셨다고 했다.
꾸준히 알고리즘, CS, NCS 공부를 하는 것이 필요하다는 조언을 듣고 알고리즘, CS 스터디에 이어 NCS 스터디도 추가하게 되었다. 😂
2기 선배와의 커피챗에는 내가 오는 날을 상상하며 앞으로도 파이팅💪💪
3. KPT 🧐
Keep
1. 과자 섭취 줄임
2. 졸음 방지를 위해 스탠딩 책상에서 수업 들음
3. 회고를 통해 복습 함
4. 백준 잔디 잘 채우고 있음
Problem
1. 알고리즘 공부에 다소 소홀함
2. 이해 안가는 부분 그냥 넘어감
3. 오픽 공부에 소홀함
Try
1. 코드 복붙하지 말고 내 머리에서 꺼내는 연습하기
2. 이해안가는 부분이 생기면 그때 그때 적극적으로 질문하며 해결하기
3. 자기 전 오픽 공부하기