전체 글 133

[캡스톤B 졸업 프로젝트] 그로쓰 기술 회고록

1. 프로젝트 소개 및 개요 이화여대 컴퓨터공학과 [캡스톤 디자인 및 창업 프로젝트 B] 수업의 졸업프로젝트로, 우리 팀은 Once(원스) 애플리케이션을 고안하고 개발하게 되었다.  Once 프로젝트 소개 카드 다보유자를 위한 결제 전 최대 할인 카드를 추천해주는 AI 챗봇 서비스  원스는 카드 다보유자를 위해, 결제 전 결제처와 결제 금액을 입력하면 사용자가 보유한 카드 중 해당 결제처에서 가장 할인 금액이 높은 카드를 추천해주는 핀테크 모바일 애플리케이션이다.   Tech Stack Once 의 주요 SW 모듈 및 SW Architecture 구조는 다음과 같다. 1) Front-End : Flutter (Dart)2) Back-End        - 프레임워크 : SpringBoot (Java)  ..

카테고리 없음 2024.05.21

[UMC Server] Chapter 8.1 API 응답 통일

8.0 8주차 워크북 학습 목표 이번 주차는 프로젝트를 위한 여러가지 설정을 적용하였다. 먼저 API 응답을 통일하고, 서버나 클라이언트에서 발생한 오류를 처리하는 방법을 알아보자. 1) Spring Boot에서 API 응답 통일 적용하기 2) Spring Boot에서 에러 핸들러 구축하기 8.1 API 응답 통일 API는 보통 함수를 호출하듯, 하나의 변수에 응답을 받게 되는데, 응답의 형태가 모두 다르게 되면, 프론트 개발자가 이를 이해하기 어려워진다. 예를 들어 API 응답이 성공인 경우와 실패인 경우의 양식이 다르다면, 각각의 응답을 처리하고 파악하기 힘들 것이다. API 응답 형식 API 응답은 보통 아래의 형태를 따른다. { isSuccess : Boolean code : String mess..

[코딩자율학습단] 3일차. 게시판 만들고 새 글 작성하기 : Create

3.0 3일차 학습 목표 '3일차 게시판 만들고 새 글 작성하기 : Create' 에서는 게시판을 생성하고 게시글을 쓰는 방법을 알아보면서 서버 프로그래밍과 데이터베이스의 기본기를 익혀보자. 1) 폼 데이터란? 2) 폼 데이터를 DTO로 받기 3) DTO를 데이터베이스에 저장하기 4) DB 데이터 조회하기 3.1 폼 데이터란? 폼 데이터 (form data) - HTML 의 태그에 실려 전송되는 데이터 - 태그는 웹 브라우저에서 서버로 데이터를 전송할 때 사용 - 데이터를 어디로, 어떻게 보낼지를 작성함 - 태그에 실어 보낸 데이터는, 서버의 컨트롤러가 DTO 객체에 담아서 받음 3.2 폼 데이터를 DTO로 받기 1) 입력 폼 만들기 먼저 뷰 템플릿 페이지를 만들기 위해 src > main > resou..

[코딩자율학습단] 2일차. MVC 패턴 이해와 실습

2.0 2일차 학습 목표 '2일차 MVC 패턴 이해와 실습' 에서는 변수에 따라 서로 다르게 출력되는 뷰 템플릿을 만들고, 이를 위한 역할 분담 동작 기법인 MVC 패턴에 대해 알아보자. 1) 뷰 템플릿과 MVC 패턴 2) MVC 패턴을 활용해 뷰 템플릿 페이지 만들기 3) MVC의 역할과 실행 흐름 이해하기 4) 뷰 템플릿 페이지에 레이아웃 적용하기 2.1 뷰 템플릿과 MVC 패턴 뷰 템플릿 (View Template) - 화면을 담당하는 기술로, 간단히 '뷰'라고도 이야기함 - 웹 페이지를 하나의 틀로 만들고, 변수를 삽입해 서로 다른 페이지를 보여줌 - 머스테치(Mustache) 도구를 사용하여 뷰 템플릿을 만듦 - 예를 들어 "지민"님 반갑습니다. 에서 이름 부분만 변수로 두고, 다른 부분은 동일..

[코딩자율학습단] 1일차. 스프링 부트 시작하기

1.0 1일차 학습 목표 '1일차 스프링 부트 시작하기' 에서는 자바 기반 웹 서비스를 편리하게 만들기 위한 도구인 스프링 부트에 대해 알아보고, "Hello World!"를 출력하여 웹 서비스 동작 원리를 살펴본다. 1) 스프링 부트란? 2) 스프링 부트 개발환경 설정하기 3) 웹 서비스의 동작 원리 이해하기 1.1 스프링 부트란? 스프링 부트 (Spring Boot) - 자바 웹 프로그램을 쉽고 간편하게 만들기 위한 도구 - 자바 웹 프로그램을 만들기 위한 기능과 도구가 모여 있음 - 스프링과 달리 개발 환경 설정이 간소화 - 웹 애플리케이션 서버(WAS) 인 톰캣을 내장하여 jar 파일로 간편하게 배포 가능 - 예를 들어, 가게를 운영할 때 프랜차이즈에 가입해 레시피와 서비스 노하우를 전수받는 것과..

[코딩자율학습단] 0일차. 자율학습단을 신청하게 된 이유 / 스터디 소개

