프로그래밍 80

지금 하는 프로젝트에서 상품평 기능 구현하기/이미지 업로드/상품평 수정/삭제 기능 구현

지금 쇼핑몰 프로젝트를 STS로 하고 있는데 상품평 기능을 구현하는 중에 블로그에 정리하면 좋을 것 같아서 정리합니다. 일단 상품평은 해당 상품의 상품평만 보여줘야 하고 상품평을 관리하는 페이지에서는 해당 유저가 작성한 상품평만 관리할 수 있도록 해야 하는 것이 관건이다. 상품평 DB생성 한 명의 유저가 여러 개의 코멘트를 가지고 있고 한 명의 유저가 여러 개의 상품을 가지고 있기 때문에 원자성 유지를 위해 여기서 폴인키를 다 가지고 있도록 설계해 줬다 상품평 작성하기 엉망이지만 대충 만들어 봤다 상품평 쓰기 버튼을 누르면 위와 같은 모달 창이 나와서 form타입으로 method는 post로 전송하게 된다. 여기서 보면 이미지 등록하기가 있다 상품 착용샷 같은 것을 올릴 수 있도록 ui를 제공하기 위해서..

Springboot 2021.08.08

지금 만들고 있는 프로젝트에서 결제 API(import) 사용해보기/결제 후 결제 list화면 구현

지금 포트폴리오 만든다고 쇼핑몰을 만드는 프로젝트를 하고 있는 와중에 결제 api를 사용하는 방법을 공부 중이다 결제 api는 자바스크립트로 호출되기 때문에 onsubmit을 사용해서 action이 이뤄지지 않고 해당 자바스크립트 함수가 사용되도록 설계했다. 회원들이 불필요한 중복된 정보를 적는 건 ux가 좋지 않다 그래서 로그인된 사람만 들어올 수 있는 페이지로 프로그램을 짜고 session에 있는 user의 값을 넣어줬다 이제 결제 api를 호출할 때 사용할 db의 정보를 인수로 넣어준다. 인수에 있는 값들을 응답받을 파라미터의 값에 맞게 넣어준다. 정상적으로 api가 작동한다 이제 결제를 완료했을 때 어떤 데이터를 받을 수 있는지 알기 위해서 import페이지에서 문서를 찾아보자. 참고로 testA..

Springboot 2021.08.02

자바스크립트 AJAX사용(FETCH)비동기 프로그래밍개념

자바스크립트 기본 동작원리 ajax = 비동기통신을 json으로 하는것이다. 1. nodejs는 인터프리터 언어기 때문에 컴파일 없이 바로 코드를 순차적 실행한다. 2.js는 클래스가 없다 함 수로 이루어짐 3. 비동기식 운영이(일의 순서가 없음) 강점이다. 싱글스 래드 언어라고 생각하는 것이랑 개념이 다르다. 스래드는 운영체제가 들고 있는 걸 가져와서 언어에서 쓰는 것이다.(모든 프로그램은 순차적 실행) 왜 비동기 처리를 할까? 자바와 다르게 스래드의 문맥 교환이 없기 때문에 빠르게 처리할 수 있다. 비동기 처리의 이유 자바와 다르게 이렇게 함수를 인수로 바로 넣을 수 있다. 엄청 큰 장점이다. 이렇게 화살표 함수 문법을 사용하면 자바로 치면 this를 바인딩하기 쉽다는 장점이 있다. 위와 같이 실행시..

카테고리 없음 2021.07.30

