[Spring] 입문

조성현·2022년 12월 5일
0

스프링에 입문하는 모든 분들께 한 말씀 올리고 시작해봅니다.
Intellij Community Edition(이하 CE)로 하려 하지 마십쇼... 제발 얼티밋 써주세요. 제발요
제발 윈도우말고 맥북으로 해주십쇼... 제발요


1. 호기롭게 Intellij CE로 스프링 입문하려다 머리 깨진 썰

(부제) Spring Initializr에서 Generate하면 다 될 줄 알았습니다.

현실은... 하나부터 열까지 막힘의 연속이었다.
튜터님께 전수받은 꿀팁을 정리해보려 한다.

1. 그냥 맥북쓰세요
2. Intellij Ultimate 쓰세요 (알고보니 CE에는 Database tool이 없었다는 사실)
--- (물론 방법이 있긴 한 것 같습니다. (링크) )
3. 알집말고 반디집 쓰세요
4. Intellij에서 폴더를 열 때는 필요한 폴더를 정확히 선택해서 open하세요.
--- (필요한 폴더만 있어야 build할 때 꼬일 일이 없습니다.)


2. 스프링 입문을 위한 기초학습과정

1) 웹 동작방식에 대해 살펴보았다.

  • IP/DNS/HTTP/RESTfulAPI/ 고객의 요청이 서버까지 오는 과정 등

2) SpringBoot 및 서버에 대해 배워보았다.

3) Database 와 SQL에 대한 기초지식을 습득했다.

  • TCPschool - mySQL
  • Database는 데이터를 많이 넣기 위해가 아닌, 잘 꺼내 쓰기 위해서 사용하는 것이다.
  • 간단한 SQL 실습을 통해 SQL의 느낌정도를 맛봤다. (추후에 개인적으로 공부를 더 해야겠다.)

4) JPA 기초에 대해 배웠다.

  • 어플리케이션이 데이터베이스를 직접 다룰 때의 문제점에 대해 살펴본 뒤,
  • ORM, JPA이 도입되게 된 이유(기능들)와 그럼에도 SQL을 공부해야되는 이유에 대해 알아보았다.
  • 이론적인 배움 이후에 클론코딩을 진행하며 JPA에 대한 경험적인 배움을 얻었다.

    Github - Jpa기초 Repository 링크
    Github - MemoService Repository 링크


3. 본격적으로 JPA와 Spring의 맛을 보자..!

개인적으로 스파르타 내일배움캠프의 강의 스타일이 나에게 맞는 것 같다.

  • 간단한 개념정리 > 클론코딩 > 과제 or 프로젝트로 경험해보기
  • 일단 쓰는 법을 배우고, 써본 뒤에 잘 쓰는 방법에 대해 배우는 방식.

JPA에 대한 첫인상은 왠지 '레고 조립'같다는 느낌을 받았다.

  • 이미 완성되어 있는 것들을 적재적소에 잘 배치하는 방식 - 내가 좋아하는 남의 코드 응용하기 재질이라 뭔가 마음에 든다..!
  • 바로 이어지는 개인 과제( "스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기")도 잘 해봐야겠다!

    스프링 입문 개인과제 [게시물 링크]


참고문헌

읽어보면 좋은 자료들

RESTful API란 무엇인가? - AWS

계층화 아키텍처 (Layered Architecture) - 향로(jojoldu)

[ Database ] ER 다이어그램 / ERD 기호 및 표기법

TCPschool - mySQL

Spring 세팅관련

Spring Initializr 링크

Spring Initializr로 스프링프로젝트 hello world 시작하기

스프링 부트 프로젝트 만들기 - Spring Initializr 웹 도구 사용

[SpringBoot] H2 연동


profile
맛있는 음식과 여행을 좋아하는 당당한 뚱땡이

0개의 댓글