묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
RAM & 스왑메모리 폭증하는 문제
안녕하세요! 강의 늘 잘 듣고 있습니다! CI/CD 배포하다가 서버가 자꾸 죽어서 스왑 메모리까지 도입을 했는데도 비정상적으로 RAM과 스왑메모리가 꽉 차는 이슈가 있는데 도저히 어떻게 해결해야할 지 몰라서 이렇게 질문 남깁니다! 서버 인프라 환경 ELB - EC2(t3.small, EBS: 30GiB)EC2 내부 : Docker 기반 Spring Boot + MySQL 8.0 + Redis문제 상황 어디가 구체적으로 문제인지 몰라서 그냥 구구절절 다 설명드릴게요.처음부터 CI/CD가 안된건 아닙니다. 원래 잘 됐었는데요.인증 도메인(일반/소셜 로그인) 정상 작동하는거 확인하고 push 해서 배포완료 후 docker-compose.yml 수정해서 push 하고나니까 갑자기 CICD 할때마다 서버가 다운되는 문제를 발견했습니다. yml 파일을 바꾸게 된 경위는, 토큰 받아오는 과정에서 에러 뜨는거 보고 docker-compose.yml에 redis 관련 환경변수를 등록하는걸 깜빡했구나 싶어서 그거 추가한게 다 입니다. 이게 전혀 문제가 안될텐데 이상하게 이 시점 이후로 계속 문제가 터져서 좀 난감합니다. 애플리케이션이래봤자 아직 인증도메인 & 유저 간단한 CRUD가 전부라서 무거울게 없기 때문에 t3.small로도 충분할거라 생각했지만, 혹시나 하는 마음에 t3.medium으로 scale up을 해봤습니다.그랬더니 이번엔 RAM 4GB와 Swap Memory를 5.9GB 까지 잡아먹는 비정상적인 현상이 계속 반복되더라구요. 혹시 한꺼번에 docker build를 해서 그런가 싶어서 container 별로 나눠서 빌드시키고 각 단계마다 sleep을 줘봤는데도 결과는 똑같았습니다. 아래가 이제 t3.small (Swap 4GB 설정)이구요 이게 t3.medium (Swap 6GB)입니다. (위와 로직이 좀 달라요. 근데 이러나 저러나 결과는 똑같아서..) 배포 관련 파일대상 : deploy.yml, docker-compose.yml, Dockerfile 글자 수 제한 이슈로 노션에다가 코드 올렸습니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link 질문 혹시 제 deploy.yml이나 docker-compose.yml 에 문제가 있나요? 메모리 80% 이상 차지하는게 전부 Docker 관련 프로세스여서요. Update 2: 테스트 결과에 따라 하단의 질문들이 원인이 아니라는게 검증됨아니면.. t3.small이 docker 기반 Spring Boot + MySQL + Redis를 빌드 못할 수준인가요? (아닐 것 같긴해요.) 아니면 제 인증 구현 방식에 문제가 있어서 저럴 수도 있는건가요? Redis 기반으로 Token에 블랙리스트 설정하고, 클라이언트한테 쿠키로 토큰 심어서 내보내는 방식인데, 혹시 이게 문제가 될 수도 있는건가요? 근데 로컬에서 redis 랑 스프링부트 가동하고 htop으로 메모리 변화를 봤을 땐 문제 없어보이긴 했습니다.긴 글 읽어주셔서 감사합니다. Update 1: EC2에 직접 실행해본 결과 EC2에서 docker-compose.yml을 그 안에다가 직접 만들어서 mysql, redis만 띄우고Spring Boot는 클론해서 환경변수 직접 세팅해주고 실행해봤습니다. 이는 혹시나 혹시나 애플리케이션이 너무 비정상적으로 설계되서 메모리를 많이 잡아먹진 않을까 하는 우려에 임시로 이렇게 세팅해뒀습니다.결과적으로 잘 돌아갑니다. 메모리가 1.36GB 정도 잡히긴 하지만...? 그래도 redis + mysql + spring boot 다 돌렸을 때 이정도고 Swap 메모리 있으니까 괜찮지 않을까 하는 판단 중입니다. (아니면 호되게 지적해주세요) 하단은 임시로 세팅하기 위한 docker-compose.yml 입니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link한번 이것도 CI/CD로 돌려봐야겠긴 한데, 우선 문제가 됐던 deploy.yml과 docker-compose.yml에서 어떤 문제가 있었길래 저런 사태가 발생했던건지 알고싶습니다.Update 2: 우선 대안으로 SCP 활용 강의에서 초기 프로젝트에 좋다고 했던 방법대로 해결했습니다. CICD 과정에서 메모리는 900MB 미만 수준에서 안정적으로 돌았습니다. 근데 제가 원했던 설계는 Docker로 Spring Boot + MySQL + Redis 일원화였기 때문에 개발 완료되는대로 다시 찾아봐야겠습니다.https://hooby.notion.site/Server-Infra-Setup-Remodeling-2a8f6c063f3e808a8674fbc2a62cdd22?source=copy_link
-
해결됨[6주 과정] 전동킥보드로 배우는 임베디드 실전 프로젝트
펌웨어 강의 질문
안녕하세요 펌웨어 실습 중인데요디버그 모드로 진입하려고 하니 st-link가 없다고 나타납니다 따로 뉴클레오 보드를 사야하는건가요? 아니면 펌웨어 제작강의 부터 봐서 보드를 만들어야 하나요?부품리스트 엑셀 파일에도 없어어 여쭤 봅니다. 추가로 챌린지에 강의에는146. 속도제어,Teleplot 강의자료147. 모터,배터리,가방,킥보드,홀커터 정보148. 기술면접자료_실무회로149. 기술면접자료_모터&인버터150~152 번 내용은 없어서 어떻게 되는 건지 여쭤봅니다.
-
미해결[4주 과정] <밑바닥부터 시작하는 웹 브라우저> 완독 챌린지
연습문제 정답 없죠?
이건 4주안에 못풀거같아서요. github 에 찾아보니 사람들이 다양한 방법으로 풀긴하네요.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
11회 응시가이드 제공 여부 질의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요9, 10회 응시가이드는 있던데, 혹시 11회 응시가이드도 영상이 제공될 예정인지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSE값
작업형 2에서만약 회귀 문제이고 평가지표가 RMSE라면,점수를 매길때 RMSE값으로 점수를 매기는건가요?만약 그렇다면 어느정도로 차이가 나야 잘 나온건지 가늠이 안갑니다,,선생님의 답이 RMSE값이 825일때, 제가 구한값이 800~850정도라면 평가가 잘된거라고 봐도 될까요
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
15버전 이후의 (searchParams,Params) Promise타입 명시후 리액트 서스펜스 실습 질문
6.3강의 3분29초~ 쯤의 서스펜스 실습을 위한 async키워드를 제거하는 과정에서 입니다.이전부터 강의를 좀 따라오다가 버전이 많이 업그레이드 되어 5챕터? 쯤이였을까요 params를 이용해 데이터패칭을 해오던때였던거 같습니다만 타입오류가 나서 챗지피티, Q&A등을 보며 Promise타입을 붙여주고 수정하여 첫번째 사진과 같이 사용하고 있었습니다. 6.3강의부터 비동기작업을 수행하지않도록 async 키워드를 제거하기 위해 분리작업도중 일어난 고민입니다. 두번째 사진처럼 수정을 하였습니다만 여기서 Page컴퍼넌트의 async 키워드를 를 뗄수있는가? 에 대해 고민을 좀했는데 챗지피티에게선 async 키워드가 있어도 서스펜스 실습엔 문제가 없다고해서 그냥 두번째 사진과 같이 작성한후에 서스펜스 실습을 따라가면 될지가 의문스러워 질문남깁니다. 추가로 버전업이 많이되어 영상과 다른점을 수정하면서 하고있는데 제가 올바른 방향으로 실습하고 있는지도 조금 궁금합니다!
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
93강 이벤트 생성
93강에서 이벤트 만들기까지 했는데 리스트가 뜨지 않아요,,ㅠㅠ
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3 로지스틱 회귀 내용
section11 53번 강의 영상 - 로지스틱 회귀 관련한 공부 영상 ? 은 따로 없을까요 ? 11회 실기에서도 로지스틱 회귀 내용을 공부해야 할까요 ? 링크의 문제와 영상의 문제가 다른데 어디서 자료를 찾을 수 있나요 ?
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
AWS S3 버킷에 퍼블릭 액세스 차단을 해야 하는 경우?
사이트에 들어온 사용자가 화면에 뜨는 이미지들을 보려면 퍼블릭 액세스 차단을 다 풀어서 퍼블릭 액세스를 허용해야 한다면, 퍼블릭 액세스 차단을 해야 하는 경우는 어떤 상황일 때 사용하는 건지 궁금합니다. 현업에선 S3 버킷을 보통 여러 개 만들고, 퍼블릭 액세스 허용하는 버킷과 차단하는 버킷들로 나뉘나요?
-
미해결[2025] 비전공자도 한 번에 합격하는 SQLD 올인원
ORDER BY 자료 및 강의 내용에 문제가 있는 것 같은데, 체크 부탁드립니다.
ORDER BY 절의 NULL값 위치 지정의 설명에서, 강의 자료의 134 페이지에 나온 설명을 보면, NULL 값의 위치가 지정된 항목은 오름/내림차순을 지정하지 않으면 자동으로 오름차순 되는 것은 ORDER BY 함수의 기본 기능으로 충분히 이해 가능하지만, 가장 마지막 문장인, "그 외의 직원들은 급여를 기준으로 오름차순으로 정렬한다."에서 [급여]가 아닌, 커미션 아닌가요? 실습을 같이하면서 계속 다른 조건으로 실행해봐도, 자료에서 제공한 같은 함수를 사용해봐도 COMM기준으로 오름차순 출력됩니다.급여가 맞나요?급여를 커미션의 의미로 작성하신 것이라면, 자료 내에서 SAL, COMM 등으로 표기 부탁드립니다.혼동이 심하게 오네요....
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
페이징 처리를 해야한다면 어떻게 해야할까요?
Pageable 인터페이스와 @PageableDefault 를 컨트롤러부터 사용하면 편하게 작업할 수 있을 것이라고 생각하고 있습니다.그런데 spring-data에서 제공하는 것들이라 컨트롤러나 애플리케이션(서비스)에서 사용하면 안 될 것 같아서 새롭게 객체를 정의해서 사용해야 하는 것인가라는 생각이 드는데요. 한편으로는 유틸느낌으로 사용해도 되지 않을까라는 생각이 들기도 합니다. 실제로 @PageableDefault 이것은 org.springframework.data.web 패키지에 들어있어서 web계층을 대상으로 만들어진 것 같구요어떤식으로 풀어나가야 할까요? 추가적으로 Http interface를 사용하기 위해 @HttpExchange을 사용할 경우 required패키지 인터페이스에 바로 붙여서 사용해도 무방한걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
32bit threadID와 16비트 상위 WriteFlag에 대해
32비트짜리 threadID를 비트 연산으로 16비트 옮겨준뒤 짤라준 것을 WriteFlag에 담는 과정에서 손실이 일어나는거 아닌가요? 그래서 현재 ThreadID와 _lockFlag의 WriteFlag를 다시 16비트 옮겨준 값이랑 비교했을 때 일치하지 않는 문제가 발생할 수 있지 않나요? 강의 18:40초입니다. ( ThreadID를 16비트로 관리하지 않는 이유는 또 무엇인가요??? )
-
미해결웹게임을 만들며 배우는 인터렉티브웹! JAVASCRIPT
프로젝트 완성본 보내주실수 있나요?
따라하면서 코드작성 하니까 진행이 더뎌서 부탁드려요
-
해결됨원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)
JSON 핵심 가이드, 질문
안녕하세요. 강의 듣다가 궁금한게 있어 여쭤봅니다. splitout 에서 굳이 최상이 오브젝트였던 output 를 빼야하는 이유가 있나요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
로드밸런서 연결 실패
배포 슬랙연동까지 잘 됬는데, 마지막, 로드밸런서 DNS연결이 안됩니다.node version, port 등을 수정 했습니다.여러번 시도 해봤으나 잘 안되네요. 궁금합니다. FROM node:22-alpine WORKDIR /app COPY myapp/package*.json ./ RUN npm install COPY myapp/ ./ EXPOSE 3000 CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "5173"]{ "name": "myapp", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview", "start": "vite preview --host 0.0.0.0 --port 5173" }, "dependencies": { "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@eslint/js": "^9.36.0", "@types/react": "^19.1.16", "@types/react-dom": "^19.1.9", "@vitejs/plugin-react": "^5.0.4", "eslint": "^9.36.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.22", "globals": "^16.4.0", "vite": "npm:rolldown-vite@7.1.14" }, "overrides": { "vite": "npm:rolldown-vite@7.1.14" } }
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
[3.3 강의] Upstage를 사용한 RAG 구현 성공기 공유
안녕하세요.시간 가는줄도 모를 만큼 강의를 재밌게 들으며 배워가고 있는 수강생입니다.강의를 듣던 중 Upstage API 연동이 잘 되지 않아 QnA 게시판을 보았는데, 저를 비롯한 많은 분들께서 Upstage API를 사용하고 있다는 것을 알게되었고 연동 관련해서 어려움을 느끼시는 것 같아 제가 해결한 과정을 같이 공유해보고자 글을 적었습니다.저도 배워가는 과정인지라 표현이 서툴거나 잘못된 내용이 있을 수 있어 강사님의 피드백도 같이 공유 받을 수 있다면 더욱 좋을 것 같습니다..!제가 해결한 방법을 결론 먼저 말씀드리면 chunk_list 길이를 찍었을 때 100개 이내인 경우에는 코드가 정상 동작했다는 것입니다. (대부분의 코드는 강사님께서 작성하신 내용을 그대로 따라했습니다.)# 에러 (chunk_list의 length가 100개 이상인 경우) # chunk_list = split_text(full_text, 1500) # 작동 (chunk_list의 length가 100개 미만인 경우) chunk_list = split_text(full_text, 1700)위와 같이 split_text에서 1500으로 인자를 주었던 것을 1700으로 변경하면 chunk_list의 길이는 100개 미만이 되며, 이를 초과할 경우 400 ERROR 또는 add 작업 중 중간에 멈추며 에러가 발생했습니다.따라서 저는 이러한 문제의 원인을 아래 내용이라고 추정하며 해결했습니다.강의 촬영 당시 사용된 법률안에 비해 현재는 개정 등으로 인해 늘어난 문자열 수1로 인해 인자값을 1500으로 주었을 때 강의 촬영 당시 대비 커져버린 chunk_list의 크기2로 인해 chromaDB에 add 할 수 있는 개수가 100개 이상 초과하면 발생되는 오류전체 코드 참고하실 분들은 아래 링크에서 참고하시면 좋을 것 같습니다.https://github.com/C0deH4ter/langchain-basics/blob/main/3.3%20Upstage%20Challenge/rag_without_langchain_chroma(w.Upstage).ipynb
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
[JSCODE 쇼핑몰 (2)] 상품 테이블의 등록한 사람 질문 입니다.
[실습] 요구사항을 보고 DB 설계해보기 - 쇼핑몰 프로젝트에서 '상품' 테이블 질문입니다! 상품을 등록한 사람이 관리자가 아닌 일반회원인건가요?
-
해결됨[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
스미더리와 피그마 페이지에 들어가보면 cursor-talk-to 피그마가 나오지 않아요.
업데이트가 되었는지스미더리와 피그마 페이지에 들어가보면 cursor-talk-to 피그마가 나오지 않습니다. 피그마 연결 업데이트 부분부터 진행을 못하고 있습니다..ㅠㅜ
-
해결됨[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
efs를 쓰는데 s3도 쓰는 이유가 궁금합니다.
정적 컨텐츠를 efs에 올려 놓고 써도 될 것 같은데 굳이 s3를 별개로 사용하는 이유가 궁금합니다.s3가 과금적인 면에서 대용량 파일을 다룰때 이점이 있는걸까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실기시험 환경 제공 문제 풀이영상
실기 체험 환경에서 제공되는 문제의 문제풀이 영상 이 등재된 번호 좀 알려 주세요 *한국데이타산업진흥원에서 제공하는 실제 실습체험환경의 작업형1부터 작업형3까지 문제 풀이 영상이 어디에 있는지 알려 주시겟어요?