공공데이터 활용하기/(2pojo(json데이터 자바오브젝트로 만들어주는 사이트) /(gson사용하기)

https://www.data.go.kr/ 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 일단 여기 가입해서 활용할 데이터를 신청을 해놓는다. 승인이 떨어지기까지 시간이 좀 많이 소요되니 작업하기 전에 미리미리 해놓는 것을 추천합니다. 우리나라는 공공데이터 강국이라 고 합니다. 어떻게 강국이 됐을까요? 20년정도 전에 이제 막 스마트 몬이 나오기 시작할 때에 어떤 고등학생이 버스시간에 맞춰서 나오는 게 어려우니까 한 어플을 개발했는데 그 어플이 버스시간을 버스 홈페이지에서 클로링해서 알려주는 어플을 개발한 것이다. ..

Springboot 2021.07.29

Spring boot로 지금 하고 있는 프로젝트에서 coolsms연동해서 문자 인증 구현하기

일단 coolsms 가입해서 api인증키를 받아오셔야 구현하실 수 있습니다. https://coolsms.co.kr/ 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스 손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용계좌, 신용카드, 계좌이체 등 다양한 결제 방식 coolsms.co.kr 컨트롤러 렌덤으로 인증번호를 6자리 뽑도록 로직을 작성했습니다. sdk사용 로직 빨간네모에는 인증키를 넣어주세요 jsp에서 name값 맞춰서 보내면 인증번호가 문자로 잘 전송된다. 참고 추가의존성 net.nurigo javaSDK 2.2

Springboot 2021.07.28

Spring boot/JPA 사용해서 이미지 업로드 구현

툴 : vscode spring프레임워크로 이미지 업로드를 구현해보자. 이미지 기본이론 일단 기본적인 이미지 요청 응답의 메커니즘을 생각해보자. 이미지 업로드를 요청했다고 생각하면 결국 통신 중에는 이미지가 문자열 데이터로 전송된다. 이때 content타입이 text/plain이라고 가정해보면 역직렬 화할 때 문자열로 출력이 될 것이다 그래서 요청 content타입을 먼저 맞춰줘야 한다. 그리고 io가 일어나서 이미지가 저장될 때 db에 바이너리 데이터가 그대로 들어가면 사진을 관리할 수 없다. 그래서 이미지는 원래 파일이기때문에 파일로 관리해야 한다. 즉 db에 주소 번지가 저장되야하는 것이다. 위 데이터를 컨트롤러에서 받기 위해선 먼저 name값이 전송되니 그 전송되는 name값으로 매개변수를 받으면..

Springboot 2021.07.28

JPA Paging 구현 연습

게시글이 많아졌을 때 스클 롤이 길어지는 게 아니라 페이지로 넘어가도록 구현해보자 PageRequest객체 위오버로딩된 자료를 보면 page와 size를 적으면 된다라고 나와있는데 위 객체만 사용한다고 되지 않는다.. 이럴 땐 requestBody로 json데이터를 받아서 디버깅해 봐야 한다. 위 json데이터를 보면 어떻게 해야 할지 답이 보인다. 1.requestBody로 내부적으로 어떻게 데이터가 들어오는지 체크한다. 2. 데이터를 보고 어떻게 처리할지 정한다. 3.PageRequest객체 사용한다.

Springboot 2021.07.27

인터셉터 처리

톰켓은 필터를 가지고 있다. 인증처리를 할 때는 필터를 만들면 된다 스프링이란는 성이 만들어지려면 조건이 필요하다 바로 톰캣(서버)이라는 더 큰 범위 안에 스프링이라는 성이 들어갈 수 있는 것이다. 그래서 1차 필터는 톰캣이 들고 있다. 외부에 접근이 들어오면 톰켓이 1차적으로 검열을 할 수 있다(톰캣은 전처리밖에 못함 EX) 중국에서 오는 IP를 다 막고 싶다거나 하는 공통적인 로직). 톰캣 파일 중에 WEB.XML 파일이 1차 검열하는 필터 파일이라고 생각하면 된다. 이 톰캣을 통과해야 스프링 안으로 들어오는데 스프링의 첫 번째 관문에서 디스페처를 만난다. 이 디스페처가 요청을 받으면 IOC컨테이너를 뒤져서 요청받은 URI를 응답할 수 있는 컨트롤러 함수를 실행시킨다. 이때 이 함수가 실행되기 직전에..

Springboot 2021.07.26

visual studio code에서 Spring boot/JPA개발환경 설정

visual studio가 가벼운 이유는 필요할 때마다 다운로드할 수 있도록 설계돼있기 때문이다. sts를 사용하기 위해서 툴들을 다운로드하여준다 sts project 만들기 java에서 프로젝트명은 무조건 소문자로 작성해야 한다 java에서 대문자를 사용하는 건 클래스뿐 대략적으로 기본적인 dependencies만 잡아주고 경로 설정해서 누르면 성공 꼭 넣고 싶은 폴더에 마우스를 올리고 새 파일을 만들어준다. vs에서는 확장자명을 적어줘야 한다. 그리고 vs를 껐다가 켜서 왼쪽 하단에 나오는 것들은 always로 설정해서 툴이 알아서 필요한 것들을 다운로드할 수 있도록 설정해 준다. 위사항을 설정해 주면 저장 시 자동정렬을 해주는데 어떤 언어를 자동정렬을 할 건지 설정을 해준다 java를 선택해주면 저..

Springboot 2021.07.21

open jdk주소와 환경변수에 대해서

https://jdk.java.net/archive/ Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net 오픈 jdk와 유료 jdk가 다른 점은 유료는 라이선스비를 내기 때문에 어떠한 치명적인 오류가 생기거나 문제가 생겼을 시에 지..

cs 2021.07.21