2022년 4월 12일(화)
[스파르타코딩클럽] Spring 심화반 - 1주차
◎ Spring 학습전략
-
Spring이 어려운 이유
- 약 20년간 진화한 프레임워크
- 개발 편의성 증대하는 방향으로 발전했지만, 원리 파악은 어려움
- 방대한 양의 관련 기능과 옵션
-
스프링 학습전략
- 작은 프로젝트로 시작해서 키워나가기
- 사용법을 익힌 후에 원리를 학습해나가기
- 필요한 주제부터 주제별 학습
◎ 현업 개발 Flow
- 요구사항 분석
- 기획자로부터 요구사항을 전달받음
- (학습시 생략) 기획자, 디자이너, 관계자와 협의
- 설계
- 프론트엔드 개발자와 협업을 위해 API 부터 설계
- DB 설계 → 4주차 학습
- 구현 (프로그래밍)
- 테스트
- UI 연동 없이 API 테스트
- UI 연동 후 통합 테스트
- 프론트엔드 개발자의 결과물 (HTML, CSS, JS 등) 을 받아서 연동 작업 (Integration)
- 웹 브라우져 통해 UI 연동 테스트
- 테스트 코드 작성방법 → 3주차 학습
- 유지보수
- (학습시 생략) 서비스 운영 중 문제 발생 시 코드 수정
예) 버그 발생, 서버/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이 대신 해준다.