풀잎스쿨 5주차 리뷰

Jake·2022년 10월 19일
0

풀잎스쿨

목록 보기
5/6
post-thumbnail

10/11

이번 발표는 5주차 였으며 나와 jh님이 게시판 만들기 프로젝트를 하며 원하는 주제에 대해 발표 시간을 가졌다.

풀잎스쿨이란 ?
Flipped school
Flipped learning 방식으로 함께 공부하며 성장하는 스터디 모임이에요. (기수제 I 8주 또는 11주)

발표자료는 노션을 참고해보자

스터디 참고 자료는 박응용님의 점프 투 스프링 부트, 토비의 스프링, 스프링 입문을 위한 자바 객체 지향의 원리와 이해를 활용하였다

목차는 아래와 같았다.

  • JDBC
  • JPA
    • ORM
    • JPA
    • Entity
      • 엔티티의 분류
      • 속성(Attibute)
  • 컨트롤러

이번주의 나의 발표내용은 '백엔드에서 데이터베이스를 어떻게 처리하는가?' 를 이해하기였다.


JPA, Entity, Controller 를 아래와 같이 요약해보았다.

JPA

Java persistance api의 약자로 영속성(persistence)관리와 O/R 매핑(ORM - Object객체와 Relational data 관계형 데이터를 매핑하기위한 기술)을 위한 표준 명세(약속?)입니다.
자바에서 데이터를 영구히 기록할 수 있는 DBMS 환경을 제공하는 API 입니다.

Entity

  • 서로 연관된 데이터의 집합을 의미합니다. (테이블과는 조금 다른 개념임)
  • 저장되고, 관리가 되어야하는 데이터 입니다.
  • 개념, 장소, 사건등을 의미합니다.
  • 유형, 무형의 대상을 의미합니다.

컨트롤러

컨트롤러란 서버의 첫 진입점이며 사용자의 요청을 받아 처리를 결정한 후 지정된 뷰에 모델 객체를 넘겨주는 역할을 합니다.

그렇다면 왜 컨트롤러 개념을 사용할까 ?


만약 대규모 서비스를 구현한다면 A서비스, B서비스, C서비스 등등 있다고 하겠습니다. 그러면 이 많은 종류의 서비스를 한 클래스를 만들어서 꽉꽉 몰아 처리할 게 아니라 Controller라는 중간 제어자를 만들어서 A서비스에 대한것은 A-Controller가 맡고 B서비스는 B-Controller 이런식으로 역할에 따라 설계를 하고 코딩을하면 개발비용이나 유지보수비용이 대폭 줄어들기 때문에 Controller를 사용한다고 합니다


jh 님의 발표자료도 좋았지만 유료강의 자료를 기반으로 알려주셔서 해당 자료를 공유하기가 어렵다고 하셨다.

대략적인 내용은 아래와 같다

  • 스프링 컨테이너와 스프링 빈 생성 및 소멸 사이클(DI, IoC, BeanFactory, ApplicationContext)
  • 객체 지향 특징 중 다형성(역할과 구현 분리)
  • 객체지향 SOLID 원칙

여기서 내가 미리 SOLID원칙에 대해 생각해본 점을 적어보았다.

SOLID는 객체 지향을 올바르게 프로그램에 녹여내기 위한 원칙이다. SOLID는 갑자기 하늘에서 떨어진 것이 아니라 객체 지향 4대 특성(캡상추다)를 제대로 활용한 결과로 당연히 나타나는 것이다.(실제로 원칙들이 연관관계가 있는 것 같다 ..!)

0개의 댓글