캐시할 데이터는 웹 서버가 반환하는 값-> 반환값에 대한 소유주: 웹 서버-> 웹 서버가 캐시를 모두 제어 Cache-control 헤더를 통한 세부 설정캐시 입장에서 누가 갑이고 누가 을인가?갑: 웹 서버: 웹 서버가 캐시를 하냐마냐 등을 모두 제어 -> Cache-control 헤더을: 웹 브라우저나 프록시: 웹 서버가 보내는 Cache-control헤더를 보고 하라는 대로 순종캐시 저장 여부: 캐시해? 말아?`no-store`: 캐시 안함`no-cache`: 캐시 함. 단, 매번 재검증 후 사용(패킷 경량화) -> 이름만 보고 캐시 안하는거아니야? 라고 헷갈리지 말기 캐시 저장 장소: 어디에 저장해?`public`: Private(웹 브라우저) + Shared(프록시) 모두에 저장 -> 브라우저에도..
dockerfile 생성FROM eclipse-temurin:17-jdk-alpineVOLUME /tmpARG JAR_FILE=build/libs/*.jarCOPY ${JAR_FILE} app.jarENTRYPOINT ["java","-jar","/app.jar"] docker 명령어로 이미지 생성dockerfile이 있는 폴더에서 아래 명령어 실행docker build --build-arg JAR_FILE=build/libs/\*.jar -t rlawldus0209/capstone . --platform linux/x86_64 도커 허브에 이미지 올리기docker push rlawldus0209/capstone 배포 서버에서 허브에 올린 스프링 이미지 다운받기docker pull rlawldus0209..
오류@Transactionalpublic Files savefiles(FileUploadDTO file, MultipartFile newFile, Member member) throws Exception { if (member == null) { throw new BusinessException(CustomErrorCode.ACCESS_DENIED); } Files files = fileHandler.parseFileInfo(file, newFile, member); if (files == null) { //파일이 없을 경우: 클라이언트 측에서 파일 데이터가 없을 경우 throw new BusinessException(CustomErrorCode.NO..
원인docker hub에 로그인이 되지 않을 경우user name과 docker hub 로그인된 ID가 일치하지 않을 경우 나의 경우 1번이였던거 같다.해결먼저 아래 명령어로 docker 로그인 진행 docker login 그러면 아래 사진 같이 뜰 것이다. 로그인 성공~ 로그인 후 프로젝트 이미지 허브에 올리기
원인ERROR: failed to solve: eclipse-temurin:17-jdk-alpine: failed to resolve source metadata for docker.io/library/eclipse-temurin:17-jdk-alpine: no match for platform in manifest: not found 윈도우에서 잘 되던 명령어가 맥에서는 이런 에러가 떴다..해결구글링 해보니 M1칩의 경우 linux/arm64/v8 베이스로 이미지 빌드를 한다고 나와있었다. 나는 M3칩을 사용했지만 혹시 나도? 라는 생각에 docker build -t {tag} . --platform linux/x86_64 이미지 빌드시 위 처럼 플랫폼을 명시해주니 이미지 생성이 잘 되었다.
문제분명 도커를 설치했는데 저렇게 뜬다... 해결 방법vi ~/.zshrc터미널에 위와 같이 입력 후 zshrc파일을 편집한다 zshrc 파일 맨 마지막 줄에 alias 추가alias docker="/Applications/Docker.app/Contents/Resources/bin/docker" 수정후 zchrc파일 다시 실행source ~/.zshrc
https://velog.io/@kjyeon1101/Spring-AWS-S3-%EA%B0%9D%EC%B2%B4%EB%B3%84%EB%A1%9C-%EC%A0%91%EA%B7%BC%EA%B6%8C%ED%95%9C-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-97bduqh0 [Spring, AWS] S3 객체별로 접근권한 설정하기프로필 사진 API를 추가 구현하면서 이미지 접근권한을 다시 설정해야할 필요가 생겼다.velog.io문제 새로운 파일이 추가되면 ACL을 사용하여 퍼블릭 설정을 해줘야한다.aws에서 폴더를 생성 후 그 폴더에 ACL을 사용해서 퍼블릭으로 설정해주면, 그 순간에 해당 폴더 안에 있는 객체들도 다 퍼블릭 설정이 먹힌다고 한다.하지만 나는 폴더를 만들지 않았음 결국 폴..
아래 사진들 같이 설정 진행https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html#step4-add-bucket-policy-make-content-public
재검증을 통한 캐시 값의 준실시간성 보장캐시 사용 여부: 실시간성이 중요하다면 성능에 문제가 되더라도 캐시는 사용하지 않는 것이 맞다. -> 실시간을 생각하는데 캐시사용? 재검증 필요HTTP Cache 동작 원리캐시는 임시 저장을 위한 전략준실시간성을 위해서 캐시해 놓은 데이터가 너무 오래된 데이터가 되지 않도록 특정 주기에 따라 재검증을 해주어야한다. 재검증: 캐시한 데이터의 원본 주인인 웹 서버가 설정한 특정 주기에 따라 캐시한 데이터가 오래됐는지 검증검증 방법: 조건부 요청 사용 = 재검증 기준이 되는 값을 앞으로 조건부 요청 2가지를 볼것임 (1. HTTP Cache 재검증, 2. CORS 요청 가능 여부 확인) 재검증 주기개발자들은 데이터의 갱신 특성에 따라 주기 설정재검증 기준캐시해놓은 데이터..