분류 전체보기 478

[Spring] 스프링 부트 페이지네이션 (Query, JPA, offset / cursor 페이지네이션)

페이지네이션을 구현해보자!! spring boot 의 JPA를 이용해서 구현을 할 예정이다 페이지네이션을 구하기 위해서는 요롷게 3가지를 생각해 주어야한다. view size : 한페이지에 보여줄 개수 total page : 전체 페이지 개수 page : 현재 페이지 1. 첫번째 아이디어 단순, findAll()로 List로 불러와 list.sublist 로 잘라주었다. //게시글 목록 @GetMapping("/post-list") public List getPostList(@RequestParam("page") int page){ List resultList = postService.getPostList(); List postList = Arrays.asList(modelMapper.map(result..

Spring/Spring Boot 2021.12.23

[AWS] RDS Python 코드로 이용하기 - AWS RDS(Mysql)을 이용하여 사진 업로드

전전전? 아무튼 전 게시물에서 cloudfront로 프론트를, EB로 백엔드 application.py를 배포에 프론트와 백엔드를 연동해서 배포를 완료했다. 이번에는 이걸 이용해서 DB를 RDS로 연동해 주려고 한다. 1. EB 백엔드 예시 코드 - application.py import boto3 from flask import Flask, render_template, request, jsonify from flask_cors import CORS import os from flaskext.mysql import MySQL #pip install install flask-mysql application = Flask(__name__) # cors cors = CORS(application, resou..

Infra/AWS 2021.12.20

[AWS] Spring boot 랑 RDS Mysql 연동하기 (GitAction, EB)