코딩자율학습단을 신청하게 된 이유 예전에 파이썬 공부를 처음 시작했을 때, 나도 코딩님의 파이썬 강의를 들었던 기억이 있다. 이후에 계속 유튜브 채널을 구독하고 있었는데, 어느날 갑자기 '코딩자율학습단 5기'를 모집한다는 공고를 보게 되었다. 1달 동안 1권의 책을 끝낸다는 목표가 굉장히 매력적으로 다가왔고, 이번 겨울방학에 UMC 프로젝트와 졸업 프로젝트에서 Spring 백엔드 파트를 잘 수행해내기 위해서는 12월 안에 스프링 공부를 최대한 마쳐야 한다는 생각이 있었기에 신청하게 되었다. 그동안 UMC 동아리의 스프링 워크북을 따라가면서 실력이 많이 향상되고 있는 것을 느꼈다. 하지만 오히려 공부를 할수록 내가 채워나아가야 하는 개념이나 내용이 더 눈에 잘 보이기 시작했다. 이러한 디테일적인 부분은 강..

[캡스톤A 졸업 프로젝트] 스타트 기술 회고록

1. 프로젝트 소개 및 개요 이화여대 컴퓨터공학과 [캡스톤 디자인 및 창업 프로젝트 A] 수업의 졸업프로젝트로, 우리 팀은 Once(원스) 애플리케이션을 고안하고 개발하게 되었다. Once 프로젝트 소개 원스는 결제처에서 사용자가 보유한 카드 중 가장 혜택이 좋은 카드를 추천해주는 핀테크 모바일 애플리케이션이다. 우리 팀은 매년 사라지는 카드 포인트 1000억원이 소비자가 아닌 카드사의 부가수입으로 들어간다는 점, 그리고 1인당 신용카드 보유 개수는 무려 3.9장 이지만, 휴면카드가 1300만장에 육박한다는 사실에 주목했다. 소비자들은 자신이 보유한 모든 카드의 혜택을 관리하고 파악하기 어려워한다. 원스는 사용자가 카드 결제 전, 보유한 카드 중 결제처에서 최적의 혜택을 받을 수 있는 카드를 추천해줌으로..

[UMC Server] Chapter 7. JPA를 통한 엔티티 설계, 매핑 & 프로젝트 파일 구조 이해

7.0 7주차 워크북 학습 목표 스프링 프로젝트 진행 시 인프라 구축이 완료되면 (12주차에서 다룸), 앞서 설계한 ERD를 통해 Spring Data JPA로 Entity를 설계해야 한다. 이번 주차에서는 앞서 설계한 미션 ERD를 따라 JPA Entity 매핑을 해보자. 1) Spring data JPA를 이용해서 Entity 설계, 매핑하기 사용할 음식점 미션 프로젝트 ERD는 아래와 같다. 7.1 Springboot 디렉토리 컨벤션 프로젝트 마다 디렉토리 컨벤션은 달라질 수 있지만, 해당 프로젝트에서는 아래와 같이 package 를 만들어 주었다. (github action을 위한 디렉토리는 생성하지 않음) 각각의 패키지에 대해 하나씩 자세하게 알아보자. domain 패키지 - JPA에서 사용하기..

[23년11월17일] 첫눈 온 날, 오페라의 유령 막공❄️

연극이나 뮤지컬을 보고 나면 한동안은 ost 리스트를 무한 재생하면서 나무위키를 몇 번이나 정독할 정도로 푹 빠져있다가, 시간이 지나면 어떤 공연을 봤었는지도 점점 흐릿해지곤 했다..🥲 요즘 기록의 중요성을 아주 절실히 느끼고 있는데, 공연을 보는 날들은 내가 일상에서 탈피하는 몇 안 되는 날이기도 해서 일상 기록과는 다르게 관극 일기도 적어보려 한다! 오페라의 유령은 초등학생 때 책으로 처음 접하게 되었는데, 이후에 영화를 보고 크리스틴이 너무 예뻐서 뮤지컬을 보고 싶다고 생각했던 기억이 아직도 남아 있다! 오페라의 유령이 13년만에 공연이라, 이번 잶유령 공연 너무 보고 싶어서 막공 티켓 풀리기 며칠 전부터 벼르고 있었는데 한결같이 실패해버렸다🥹 처음에는 19열 중블을 잡았는데 페이북에서 2층 7열 ..

[UMC Server] Chapter 6. API URL의 설계 & 프로젝트 세팅

6.0 6주차 워크북 학습 목표 앞서 4주차에서 학습한 것과 같이 ERD 설계를 마치면, 큰 틀에서 API 설계를 시작해야 한다. ( API 세부사항을 정하기는 어렵겠지만, 큰 틀은 변하지 않는다 ) 이번 주차에서는 API 설계 방법을 익히고, 스프링 프로젝트 초기 세팅 방법에 대해 알아보자. 1) RESTful한 API 설계를 익히기 2) Spring boot 프로젝트 세팅하기 6.1 API 란? 프로젝트 개발 과정에서 API 라는 단어를 자주 사용하기도 하고, 대략적으로 클라이언트와 서버 간의 통신에 필요한 것이라는 것은 알고 있지만, API에 대한 정확한 의미를 이해가 부족하다는 생각이 들었다. 먼저 API의 의미에 대해 정확하게 알아보자. API ( Application Programming In..