오늘은 Spring boot를 이용하여 AWS S3 버킷에 이미지를 업로드 코드를 리뷰하겠다. 본격적으로 코드에 들어가기 앞서, 기본적으로 설정해야 하는 것들이 있다. 1. S3 버킷 생성 2. IAM 사용자 추가 및 accesskey, secretkey 발급 위의 사항들을 모두 하였으면 바로 코드로 들어가겠다. 우선 Dependency부터 추가하겠다.(gradle) package com.project.cooksistant.s3; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com..
현재 프로젝트를 진행하면서 한국어 형태소 분리가 필요해서 Flask로 Konlpy를 사용을 계획하였다. 오늘 여기서 프로젝트를 진행하면서 Window와 Linux(Ubuntu)상에서 발생했던 오류와 해결방안을 공유하도록 하겠다. Window 1차적으로 발생했던 문제는 Konlpy모듈을 단순히 pip install konlpy로 사용할 수 있다고 생각했다. 하지만 당연하게 에러가 발생했고 해결방안을 찾아보았다. 구글링을 통해 Java가 설치 후 환경 변수 설정(JAVA_HOME)이 되어있어야 하고(이건 이미 돼있고) JPype를 설치해야 한다고 하더라..그전에 알맞은 버전을 확인하기 위해 python 버전을 확인해야 한다. 위 사진과 같이 3.7 버전이므로 JPype도 그에 알맞은 버전을 다운로드하고 설치..
문제 출처:www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 조합, 순열 두 가지 방식이 떠오른 문제다. 하지만 순열을 사용하면 메모리 초과가 발생한다..(이것 때문에 7%에서 계속 오류..) 조합을 사용한다면 다음으로 중요한 부분은 모음이 1개 이상, 자음이 2개 이상인 것을 확인하는 것이다. 위 코드와 같이 for문을 0~끝 바로전 까지 탐색했기 때문에 for문 이후에 끝 부분을 다시 확인해 주었다. 그리고 만약 모음 1개, 자음 2개의 조건이 충족되지 못하면 ..
엔티티가 getter setter를 가지고 있으면 Controller단이 아니라 어디서든 실수로라도 쉽게 속성이 변경될 수가 있다. 또한 DB의 테이블 스키마와 같은 구조이기 때문에 테이블 설계가 노출되는 문제가 있다. 그리고 요청을 통해 여러 테이블에서 값을 리턴받는다고 생각해보자. DTO를 이용하면 필요한 모든 값들을 하나의 DTO에 담아서 보내줄 수 있으므로 개인적으로 Front단에서 편리하게 작업을 할 수 있는 환경을 줄 수 있다고 생각한다.(또한 필요 없는 속성은 굳이 안 보내도 되는 장점까지!) 그리고 가장 중요한 부분이라고 생각하는 점은 '순환참조'를 예방할 수 있다. JPA로 개발할 때 양방향 참조된 엔티티를 컨트롤러에서 응답으로 return 하게 되면, 엔티티가 참조하고 있는 객체는 지연..