분류 전체보기 (35) 썸네일형 리스트형 Spring 미니 프로젝트 [RN & Spring] - MySQL 이번에는 MySQL 연동과 스웨거를 통한 테스트를 진행했다. 테스트는 Junit으로 하면 DB에 SQL 쿼리를 작성하지 않아도 되어서 그전에 SQL 공부를 위해 DB를 먼저 변경하기로 결정했다. 연동https://datarian.io/blog/installing-mysql-on-windows?utm_source=home-copy&utm_medium=home-copy 윈도우에 MySQL 설치하기윈도우에 MySQL과 MySQL Workbench를 설치해보겠습니다.datarian.io설치는 이 블로그를 보고 따라갔다.막상 설치하고 나니 빈화면이라 매우 당황했다. 의존성 주입 의존성 주입 대부분은 제미나이한테 물어보고 진행했다.블로그에 보니 전에 쓰던 것과 최신 것이 섞여있어서 교차 검증을 하며 진행했다. 설.. Spring 미니 프로젝트 [RN & Spring] - 포인트 -> 쿠폰 구매 지난 시간에 이어서 걸음 수 -> 포인트 -> 구매 로직을 개발한다. 포인트-> 쿠폰 구매우선 쿠폰 API에서는 Get메서드를 활용해서 회원별로 사용이 가능한 쿠폰들을 리스트로 조회할 수 있게 했다.그렇다면 쿠폰 사용을 눌렀을 때 쿠폰을 얻음과 동시에 포인트가 줄어드는 로직이 있어야 한다. 지금 상황은 멤버 Id에 따른 쿠폰들이기 때문에 쿠폰 API를 따로 설정하고 Member가 가진 쿠폰을 담는 컬럼이 필요하다.package NetZero.controller;import NetZero.domain.Member;import NetZero.dto.CouponResponse;import NetZero.service.CouponService;import lombok.RequiredArgsConstructor;.. Spring 미니 프로젝트 [RN & Spring] - 걸음 수 -> 포인트 이번에는 걸음 수 -> 포인트 -> 쿠폰 구매로 이어지는 로직을 구현해볼 예정이다. 걸음 수 -> 포인트100보당 1포인트의 기준을 세우고 진행한다!이렇게 되려면 100보 일 때 서버에 저장될 때, 포인트가 증가하고150보 일 때는 그대로, 200보가 넘어가면 다시 1포인트가 증가하는 식으로 가야한다.만보기는 누적의 개념이기 때문에 변동량을 더해주는 개념으로 접근하면 된다. Member 엔티티회원의 포인트는 객체가 스스로 올린다.@Entity@NoArgsConstructor@Getterpublic class Member { @Id @Column(name = "member_id") private String id; private String username; private Str.. HTTP 웹 기본 지식 - 2 저번 시간에 이어서 이번에도 HTTP 통신의 여러 기능들과 상태를 학습할 예정이다. HTTP 상태 코드클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 상위 상태코드만약 모르는 상태코드가 나타난다면 클라이언트는 아래와 같이 100대, 200대 등으로 상위 상태코드로 해석하여 처리한다.1xx: 요청이 수신되어 처리중잘 사용하지 않는다2xx: 요청 정상 처리 - 성공200 Ok201 CreatedPOST같은 것으로 리소스를 등록했을 때 응답 HTTP헤더에 서버에서 만든 리소스 경로를 넣어준다.202 Accepted요청이 접수되었으나 처리가 완료되지 않음204 No Content서버가 요청을 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음결과 내용이 없어도 204 메시지만으로 성공을 인식할 수.. Spring 미니 프로젝트 [RN & Spring] - Swagger & 연동 이번에는 제작한 API를 한 눈에 파악하는 Swagger를 사용해보고 RN Expo와 연동하려고 한다. Swagger개발했던 API가 잘 돌아가는지 확인이 가능하고, API 설명서 사이트가 완성된다. build.gradle에 의존성을 추가한다.dependencies { // ... 기존 의존성들 ... // ⭐️ Swagger (SpringDoc) 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0'} gradle 새로고침 필수!http://localhost:8080/swagger-ui/index.html 서버를 재시작하면 인터넷 브라우저에서 직접 확인해볼 수 있다. 등록하고 조회하는 활동이 정상적.. Spring 미니 프로젝트 [RN & Spring] - 리팩터링 (1) 이번에는 피드백 받았던 부분들과 스프링의 강점인 객체 지향을 제대로 활용할 수 있도록 리팩터링을 진행할 예정이다. @RequestMappingAPI가 여러 개이면 공통된 주소를 적어주는 것이 좋다. 마치 학급의 급훈처럼 걸어두는 느낌이라 생각하자지금은 Controller 내에 메서드가 하나이지만 더 증가하면 지저분해진다.@RestController// 공통 주소가 없음public class MemberController { @GetMapping("/api/members/{memberId}") // 😫 반복! public MemberResponse getMember(...) { ... } @GetMapping("/api/members/{memberId}/histories") // 😫 반.. Spring 미니 프로젝트 [RN & Spring] - HTTP API 설계와 개발 이제는 DB와 로직을 연결하여 API를 작동시키는 법을 학습하고 진행한다. HTTP API 설계 & 개발 흐름내가 만들었던 앱의 핵심 기능인 '오늘의 걸음 수 기록하기' 이다. 이 기록을 통해 쿠폰을 발급받거나 하는 비즈니스 로직이 있기 때문이다.또한, 부모 엔티티인 Member부터 활용할 수 있다. 클라이언트에서 서버로특정 회원의 오늘 걸음 수를 저장 가장 중요한 것은 리소스는 걸음 이라는 것이다!HTTP 메서드: POST (행위)URL: /api/steps요청: { "userId" : "user1", "stepCount": 5000, "recordDate": "2026-02-16" }응답: { "todaySte.. Spring 미니 프로젝트 [RN & Spring] - ERD 작성 데이터 모델링업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는 것데이터베이스의 골격을 이해하고, 그 이해를 바탕으로 SQL문장을 효율적으로 작성 가능 내가 만들고자 하는 것은 직전 학기에 만들어 봤던 만보기 앱 화면에 서버를 연동하여수치와 프로필을 띄우는 것이 주된 목표이다. 업무 파악걸음 수사용자 이름보유 포인트 (걸음 수에 따라 달라짐)개념적 데이터 모델링데이터 간의 관계 구상피터 첸 표기법으로 ERD를 구상한다.개체 타입이라 적힌 네모는 테이블을 의미한다. 이런 다이어그램은 처음이라 조금 미숙하다,, 논리적 데이터 모델링구체화된 업무 중심의 데이터 모델추상적인 데이터보다 구체화된 데이터로 작성한다.key, 속성, 관계 등을 표시하고 우리가 흔히 보는 ERD 그림을 생각하면 된다.개념적 .. 이전 1 2 3 4 5 다음