본문 바로가기

트러블슈팅

[Aws] s3 메타데이터 설정하기 s3 메타데이터 설정하기 s3 의 파일을 브라우저에 직접 입력하면 바로 다운로드가 된다. 이유는 아무 설정하지 않은 경우 업로드 된 객체의 메타데이터 content-type 이 application/octet-stream 이기 때문이다. 이 메타데이터는 s3 객체 다운로드를 요청하면 그대로 response header 로 전달된다. pdf 파일의 경우, 내장 pdf 뷰어를 사용하기 위해 객체 업로드 할때 또는 업로드 이후에 aws 콘솔에서 메타데이터를 조절한다. 방식 메타데이터 설정 비고 다운로드 우선 Content-Type: application/pdf Content-Disposition: attachment; filename="filename.jpg" pdf 뷰어를 이용하기 위해 application.. 더보기
[JPA] OneToMany 에서 child 를 지웠는데 update 쿼리가 날아간다고? 현재 코드 단방향 OneToMany 매핑, AccountGroupDetails 에서는 매핑관계 없음 부모 클래스에서 자식 클래스 CRUD 를 모두 하려고 함 식별관계 - 부모키가 자식PK 에 포함 @Entity data class AccountGroup( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var accountGroupId: Long? = null ... ... ... ) { @OneToMany(fetch = FetchType.LAZY, targetEntity = AccountGroupDetails::class, cascade = [CascadeType.ALL], orphanRemoval = true) @JoinColumn(name = "a.. 더보기
[Kotlin] Contracts 코틀린 가이드의 번역내용입니다. https://kotlinlang.org/docs/reference/whatsnew13.html What's New in Kotlin 1.3 - Kotlin Programming Language kotlinlang.org Contracts Kotlin 컴파일러는 광범위한 정적 분석을 수행하여 경고를 제공하고 boilerplate code를 줄입니다. 가장 주목할만한 기능 중 하나는 스마트 캐스트입니다. 컴파일러의 type check 에 따라 자동으로 type 캐스트를 수행 할 수 있습니다. fun foo(s: String?) { if (s != null) s.length // Compiler automatically casts 's' to 'String' } 하지만 typ.. 더보기
[Gradle] 라이브러리 버전 충돌(버전이 여러개인 경우) (kotlin 사용중) 문제 갑자기 jackson objectMapper 가 제네릭 타입추론을 못한다는 에러가 발생함 변경점은 build.gradle 에 jasperreports 의존성만 추가한 것 밖에 없었다. 원인 찾기 실제 다운 받은 라이브러리 확인 jackson.core 가 버전이 3개나 된다. 뭔가 현재 프로젝트에 원하지 않은 라이브러리까지 추가된거 같다. 그렇다면 현재 사용중인 jackson.core 는 무엇인가? gradle dependencies.tree 를 확인하면 된다. intellij 를 먼저 이용해보자. Gradle 윈도우 - 원하는 프로젝트 - Show Dependencies... 뭐가 엄청 많이 나오니까 cmd+f 로 찾자 그리고 계층구조를 잘 보기 위해서 Show Paths 를.. 더보기
[Aws] s3 cors 에러 1. 기본개념 버킷 : 최상위 폴더, 리젼안에서 유니크한 이름으로 해야함 객체 : 저장되는 파일들 2. 기본 사용법 aws 콘솔에서 버킷 생성 객체 업로드 버킷 및 객체 관리 - 버킷에 권한 설정 등 - 객체에 퍼블릭 설정, 메타데이터 설정 - 메타데이터는 HTTP 표준에 정의된 메타데이터와 S3 전용 메타데이터로 나뉘는데, 메타데이터 내용 Cache-Control 브라우저 캐시 정책 Content-Disposition attachment; filename="파일명" 을 주면 자동으로 브라우저 다운로드로 됨 Content-Type Content-Language 3. 응용사례 기본적으로 퍼블릭 권한은 없다 pre signed url 을 이용하는데 다운로드용, 업로드용 만들수 있다 다운로드 용은 s3에 저장.. 더보기
[Python] pandas.read_csv 에서 ssl 오류 외부 라이브러리에서 read_csv 하는데 ssl 오류가 남 직접 request 를 발생할 수 없는 상황임 import ssl ssl._create_default_https_context = ssl._create_unverified_context 더보기
[Spring] Spring boot 에서 mongoDB 붙이기 build.gradle 에 의존성 추가 implementation "org.springframework.boot:spring-boot-starter-data-mongodb:$springBootVersion"application.yml 에 접속정보 추가 spring.data.mongodb.host, port... 등을 추가해야함 spring: data: mongodb: host: port:그 외 설정 DB 접속하는 빈 객체 만들거나 DB 접속 설정을 바꾸거나 하는 config 클래스를 만들수도 있다. 하지만 spring boot 에는 auto configuration 이라는게 있어서 알아서 해주는 듯(기본설정으로) 그래서 application.yml에 속성값만 바꾸면 됨 @ConfigurationPrope.. 더보기