728x90
반응형
SMALL

전체 글 72

Spring boot- 아임포트 카카오 정기결제 스케줄 예약(1)

우선 다음은 나름대로 생각했던 프로젝트 내에서 아임포트 API를 사용하여 정기결제를 구현하는 과정이다. 1) 사용자는 정기구독을 원하는 상품을 선택하여 결제창까지 도달한다. 2) 주문정보를 확인한 사용자는 정기결제 버튼을 클릭한다. 3) 버튼을 클릭하면 카카오 정기결제 페이지가 나타나고, 사용자는 QR코드 혹은 전화번호 인증을 통해 정기결제 정보를 등록한다. 4) 정기결제 등록 시 첫 결제가 이루어지며, 결제와  정기결제 정보 저장이 성공하면 관리자가 정한 만큼의 시간이 지날 때 마다 자동으로 결제가 이루어진다.  위와 같은 흐름으로 서비스를 구현하였다.    지난 포스팅에서 엑세스 토큰을 발급받는 과정에 대해 작성했다. 아임포트 서버로 getToken 요청을 올바르게 보내면 다음과 같은 형태의 응답을 ..

Spring boot - 아임포트 카카오 정기결제 구현하기

팀 프로젝트의 주제가 간식 구독 서비스이기 때문에 정기결제 기능을 구현하는 것은 필수이다. 프로젝트 시작 전 구글 서치를 통해 테스트 모드를 지원하는 결제 관련 API들을 쉽게 찾을 수 있었기 때문에 정기결제를 구현하는데 크게 어려움은 없을 것이라고 생각했다. 아임포트에서 제공하는 관련 API들을 사용하기로 결정했다. 그러나 아임포트 서버로 요청을 보내는 과정에서 여러 문제에 직면했고 약간의 시행착오 끝에 현재는 아임포트 서버로 요청을 보내고 응답을 받는 것까지 성공하였다. 스프링부트에서 아임포트 API를 사용하는데 기초적인 어려움을 겪는 분들께 조금이나마 도움이 되었으면 좋겠다. 1. 빌링 키 요청사실 정기결제가 아닌 일반결제 구현은 정말 너무나도 간단하다. 아임포트 서버로 따로 요청을 보낼 필요도 없..

SpringBoot 팀 프로젝트 -MSA

현재 수강중인 과목의 이름은 대용량 웹서비스를 위한 MSA Full-Stack 소프트웨어 개발자 양성과정이다. 그러나 MSA에 대해서는 고작 3일정도 수업이 진행됐다. 거의 배운게 없었지만 팀원 각자가 나름의 공부를 통해서 MSA 아키텍쳐를 조금이나마 적용하여 프로젝트를 진행해보면 좋을 것 같다 라는게 오늘 회의의 주제였다. todo 요구/기능명세서작성 웹페이지 기본구성/흐름 db설계 오전 기능/요구명세서 작성 기능 *회원가입(메일인증)/로그인 회원가입할때 이름 이메일(이메일로 로그인) 주소(주소입력 API) 전화번호 비밀번호 이메일이 아이디기 때문에, 비밀번호 찾기. 비밀번호 찾기 → 메일인증 사용해서 비밀번호 변경 *관리자계정(스프링 시큐리티 사용) 패키지 신규 등록/삭제/수정 게시판관리 : 글 삭제..

Spring Boot 팀 프로젝트 - 간식 구독 서비스

지난 중간 프로젝트때는 회의실 예약 웹사이트를 구현했었다. 깃허브, 이클립스, 톰캣 등에서 다양한 오류를 만나며 프로젝트보다 오류를 해결하는데 훨씬 많은 시간을 써야했다. 팀원들 간에 역할분담이 제대로 되지 않으면서 완성된 프로그램 또한 산만했다. 이번 프로젝트에선 그런 실수들을 반복해선 안된다며 팀원들끼리 굳은 결심을 나눴다. 중간 프로젝트를 마친 이후 스프링 프레임워크, 그리고 스프링부트를 배웠다. 따라서 최종 프로젝트는 스프링부트와 JPA를 사용하여 구현해야 한다. 최근 실로 다양한 분야에서 구독 서비스를 찾아볼 수 있다. 넷플릭스나 왓챠 등의 영상 컨텐츠 구독 서비스 뿐 아니라 과자구독, 반려동물 용품구독, 사무용품 구독, 심지어 정기적으로 방문하여 청소서비스를 제공하는 청소구독까지 생겨났다. 주..

스프링부트 - JPA 연관관계(1)

