![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSkNRc%2FbtrGWbTmZaq%2FySDXT8janBYbJUKkw09KM1%2Fimg.png)
[자바/spring] 이미지 업로드 예제
2022. 7. 10. 20:00
몰아 넣기
클라이언트 html input type = "file" 로 파일을 받는다 { accept="image/png" } javaScript $("#image").change(function () { var ext = $(this).val().split('.').pop().toLowerCase(); ext != "png" var fileImg = this.files[0]; fileUpload(fileImg); }) ext 는 파일의 확장자이다. ext != "png" 로 비교 가능 선택한 파일은 files[0] 데이터를 가공시킨다. ajax function fileUpload(file) { var form_data = new FormData(); form_data.append('file', file); form..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccTTYt%2FbtrGUrW6FeB%2FcFTZlbIqSV5yeNGbbXbEy1%2Fimg.png)
[java/spring] UUID를 사용해서 파일이름 랜덤으로 만들기 또는 이미지 확장자 체크하기
2022. 7. 10. 19:54
몰아 넣기
UUID 란? 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약이며 범용고유식별자 UUID (Universally Unique IDentifier) 이라고 한다. UUID는 128비트의 숫자이며, 32자리의 16진수로 표현된다. 여기에 8-4-4-4-12 글자마다 하이픈을 집어넣어 5개의 그룹으로 구분한다. 550e8400-e29b-41d4-a716-446655440000 UUID를 사용해서 파일이름 랜덤으로 만들기 예제 총 세가지 유형이다. 1) MultipartFile일 때 2) File 일 때 3) 고유하기 파일이름 만들기 .png는 예시 다른걸 붙힐 수도 안붙힐 수도 있음 /* MultipartFile 데이터 타입 파일이름 재설정 */ public String makeFileName..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2sU2k%2FbtrGL8WCeLy%2FA8aDkwcWwgVmkX1LR2OBAk%2Fimg.png)
[DB] 예약어란?, 변수명 및 클래스명에 예약어를 쓰지 못하는 이유
2022. 7. 7. 19:48
데이터베이스
글을 쓰게 된 배경 board라는 Entity클래스에 order이라는 변수를 추가했는데 아래와 같이 에러가 발생했다. 알아보니 order은 예약어 이기때문이다. org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table board add constraint FKqurgsvbj6pv06modyixkngwby foreign key (share_id) references share" via JDBC Statement 그렇다면 예약어란? 각 DB에는 예약어라는 존재한다. 예약어는 그 DB의 문법에 해당되는 단어라고 생각하면된다. 예를 들어보겠습니다. 거의 모든 DB에는 SELECT 라는 예약어를 가지고 있을..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBR1LJ%2FbtrGlgvN0B5%2FvZPKg7ztWBzO2lqI73pJeK%2Fimg.png)
[항해99] 7주차 자바 및 리액트 미니 프로젝트 클론코딩
2022. 7. 4. 12:42
항해99
GitHub - whitewise95/hanghae99: 항해99에서 진행한 과제 및 프로젝트 모음 항해99에서 진행한 과제 및 프로젝트 모음. Contribute to whitewise95/hanghae99 development by creating an account on GitHub. github.com 1. 프로젝트 소개 당근 마켓 클론코딩 2. 프로젝트 목적 FE개발자(리액트)와 BE개발자(스프링)가 6주차까지 배운 내용을 기반으로 협력을 통해 개발하는 프로젝트 3. 프로젝트 인원 FE 김영호, 지송이 BE 김건 좋아요 기능 로그인 및 비로그인조회 지역별 및 인기순 조회기능 조회수기능 백현명 게시물 CRUD CORS설정 이미지업로드 심규홍 ExceptionHandler - jwt이용 로그인 회원..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Xvvq%2FbtrGjcUvk1C%2F0wlYO9BBlUSpjjy5klOoeK%2Fimg.png)
[java/spring/api] 스프링부트 구글 로그인 인가코드 또는 엑세스토큰을 이용하여 구현하기
2022. 7. 3. 21:55
몰아 넣기
들어가는 글 항상 백앤드와 프론트가 한 서버에 존재하는 개발만 해보았고 구글로그인도 그 때 해봤지만 이 번에 하는 프로젝트는 프론트와 백앤드의 서버가 각자 존재한다. 이렇게 프론트와 백앤드서버가 따로 존재할 때는 구글로그인을 프론트에서 다 해주거나 프론트에서 인가코드를 받고 그 코드를 백앤드에 넘겨 이어서 진행하는 방법으로 해야한다. 소셜로그인 흐름 리액트에서 유저가 구글로그인을 시도하여 인가코드를 요청한다. 구글에서 응답으로 구글 로그인을 시도한 유저의 인가코드를 같이 준다. 리액트에서는 받은 인가코드를 서버에 엑세스토큰과 리플레쉬토큰을 응답받기위해 요청헤더에 담아 보낸다. 인가코드를 받은 서버에서는 구글에게 구글플랫폼에 등록한 redirectUrl, clientId, clientSecret, 인가코드..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs6CNS%2FbtrF9Gt7Coi%2Fn2nKdyN2nEIac6zPkXBIOk%2Fimg.png)
[트러블 슈팅] git push 오류 failed to push some refs to....
2022. 7. 1. 11:16
Git
트러블 슈팅 git push 오류 ! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow `.github/workflows/build.yml` without `workflow` scope) error: failed to push some refs to 'https://github.com/~~/~~.git' 원인 에러 메시지를 읽어보면 OAuth App이 workflow(워크플로우) scope 없이 workflow를 진행하는 것을 허락하지 않으니 푸시를 거부한다고 나옵니다. 해결방안 자격증명관리자을 열어준다. Windows 자격증명을 클릭 git:https://github.com 항목이 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmLrRu%2FbtrF37yy8ac%2FPcR50s3WUtxvknQs9OXQV0%2Fimg.png)
[항해99] 6주차 자바 및 리액트 미니 프로젝트
2022. 6. 30. 10:53
항해99
GitHub - whitewise95/voyage99: 항해99에서 진행한 과제 및 프로젝트 모음 항해99에서 진행한 과제 및 프로젝트 모음. Contribute to whitewise95/voyage99 development by creating an account on GitHub. github.com 1. 프로젝트 소개 본인의 개성을 더해줄 버킷리스트 작성!! 주요 기능 2. 프로젝트 목적 FE개발자(리액트)와 BE개발자(스프링)가 5주차까지 배운 내용을 기반으로 협력을 통해 개발하는 프로젝트 3. 프로젝트 개요 다들 목표를 말만하고 못지키느라 힘드시죠?? 작심삼일은 여기서 해결하세요! 4. 개발 환경(BE) 언어 및 개발툴 java 인텔리제이 프레임워크 스프링프레임워크 스프링 시큐리티 서버환경 A..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbx0O6E%2FbtrF37yy8mI%2FRiJIEsu6qlKLiiVGxJVphk%2Fimg.png)
[항해99] 5주차 스프링 심화 프로젝트
2022. 6. 30. 10:52
항해99
GitHub - whitewise95/voyage99: 항해99에서 진행한 과제 및 프로젝트 모음 항해99에서 진행한 과제 및 프로젝트 모음. Contribute to whitewise95/voyage99 development by creating an account on GitHub. github.com #버전 1.1 22.06.09 프로젝트 소개 이번 과제는 항해99에서 설계된 API정의서에 맞춰 기능을 구현하는 프로젝트였습니다. 따로 UI없이 API로만 구성되어 있습니다. 하지만 추 후 ui도 추가할 예정입니다. API 기능 구성도 과제 목적 이번 과제에서는 내가 생각하기엔 이런것들을 이 목표를 가지고 공부할 수 있었다. 명세서를 보고 기능을 구현할 수 있게 된다. 테이블의 관계도를 이해할 수 있다..