아임포트 카카오 정기결제 스프링 연동 예제 코드 링크 예제 코드를 리뷰도 하고 공부하며 나눠서 올려보려 했는데 시간과 의지 부족으로 인해 일단 코드 링크를 올려둡니다. https://github.com/tjdqlscjswp/IMPORT_EXAMPLE GitHub - tjdqlscjswp/IMPORT_EXAMPLEContribute to tjdqlscjswp/IMPORT_EXAMPLE development by creating an account on GitHub.github.com 웹 프로그래밍/아임포트 연동 2024.08.26
jQuery에서 attr vs prop 차이점과 사용법 정리 Query를 처음 다룰 때, attr()과 prop() 를 언제 어떻게 써야 하는지 헷갈린다. checked 옵션을 컨트롤 할 때도 attr로는 제어가 안되다가 prop로는 제어가 된다던가 하는 경우가 종종 있다. 실제로 이 두 메서드는 서로 다른 용도로 사용된다. 이번 글에서는 attr()과 prop()의 차이가 무엇인지, 그리고 어떤 상황에서 각각을 사용해야 하는지에 대해 정리해 보았다.attr()와 prop()의 차이점attr(): HTML 요소의 속성(attribute) 값을 다루는 메서드이다. 즉, HTML 코드에 명시된 속성 값을 가져오거나 설정할 때 사용된다.prop(): DOM 요소의 **프로퍼티(property)**를 다루는 메서드이다. 이는 JavaScript에서 다루는 속성의 실제 상.. 웹 프로그래밍 2024.08.20
Jquery 콜론(:) 의미 레거시 코드를 보다보면 $(':radio[name]~~~')와 같이 작성된 코드들이 있다. ':'은 어느 경우에 쓰는 건지 문득 궁금하여 찾아보았다. 위의 코드처럼 :radio라고 작성하면 페이지에 있는 모든 radio 버튼 요소에 접근할 수 있다. 사용 예시1. 모든 라디오 버튼을 선택하고자 할 때페이지에 있는 모든 라디오 버튼의 값을 가져오거나, 상태를 변경하거나, 특정 동작을 수행할 때 $(':radio').each(function() { console.log($(this).val()); }); 2. 모든 라디오 버튼의 상태를 변경하고자 할 때모든 라디오 버튼을 비활성화하거나 체크 상태를 변경하는 경우$(':radio').prop('disabled', true); $(':radio').pr.. 웹 프로그래밍 2024.08.20
아임포트- 카카오 정기결제 예제코드 로컬 환경에서 실습을 진행했기 때문에, 컴퓨터를 끄면 서버도 꺼진다. 따로 서비스 서버를 구축하지 않았기 때문에 자바 스케줄러를 활용하여 자동으로 정기 결제 요청을 보낸다. import java.sql.Date;import java.util.Calendar;import java.util.concurrent.TimeUnit;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.Trigger;import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;import org.springframework.schedulin.. 웹 프로그래밍/아임포트 연동 2021.07.19
Spring boot- 아임포트 카카오 정기결제 스케줄 예약(1) 우선 다음은 나름대로 생각했던 프로젝트 내에서 아임포트 API를 사용하여 정기결제를 구현하는 과정이다. 1) 사용자는 정기구독을 원하는 상품을 선택하여 결제창까지 도달한다. 2) 주문정보를 확인한 사용자는 정기결제 버튼을 클릭한다. 3) 버튼을 클릭하면 카카오 정기결제 페이지가 나타나고, 사용자는 QR코드 혹은 전화번호 인증을 통해 정기결제 정보를 등록한다. 4) 정기결제 등록 시 첫 결제가 이루어지며, 결제와 정기결제 정보 저장이 성공하면 관리자가 정한 만큼의 시간이 지날 때 마다 자동으로 결제가 이루어진다. 위와 같은 흐름으로 서비스를 구현하였다. 지난 포스팅에서 엑세스 토큰을 발급받는 과정에 대해 작성했다. 아임포트 서버로 getToken 요청을 올바르게 보내면 다음과 같은 형태의 응답을 .. 웹 프로그래밍/아임포트 연동 2021.07.02
Spring boot - 아임포트 카카오 정기결제 구현하기 팀 프로젝트의 주제가 간식 구독 서비스이기 때문에 정기결제 기능을 구현하는 것은 필수이다. 프로젝트 시작 전 구글 서치를 통해 테스트 모드를 지원하는 결제 관련 API들을 쉽게 찾을 수 있었기 때문에 정기결제를 구현하는데 크게 어려움은 없을 것이라고 생각했다. 아임포트에서 제공하는 관련 API들을 사용하기로 결정했다. 그러나 아임포트 서버로 요청을 보내는 과정에서 여러 문제에 직면했고 약간의 시행착오 끝에 현재는 아임포트 서버로 요청을 보내고 응답을 받는 것까지 성공하였다. 스프링부트에서 아임포트 API를 사용하는데 기초적인 어려움을 겪는 분들께 조금이나마 도움이 되었으면 좋겠다. 1. 빌링 키 요청사실 정기결제가 아닌 일반결제 구현은 정말 너무나도 간단하다. 아임포트 서버로 따로 요청을 보낼 필요도 없.. 웹 프로그래밍/아임포트 연동 2021.06.23
SpringBoot 팀 프로젝트 -MSA 현재 수강중인 과목의 이름은 대용량 웹서비스를 위한 MSA Full-Stack 소프트웨어 개발자 양성과정이다. 그러나 MSA에 대해서는 고작 3일정도 수업이 진행됐다. 거의 배운게 없었지만 팀원 각자가 나름의 공부를 통해서 MSA 아키텍쳐를 조금이나마 적용하여 프로젝트를 진행해보면 좋을 것 같다 라는게 오늘 회의의 주제였다. todo 요구/기능명세서작성 웹페이지 기본구성/흐름 db설계 오전 기능/요구명세서 작성 기능 *회원가입(메일인증)/로그인 회원가입할때 이름 이메일(이메일로 로그인) 주소(주소입력 API) 전화번호 비밀번호 이메일이 아이디기 때문에, 비밀번호 찾기. 비밀번호 찾기 → 메일인증 사용해서 비밀번호 변경 *관리자계정(스프링 시큐리티 사용) 패키지 신규 등록/삭제/수정 게시판관리 : 글 삭제.. 웹 프로그래밍/팀 프로젝트 2021.06.07
Spring Boot 팀 프로젝트 - 간식 구독 서비스 지난 중간 프로젝트때는 회의실 예약 웹사이트를 구현했었다. 깃허브, 이클립스, 톰캣 등에서 다양한 오류를 만나며 프로젝트보다 오류를 해결하는데 훨씬 많은 시간을 써야했다. 팀원들 간에 역할분담이 제대로 되지 않으면서 완성된 프로그램 또한 산만했다. 이번 프로젝트에선 그런 실수들을 반복해선 안된다며 팀원들끼리 굳은 결심을 나눴다. 중간 프로젝트를 마친 이후 스프링 프레임워크, 그리고 스프링부트를 배웠다. 따라서 최종 프로젝트는 스프링부트와 JPA를 사용하여 구현해야 한다. 최근 실로 다양한 분야에서 구독 서비스를 찾아볼 수 있다. 넷플릭스나 왓챠 등의 영상 컨텐츠 구독 서비스 뿐 아니라 과자구독, 반려동물 용품구독, 사무용품 구독, 심지어 정기적으로 방문하여 청소서비스를 제공하는 청소구독까지 생겨났다. 주.. 웹 프로그래밍/팀 프로젝트 2021.06.07
스프링부트 - 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