오늘 수업에서는 JPA 연관관계에 대해 공부했다. 1. ORM이란? Object Relation Mapping(객체와 DB의 테이블 매핑) 자바 객체와 SQL문을 분리할 수 있다. Transaction 처리, 기타 데이터베이스 관련작업이 간단해진다. SQL문을 직접 사용하지 않고, 보다 직관적인 메서드를 사용한다.(EX) select * from emp; 대신 repo.findAll() 2. JPA Java Persistence Api를 의미한다. ORM을 사용하기 위한 자바 API 규격(Interface)이다. Hibernate, EclipseLink , DataNucleus 등이 JPA를 구현한 구현체이다. (ORM을 구현한 프레임워크) JPA는 애플리케이션과 JDBC 사이에서 동작한다. 개발자가 J..

웹 프로그래밍 2021.05.26

스프링부트 사용해보기 -1. 기본 개념들

오늘부터 수업시간에 STS환경에서 스프링부트를 사용하는 방법을 배우기 시작했다. 실습환경 JDK1.8 Oracle Tomcat Eclipse or STS4 JavaScript plugin(tern) 수업시간에 기록해놓은 내용들을 토대로 복습하기 때문에 내용이 두서없을 것이다. 스프링부트 이전에 들었는 스프링 프레임워크를 제대로 이해하지 못했기 때문에 Ioc컨테이너나 DI, AOP 등에 대해 명확하게 알지 못한다. 따라서 우선 이 세 용어에 대해서 간단하게 정리를 하고자 한다. 1.컨테이너? 우선 컨테이너(Container)에 대해서 찾아보았다. 컨테이너는 인스턴스의 생명주기를 관리하고, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것이다. *생명주기 인스턴스의 상태에 따라서 호출할 수 있는 속성..

웹 프로그래밍 2021.05.24

Mybatis란?

교재출처 : 자바 웹을 다루는 기술. 이병승. 길벗 http://www.yes24.com/Product/Goods/68371015 자바 웹을 다루는 기술 기초부터 실무까지 한 권으로!최근 효율적으로 개발할 수 있는 웹 프레임워크가 많이 나왔지만, JSP와 서블릿은 자바 웹 개발에서 가장 중요하고도 기본이 되는 내용이다. 기초가 튼튼해야 웹 프 www.yes24.com 인터넷 사용자가 크게 증가하고 애플리케이션의 기능이 복잡해지면서 JDBC만으로 개발하는 것은 한계에 부딪혔다. 기존 JDBC로 개발할 경우 반복적으로 구현해야 할 SQL문도 많을 뿐 아니라 각각의 SQL문도 복잡하다. 따라서 자연스럽게 마이바티스나 하이버네이트 같은 데이터베이스 연동과 관련된 프레임워크가 등장하게 되었다. 기존의 JDBC를 ..

웹 프로그래밍 2021.05.24

프로그래머스 - 완전탐색(모의고사)

문제출처 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3,..

알고리즘 2021.05.22

서블릿이란?

학원 진도는 벌써 스프링 프레임워크까지 나갔지만 앞에서 배웠던 서블릿, 쿠키 및 세션, 서블릿의 여러 속성들, JSP와 디렉티브 태그, 스크립트, Jquery, jstl 등을 완벽하게 정리하고자 교재를 바탕으로 복습하고자 한다. 교재 : 자바 웹을 다루는 기술 - 이병승 지음, 길벗 https://github.com/gilbutITbook/006895 gilbutITbook/006895 자바 웹을 다루는 기슬_예제 소스. Contribute to gilbutITbook/006895 development by creating an account on GitHub. github.com http://www.yes24.com/Product/Goods/68371015?pid=123487&cosemkid=go154..

웹 프로그래밍 2021.05.20

MVC Spring 구조

Spring MVC 구조 1. Model 어플리케이션의 데이터이며, 모든 데이터 정보를 가공하여 가지고 있는 컴포넌트 사용자가 이용하려는 모든 데이터를 가지고 있어야하며, 뷰 또는 컨트롤러에 대해 어떤 정보도 알 수 없어야 한다. 변경이 일어나면 그에 대한 처리 방법을 구현해야 한다(?) 2. View 시각적인 UI요소를 지칭하는 용어 모델이 가지고 있는 데이터를 저장하면 안된다. 모델이나 컨트롤러에 대한 정보를 포함하지 않고, 단순히 표시해주는 역할만을 해야 한다. 변경이 일어나면 그에 맞는 처리 방법을 구현해야 한다. 3. 컨트롤러 모델과 뷰를 연결해주는 역할 모델과 뷰에 대한 정보를 알아야 하며, 모델 또는 뷰의 변경을 인지하여 대처를 한다.. MVC의 처리순서 : 1. 클라이언트가 서버에 요청을 ..

웹 프로그래밍 2021.05.17
728x90
반응형
LIST