전 게시물에서 EB를 이용해 배포를 하였기 때문에, EB 환경에서 데이터베이스(RDS)를 만들어 연동하고자 한다. Elastic Beanstalk > 환경 > 내 eb 환경 > 구성 > 데이터베이스 편집 여기서 데이터 베이스를 쭉쭉쭉 만들고 사용자 이름과 비밀번호를 기억해 두어야한다. (master 아이디가 된다.) 그럼 이렇게 RDS 가서 보면 데이터베이스가 생긴걸 확인 할 수 있다. 여기서 클릭해 엔드포인트를 기억해 두고, 인바운드 규칙을 편집한다. VPC 보안그룹 클릭 > 인바운드 규칙 편집 클릭 그다음 해당 데이터베이스의 포트를 열어준다. 나는 mysql을 사용했기 때문에 3306 포트를 열어주엇다. 그 다음 EB 환경변수에 아래의 값들을 추가해 준다. (EB 환경변수와 인텔리제이 환경변수 추가하..

Infra/AWS 2021.12.15

[AWS] 도커와 깃 액션을 이용해서 백엔드 배포하기 - EC2, EB, Docker, GitAction

프로젝트 배포를위해, 컨 게시글에서 프론트 페이지를 먼저 배포하였다. 이제 백엔드 쪽을 배포할 건데, Docker 와 GitAction을 사용하여, ElasticBeanstalk를 이용해서 배포할려고 한다. ElasticBeanstalk를 이용하면, ELB + Auto Scaling + EC2 한번에 관리할 수 있다. 아래의 게시글 따라하며, EB를 구성하는데, EB의 플랫폼을 도커로 설정하여 만들어줘야한다. EB 생성 https://thalals.tistory.com/151 [AWS] Elastic Beanstalk란 (ELB + Auto Scaling + EC2 한번에 관리) 🍯EB(ElasticBeanstalk) 란 ELB + Auto Scaling + EC2 한번에 관리할 수 있는 서비스입니다 A..

Infra/AWS 2021.12.15

[TIL] 12.11 -스파르타 내일배움캠프 90일차

TIL 1. 프레임워크는 프레임워크일 뿐이다 2. 프레임워크 제공하는 매개변수 호출과 같은 기능에 집중하지 않고, HTTP에 집중하자 3. HTTPS 를 공부해야겠다 4. 윤성우의 자료구조가 짱이라고 하신다 오늘 하루 1. 좋았던 점 오늘은 3차 팀프로젝트 마무리 발표를 했다. 날밤을 꼴닥세워 겨우겨워 배포에 성공해서 기분이 좋았다. 배포에 성공은 했지만, 배포 과정을 기록으로 남겨놓자 발표로 끝나지 않고, 이후 팀원들과 2주동안 프로젝트에 각자 하고싶었던 기능을 추가하고, 부족한점을 보완하기로 했다 너무 좋아 2. 아쉬운 점 조금 더 부지런하게, 조금 더 꼼꼼하게 했다면,, 하는 아쉬움이 들지만 자책은 하지말자 3. 오늘 배운 점 밤을 새우는건 쉽지않다,, 이제 자자구

[AWS] 프론트 부분 AWS 배포 - (S3, CloudFront 연동)

프로젝트 배포를 위해 프론트 부분을 배포하고자 한다. 프론트 부분은 직접 수동으로, s3 버킷 안에 업로드를 해주고, s3를 cloudfront로 연동시켜주어서 마무리 할 계획이다. CloudFront를 연동하는 이유는, 글로벌 서비스를 위한 캐싱 데이터의 사용과, s3에 집적 접근하는게 아닌, 클라우드 프론트를 이요하여 캐싱 데이터에 접근하는 것이기 때문에 AWS 비용 절감도 할 수 있기 때문이다. 쉽게 말해서 CloudFront란, 정적파일들을 캐싱해주는 서비스이다. (정적파일 호스팅까지) S3 만드는방법 https://thalals.tistory.com/139 aws s3 ( AWS 파일 업로드 저장소 ) 아마존 S3 - Simple Storage Service 아마존 s3는 아마존 웹서비스에서 제..

Infra/AWS 2021.12.08

[TIL] ssh: connect to host 13.209.64.175 port 22: Connection timed out Resolving 에러해결

잘되던 ssh 접속이 안된다... 휴 왜 타임아웃이야..? 왜..? 구글링을 해보니 방화벽을 열어줘야한다.. 볼륨을 해지해야한다.. 어쩌구 저쩌구,, 이유가 너무 많다. 일단 telnet 명령어로 포트로 접근은 되는지 확인해 보았다. 22포트가 열려있지 않은거 같다고 튜터님이 알려주셨다...ㅠㅠ AWS 확인 ec2 인바운드 규칙에는 분명히 22포트가 열려있다. 그다음은 vpc를 확인해보았다. 잘열려있다. 그다음은 인터넷 게이트웨이를 확인해보았다. 인터넷 게이트웨이가 없었다,,,,!!! 과금때문에 지웠었는데 이게 문제가 될지는 몰랐다. 인터넷 게이트웨이를 만들고 vpc를 연결해 준다음 라우팅 테이블을 확인해보니, 블랙홀 에러가 나와서 해당 포트를 지워주고 다시 22포트를 열어주었다. port 22 time..

Infra/AWS 2021.12.06

[Spring] 스프링 시큐리티 - 카카오 소셜로그인 하기(OAuth)

https://developers.kakao.com/console/app 카카오계정 로그인 여기를 눌러 링크를 확인하세요. accounts.kakao.com 카카오 로그인 설정하기 카카오 로그인을 하기 전에 개발자 사이트에서 '어플리케이션 등록'을 해야 합니다. 1. 회원가입 후 어플리케이션 추가 2. 앱 이름, 사업자명 저장 3. 사이트 도메인 등록 애플리케이션 선택 플랫폼 메뉴 선택 Web 플랫폼 등록 사이트 도메인 입력 4. Redirect URI (callback) 설정 카카오 로그인을 하기위해서 인가토큰을 받게 될 Redirect URI(callback)을 설정해야한다. 5. 동의 항목 설정하기 프로필 정보와 이메일 정보를 체크합니다. 나머지는 사용할 수 가 없습니다.. 카카오 로그인 구현하기 ..

Spring/Spring Boot 2021.12.04

모의면접

첫 모의면접을 제대로 털리고 말았다.. 질문을 쏙쏙 적어놔야지ㅜ 1. Astar 알고리즘이 뭔가요 2. Django를 왜 사용하셨나요 3. 프로젝트 하면서 어려웠던 점 (+어떻게 해결하셨나요) 4. 라이브러 쓰면서 어려웠던 점 5. MVT 패턴 6. 데이터를 어떻게 넣으셨나요 (마이그레이션 vs 하나.. 기억안남) 7. 마이그레이션을 할 때 데이터 정합성은 어떻게 처리하셨나요 8. 컬럼을 하나 추가하고 디폴트 값을 넣는다고 할 때, 어떻게 처리하실건가요 9. Tmap API로 최단경로를 사용했는데, 따로 Astar 알고리즘을 사용한 이유는 뭔가요 10. API 엔드포인트는 몇개인가요 11. View 처리는 어떻게 하셨나요(나는 한개에 다때려넣었다고 했는데.. ) 12. 세션이 뭔가요 13. RESTFul..

[Spring] 스프링 시큐리티 사용하기 - spring security (로그인, 로그아웃, 회원가입)

레거시(?) 블로그 글 입니다. JWT 토큰과 Sping Boot 3.0 + Spring Security6 를 이용한 Rest API 방식의 인증-인가 방식을 이용한 더 자세한 내용을 원하시는 분은 아래 글을 참고해주세요 ! 🤗 https://thalals.tistory.com/436 스프링 시큐리티 프레임워크 스피링 시큐리티(Spring Security) - '스프링 시큐리티' 프레임워크는 스프링 서버에서 필요한 인증 및 인가를 위해 스프링에서 제공해주는 프레임워크입니다. 스프링 시큐리티 프레임워크 추가(빌드 추가) build.gradle // 스프링 시큐리티 implementation 'org.springframework.boot:spring-boot-starter-security' // Thymel..

Spring/Spring Boot 2021.12.04