-
Notifications
You must be signed in to change notification settings - Fork 0
최현식 4주차 WAS 학습 일지
이번주로서 WAS 미션을 끝마치게 되었습니다. (경-축)
- 중복되는 역할을 하는 Componet가 Scan되는 경우, 예상치 못하게 동작할 수 있을 것 같았습니다. 따라서 해당 경우에 예외를 Throw하고,
@Primary
어노테이션을 통해 우선순위를 판단하게합니다.
build.gradle를 implements로 변경하여 해결
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation("org.assertj:assertj-core:3.22.0")
implementation 'ch.qos.logback:logback-classic:1.5.6'
implementation 'org.slf4j:slf4j-api:2.0.13'
runtimeOnly 'com.h2database:h2:2.2.224' // <- RunimeOnly
}
-
Bianry Data를 다루기 위해서는 기존 처럼 읽어들인 값을 String으로 인코딩/디코딩 하는 경우 손상이 발생했습니다. 이를 해결하기 위해 byte 배열 자체를 기반으로 데이터를 다루는 방식으로 작업 방식을 전환했습니다.
-
로컬 환경에서는 네트워크 지연이 없어서 한번에 byte[]로 받는 것이 문제가 되지 않았지만, AWS에 배포하고 나서는 이미지가 잘리는 문제가 생겼습니다. 이는 서버가 클라이언트가 보낸 HTTP Request가 끝난줄 알고 중간에 연결을 종료해서 발생한 문제였습니다. 이를 Content-Length 해석을 통해 필요한 문자를 모두 받아 활용하는 것으로 변경했습니다. (추측하는 원인은, AWS 환경에서는 로컬과는 다르게 socket 메세지가 늦게 도착할 수 있음. 늦게 도착하는 경우 WAS 측에서는 이를 전혀 다른 메세지로 인식하게 되어 결과적으로 이미지가 잘리게됨)
-
큰 이미지로 공격하면 서버도 클라이언트도 혼쭐이 납니다. 해당 프로젝트에서 적용은 못하겠지만, 실제 이런 상황일 때 어떻게 처리하면 좋을지 고민해보면 좋을 것 같습니다. (이미지 압축 및 제한, gzip 등)
해결하지못함..!! AUTO_INCREMENT 값이 초기화되지 않아 테스트 코드를 우회시켰습니다.
한달이 정말 빨리 지나갔습니다. 하루하루가 빨리 지나가면 한달은 느리게 가는 법이였는데 여기와서 그런 생각이 깨진 것 같네요...!! 이제 몇 주 뒤면 프로젝트를 진행하게 되는데 그 때를 대비해서 체력 분배를 잘 해야 될 것 같습니다. 화이팅!!