들어가기 앞서
강의 영상과 강의록
안녕하세요, 백엔드 정규 스터디 멘토 박유정입니다
!
1주차는 웹의 기본 동작 원리에 대한 내용을 담았습니다.
처음에는 HTTP, API, REST API 같은 개념들이 생소하고, 잘 와닿지 않을 수 있습니다.
하지만 2주차부터 직접 코드를 작성하다 보면 “아, 이 개념이 이런 식으로 쓰이는구나!” 하고 자연스럽게 연결되는 순간이 올 거예요.
그러니 너무 부담 갖지 마시고, 편하게 따라와 주세요!
강의나 과제에 대해 궁금하거나 막히는 부분이 있다면 언제든지 디스코드 #백엔드-정규-스터디 채널 혹은 DM으로 연락 주세요.
그럼 다들 1주차 파이팅입니다
!
과제
목표
•
Spring Boot 개발 환경을 세팅하고 애플리케이션을 실행한다.
•
온라인 쇼핑몰 프로젝트의 API 명세서(HTTP Method + URI)를 직접 설계한다.
•
강의 내용을 요약 정리한다.
Spring Boot 개발 환경 세팅 및 실행
아래 과정을 차근차근 따라와 주세요!
1.
JDK 17 설치
스터디는 JDK 17 기준으로 진행됩니다.
아래 링크를 참고하여 JDK 17을 설치해주세요.
2.
IntelliJ 설치
아래 링크를 참고하여 IntelliJ를 설치해주세요.
IntelliJ는 학생 인증을 하면 무료로 Ultimate 버전을 사용할 수 있습니다.
Ultimate 버전은 Community 버전보다 여러 편리한 기능들이 많기 때문에 사용하시는 걸 추천드립니다.
3.
프로젝트 생성
Spring Initializr는 Spring Boot 프로젝트를 쉽게 생성할 수 있도록 도와주는 도구입니다.
위 사이트로 이동해서 프로젝트를 생성해주세요.
왼쪽 영역은 이렇게 설정해주세요.
Project Metadata에서 Packaging, Java를 제외한 나머지 부분은 자유롭게 입력해주셔도 됩니다.
이후 오른쪽 Dependencies는 이렇게 설정해주세요.
ADD DEPENDENCIES 버튼을 누르신 후 Spring Web, Lombok, H2 Database, Spring Data JPA를 검색하여 추가해주세요.
아래 GENERATE 버튼을 누르면 스프링 프로젝트 압축 파일이 다운로드 됩니다.
원하는 위치에서 압축을 풀어주세요.
이제 IntelliJ 실행 후 Open을 눌러 생성한 프로젝트의 build.gradle 파일을 선택하고 열어주세요.
그러면 이런 창이 뜨는데, Open as Project를 선택해주세요.
오른쪽 아래 로딩이 끝날 때 까지 기다려주시면 됩니다.
4.
프로젝트 JDK 설정
File → Project Structure 메뉴에서 SDK를 JDK 17로 해주세요.
5.
Lombok 설정
File → Settings → Plugins 에서 Lombok을 검색해 설치해주세요.
File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors 에서 Enable annotation processing을 체크해주세요.
6.
Spring Boot 애플리케이션 실행
/main/java/프로젝트명 에서 Spring Boot 애플리케이션 클래스를 찾아주세요.
main 메서드 옆에 초록색 플레이 버튼을 누르고 Run을 선택해 프로젝트를 실행해 보겠습니다.
"C:\Program Files\Java\jdk-17\bin\java.exe" -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2025.1.2\lib\idea_rt.jar=50869" -Dfile.encoding=UTF-8 -classpath C:\Users\yujeong\Documents\GitHub\GDG_BE_Study\shop\build\classes\java\main;C:\Users\yujeong\Documents\GitHub\GDG_BE_Study\shop\build\resources\main;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.40\398c6d2d7c42c96b65e78d2ddc9be0058c163453\lombok-1.18.40.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\3.5.6\ec77fd4b025ff3401e80be68a8a3dfbe45c7dcfa\spring-boot-starter-data-jpa-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\3.5.6\83d6174983b3d6649525a272222af212728a9892\spring-boot-starter-web-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\3.5.6\812d2dc9a662d9ab640bea01b383e82d881fc586\spring-boot-starter-jdbc-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\3.5.6\2a2de314809a7c4c9b7303063c1313e03fe31ad3\spring-boot-starter-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.hibernate.orm\hibernate-core\6.6.29.Final\d12db68bb867e2fe6e68740b3fba3d1d633f77ff\hibernate-core-6.6.29.Final.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\3.5.4\abd37141d1bd52283aac0d962d6efa1d4d72424b\spring-data-jpa-3.5.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\6.2.11\e02d582f1595b101c7fa53778e91ddb71d62974e\spring-aspects-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\3.5.6\62143e29dbac1e72759da7dd85fb8f85a3d582f7\spring-boot-starter-json-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\3.5.6\9384211e92c82344e23b00a580cc769724ea9a0c\spring-boot-starter-tomcat-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\6.2.11\3313fe95e06c1d3c94d00301cbed56ed1a9d2a86\spring-webmvc-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\6.2.11\e590ac3e1aaea2d34a5ccb5c25ad84acbada8468\spring-web-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\6.2.11\8aadfc8bed1630563c65bb5628e2175ecd508998\spring-jdbc-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\6.3.3\7c5aec1e47a97ff40977e0193018865304ea9585\HikariCP-6.3.3.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\3.5.6\6b8fc2519774de4e82b0dbb5651093ce2ca20836\spring-boot-autoconfigure-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\3.5.6\a02f486ab700dad1f81e54cb37651d92a3f9d700\spring-boot-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\3.5.6\61717f15cb53d2a0cce6428b29adbdc2ed5f2f25\spring-boot-starter-logging-3.5.6.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\2.1.1\48b9bda22b091b1f48b13af03fe36db3be6e1ae3\jakarta.annotation-api-2.1.1.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\6.2.11\f4860eb6ea92abb8ae6c5e82e2e7efc395cef8d\spring-core-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\2.4\e0666b825b796f85521f02360e77f4c92c5a7a07\snakeyaml-2.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.persistence\jakarta.persistence-api\3.1.0\66901fa1c373c6aff65c13791cc11da72060a8d6\jakarta.persistence-api-3.1.0.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.transaction\jakarta.transaction-api\2.0.1\51a520e3fae406abb84e2e1148e6746ce3f80a1a\jakarta.transaction-api-2.0.1.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\6.2.11\d14df2d6ecddd2984ef5590d73c5178d7df25c11\spring-orm-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\3.5.4\b61f6528cb8b39b471775a4b27f0437f6646f1e6\spring-data-commons-3.5.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\6.2.11\bbfb4d55385b2b65ecaf04937d209cf467eaba2f\spring-context-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\6.2.11\1e970383810700506d646c2fa8943725f123f000\spring-aop-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\6.2.11\f2b8bef65f6682019002c12a628886637e596261\spring-tx-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\6.2.11\8d92eb837b70094d7316f6a07770eefd360bc53c\spring-beans-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.antlr\antlr4-runtime\4.13.0\5a02e48521624faaf5ff4d99afc88b01686af655\antlr4-runtime-4.13.0.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.17\d9e58ac9c7779ba3bf8142aff6c830617a7fe60f\slf4j-api-2.0.17.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjweaver\1.9.24\9b5aeb0cea9f958b9c57fb80e62996e95a3e9379\aspectjweaver-1.9.24.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.19.2\72e73f048b36d9df82aef146bf8b2ae63b2e28e2\jackson-datatype-jsr310-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.19.2\3c4ce467c11364c72ec4967c570fd5a2d1be1d0b\jackson-module-parameter-names-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.19.2\a720d3946c3a1ab04b780f3b3163d62eee6948a0\jackson-datatype-jdk8-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.19.2\46509399d28f57ca32c6bb4b0d4e10e8f062051e\jackson-databind-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\10.1.46\e98da6e2f659ec02062d2c84a07b7262e82d8b74\tomcat-embed-websocket-10.1.46.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\10.1.46\64d4eee6e42eb61492a7b84d458327bfb1c1d957\tomcat-embed-core-10.1.46.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\10.1.46\e1fc6986d030e791415535e28fd21c0be11810de\tomcat-embed-el-10.1.46.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\6.2.11\7190c1c69576516efef1a061d956dccf17cb0b86\spring-expression-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-observation\1.15.4\8cd0aed0ff098a7937f2f8f81705840f2d60a432\micrometer-observation-1.15.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.5.18\fc371f3fc97a639de2d67947cffb7518ec5e3d40\logback-classic-1.5.18.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.24.3\da1143e2a2531ee1c2d90baa98eb50a28a39d5a7\log4j-to-slf4j-2.24.3.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\2.0.17\524cb6ccc2b68a57604750e1ab8b13b5a786a6aa\jul-to-slf4j-2.0.17.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\6.2.11\819fc7e968ac07d4b042be7cfb8d99c267142ac7\spring-jcl-6.2.11.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.19.2\c5381f11988ae3d424b197a26087d86067b6d7d\jackson-annotations-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.19.2\50f3b4bd59b9ff51a0ed493e7b5abaf5c39709bf\jackson-core-2.19.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-commons\1.15.4\f73f10deeee5700b15c2f0f41ae79e2689b39613\micrometer-commons-1.15.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.5.18\6c0375624f6f36b4e089e2488ba21334a11ef13f\logback-core-1.5.18.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.24.3\b02c125db8b6d295adf72ae6e71af5d83bce2370\log4j-api-2.24.3.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.h2database\h2\2.3.232\4fcc05d966ccdb2812ae8b9a718f69226c0cf4e2\h2-2.3.232.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.6.1.Final\886afbb445b4016a37c8960a7aef6ebd769ce7e5\jboss-logging-3.6.1.Final.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.hibernate.common\hibernate-commons-annotations\7.0.3.Final\e183c4be8bb41d12e9f19b374e00c34a0a85f439\hibernate-commons-annotations-7.0.3.Final.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\io.smallrye\jandex\3.2.0\f17ad860f62a08487b9edabde608f8ac55c62fa7\jandex-3.2.0.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.7.0\e98374da1f2143ac8e6e0a95036994bb19137a3\classmate-1.7.0.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy\1.17.7\3856bfab61beb23e099a0d6629f2ba8de4b98ace\byte-buddy-1.17.7.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-runtime\4.0.5\ca84c2a7169b5293e232b9d00d1e4e36d4c3914a\jaxb-runtime-4.0.5.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.xml.bind\jakarta.xml.bind-api\4.0.2\6cd5a999b834b63238005b7144136379dc36cad2\jakarta.xml.bind-api-4.0.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.inject\jakarta.inject-api\2.0.1\4c28afe1991a941d7702fe1362c365f0a8641d1e\jakarta.inject-api-2.0.1.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-core\4.0.5\7b4b11ea5542eea4ad55e1080b23be436795b3\jaxb-core-4.0.5.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\jakarta.activation\jakarta.activation-api\2.1.4\9e5c2a0d75dde71a0bedc4dbdbe47b78a5dc50f8\jakarta.activation-api-2.1.4.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.eclipse.angus\angus-activation\2.0.2\41f1e0ddd157c856926ed149ab837d110955a9fc\angus-activation-2.0.2.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\txw2\4.0.5\f36a4ef12120a9bb06d766d6a0e54b144fd7ed98\txw2-4.0.5.jar;C:\Users\yujeong\.gradle\caches\modules-2\files-2.1\com.sun.istack\istack-commons-runtime\4.1.2\18ec117c85f3ba0ac65409136afa8e42bc74e739\istack-commons-runtime-4.1.2.jar com.example.shop.ShopApplication
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.5.6)
2025-09-24T13:30:46.363+09:00 INFO 25792 --- [shop] [ main] com.example.shop.ShopApplication : Starting ShopApplication using Java 17.0.10 with PID 25792 (C:\Users\yujeong\Documents\GitHub\GDG_BE_Study\shop\build\classes\java\main started by yujeong in C:\Users\yujeong\Documents\GitHub\GDG_BE_Study\shop)
2025-09-24T13:30:46.369+09:00 INFO 25792 --- [shop] [ main] com.example.shop.ShopApplication : No active profile set, falling back to 1 default profile: "default"
2025-09-24T13:30:47.936+09:00 INFO 25792 --- [shop] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-09-24T13:30:47.967+09:00 INFO 25792 --- [shop] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 18 ms. Found 0 JPA repository interfaces.
2025-09-24T13:30:48.684+09:00 INFO 25792 --- [shop] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2025-09-24T13:30:48.705+09:00 INFO 25792 --- [shop] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2025-09-24T13:30:48.706+09:00 INFO 25792 --- [shop] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.46]
2025-09-24T13:30:48.784+09:00 INFO 25792 --- [shop] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2025-09-24T13:30:48.785+09:00 INFO 25792 --- [shop] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2333 ms
2025-09-24T13:30:48.970+09:00 INFO 25792 --- [shop] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2025-09-24T13:30:49.304+09:00 INFO 25792 --- [shop] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:3262d5c2-34aa-4755-a0cf-8e37a4e3fc71 user=SA
2025-09-24T13:30:49.307+09:00 INFO 25792 --- [shop] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2025-09-24T13:30:49.376+09:00 INFO 25792 --- [shop] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2025-09-24T13:30:49.505+09:00 INFO 25792 --- [shop] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.29.Final
2025-09-24T13:30:49.585+09:00 INFO 25792 --- [shop] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled
2025-09-24T13:30:50.422+09:00 INFO 25792 --- [shop] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer
2025-09-24T13:30:50.637+09:00 INFO 25792 --- [shop] [ main] org.hibernate.orm.connections.pooling : HHH10001005: Database info:
Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']
Database driver: undefined/unknown
Database version: 2.3.232
Autocommit mode: undefined/unknown
Isolation level: undefined/unknown
Minimum pool size: undefined/unknown
Maximum pool size: undefined/unknown
2025-09-24T13:30:51.825+09:00 INFO 25792 --- [shop] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-09-24T13:30:51.837+09:00 INFO 25792 --- [shop] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-09-24T13:30:51.910+09:00 WARN 25792 --- [shop] [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2025-09-24T13:30:53.101+09:00 INFO 25792 --- [shop] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2025-09-24T13:30:53.123+09:00 INFO 25792 --- [shop] [ main] com.example.shop.ShopApplication : Started ShopApplication in 7.719 seconds (process running for 9.048)
Bash
복사
성공적으로 실행되었다면 위와 같은 메시지가 뜹니다.
Tomcat started on port 8080 (http) with context path '/' 는 Spring Boot 자체 내장 서버인 톰캣이 실행되었고, 이 톰캣의 8080번 포트에서 http 요청을 받을 준비가 되었다는 뜻입니다.
위와 같이 Whitelabel Error Page가 떴다면 성공입니다
온라인 쇼핑몰 프로젝트 API 명세서 작성
강의에서 소개 드렸던 대로, 이번 백엔드 정규 스터디는 온라인 쇼핑몰 프로젝트를 직접 구현하며 진행할 예정입니다.
구현할 온라인 쇼핑몰의 기능 요구사항은 아래와 같습니다.
회원 기능
상품 기능
주문 기능
강의에서 예시로 보여드렸던 회원 기능은 제외하고, 나머지 상품과 주문 관련 기능에 대해 API 명세서를 작성해주세요.
HTTP method, URI만 간단하게 정의해주시면 됩니다.
강의 내용 정리
1주차 강의를 듣고 배운 점을 정리해주세요.
제출해야 할 파일과 파일 경로
아직 Git, Github가 익숙하지 않으신 분들은 사용법을 먼저 익혀주세요!
1.
week1/wil.md 에 다음 내용을 적어주세요.
•
1주차에 학습한 내용
•
•
작성한 온라인 쇼핑몰 프로젝트 API 명세서
마감 기한
9월 30일 (화) 23시 59분까지 제출해주세요!
제출 방법
자신의 레포지토리에 week1 폴더를 생성해 wil.md 파일을 제출합니다.
더 자세한 사항은 아래 링크를 참조해주세요.