개발(93)
-
03.07 JPA Pagination을 이용한 무한 스크롤 구현기
무한 스크롤 지난 여름, 우아한 테크코스에서 Step 2 과정으로 3주 동안 미니 프로젝트를 진행했습니다. 저희 팀의 주제는 인스타그램이었는데요. Spring Boot와 JPA를 기반으로 만들어보고 싶었던 기능들을 마음껏 구현해볼 수 있었던 재미있는 프로젝트였습니다. 시간이 좀 지났지만 JPA의 페이지네이션 기능을 사용해서 만들었던 무한 스크롤을 주제로 간단하게 포스팅을 해보겠습니다. 인스타그램에서 페이지네이션? 인스타그램 서비스의 메인 페이지에는 내가 팔로우하고 있는 사람들의 게시물들이 시간 순서대로 보입니다. 그런 페이지를 만들어 보려고 생각해보니, 인스타그램이라는 서비스에서 [1] [2] [3] [4] ... 와 같이 일반적인 페이지네이션을 구현한다는 것이 굉장히 어색하다는 사실을 인지하지 못하고 ..
2023.03.06 -
03.06 TIL 2023.03.06
-
03.06 Refresh Token (양식)
오늘은 이전에 포스팅한 jwt 적용기의 2편이다. 목차 문제인식 해결방법 구현 문제인식 Access Token을 적용하고 아주 큰? 문제를 발견했다. 보안 상으로 Access Token은 매우 짧은 만료기간을 가지고 있다. 그래서 사용자는 매번 만료가될 시 로그인을 새로 하여, 새롭게 Access Token을 받아야 한다는 것이다. 또한 사용자의 자동로그인에 문제가 생겼다. 해결방법 여러가지의 해결방법이 있다. Access Token의 만료기간을 매우매우 길게 설정해준다. -> 보안 상 불가능 Access Token을 매번 요청마다 새롭게 갱신한다. -> 서버에 너무나 많은 요청을 하게 된다. Refresh Token을 도입한다. 사실상 가장 괜찮은 기법 그럼 Refresh Token에 대해서 알아보자...
2023.03.06 -
03.06 TIL @ApiResponses
@ApiResponses 이거를 쓸때 적용해야하는 build.gradle를 까먹어서 외우려고 적었습니다. implementation 'org.springdoc:springdoc-openapi-ui:1.6.9'
2023.03.05 -
03.05 TIL (S3 이미지 File 변환 오류)
spring: servlet: multipart: max-file-size: 10MB max-request-size: 10MB datasource: username: sa url: jdbc:h2:mem:db;MODE=MYSQL; password: '' h2: console: enabled: 'true' thymeleaf: cache: 'false' jpa: properties: hibernate: format_sql: 'true' show_sql: 'true' hibernate: ddl-auto: update jwt: secret: key: '7ZWt7ZW0OTntmZTsnbTtjIXtlZzqta3snYTrhIjrqLjshLjqs4TroZzrgpjslYTqsIDsnpDtm4zrpa3tlZzqsJzrsJz..
2023.03.05 -
03.05 버킷설정
AWS [AWS] springboot+gradle + S3를 이용해 이미지 올리기 giron 2021. 8. 9. 15:22 스프링부트 gradle, java11, 을 사용했습니다. 우선 버킷 이름을 설정하고, 모든 퍼블릭 엑세스 차단을 해제해 주고 현재 설정을 확인했다고 체크해줍니다. 만든 버킷에 들어간 후, 권한으로 한번 더 들어갑니다. 그 후, 버킷 정책의 편집을 눌러줍니다. 버킷 ARN을 복사해주고 정책 생성기를 눌러줍니다. Principal : * Action : GetObject, PutObject를 추가 ARN: 복사했던 {ARN}/* 입력 그 후, Add Statement -> Generate Policy를 하면 정책 내용을 복사해줍니다. 그리고 나와서 정책에 복붙을 해줍니다. 그리고 변경..
2023.03.05