전체 글 410

공공데이터 활용하기/(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

IMPORT 일반결제 API 사용

https://www.iamport.kr/ 온라인 비즈니스의 모든 결제를 한곳에서, 아임포트 결제의 시작부터 비즈니스의 성장까지 아임포트와 함께하세요 www.iamport.kr 회원가입을 하고 관리자 페이지로 간다 가멩점 식별코드를 확인하고 https://docs.iamport.kr/implementation/payment [결제연동] 일반결제 일반결제 연동하기 해당 가이드는 아임포트 일반 결제 기능을 웹사이트에 설치하고 서버 데이터베이스에 결제 결과 정보를 저장하는 방법을 안내합니다.아임포트의 JavaScript 라이브러리를 삽입 docs.iamport.kr 위 예시를 참고하고 내가 원하는 파라미터 값을 추가시킵니다 파라미터는 https://docs.iamport.kr/tech/imp?lang=ko#p..

카테고리 없음 2021.07.26

인터셉터 처리

톰켓은 필터를 가지고 있다. 인증처리를 할 때는 필터를 만들면 된다 스프링이란는 성이 만들어지려면 조건이 필요하다 바로 톰캣(서버)이라는 더 큰 범위 안에 스프링이라는 성이 들어갈 수 있는 것이다. 그래서 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

Exception처리(기본개념)

try라는 스택과 catch스택이 있는 이유는 프로그램은 컴파일 시 오류와 런타임 오류(클라이언트와 통신)가 있다. 기본적으로 웹서버는 웹서버 시 오류가 발생할 수 있다. 통신을 하는 코드는 전부다 try/catch로 묶어야 한다. 클라이언트랑 하는 것도 통신 db에 있는 데이터를 가져오는 것도 통신이다. 메모리에 있는 데이터를 하드에 저장하는 것도 통신이다. 위와 같이 통신이 있는 코드는 전부 try/catch로 묶어야 한다. 근데 스프링에선 파일을 리턴하는 컨트롤러와 데이터를 리턴하는 컨트롤러가 있는데 try/catch는 string데이터를 리턴한다. 결국 구조적으로 컨트롤러에서 Exception 처리를 할 수 없다. 프레임워크의 규칙 때문에 Exception처리를 할 수 없는 것이다. 그래서 스프링..

Springboot 2021.07.20

Spring boot/JPA 로 블로그만들기. 코멘트 기능 구현(댓글)

user-Agent: 여기에 명시된 브라우저가 아니면 요청을 할 수 없다. Referrer: 이전에 머물렀던 페이지 url 크롤링할 때 위와 같은 브라우저의 속성 값을 Postman으로 Requset header에 담아서 보낼 수 있다 그럼 내가 자바로 요청을 했지만 크롬으로 요청했다고 속여서 보내면 위 보안 체크 사항들을 속일 수 있다. 실제 만드는 사람 입장에서 막을 수 있는 방법이 위 사항들에 대한 접근 제한을 하는 방법밖에 없는데, 위 사항 들을 속일 수 있다면 특별한 경우가 없다면 접근하지 못하는 웹브라우저가 없다 댓글 기능 기본적으로 post요청을 해야 하고 form에 데이터를 담아서 보내면 간단하게 할 수 있겠지만 그렇게 되면 페이지 전체의 데이터를 넘겨받아야 하기 때문에 효율적이지 못하다...

Springboot 2021.07.19