Spring 심화반 - 개요

귀찮Lee·2022년 4월 12일
0

2022년 4월 12일(화)
[스파르타코딩클럽] Spring 심화반 - 1주차

◎ Spring 학습전략

  • Spring이 어려운 이유

    • 약 20년간 진화한 프레임워크
    • 개발 편의성 증대하는 방향으로 발전했지만, 원리 파악은 어려움
    • 방대한 양의 관련 기능과 옵션
  • 스프링 학습전략

    • 작은 프로젝트로 시작해서 키워나가기
    • 사용법을 익힌 후에 원리를 학습해나가기
    • 필요한 주제부터 주제별 학습

◎ 현업 개발 Flow

  1. 요구사항 분석
    • 기획자로부터 요구사항을 전달받음
    • (학습시 생략) 기획자, 디자이너, 관계자와 협의
  2. 설계
    • 프론트엔드 개발자와 협업을 위해 API 부터 설계
    • DB 설계 → 4주차 학습
  3. 구현 (프로그래밍)
    • 스프링을 사용해 서버 구현
  4. 테스트
    • UI 연동 없이 API 테스트
      • Advanced REST Client 사용
    • UI 연동 후 통합 테스트
      • 프론트엔드 개발자의 결과물 (HTML, CSS, JS 등) 을 받아서 연동 작업 (Integration)
      • 웹 브라우져 통해 UI 연동 테스트
    • 테스트 코드 작성방법 → 3주차 학습
  5. 유지보수
    • (학습시 생략) 서비스 운영 중 문제 발생 시 코드 수정
      예) 버그 발생, 서버/DB 성능 이슈 등
    • 새로운 기능 추가 → 5주차 학습

◎ 스프링 프로젝트 준비하기

  • 해당 velog 참고
    • 동적 (dynamic) 웹 페이지 사용시: 'Thymeleaf' 사용
      (최근에는 정적 웹페이지에서 api 통신을 함)
      (React는 html은 하나이고, 바뀌는 요소들만 파악해 해당 부분 데이터만 바꿔줌)

◎ 스프링 프레임워크 이해

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
출처 : 스프링 공식 홈페이지

  • 스프링 프레임워크
    • Enterprise applications 개발 편의성 제공
    • 기업용 애플리케이션의 요구사항 해결에 초점을 맞춘 프레임워크
    • 기업용 애플리케이션 특징
      • 신뢰성이 중요
      • 서버의 안정성 유지 중요
      • 데이터 관리가 중요 / 막대한 양, 여러 사용자 동시 접속

A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

  • 스프링의 핵심요소

    • 서버 개발자들이 API 통신, DB와의 통신(SQL) 등 여러가지 신경써야 할 부분이 많다.
    • 따라서 서버에서 다루는 비즈니스 로직 (business logic)에만 집중 할 수 있도록 반복되고, 실수가 많은 부분은 Spring이 대신 해준다.
profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글