들어가기 앞서
스터디 들으시느라 수고하셨습니다!
웹 개발에 익숙하지 않으신 분들이나, 아직 컴퓨터 네트워크를 수강하지 않은 1, 2학년 분들은 처음 들어보는 용어가 많이 쏟아져 나와서 놀라셨을 수도 있을 것 같아요
스터디에서 다룬 내용들은 외워야 하는 내용이 아니라, 개발하는 과정에서 자연스럽게 이해하고 사용하는 내용들이니 너무 부담갖지 않으셔도 괜찮습니다 :)
지금은 추상적인 이미지와 느낌만 이해하더라도, 프로젝트를 만들면서 프로그램이 어떻게 동작하는지 경험해보면 피부로 체감되면서 더 잘 이해되실 거에요!
이번 주에 스터디에서 다룬 핵심 키워드들을 나열하면 다음과 같습니다.
•
웹
•
클라이언트 - 서버
•
HTTP
•
프론트엔드 - 백엔드
•
API
WIL을 작성하실 때 이 키워드들을 위주로 간단하게 정리해보시면 좋을 것 같습니다 :)
추가로 오늘 진행했던 스터디 자료를 함께 첨부드립니다!
혹시 자료를 받지 못하신 분은 이 자료로 봐주시면 좋을 것 같습니다 :)
개발환경 준비하기
2주차부터 스프링 프레임워크를 사용하기 시작하기 때문에 미리 개발 환경을 준비해두어야 합니다.
다음 과정을 따라 개발 환경을 준비해주세요.
개발 환경 세팅은 처음하면 에러도 많이 발생하고 복잡해서 어려우실 수 있습니다.
환경 세팅하시면서 어려움이 있으시다면 GDSC 질문 채널, DM 등으로 편하게 문의 주세요 :)
1.
JDK 17 설치
tps://www.oracle.com/kr/java/technologies/downloads/#java17
자신의 운영체제에 맞춰 설치해주세요.
스터디는 JDK 17을 기준으로 진행됩니다.
참고하면 좋은 링크 : https://yungenie.tistory.com/11
2.
인텔리제이 설치
https://www.jetbrains.com/ko-kr/idea/download
대학생 인증을 하는 경우, 무료로 intellij ultimate 버전을 사용할 수 있습니다.
ultimate 버전을 사용하시면 새 프로젝트에서 바로 start.spring.io 의 기능을 편리하게 이용할 수 있고, 그 외 편의기능이 더 있으니 ultimate 버전 사용을 추천드립니다.
프로젝트 생성 과정은 커뮤니티 버전 기능을 기준으로 설명드릴게요.
(ultimiate로도 아래 과정을 똑같이 따라하실 수 있습니다.)
3.
왼쪽 영역에서 그림과 같이 세팅해주세요.
description은 자유롭게 입력해주셔도 괜찮습니다.
오른쪽 Dependencies 영역에서 외부 라이브러리(종속성)를 지정합니다.
그림에 보이는 Lombok, Spring Web 을 추가해주세요.
우측 상단에 보이는 ADD DEPENDENCIES 버튼을 클릭하신 후, 검색하시면 편하게 추가하실 수 있습니다!
페이지 하단의 GENERATE 버튼을 클릭하시면 프로젝트 압축 파일이 다운됩니다.
압축을 풀어주세요.
인텔리제이 IDE를 실행하시고, Open 버튼을 클릭하여 프로젝트를 열어주세요.
그림과 같이 todo-api 폴더 오른쪽 아래에 작은 네모 표시가 있으면, IntelliJ가 자바 프로젝트로 인식하였다는 뜻입니다. 이 폴더를 선택하거나, build.gradle을 선택하고 열어주세요.
build.gradle을 선택하신 경우, 이런 상태창이 뜬다면 Open as Project 를 선택해서 프로젝트로 열어주세요
오른쪽 아래의 Gradle 관련 상태 메세지가 있으면 외부 라이브러리를 다운 받고 설정하고 있다는 의미 입니다.
잠시 기다려주시면 설정이 끝나고 프로젝트를 실행할 수 있습니다.
인텔리제이에 롬복 관련 설정을 추가합니다.
참고하면 좋은 자료 : https://velog.io/@juhyeon1114/Lombok-롬복-사용하기
[파일] - [설정] - [플러그인] 에서 Lombok 을 검색하고, 플러그인을 설치합니다.
설정에서 빌드, 실행, 배포 - 컴파일러 - 어노테이션 프로세서 를 활성화합니다.
테스트 관련 빌드 설정을 추가합니다.
테스트를 실행하기 위해, 위 사진과 같이 다음을 사용하여 빌드 및 실행 란에 있는 부분을 gradle 대신 IntelliJ IDEA로 설정해줍니다.
다음을 사용하여 테스트 실행 도 마찬가지로 인텔리제이를 사용합니다.
이 설정을 안하면 나중에 테스트 코드를 실행할 때 에러가 발생할 수 있습니다!
src/main/java/com.example.todoapi 경로에 있는 TodoApiApplication.java 파일로 들어갑니다. (초기 세팅에 따라 com.example.todoapi 부분과 자바 파일 이름은 다를 수 있습니다.)
main 함수를 실행하여 스프링 어플리케이션을 실행합니다.
만약 모듈 SDK가 설정되지 않았다고 뜨는 경우, JDK 17을 선택해주세요.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.3.3)
2024-08-15T00:13:55.320+09:00 INFO 19380 --- [todo-api] [ main] com.example.todoapi.TodoApiApplication : Starting TodoApiApplication using Java 17.0.7 with PID 19380 (D:\Hongik Univ\GDSC\2024-2 초급 백엔드 스터디\todo-api\build\classes\java\main started by Everdu in D:\Hongik Univ\GDSC\2024-2 초급 백엔드 스터디\todo-api)
2024-08-15T00:13:55.322+09:00 INFO 19380 --- [todo-api] [ main] com.example.todoapi.TodoApiApplication : No active profile set, falling back to 1 default profile: "default"
2024-08-15T00:13:55.819+09:00 INFO 19380 --- [todo-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2024-08-15T00:13:55.827+09:00 INFO 19380 --- [todo-api] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2024-08-15T00:13:55.827+09:00 INFO 19380 --- [todo-api] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.26]
2024-08-15T00:13:55.865+09:00 INFO 19380 --- [todo-api] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2024-08-15T00:13:55.866+09:00 INFO 19380 --- [todo-api] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 519 ms
2024-08-15T00:13:56.082+09:00 INFO 19380 --- [todo-api] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2024-08-15T00:13:56.088+09:00 INFO 19380 --- [todo-api] [ main] com.example.todoapi.TodoApiApplication : Started TodoApiApplication in 0.999 seconds (process running for 1.456)
Shell
복사
이렇게 나오면 성공입니다. (Tomcat started on port 8080 메세지가 보여야 합니다)
위 사진과 같은 에러 페이지가 나오면 성공입니다.
과제
목표
•
API 명세서 작성하기
•
스프링 개발환경 준비하기
프로젝트를 시작하면 제일 먼저 무엇을 만들지 고민해야 합니다.
API 서버를 만드는 백엔드 개발자라면 무슨 API 를 만들지 고민해야겠죠?
PPT 에 나와있는 기능 명세를 보고, 어떤 API 가 필요할지 생각해 본 뒤, API 명세를 작성해봅시다.
제출해야 할 파일과 파일 경로
1.
week1/wil.md 에 다음 내용을 적어주세요.
•
1주차에 학습한 내용을 자유롭게 정리합니다.
•
todomate 프로젝트의 기능 명세를 보고, API 명세서를 작성합니다.
•
스프링 개발 환경을 준비하고 자바 어플리케이션을 실행합니다.
웹 브라우저에 localhost:8080 경로로 접속했을 때 나오는 흰색 에러 화면을 첨부해주세요.
wil 에 첨부한 이미지 파일을 함께 제출하는 경우, week1 폴더 안에 첨부해주세요.
2.
생성한 프로젝트 소스코드를 깃허브에 올려서 함께 제출해주세요.
이 프로젝트에 다음 주부터 스터디 끝까지 코드를 이어 작성할 예정입니다.
따라서 프로젝트는 week1 폴더에 넣지 않으셔도 괜찮습니다.
과제 예시는 마크다운 문법 활용, 폴더 구조 등을 참고하는데 사용해주세요 :)
꼭 이대로 따라하실 필요는 없습니다!
마감 기한
2주차 스터디가 시작하는 9/25 수요일 자정까지 제출해주세요.
모두 즐거운 한가위 되세요! :)
제출 방법
자신의 레포지토리에 week1 폴더를 생성해 wil.md 파일을 제출합니다.
더 자세한 사항은 아래 링크를 참조해주세요.