동석쿠
프로그래밍 공부
동석쿠
전체 방문자
오늘
어제
  • 공부 (80)
    • 공부기록 (64)
      • 웹개발 (6)
      • Java (7)
      • cs 공부 (3)
      • http 웹 기본 지식 (8)
      • 자바 스프링 (20)
      • 개인 미니프로젝트 (3)
      • 알고리즘 공부 (6)
      • 면접준비 (2)
      • 프론트공부 (8)
      • 파이썬 플라스크 (1)
    • 항해99 기록 (14)
      • 회고록 (10)
      • 팀프로젝트 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 문법
  • 프로그래머스
  • 리프레시토큰
  • 리스트
  • 상속
  • 알고리즘
  • 스프링부트
  • 자바스크립트
  • Java
  • 파이썬
  • API
  • Post
  • Get
  • 항해99
  • 리액트
  • 자바
  • 리프레쉬토큰
  • JPA
  • lombok
  • 스프링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
동석쿠
공부기록/자바 스프링

3-0. 키워드

3-0. 키워드
공부기록/자바 스프링

3-0. 키워드

2022. 1. 24. 15:42

3계층 숙달, API handling

기본기란 익히면 익힐수록 흘러가는 것이 아니라 누적되고, 다른 기술을 익히기 쉽도록 도와주는 것.

그런 의미에서 3계층(Controller, Service, Repository) 숙달과 API handling은 무엇보다 중요한 기본기라고 할 수 있는데

  1. 3계층 숙달
    • 스프링, 아니 개발의 핵심 중 하나가 분업과 느슨한 결합이다. 각자가 맡은 바 책임을 다하면 기능이 온전히 작동하고, 느슨히 결합함으로써 유연성과 확장성을 가지기 때문.
    • 3계층은 분업과 느슨한 결합의 대표적인 예시이자, 스프링이 돌아가게 만드는 척추.
    • 깊게 파자면 끝없는 이론이 있지만, 지금은 그것보다 우선 손에 익게 하는데 집중하기. 손에 익어서, "아 나도 웬만한 사이트는 노력하면 만들 수 있지!"라는 자신감을 가지는게 정말 중요하다.
  2. API handling
    • 혼자 하는 개발은 없다. 그리고 세상에는 다양한 API가 있다. API를 잘 다루면 재미있는 나만의 서비스를 더 많이, 더 빠르게 만들 수 있고 그럼으로써 개발자로 한 단계 성장할 수 있다.
    • 또한, 앞에서 말한 느슨한 결합의 대표적인 예시가 바로 API. 우리가 이용할 네이버 검색 API의 내부 로직이 어떻게 되든 상관없이, 우리는 정해진 약속대로 요구하면 정해진 결과를 받을 수 있다.
    • 한 마디로 API가 아무리 많아도 쓸 줄 모르면 무용지물. 그런데 JSON으로 주고받는 데이터를 어떻게 자바로 요청하고, 그 결과를 다룰 수 있는지 모르는 분들이 생각보다 많다. 이번에 그 기초를 확실하게 배워보자

 

프로젝트 모습과 기능

http://spring.spartacodingclub.kr/

  • 요구 기능
    • 상품명에 따른 검색
    • 관심 상품 등록 & 조회
    • 관심 상품에 대한 최저가 등록하기
  • 자바에서 API를 요청하고 그 결과를 어떻게 다룰 수 있을까?
    • 모든 코드를 이해하기보다, 요점을 정확히 파악하고 데이터를 주고받을 수만 있으면 된다.
    • ARC를 이용해서 네이버에 검색을 요청하고, 응답을 자바 코드로 변환한 뒤 DB에 저장해보자.
    • 더해서, 자동으로 정보를 수집하고 업데이트하는 스케줄러까지 만들어보자

Controller - Service - Repository 3계층 레이어, 손에 붙어야 한다

다시 한 번 리마인드 해보자

  • Controller 는 제일 바깥 쪽에서 요청을 받고, 응답을 되돌려주는 역할.
  • Service 는 중간에서 구체적인 작업 순서를 결정.
  • Repository 는 DB와 직접 소통함으로써 자료를 생성하고, 조회하고, 변경하고, 삭제.
  • 그리고 각 레이어 간에는 절대 Entity를 직접 사용하지 않고, DTO 라는 택배상자를 만들어 사용.

HTML과 CSS는 강의에서 제공하는 소스코드를 보고 만들 예정

 

'공부기록 > 자바 스프링' 카테고리의 다른 글

스프링 Controller의 역할  (0) 2022.01.27
3-1. 간단한 미니프로젝트 완성  (0) 2022.01.25
2-2. 클라이언트 설계  (0) 2022.01.24
2-1. 서버 설계 (API),(Repository),(Service),(Controller),  (0) 2022.01.23
2-0. 키워드  (0) 2022.01.22
    '공부기록/자바 스프링' 카테고리의 다른 글
    • 스프링 Controller의 역할
    • 3-1. 간단한 미니프로젝트 완성
    • 2-2. 클라이언트 설계
    • 2-1. 서버 설계 (API),(Repository),(Service),(Controller),
    동석쿠
    동석쿠

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.