반응형

It 200

[SpringBoot] 5주차 스터디 (AWS RDS, EC2)

이전에 만들었던 프로젝트를 AWS 와 연결하여 배포해보았다. 1. AWS RDS ① RDS 를 구매한다. 다음과 같은 설정으로 데이터베이스를 생성한다. ② RDS 포트를 열어준다. 생성한 데이터베이스에서 보안그룹을 클릭하면 두번째 사진과 같은 화면이 나온다. 그 화면에서 인바운드 규칙을 수정해주면 된다. ③ 스프링부트 프로젝트와 RDS 를 연결한다. 우측에 [Database] - [+] - [Data Source] - [MySQL] 를 선택한다. 선택하면 이런 화면이 뜨는데 RDS에서 설정한 것들의 값을 넣으면 된다. Host 는 RDS 데이터베이스의 엔드포인트이다. User와 Password 는 데이터베이스를 만들 때 설정한 마스터 이름과 마스터 비밀번호이다. Database는 데이터베이스를 만들 때 ..

Back-end/Spring 2021.09.16

[SpringBoot] 4주차 스터디 ② (나만의 셀렉샵 만들기, 네이버 쇼핑 API)

이전 포스팅에 이어서 계속해서 나만의 셀렉샵을 만들어 보겠다. https://soohyun6879.tistory.com/200 [SpringBoot] 4주차 스터디 ① (나만의 셀렉샵 만들기, 네이버 쇼핑 API) 네이버 쇼핑 API를 사용하여 나만의 셀렉샵을 만들어 보았다. 프로젝트 구조는 다음과 같다. 1. 네이버 쇼핑 API 신청하기 네이버 쇼핑 API 를 사용하기 위해서는 API 사용 신청을 해야 한다. 다음 링 soohyun6879.tistory.com 1. 네이버 쇼핑 API 사용하기 네이버 쇼핑 API 를 사용하여 검색된 상품 목록을 가져온다. 검색된 상품 목록은 String 형식으로 가져와지기 때문에 화면에 보여줄 수 있도록 하려면 DTO로 변환하는 과정이 필요하다. @Component /..

Back-end/Spring 2021.09.09

[SpringBoot] 4주차 스터디 ① (나만의 셀렉샵 만들기, 네이버 쇼핑 API)

네이버 쇼핑 API를 사용하여 나만의 셀렉샵을 만들어 보았다. 프로젝트 구조는 다음과 같다. 1. 네이버 쇼핑 API 신청하기 네이버 쇼핑 API 를 사용하기 위해서는 API 사용 신청을 해야 한다. 다음 링크에서 신청할 수 있다. https://developers.naver.com/docs/search/shopping/ 검색 API 쇼핑 검색 개발가이드 NAVER Developers - 검색 API 쇼핑 검색 개발가이드 developers.naver.com 다음과 같은 양식으로 API 이용 신청을 한다. 신청이 끝나면 Client ID 와 Client Secret 를 발급받을 수 있다. 2. Repo(Domain, Repository) - Repo 는 가장 안쪽 부분을 의미하고, DB와 맞닿아 있다. ..

Back-end/Spring 2021.09.09

[백준/Python] 좌표 압축

https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net [처음 코드] n = int(input()) nums = list(map(int, input().split())) comp = sorted(list(set(nums))) for num in nums: print(comp.index(num), end = ' ') 처음엔 index() 를 사용해서 리스트에서의 인덱스를 찾아 출력하도록 하였다. 그랬더니..

Algorithm/백준 2021.09.08

[백준/Python] 단어 정렬

https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 단어 길이 기준으로 정렬하는 조건을 넣어 정렬하면 길이 순으로 정렬되고 같은 길이 안에서는 사전 순으로 정렬된다고 생각했다. 별다른 조건없이 정렬했을 때 사전 순으로 정렬되니까! 근데 결과를 출력해보니 같은 길이 안에서 사전 순으로 정렬되지 않았다... ㅜ import sys n = int(sys.stdin.readline()) words = [] for _ in range(n): wo..

Algorithm/백준 2021.09.06

[SpringBoot] 3주차 스터디 (메모장 만들기, Spring JPA)

Spring JPA 를 사용하여 메모장을 만들어보았다. 프로젝트 구조는 다음과 같다. 1. Repo(Domain, Repository) - Repo 는 가장 안쪽 부분을 의미하고, DB와 맞닿아 있다. 먼저 Memo.java 파일을 생성한다. 이 클래스는 DB의 테이블 역할을 하는 Domain 클래스이다. @NoArgsConstructor // 기본생성자 대신 생성 @Getter // Lombok이 getter 자동 생성 @Entity // 테이블과 연계되는 클래스임을 스프링에게 알려줌 public class Memo extends Timestamped { // 생성,수정 시간을 자동으로 생성하도록 상속받음 @GeneratedValue(strategy = GenerationType.AUTO) // ID ..

Back-end/Spring 2021.09.02

[백준/Python] 통계학

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import sys from collections import Counter n = int(sys.stdin.readline()) # 수의 개수 nums = [] # 숫자 리스트 # 숫자 입력 받기 for _ in range(n): nums.append(int(sys.stdin.readline())) # 산술 평균 print(round(sum(nums) / n)) # 중앙값 nums.sort() print(nu..

Algorithm/백준 2021.08.30

[SpringBoot] 2주차 스터디 (JPA, domain, repository, DTO, service, controller)

Spring JPA 란? SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제 (CRUD) 할 수 있도록 해주는 번역기 프로젝트 구조는 다음과 같다. 1. Domain, Repository Domain - DB의 테이블 역할을 하는 클래스 Repository - DB의 SQL 역할을 하는 인터페이스 먼저 Course.java 파일을 생성한다. 생성자를 직접 만들지 않고 Lombok을 사용하여 getter가 자동 생성 되도록 하였다. @Getter // Lombok이 getter 자동 생성 @NoArgsConstructor // 기본 생성자를 대신 생성 @Entity // 그냥 클래스 아니고 DB의 테이블 역할을 하는 클래스라는 것을 알려줌 public class Course extends Timesta..

Back-end/Spring 2021.08.28

[백준/Python] 영화감독 숌

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 처음 생각했던 풀이는 영화제목이 1666, 2666, 3666, ... 으로 증가하니까 그냥 666 앞에 입력받은 숫자만 붙이면 되겠다! 라고 생각해서 코드를 제출했더니 틀렸다고 나왔다. 코드를 짤 때부터 너무 간단하다고 생각하긴 했다...^^ 틀리고 나니 문제를 잘못 이해한 것 같아서 블로그를 찾아봤다. n = int(input()) movie = str(n-1) + '666' print(mo..

Algorithm/백준 2021.08.25

[백준/Python] 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제는 브루트포스 문제로 모든 경우의 수를 탐색해보면 되는 문제였다. 정말 하나씩 다 확인해보는 방법을 선택했다. 시작하는 글자가 'W' 일 때 0번째줄부터 시작한다고 할 때 짝수줄은 'WBWBWB...' 이고, 홀수줄은 'BWBWBW...' 으로 되니까 인덱스로 하나씩 확인해서 제대로 체스판이 칠해져있는지 확인하려고 했다. 행(i)과 열(j) 인덱스를 살펴보면 규칙을 찾을 수 있었다...

Algorithm/백준 2021.08.24
반응형