묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
context에서 useEffect 선언 부분 질문 있어요.
AuthProvider에서 useEffect를 추가해서 loadUser가 호출되도록 해주었는데 모든 페이지 접근시 2번씩 호출되는 원인이 무엇일까요?// app.tsx <AuthProvider> <Component {...pageProps} /> </AuthProvider> // AuthProvider useEffect(() => { async function loadUser() { try { const res = await axios.get("/auth/me"); dispatch("LOGIN", res.data); } catch (error) { console.log(error); } finally { dispatch("STOP_LOADING"); } } console.log("loadUser"); loadUser(); }, []);그리고 커뮤니티 생성 페이지에서는 getServerSideProps를 선언해두었기 때문에 여기서도 /auth/me api 를 호출해주어서 결국 커뮤니티 생성 페이지에서만 총 3번이 호출되고 있어요.제가 잘못 구현한 것일까요?정리하자면,1. 현재 코드에서는 loadUser() 메서드가 1회만 호출되어야 할 것 같은데, 2번 호출되는 이유는 무엇인지?2. 커뮤니티 생성 페이지에서는 /auth/me api를 3번 호출하고 있는데, 횟수를 줄일 수 있는지? (이건 url 직접 입력해서 들어가지 않으면 1회만 호출할 것 같긴 하네요.)서버 로그입니다.(각각 커뮤니티 생성 페이지, 로그인 페이지)
-
해결됨개발자를 위한 쉬운 도커
여러 개의 컨테이너가 1개의 도커 볼륨에 접근할 때 일관성 문제
여러 개의 컨테이너가 하나의 볼륨을 공유할 수 있다는 특징에 따라 다음과 같이 작성했습니다. 도커 볼륨 생성docker volume create myvolume컨테이너A 생성docker run -d --name my-containerA -e POSTGRES_PASSWORD=password -v myvolume:/var/lib/postgresql/data postgres:13컨테이너B 생성docker run -d --name my-containerB -e POSTGRES_PASSWORD=password -v myvolume:/var/lib/postgresql/data postgres:13컨테이너A에서 새로운 DB 생성docker exec -it my-containerA psql -U postgres -c "CREATE DATABASE mydb;"컨테이너A에서 DB 조회docker exec -it my-containerA psql -U postgres -c "\list"컨테이너A에서 DB를 생성하고 조회하면 정상적으로 조회가 되는데, 컨테이너B에서 DB를 조회하면 mydb가 생성되지 않은 채로 보이네요.일관성 유지를 위해 두 컨테이너에서 정상적으로 조회가 될 줄 알았는데 컨테이너B에는 새로운 DB를 생성한 게 동기화가 안되네요..근데 새로운 컨테이너C를 생성하여 DB를 조회하면 정상적으로 조회가 됩니다. 위 내용을 정리하면 여러 개의 컨테이너가 1개의 도커 볼륨에 동시에 마운트하여 사용하면 동기화가 되지 않고, 새로운 컨테이너를 생성하여 도커 볼륨에 마운트하면 정상적으로 동기화가 됩니다.이런 경우에는 어떻게 해결하나요?
-
해결됨개발자를 위한 쉬운 도커
USER 명령어 질문
도커파일에서 USER 명령어가 RUN과 CMD 사이에 와야하는 이유가 무엇인가요? 그리고 USER 명령어가 사용되는 이유에 대해 잘 이해가 가질 않아서 그런데 리눅스의 어떤 개념을 공부해야 하나요?
-
미해결개발자를 위한 쉬운 도커
CMD 부분에 질문이 있습니다.
CMD ["nginx" "-g" "daemon off;"] 이 부분이 잘 이해가 안가서 찾아보니foreground로 실행되게 변경하는것, 초기 프로세스가 종료되지 않고 컨테이너가 계속 실행된다.로 나와있던데이게 잘 와닿지가 않습니다.. 우선 저 명령어는 생성한 nginx 컨테이너에서 실행되는거라고 이해했는데foreground로 실행된다는게 정확히 어떤 뜻인가요?컨테이너도 도커가 켜져있고 안건드리면 계속 돌아가지 않나요?
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
App Runner 서비스 생성 시 실패
1. 무엇을 하고 싶으신가요? App Runner 서비스 생성2. 언제, 어떤 오류가 발생하시나요? 생성 중 애플리케이션 배포 실패3. 어떤 시도를 해보셨나요? 도커 이미지 재생성 및 App Runner 서비스 재생성, App Runner 스펙업(cpu,mem), iam, root 계정에서 생성 시도(권한 문제는 아닌듯)4. 작성한 코드를 공유해주세요.이슈:hands-on-fast-and-secure-cicd-pipeline 깃헙 클론 - 도커파일 경로에서 도커 이미지 생성 - ecr에 푸시 - ecr 이미지 url 이용하여 App Runner 서비스 생성 시 생성 실패하는 상황입니다.의심 되었던 부분:1. 컨테이너 이미지나 포트 설정에 문제가 있었다면 localhost:8080으로 접속해도 문제가 생겼을텐데 문제 없이 접속 가능하고요.2. App Runner의 리소스 제한이 있었을까봐 cpu, mem을 스펙업하고 재생성 했는데도 상황은 동일합니다.3. 계정 간 권한의 문제일까봐 iam, root 계정에서 생성해보았습니다. 상황은 동일합니다. 스샷:에러 로그:02-16-2024 06:37:27 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c started. Triggering event : SERVICE_CREATE02-16-2024 06:37:27 PM [AppRunner] Deployment Artifact: [Repo Type: ECR], [Image URL: 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest], [Image Tag: latest]02-16-2024 06:37:51 PM [AppRunner] Pulling image 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest from ECR repository.02-16-2024 06:37:54 PM [AppRunner] Successfully pulled your application image from ECR.02-16-2024 06:38:05 PM [AppRunner] Provisioning instances and deploying image for publicly accessible service.02-16-2024 06:38:15 PM [AppRunner] Performing health check on protocol TCP [Port: '8080'].02-16-2024 06:39:06 PM [AppRunner] Your application stopped or failed to start. See logs for more information. Container exit code: 102-16-2024 06:39:28 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c failed.제가 겪은 이슈와 같은 상황을 겪고 있는 유저:https://repost.aws/ko/questions/QU0lse8IEMSi-H4mlp5AAFWw/apprunner-failed-to-deployhttps://komodor.com/learn/exit-codes-in-containers-and-kubernetes-the-complete-guide/이게 유력한 원인으로 보이는데요...이게 아니라면 App Runner가 업데이트 되어 강의의 생성 내용과 달라져서 그런 것 인지...흠...혹시 App Runner 부분이 정상적으로 진행되지 않는다면 이후 강의에 차질이 생길까요??
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
세션 6부터 봐도 될까요?
안녕하세요 수업 잘 듣고 있습니다 JSON을 처음 접하게 되었는데 막히는게 너무 많이서 세션6 도커 부터 듣고 이후헤 AWS를 들어도 될까요?세션4 중간 까지 했습니다 구글링해도 에러를 해결 하지를 못해서 시간을 너무 많이 잡아 먹습니다
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
master init error
안녕하세요. 열심히 열공 하고 있습니다.저는 컴퓨터 환경이 우분투 데스크탑 서버 22.04 두대우분투 라이브 서버 두대 이렇게 운영중에 있습니다.kubernetes master init 에러 각 각 4대의 공유기로 따로 사설 Ip로 나가고 있습니다.몇가지 궁금한 점 1. 4대의 pc가 내부 ip로 연결이 안 되어 있습니다.(랜 카드을 두개 설치해서 각각 내부 ip로 연결이 되어야 하는지 궁금합니다.)2. Docker 서비스를 stop에서 사용해야 하는지 아니면 별개로 그냥 사용해도 되는지 궁금합니다.3. 우분투 데스크탑 서버 22.04 두대에 설치을 하면 똑같은 kubernetes master init 에러 error execution phase addon/coredns: couldn't retrieve DNS addon deployments: Get "https://192.168.0.4:6443/apis/apps/v1/namespaces/kube-system/deployments?labelSelector=k8s-app%3Dkube-dns": net/http: request canceled (Client.Timeout exceeded while awaiting headers)To see the stack trace of this error execute with --v=5 or higher이 메세지가 출력됩니다.4. kubeadm reset도 여러번 해봤습니다.5. 공유기 포트포워딩 8080, 6443, 모든 포트 개방 DMZ도 활성화 했습니다.
-
해결됨개발자를 위한 쉬운 도커
Dockerfile과 docker-compose.yml 파일
안녕하세요docker-compose.yml를 사용할 때사용자가 애플리케이션에서 변경한 내용을 다시 build 해야되는 경우가 아니면dockerfile은 없어도 되는 게 맞는걸까요??
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
ResponseBody 강의에서 클래스 생성 관련 질문드립니다.
리턴을 new 키워드를 통해 인스턴스를 생성해서 하는데 클래스에 static키워드를 붙이는 이유가 있는지 궁금합니다.
-
해결됨실습으로 배우는 선착순 이벤트 시스템
kafka를 왜 사용하는지가 잘 이해가 안가서 질문 남깁니다!
안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5&unitId=156125&category=questionDetail&tab=community&q=1029856해당 질문과 답변을 보고 추가 질문 드리려고 합니다. 제가 kafka나 redis, 분산서버 등에 대해 이해도가 낮은 점 양해 부탁드립니다! 1.Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책으로 Kafka 를 선택한 이유는 배압조절(back pressure) 때문입니다.이렇게 말씀을 해주셨는데요,답변에서 말씀하신 예시에서 처럼 10000개 요청이 있고,카프카를 사용한다면,요청 100개가 쌓일때마다 db에 insert를 하고, 다시 요청 100개가 쌓일때까지 기다렸다가 insert 하기를 반복한다는 것으로 이해하면 될까요?2. 그게 맞다면, 강의에서 구현한 apply 메서드에서 100개의 요청이 왔는지 확인하지 않고, kafka를 사용해서 다른곳에 전달하여 처리하는 이유는 무엇인가요?예시로 apply 메서드 안에서 redis의 incr 값을 체크하면 요청이 몇개가 쌓였는지 알 수 있을테고, 데이터를 임시저장하다가 100개마다 처리할 수 있을거란 생각이 들었습니다. kafka로 다른 모듈로 전달하는 것과의 차이점이 무엇인가 궁금합니다.3.실제로 consumer에서 100개의 작업이 완료되었는지는 일반적으로 어떻게 확인하는 걸까요? db에 저장하기 전에 100개의 데이터는 어디에 임시저장을 하나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swagger 실행 오류
swagger 실행시 No operations defined in spec!라는 오류가 발생하는데 왜그럴가요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Health Check: Failed 이라뜹니다
도메인으로 접속하면 502으로 뜨고 IP로는 접속이 안됩니다
-
미해결초보를 위한 쿠버네티스 안내서
host 브라우저에서 minikube ip에 접근이 안됩니다.
안녕하세요 강의 감사합니다.현재 저의 학습 세팅은 이렇습니다.Windows os + virtualboxvirtualbox에 centos7 설치강의 내용과 같이 yaml로 pod를 뛰우고 kubectl, minikube 조작까지 가능합니다.문제는 띄운 WORDPRESS를 HOST 윈도우 브라우저에서 MINIKUBE IP로 접근하려고 하면 접속이 안됩니다.MINIKUBE IP에 PING TEST를 해도 실패하고 있습니다.위 같은 상황은 어떻게 해야 할지 문의 드립니다.
-
해결됨개발자를 위한 쉬운 도커
스프링 빌드관련 질문드립니다
"EC2에서 스프링 도커로 배포하기"를 검색어로 구글링을 해보면 거의 모든 블로그들에서FROM amazoncorretto:17 ARG JAR_FILE=./build/libs/YOURAPP-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]이와같은 방식으로 도커파일을 작성하던데, 이는 잘못된 도커파일 사용인가요? 저의 가설 1 : 로컬에서 openjdk 17버전으로 빌드후 ec2에 푸시, ec2에서 해당도커파일 실행 -> 자바 버전차이로 잠재적 버그 가능성 -> 잘못된 사용 가설 2: ci/cd 머신에서 동일하게 amazoncorretto:17를 사용해서 자바 gradle를 빌드, 빌드머신에서 도커이미지 생성, ec2에서는 도커이미지만 pull-> 빌드스테이지를 나눌필요없음 -> 의도한 사용
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
도커 질문이 있습니다.,
강의자료와 똑같이 진행했는데 도커의 포트폴리오를 실행하면 1초뒤에 바로 종료됩니다. 원인이 뭘까요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
gasbugs/http-go 이미지 에러
gasbugs/http-gogasbugs/http-go:v1gasbugs/http-go:v2gasbugs/http-go:v3 관련 이미지를 풀받으면 에러가 있거나 도커허브에 없습니다. 옛날강의 인가요?
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
가상환경 이미지 넣는것도 안되어요
[질문 하기]강의 8.010 쿠보네티스 실습랩을 이미지로 구성하는 방법에서 따라하는 와중에 The virtual machine 'm-k8s-1.25.0(github_SysNet4Admin)' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005). More details may be available in 'C:\Users\USER\VirtualBox VMs\k8s-C1.25.0-ctrd-1.6(github_SysNet4Admin)\m-k8s-1.25.0(github_SysNet4Admin)\Logs\VBoxHardening.log'. 결과 코드:E_FAIL (0X80004005)구성 요소: MachineWrap인터페이스: IMachine {300763af-5d6b-46e6-aa96-273eac15538a} 이렇게 나오면서 전혀 실행이 되지 않습니다. 뭘 어떻게 해야하나요 ...
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
배포용 workflow만들기 deploy.yml 에러 질문입니다
해당 강좌에서 secrets key도 github에정상 등록했으나 github action시 SSH and deploy 동작에서 아래와 같은 에러가 발생합니다 deploy.yml
-
해결됨쥬쥬와 함께 하루만에 끝내는 스프링 테스트
인텔리제이로 Commit 시 pre-commit 이 안됨
안녕하세요. 수강중에 해당 부분에서 막혀서 계속 찾아보다가 질문 남깁니다,,다름이 아니라 터미널에서 직접git add .git commit -m "~~"하면은 해당 pre-commit 이 정상적으로 동작하는데 인텔리제이에서 실행하면 안되는 상황입니다..아 강의에 있는거처럼 인텔리제이에서 run git hooks 는 체크 해놨습니다. 혹시 이외에 다른걸 확인할 방법이 있을까요인텔리제이 버전은 IntelliJ IDEA 2023.2.1 (Ultimate Edition) 입니다.
-
해결됨개발자를 위한 쉬운 도커
강의 내용중 8분 28초에 보이는 IntelliJ 화면이 다른 것 같습니다.
안녕하세요 제 PC의 경우 Launch Docker Before Debug 화면이 나오지 않는데요 혹시 추가로 설정할 부분이 있을까요?