It 33

MessageConverter란?(Jackson)

자바 오브젝트와 파이썬 오브젝트가 있을 때 이 둘의 오브젝트는 서로 생김새가 다를 수밖에 없다. 그럼 이 자바 오브젝트와 파이선 오브젝트가 직접적으로 소통을 하게 되면 서로 모르는 언어로 대화하는 것과 같은 현상이 일어난다. 그래서 서로 다른타입의 언어들을 이해하기 위해서 모든 언어가 해석할 수 있는 중간 언어를 만들게 되는데 그것이 바로 중간 데이터라고 불리는 녀석들이다. JSON, XML 같은 중간 데이터가 생기게 된 배경이다 MessageConverter라이브러리(Jackson) 자바프로그램을 누군가에게 전송할 때 json데이터로 바꿔주는 것이 MessageConverter라는 것이다. 그리고 이 MessageConverter가 비단 요청할 때만 작동하는 것이 아닌 응답을 받을 때도 JSON 데이터..

Springboot 2021.08.22

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

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

Springboot 2021.08.08

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

인터셉터 처리

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

Springboot 2021.07.26

통신 기본 계념과 보안 기본 계념

session ->인증이다 클라이언트와 서버가 계속 연결돼 있는 상황에선 session이 필요가 없다. 인증이 필요없기때문. 클라이언트가 요청 시에 서버는 많은 정보를 받게 된다. 어떤 것을 요청하는지부터 어떻게 요청을 하는지까지. 그럼 클라이언트가 정상적이지 않은 방법으로 요청을 할 수도 있다. 이 요청 시에는 서버에 레퍼럴 정보가 다 남는다. 만약에 이 레퍼럴 정보를 클라이언트가 조작을 하면 서버는 정상적으로 요청을 하는 줄 알기 때문에 아무리 구멍을 막는다고 해도 클라이언트가 레버럴정보만 속이면 다 뚫리게 된다. 자바에서 네이버에 크롤링을 요청할때 레퍼럴 정보를 수정해서 자바에서 요청을 했지만 브라우저가 요청한 것처럼 서버를 속여서 크롤링을 할 수 있게 되는 것. 이때 알아야 하는 중요한 지식이 h..

cs 2021.07.16

자바스크립트 활용해서 스프링 서버 블로그에 수정(update)과 삭제(delete)해 보기

스프링 서버는 put을 사용해서 update를 할 때 자바스크립트를 이용해야 한다 form 태그에는 post와 get밖에 없기 때문입니다. 그럼 put을 사용할 때 두 가지 방법이 있다. 1.form에 있는 데이터를 한꺼번에 들고 오는 방법. 2. onsubmit 속성은 submit버튼이 ture면 함수가 실행되고 false면 실행되지 않는다. onsubmit을 사용했을 때 장점은 action을 하기 전에 유효성 체크를 같이 하는 용도로 나왔었다. gkwlaks 지금은 put 하기 위해 사용된다. 근데 submit버튼을 누르면 페이지가 새로고침이 되기 때문에 그것을 막아줘야 한다. event.preventDefault() 자바스크립트는 어떤 이벤트가 됐던 모든 이벤트가 발생하면 현제 이벤트의 모든 정보를..

Springboot 2021.07.15

부트스트랩 사용해서 기본적인 프론트 만들기 연습(AIRBNB)

html배치는 flex를 사용해서 할 것이다 일단 먼저 airbnb사이트 디자인을 할 때 크게 두 개의 블록으로 나눌 것인데 이때 해더와 바디로 나눌 것이다. 시멘틱 태그를 사용한다 이제 해더를 구성해보자 위 사진이 해더가 되고 일단 큰 박스부터 설계를 한다 메인 부분을 보면 컨탠츠들이 가운데 정렬이 돼 있는 것을 볼 수 있다. 그렇기 때문에 한 박스 한 박스씩 코드 처리를 해서 정렬을 하기보단 가장 큰 하나의 박스 안에 섹션들을 넣어서 관리한다. 호스트가 되어보세요 회원가입 로그인 도움말 특색 있는 숙소와 즐길 거리를 예약하세요 목적지 체크인 체크아웃 인원 인원 검색 에어비앤비 둘러보기 숙소 및 부티크 호텔 트립 어드벤처 레스토랑 에어비엔비

HTML,CSS 2021.07.13

Springboot사용해서 블로그 만들기 글쓰기기능(summernote에디터사용) 추가와 상세보기 페이지(삭제,수정) 회원정보 변경

웹에서는 인증(어선트케이션)과 권한(어 솔 라이즈)이 있다. 건물로 치면 입구에 들어가는 행위가 인증, 어떠한 방으로 들어가는 것은 권한인 것이다. jpa규칙 jpa는 형태만 똑같으면 되기 때문에 password에 별칭을 달아서 형태를 유지하되 password를 session에 담기지 않도록 했다. jpa규칙 jpa는 형태만 똑같으면 되기때문에 password에 별칭을 달아서 형태를 유지하되 password를 session에 담기지 않도록 했다. 저번에 구현했던 회원가입 파일을 복사해서 위와 같이 수정했다. readonly는 수정이 불가능하도록 만들어주는 속성 required는 해당 태그가 입력 없이 subimt이 안되도록 사용자에게 강제하는 속성 규칙 EL표현식은 위와 같이 변수로 담아서 보내면 톰캣이..

Springboot 2021.07.07

SDK사용해서 SMS서비스 만들기

sdk(소프트웨어 디벨롭 키트) sdk는 다운로드하는 것이다 그래서 api와 다르게 주소 요청 없이 바로 사용할 수 있다. sdk를 사용하기위해서 일단 위 사이트를 가입해야 한다. 초기에 300원 정도 테스트 비용을 준다. javaProject를 만 든다. 위 jar파일을 lib폴더에 넣어서 build path를 시킨다음 위 샘플 코드에 String api_key와 api_secret키에 추가시키면 된다 위 샘플을 함수로 만들어서 사용하는 것도 좋은 방법이다.

Springboot 2021.07.06

Spring boot/JPA 실습 블로그를 만들어보자!(회원가입 페이지 주소 API사용)

주소 API 사용 API : 애플리케이션 인터페이스 주소를 요청해서 기능구현을 하는것이다. 들어가면 체험하기 탭이있다. 체험하기를 누르면 api가 나오는 것을 볼 수 있다. 위와 같은 체험하기를 통해서 내가 만들 서버에 어떤 것을 만들어야 할지 대략적으로 그려보는 것이다. 이제 api를 요청하는 방법 이제 api를 요청하기 위한 방법을 알아본다 위 가이드대로 url을 설정하면 https://www.juso.go.kr/addrlink/addrlinkurl.do?comfmkey="승인키"&returnUrl=http://localhost:8000 어떤 contentType으로 데이터를 보내는지 알려주지 않는다. 굉장히 불친절한 문서다 그래서 직접 테스트를 해서 어떤 타입으로 데이터가 오는지 알아봐야 한다. 설..

Springboot 2021.07.05