묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 배우는 선착순 이벤트 시스템
질문드립니다
1분 42초에 lock을 건다고 하는데 이게 어떤 lock을 건다는 의미인지 모르겠습니다.설명해주시기로는 범위로 락을 잡고 처음에 쿠폰 발급 여부를 가져와서 판단하는 방식입니다.라고 설명해주셨는데 여기서 lock이란게 뭐고 lock을 사용하는 이유가 뭔지 설명해주시면 감사하겠습니다.if문을 통해 확인한다는게 lock인건지 아니면 apply메서드 자체에 lock을 걸고 다른 프로세스가 접근하지 못하게한다는건지 모르겠내요유저 아이디별로 쿠폰 발급 개수를 한개로 제한할때 Redis에 Set자료구조를 써도되고 Map을 써도될거같은데 Set을 소개해주신 이유가 있을까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
섹션3 마지막 강의 - Firewall 이해하기 - 4000 포트 노출해주기
안녕하세요,포트를 80으로 바꾼 뒤, sudo npm run start 가 안됩니다.sudo: npm: command not found 메세지 뜹니다. 어떻게 해야될까요?
-
해결됨대세는 쿠버네티스 [초급~중급]
쿠버네티스 환경 구축 관련 질문입니다.
쿠버네티스 환경 구축 시, Host컴퓨터 한 대에 다수의 가상머신(노드)을 설치해서 구축 하는 방법 말고각각의 master , node1, 2를 담당하는 물리적 (host)컴퓨터들을 직접 연결하여 쿠버네티스 환경을 구축할 수 있을까요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
데이터베이스에 쿠폰 insert 실패시
안녕하세요. 강의 잘 듣고있습니다 !카프카 컨슈머가 쿠폰레포지토리에 save하는 과정에서 모종의 이유로 실패하여 롤백 되었을 때, 레디스에서는 이미 increment가 되었는데 이걸 하나 빼줘야되는거 아닌가요?이런 처리는 어떻게하는지 궁금합니다 !추가) 뒤에 얘기가 나오는군요 ㅎㅎㅎ.. FailedEvent를 저장하는 것도 실패하였다면, 배치프로그램이 제 역할을 못할 것 같은데요.. ! 그렇다면 로그를 보고 판단해야할 것 같은데 실무에서도 그렇게 진행이 될까요 ? 그리고, FailedEvent를 삽입하는 것에서도 에러가 발생할 수 있기 때문에 또 try catch로 묶어서 이것 마저 실패할 경우에도 로그를 따로 남겨야하는지 궁금합니다 !
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
kubectl 명령어 설명에 대한 궁금증
kubectl 명령어데 대해 가르쳐주셧는데 내용이 이해가 안가는 것이 있습니다. kubectl get - 오브젝트 조회kubectl run, create, apply - 오브젝트 생성 kubectl delete - 오브젝트 삭제kubectl exec - 파드 내부에 컨테이너로kubectl sclae - 파드 갯수를 늘리거나 줄임kubectl edit - 배포된 오브젝트를 수정 여기서 kubectl get, run, create, apply, delete는 명령어의 대상이 오브젝트라고 설명하셧고 kubectl exec, kubectl sclae은 명령어 대상이 파드라고 말하셧는데 오브젝트, 파드 이 두 개의 개념이 동일한 건가요?? 답변해주시면 정말 감사하겠습니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
안녕하세요 강사님,
AWS light sail을 이용하여 배포까지 3월 초에 완료하였습니다.웹사이트는 잘 작동하였고 너무 기뻐 친구들에게도 자랑을 하였습니다. 그렇게 웹사이트가 잘 작동되고 있었는데 갑자기 어느순간부터 도메인을 치면 오류가 납니다. 제 웹사이트 링크는giyeons.com 입니다. 구글링을 해보니 aws에 문제가 없었다가 갑자기 생긴것 같은데 제가 aws는 강사님이 하라는데로 따라하기만 하고 추가로 다른 공부를 하진 않아서 어디를 어떻게 수정해야 하는지 감이 안잡힙니다. (제가 아마존 라이트세일 결제 카드를 배포후 2주 후에 잃어버려서 기존 카드를 해지를 하고 aws에 새로운 카드를 등록시켰는데 이것이 문제가 될 수도 있나요?)새로운 카드를 이미 등록은 하였는데 계속 오류가 나는것을 보아하니 카드의 문제가 아닌것 같습니다.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
The repository 'https://apt.kubernetes.io kubernetes-focal Release' does not have a Release file.
아래의 순서로 쿠버네티스 설치 작업하는 도중에 에러가 발생하고 있습니다.apt-get install -y apt-transport-https ca-certificates curlcurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-focal main EOFapt-get update [에러 로그]===================================================================Err:7 https://packages.cloud.google.com/apt kubernetes-focal Release 404 Not Found [IP: 172.217.164.110 443]Reading package lists... DoneE: The repository 'https://apt.kubernetes.io kubernetes-focal Release' does not have a Release file.N: Updating from such a repository can't be done securely, and is therefore disabled by default.N: See apt-secure(8) manpage for repository creation and user configuration details===================================================================답변 부탁드립니다.감사합니다.수고하세요.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.
쿠버네티스 설치 작업하는 도중에 에러가 발생하고 있습니다.쿠버네티스 설치 명령어 순서apt-get install -y apt-transport-https ca-certificates curlcurl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.listdeb https://apt.kubernetes.io/ kubernetes-xenial mainEOFapt-get updateapt-get update 명령어를 사용하면 404 에러가 뜨고 있습니다.root@k8s-master:/home/vagrant# apt-get install -y apt-transport-https ca-certificates curlReading package lists... DoneBuilding dependency treeReading state information... Doneca-certificates is already the newest version (20230311ubuntu0.20.04.1).The following NEW packages will be installed:apt-transport-httpsThe following packages will be upgraded:curl libcurl42 upgraded, 1 newly installed, 0 to remove and 99 not upgraded.Need to get 398 kB of archives.After this operation, 162 kB of additional disk space will be used.Get:1 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 apt-transport-https all 2.0.10 [1,704 B]Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.21 [161 kB]Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.21 [235 kB]Fetched 398 kB in 4s (110 kB/s)Selecting previously unselected package apt-transport-https.(Reading database ... 112280 files and directories currently installed.)Preparing to unpack .../apt-transport-https_2.0.10_all.deb ...Unpacking apt-transport-https (2.0.10) ...Preparing to unpack .../curl_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking curl (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.21_amd64.deb ...Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.21) over (7.68.0-1ubuntu2.19) ...Setting up apt-transport-https (2.0.10) ...Setting up libcurl4:amd64 (7.68.0-1ubuntu2.21) ...Setting up curl (7.68.0-1ubuntu2.21) ...Processing triggers for man-db (2.9.1-1) ...Processing triggers for libc-bin (2.31-0ubuntu9.9) ...root@k8s-master:/home/vagrant# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -OKroot@k8s-master:/home/vagrant# cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list> deb https://apt.kubernetes.io/ kubernetes-xenial main> EOFdeb https://apt.kubernetes.io/ kubernetes-xenial mainroot@k8s-master:/home/vagrant# apt-get updateHit:1 http://us.archive.ubuntu.com/ubuntu focal InReleaseGet:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]Hit:3 http://us.archive.ubuntu.com/ubuntu focal-backports InReleaseHit:4 https://download.docker.com/linux/ubuntu focal InReleaseHit:5 http://security.ubuntu.com/ubuntu focal-security InReleaseIgn:6 https://packages.cloud.google.com/apt kubernetes-xenial InReleaseErr:7 https://packages.cloud.google.com/apt kubernetes-xenial Release404 Not Found [IP: 142.251.214.142 443]Reading package lists... DoneE: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.N: Updating from such a repository can't be done securely, and is therefore disabled by default.N: See apt-secure(8) manpage for repository creation and user configuration details.
-
미해결실습으로 배우는 선착순 이벤트 시스템
mac m2 arm64 vim docker-compose.yml설정
zookeeper에서 오류가 발생해서 테스트 진행시 어려움이있습니다. 강의상의 내용으로 진행되었고,해당내용으로는 진행되지 않아 웹서핑 이후version: '3'services: zookeeper: image: zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock확인되는 내용으로 변경했는데도 잘 안되더라구요 ㅜ늦게라도 확인되신다면 회신부탁드립니다!!
-
해결됨개발자를 위한 쉬운 도커
docker login이 안됩니다. (desktop과 git bash에서)
환경 문제 관련 문의 드립니다. 문제 1. docker desktop에서 login을 시도하면 WebBrowser에 아래와 같은 화면이 나오고, Desktop에서는 아래와 같이 login을 준비하지만, login이 되지 못하고 logout되는 현상이 있습니다. 이에 git bash 에서 login을 하려고 해도 아래와 같은 메시지가 나옵니다.$ docker loginError: Cannot perform an interactive login from a non TTY device OS는 : Windows11이고Docker desktop version : 4.28.0 입니다.
-
미해결대세는 쿠버네티스 [초급~중급]
Mac M1 모두 설치 후 접속 확인하고 VM 모두 종료 후 다시 실행했을 때 노드들 ssh 접근이 안되네요.
timeout 생기는데 설정 같은거 블로그 대로 진행 후 대시보드까지 확인 후 VM 모두 종료 후 다시 VM 실행해서 노드에 ssh 접속하려니까 안되네요.. 뭐가 잘못되었을까요..?
-
해결됨개발자를 위한 쉬운 도커
이미지 작성 방법
안녕하세요. 강의에서는 파일 빌드를 이미지에서 수행하는데 그렇게 하지 않고 인텔리제이 같은 ide에서 빌드를 한 후에 그 파일 자체를 복사해서 실행하는 이미지를 생성해도 상관 없나요? 어떤게 더 좋은 방법인가요?
-
해결됨개발자를 위한 쉬운 도커
npm install 하는 이유
Dockerfile을 만들때 RUN 지시어에서 npm install 을 하는 것은 node module 폴더가 build context에 없기 때문인건가요?만약에 build context 폴더에서 npm install 명령으로 node module 에 라이브러리들을 다운 받은 상태에서 Dockerfile 에서 COPY 명령으로 ./ / 를 작성하면 node module 도 그대로 복사가 되고 그러면 굳이 RUN 명령어로 npm install을 안해도 되는건가요?
-
미해결쥬쥬와 함께 하루만에 끝내는 스프링 테스트
flyway 컨테이너가 동작하지 않습니다.
안녕하세요! 강의 잘 듣고 있는 중에 문의드립니다.현재 컨테이너 기반 테스트 환경을 구성한 상태로, 실제 데이터로 테스트를 진행하기에 앞서 맥북으로 진행하던 내용을 pc에서도 진행하고자 코드를 그대로 pull해온 상태입니다. 근데 컨테이너들이 정상적으로 동작하는 것 같지 않아 문의드립니다...ㅠ스프링 로그에서는 마이그레이션 성공시 출력될 로그를 확인하는 정규식 표현에 매칭되는 로그를 찾지 못해 timeout이 나는 것으로 나오고, 도커 데스크탑을 보고 있으면 다른 컨테이너들은 정상적으로 실행되는데에 반해 flyway 컨테이너(local-db-migrate)만 계속 Exited와 Restart를 반복하고 있습니다. 해당 컨테이너 로그를 살펴보면 계속해서 아래와 같이 출력됩니다 ㅠㅠ /flyway/conf/flyway.conf는 컨테이너의 볼륨에서 해당 파일을 찾지 못했다는 것인가요? 혹시 해결 방안을 아시면 답변 부탁드리겠습니다. 참고로 OS는 윈도우입니다.infra/test/docker-compose.yaml 파일db/flyway.conf 파일
-
미해결대세는 쿠버네티스 [초급~중급]
RollingUpdate 실패 관련
안녕하세요? deployment 실습 중 rolling update 가 잘 되지 않아서 문의드립니다. rolling update 를 시도하면, v2 버전 pod가 1개만 생성되고, v1 버전 pod는 지속 남아있는 상태로 더 이상 업데이트 가 되지 않습니다. (Recreate은 잘 됩니다.)replicationset 조회 시 아래와 같이 나오는데, 무엇을 잘못한 것인지 잘 모르겠습니다. NAME DESIRED CURRENT READY AGEdeployment-222-5c778cb597 1 1 1 3m46sdeployment-222-5cd5969ff6 2 2 2 5m44s공유해주신 v1.27 image 사용중입니다.
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
window.event 문제가 있어요
섹션2. 훈훈한 Javascript에서 JS로 HTML태그 생성 강의 듣고 있습니다. 강의 초반부터 window.event.keyCode === 13을 조건문으로 활용하여 엔터키 입력을 감지하는 코드가 있는데.. 저 같은 경우 event 부분에 가로줄이 그어지면서마우스를 올려 문구를 확인해보면'event' is deprecated. 라는 메시지가 나옵니다. 경고 메시지만 출력되고 작동에 이상이 없다면 상관이 없지만,키 입력 시 마다 브라우저의 콘솔창에 undefined가 뜨고 엔터키 또한 마찬가지입니다. 구글링을 좀 해보니, event를 이용한 키 코드 체크를 하는 것이 권장되지 않는다고 하는데.. 다른 방법이 있나요? 구글링으로 찾은 포스팅들은 이해가 되지 않아서.. 도와주세요.
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
dto 관련 질문입니다.
컨트롤러(Api) 패키지 안에 만드신 dto(request, response)는 private final로 선언하셔서 데이터가 변경되지 않도록 선언하셨고,서비스단 패키지 안에 만드신 ReviewDto는 private으로만 선언하여 데이터가 언제든 변경이 되게끔 선언하셨는데이 차이가서비스단 로직의 데이터는 비즈니스 로직을 통해 언제든 변할 수 있기 때문이고컨트롤러단 로직은 받아온 데이터와, 응답하는 데이터이기 때문에 변할 일이 없기에 선언 방식이 다른 것이 맞을까요? 너무 기초적인 부분일 수 있지만제가 이해한 바가 맞는지 궁금하여 질문드립니다.
-
해결됨실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
sign in with github를 해주는 이유는 무엇인가요?
안녕하세요, 다니엘 선생님 강의 재미있게 따라가고 있습니다.Remote Tunnel 방식으로 로컬 환경과 가상 머신의 연결하는 설정 과정에서 sign in with github를 해주는 이유는 무엇인가요?SSH를 연결 후에, Remote Tunnel 연결하는 하는 것으로 이해 했는데요. Github 인증하는 부분이 조금 이해가 안 됩니다.
-
해결됨실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
dev containers 활용한 개발환경 배포
안녕하세요, 다니엘 선생님VM에서 /home/{user}/Kaggle-python-gpu-env 폴더를 생성하고 그 하위에 도커파일을 만들고 dev containers 확장기능을 이용해서 리빌드하면 도커 빌드 및 컨테이너가 배포되어 자동으로 진행되어 파이선 개발 환경 (A)가 만들어 진 것으로 이해했습니다. 개념이 맞을까요?그렇다면, 또 다른 신규 폴더를 생성하고 위의 과정을 동일하게 반복한다면 또 다른 개발환경(B)가 만들어지는 건가요? 이런 식으로 여러 개의 컨테이너가 배포가 되어 개발 환경을 만들 있는 건가요?
-
해결됨개발자를 위한 쉬운 도커
docker run container 시, 포트를 지정안하면
이번 강의에서 "데이터베이스 컨테이너는포트포워딩이 없어 외부에서 접근 불가"라고 하셨습니다.그렇다면,docker run --name nginx nginx이 코드 실행 시에 nginx 컨테이너에 할당 받은 ip주소는 가상 Ip주소이므로 nginx 컨테이너에 대해 url로 접근은 아예 못하는 건가요??