묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프로젝트 진행중인데..
현재 프론트와 백 나눠서 프로젝트를 진행중입니다.강의에서는 하나의 레파지토리에 프론트폴더, 백앤드폴더, docker-compose.yml 파일이 있던데저희는 오가니제이션으로 사용중이며, 프론트레파지토리, 백앤드레파지토리 나뉘어져있는 상황입니다. 이 상황에서 프론트레파지토리는 nginx를 위한 Dockerfile과 리액트를 위한 Dockerfile,백앤드 레파지토리는 스프링부트에 대한 Dockerfile, docker-compose.yml에는 redis 및 스프링부트에 대한 dockerfile정보 등이 들어가는게 맞을까요?결론은, nginx가 백앤드 레파지토리에도 필요한 것이 일반적인 것인지 여쭤봅니다!
-
미해결대세는 쿠버네티스 [초급~중급]
실제 현업 사용옵션
제가 느끼기엔 보안규제를 충족하기 위해.. 암호화 된 스토리지 기반 장기보관 목적으로 3가지 볼륨 생성 옵션 중 PV/PVC 방식을 다수 이용할 것 같은데요..(물론hostpath도 사용자 기반 조작을 통해 사용할 수 있을 것 같습니다)현업에선 어떤 방식을 이용하시나요..?궁금합니다!..
-
해결됨공인 쿠버네티스 자격증 잘 준비하는 법 (CKA, CKAD, CKS)
프로그래밍을 할줄 알아야 쿠버네티스를 공부할 수 있을까요?
강사님 안녕하세요.쿠버네티스를 공부하려고 하는데요.개발자는 아니고 인프라 관련 직종에서 일하고 있습니다.쿠버네티스를 공부하려면 프로그래밍을 할 줄 알아야 할까요? 답변 기다립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파이썬이나 자바도 공부해야하나요?
이 강의만 들으면 되나요?아니면 파이썬이나 자바는 제가 따로 공부해야하나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
일부 도표 자료가 열리지 않습니다
도표 자료 중 커뮤니티 생성까지는 열람이 되는데 포스트 페이지 생성부터 부록까지 "파일을 찾지 못했습니다. 파일이 존재하지 않거나 읽기 권한이 없습니다."라는 경고창이 뜨면서 파일을 볼 수가 없습니다......
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
azure 에서 컨테이너 이미지의 버전을 바꾸다 보면 application error 발생
web app에 컨테이너 이미지를 올리고예를들어, askcompany/project:0.1 이미지에 대해서는 잘 작동하였고코드에 수정할 부분이 있어서askcompany/project:0.2로 새롭게 빌드를 하였고azure web app 의 배포센터에서 컨테이너 이미지를askcompany/project:0.2로 수정하고 다시 시작 후 도메인 주소로 들어가면 application error화면이 나타나며 서버가 돌아가지 않습니다.그래서 새롭게 web app을 만들면서 컨테이너 이미지를 바꿔주었는데... 잘 작동하면 왜 그런걸까요?? 사진을 추가하였습니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
버전 2으로 듣기
버전1으로 듣다가 버전2가 있다는 걸 알게 되어서 버전 1 말고 버전2으로 들어도 되나요?버전2는 처음부터 들으려고요
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
Vagrant up 후 메모리 부족
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]제 pc메모리가 8GB입니다. Vagrant up 후 설치 마지막에 점점 메모리 사용율이 높아지더니 설치가 멈처 버리네요..메모리를 조금 낮춰서(예를 들어 2g -> 1.5g) 설치해도 동일한 현상(메모리 100%)이 발생하는데 제 pc에 문제가 있는 걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
oauth 관련 질문 있어요.
안녕하세요. 강의 잘 듣고 있습니다.user - service - google가 있다고 했을 때,user가 oauth code grant방식으로 login을 하면 service가 callback을 통해 code를 받게되고, 그 정보와 다른 정보를 조합하여 google로 부터 access token과 refresh token을 받아올텐데요.여기서 token을 어떤식으로 처리하는지 궁금합니다.service가 google로 부터 받은 token들을 app으로 전달하는 건가요? 그렇다면 app은 token이 만료되면 google에 직접 토큰을 다시 요청하는걸까요? 아니면 service를 통해 relay를 해서 토큰을 다시 요청할까요? service는 token이 올바른건지는 검증할 수 없으니 db에 저장을 해 두고 나중에 같은 토큰을 user로부터 받았을때 같은지 비교해서 허용할 지 말지 알 수 있을거 같은데 이렇게 하는건가요?아니면 service가 직접 새로운 토큰들을 생성해서 관리하는게 좋을까요?그리고 public app에서 보안을 더 강화하기 위해 pkce방식도 쓰는거 같던데 실제 많이 쓰시는지 궁금하네요.답변 부탁드립니다.감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
superputty 설정 이후 서버 연결 불가 에러메시지
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요, 현재 환경 구성 중입니다. 공유해주신 이미지를 다운로드 받아서 VirtualBox에서 구동하여 노드 상태를 아래와 같이 정상적으로 확인했습니다. 이후, SupperPutty 다운로드 및 설정 이후에 superputty에서 kubectl get nodes명령어 수행 시, 서버에 연결할 수 없다는 에러 메시지가 나왔습니다.가상 머신에서도 같은 에러 메시지가 떴습니다.정상적으로 구동 중이고, 포트 및 설정이 맞는 것으로 보이는데 갑자기 연결이 안되는 이유가 무엇일까요?(다른 설정은 변경없이 superputty 설치 이후에 서버 연결 불가 메시지 발생) port설정은 모두 알려주신대로 되어있는 것을 확인했는데, 제가 놓치고 있는 부분이 뭘까요?감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
ESLint 에러가 안나옵니다.
08-ESLint & Prettier 강의를 보는 중인데 5분 27초 경에 강의 에서 나오는 eslint 에러가 저는 안나옵니다. eslint가 적용이 안되고 있는걸까요?강의 화면제 vscode 화면
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
azure web app에서 배포가 계속 안됩니다...
azure web app을 통해 배포를 하던중 계속해서 오류가 발생하였습니다.처음에는/usr/local/bin/gunicorn: exec format error에러가 발생하여 제가 m1 맥북을 사용하다보면, 맥북에서 빌드한 이미지가, 서로 다른 CPU 아키텍처로 인해 서버 에러가 발생할 수 있다는 것을 알게되어 buildx을 이용하여위와 같이 설정을 하였으나 여전히 에러가 발생합니다.local에서는 아무런 문제없이 작동하나 azure에서만 문제가 발생하여 데이터베이스연결과 storage연결까지는 아무런 문제가 없었습니다.로컬에서 실행할 때는 아래와 같이 실행하였습니다.docker run --rm --publish 9999:80 \ -e DJANGO_SETTINGS_MODULE=backend.settings.prod \ -e AZURE_ACCOUNT_NAME=capstonboom \ -e AZURE_ACCOUNT_KEY="필요하시면 따로 알려드리겠습니다..." \ -e ALLOWED_HOSTS=localhost \ -e DB_HOST=capstonproject.postgres.database.azure.com \ -e DB_USER=gunhong@capstonproject \ -e DB_PASSWORD="비밀번호" \ -e DB_NAME=postgres \ keonhong/capstonproject:0.1도커파일은 아래와 같이 설정했습니다.FROM ubuntu:20.04 RUN apt-get update && apt-get install -y python3-pip && apt-get clean WORKDIR /djangoproject ADD . /djangoproject RUN pip3 install -r requirements.txt RUN which gunicorn || echo gunicorn not found EXPOSE 8000 CMD ["gunicorn", "backend.wsgi:application", "--bind", "0.0.0.0:80"]우분투 버전과 guncorn버전이 호완이 안될까 생각해서gunicorn==20.0.4 을 이용하였습니다.위와 같이 한 후 도커 허브의 레지스토리와 azure app web을 모두 삭제하고 새롭게 시작했더니/usr/local/bin/gunicorn: exec format error이 에러는 발생하지 않으나 여전히Logging is not enabled for this container.에러메세지는 출력됩니다... gunicorn 문제로 인해Logging is not enabled for this container. 도 함께 출력되었는지 생각했으나 또 다른 문제였나 봅니다...
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의와 다른 출력에 대한 내용 정리
[internal] load .dockerignore: .dockerignore 파일을 로드하는 단계입니다. .dockerignore 파일은 Docker 이미지를 빌드할 때 무시할 파일 또는 디렉토리를 지정하는 파일입니다.[internal] load build definition from dockerfile: Dockerfile을 로드하는 단계입니다. Dockerfile은 이미지 빌드에 필요한 설정과 명령어들을 정의하는 파일입니다.[internal] load metadata for docker.io/library/alpine:latest: Docker Hub에서 Alpine Linux의 최신 이미지에 대한 메타데이터를 로드하는 단계입니다. FROM docker.io/library/alpine 명령어에서 사용된 "alpine" 이미지를 가져오기 위한 작업입니다.[1/1] FROM docker.io/library/alpine: Alpine Linux를 기반으로 이미지를 생성하는 단계입니다. FROM 명령어는 이미지의 베이스로 사용할 이미지를 정의하는데, 여기서는 Docker Hub의 Alpine Linux 이미지를 사용합니다.exporting to image: 이미지를 빌드하고 있는 단계가 끝났으며, 이미지를 내보내는 단계입니다.=> exporting layers: 이미지의 레이어를 내보내는 단계입니다. Docker 이미지는 여러 레이어로 구성되어 있으며, 각 레이어는 변경된 파일들을 포함하고 있습니다.=> writing image sha256:c85225625fb8e8572c14c74944213a43a1b92fe78b270278bde228: 최종 이미지를 기록하는 단계입니다. 이미지의 SHA256 해시값을 보여주며, 해당 해시값으로 이미지를 식별할 수 있습니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker rm `docker ps -a -q` 명령어 안 먹으시는 분들에게
강사님은 mac 환경에서 진행 하셔서 cmd 에서 ` 백틱으로 사용하십니다. 윈도우 환경에서는 ` 대신 $() 사용을 해야하고 해당 기호도 powershell에서만 적용이 됩니다. docker rm $(docker ps -a -q)위의 명령어를 powershell에 입력 하시면 됩니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
49강 ngnix Deploy the container 500 error
강사님 ngnix를 deploy the comtainer 를 누르면 500Faliure이 뜨네요 어떻게 해결할 수 있을까요 ?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ElasticBeanStalk생성 후 보안그룹 적용
EB -> 구성 -> 보안그룹을 누르면 위와 같은 에러가 발생합니다. 이유가 무엇인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
QueryFailedError: Table 'user' already exists
안녕하세요 선생님 다름이 아니라 synchronize: true, // 동기화 시켜준다 같게 한다.true을 하게되면 동기화를 시켜주는건데 매번 yarn start:dev을할때마다 QueryFailedError: Table '***' already exists이러한 오류가 나옵니다. 그럼 실행 할때마다 데이터베이스 테이블을 매번 지워야 하는건가요??
-
해결됨입문자를 위한 Docker 및 Dockerizing 마스터하기
하나 더 질문이 있습니다 ㅠㅠ
안녕하세요 지금 두번째 핸즈온옵션 python_app 만드는 중에있는데 회사노트북이 제한이 걸려서 바탕화면에 python_app 파일을 만들었고 이렇게 진행하다보니이런식으로 멈춰버렸습니다... 여기서 어떻게 진행을 해야할까요 ㅠㅠ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ElasticBeanstalk생성시 질문입니다.
플랫폼에 docker를 누르는 부분이 나와있지않습니다. 바로 생성이 나오는데 그냥 생성버튼을 눌러야할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swaggerui에서 execute했는데 console에서는 계속 typeerror로 n.get함수가 없다는 에러가 발생합니다.
javascript문서를 확인했을때는 배열을 객체로쓴다던가 함수를 부를수없는곳에 작성했다는등의 오류라고 나와있는데 아무리 찾아봐도 그오류가 어디에서 나오는지 왜나오는지를 알수없어서 질문올립니다.// index.jsimport express from "express"; import { options, dataCoffee, dataUsers } from "./swagger/config.js"; import cors from "cors"; const app = express(); import swaggerUi from "swagger-ui-express"; import swaggerJSDoc from "swagger-jsdoc"; app.use(express.json()); const swaggerSpec = swaggerJSDoc(options); app.use(cors()); app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec)); app.get("/users", (req, res) => { res.send(dataUsers); }); app.get("/starbucks", function (req, res) { res.send(dataCoffee); }); app.listen(3001); // config.jsexport const options = { definition: { openapi: "3.0.0", info: { title: "swagger-test", version: "1.0.0", }, }, apis: ["./swagger/*-swagger.js"], // files containing annotations as above }; export const dataCoffee = [ { name: "아메리카노", kcal: 5 }, { name: "카푸치노", kcal: 125 }, { name: "헤이즐넛", kcal: 85 }, { name: "카라멜마키아또", kcal: 225 }, { name: "휘핑크림추가", kcal: 115 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, ]; export const dataUsers = [ { email: "aaa@gmail.com", name: "짱구", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구2", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구3", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구4", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구5", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구6", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, ];// all-swagger.js/** * @swagger * /starbucks: * get: * summary: 커피 * tags: [Coffee] * parameters: * name: String * kcal: int * responses: * 200: * description: 성공 * content: * application/json: * schema: * type: array * items: * properties: * name: * type: String * example: 아메리카노 * kcal: * type: int * example: 5 */ /** * @swagger * /users: * get: * summary: 유저검색 * tags: [Users] * parameters: * name: String * kcal: int * responses: * 200: * description: 성공 * content: * application/json: * schema: * type: array * items: * properties: * name: * type: String * example: 아메리카노 * kcal: * type: int * example: 5 */