묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스 18080?
실습4) Docker Container에 배포하기 ② 까지 보다가 VM환경에서 배포한다고 해서멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes) 보고 k8s-master, node1, node2 vm 만들고 왔는데이 강의에서는 k8s-master에서 엔진엑스만 실행시키는 테스트하고 끝났었는데 이 강의 후반에서는 왜 갑자기 k8s-master에 젠킨스가 깔려있으며... 18080포트를 사용중인가요..? 이때까지 강의 따라오면서 젠킨스 18080포트로 세팅하는 부분은 없었는데요.. 강의가 뭔가 일로갔다 절로갔다 하니까 헷갈립니다..!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
강의 자료 코드 질문
11:45초에 나오는 코드인데요.이 html 코드랑 강의 자료 코드랑 다른 것 같아 질문드립니다. 강의자료에는 다음과 같네요.<div class="col"> <form th:action="@{/logout}" method="post"> <button class="w-100 btn btn-dark btn-lg" type="submit"> 로그아웃 </button> </form> </div>
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
2024년 3월 4일 기준 설치
아래에 23년 당시 설치방법을 올리신 분의 것으로도 잘 안 되서... 그 사이에 또 바뀌었나 싶어서 노션 링크의 공식 문서를 보고 따라했습니다만 apt 명령으로 kubelet, kubeadm, kubectl이 설치가 안 되는 문제가 있습니다. 노션 링크의 공식문서는 한국어 문서였고, 최신화가 안 되어있던 것입니다. 영어 문서를 봐야합니다. 현재 공식문서에서는 이런 말이 나와있습니다. Note: The legacy package repositories (apt.kubernetes.io and yum.kubernetes.io) have been deprecated and frozen starting from September 13, 2023. Using the new package repositories hosted at pkgs.k8s.io is strongly recommended and required in order to install Kubernetes versions released after September 13, 2023. The deprecated legacy repositories, and their contents, might be removed at any time in the future and without a further notice period. The new package repositories provide downloads for Kubernetes versions starting with v1.24.0.apt.kubernetes.i and yum.kubernetes.io레거시 패키지 리포지토리 deprecatedapt.kubernetes.io and yum.kubernetes.io2023년 8월 13일 이후 릴리즈되는 새로운 쿠버네티스 버전을 설치하기 위해서는 새로운 패키지 리포지토리를 써라http://pkgs.k8s.io새로운 패키지 리포지토리는 1.24.0 ~ 이후의 버전을 지원 이런 내용이 한국어 문서에는 반영이 안 됐습니다. 해당 문서에서는 1.29.0을 설치하기 위해 다음을 하라고 합니다. apt 패키지 인덱스를 업데이트하고 Kubernetes apt 저장소를 사용하는 데 필요한 패키지를 설치하십시오: sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg Kubernetes 패키지 저장소의 공개 서명 키를 다운로드하십시오. 모든 저장소에 동일한 서명 키가 사용되므로 URL에서 버전을 무시할 수 있습니다:(우분투 20.04에서는 sudo mkdir -p -m 755 /etc/apt/keyrings 명령어를 입력해야합니다)# If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below. # sudo mkdir -p -m 755 /etc/apt/keyrings curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg 적절한 Kubernetes apt 저장소를 추가하십시오. 이 저장소에는 Kubernetes 1.29에 대한 패키지만 있으므로, 다른 Kubernetes 마이너 버전을 사용하는 경우 URL에서 Kubernetes 마이너 버전을 원하는 버전에 맞게 변경해야 합니다(설치할 Kubernetes 버전의 문서를 읽고 있는지도 확인해야 합니다).# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list apt 패키지 인덱스를 업데이트하고 kubelet, kubeadm 및 kubectl을 설치하고 버전을 고정하십시오:sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl 결론바로 위 내용을 그대로 적용하신다면 아래 내용을 복사 붙여넣기 하시면 돼요. cat <<EOF > kube_install.sh # /etc/apt/keyrings 폴더 생성 및 권한 부여 sudo mkdir -p -m 755 /etc/apt/keyrings # 1. apt 패키지 색인을 업데이트하고, 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치한다. sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg # 2. 구글 클라우드의 공개 사이닝 키를 다운로드 한다. sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 3. 쿠버네티스 apt 리포지터리를 추가한다. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list # 4. apt 패키지 색인을 업데이트하고, kubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정한다. sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl EOF sudo bash kube_install.sh kubeadm version실행 후 버전 확인을 해보시면 됩니다 지금 자료는 2024.03.04 기준 공식문서(영어<- 중요) 자료고내일 당장 바뀔 수도 있습니다. 제가 지금 올린 내용을 믿으시지 마시고 일단 먼저 공식문서 (영어 <- 중요)를 참고하세요!
-
미해결김영한의 실전 자바 - 기본편
질문이요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]해당 Data2 클래스에서 Counter.count를 써줬는데Counter.count를 사용하기 전에 Counter counter = new Counter(); 를 작성해야 Counter의 멤버변수를 사용할수있는 것 아닌가요?
-
해결됨Windows 시스템 프로그래밍 - 기본
이예제 파일 어디 있나요
파일을 못 찾겠어요
-
미해결홍정모의 따라하며 배우는 C++
코드 실행속도가 너무 느립니다.
강의를 보고 따라한 아래 코드의 실행속도가 강사님에 비해 너무나 느립니다. 실행환경의 문제인가요??#include<iostream> #include<thread> #include<atomic>//나눌 수 없다는 뜻. 쓰레드에서 연산이 한번에 이루어지도록 함 #include<mutex> #include<chrono> using namespace std; mutex mtx; int main() { //atomic<int> shared_memory(0); int shared_memory(0); auto count_func = [&]() { for (int i = 0; i < 1000; ++i) { //cout << shared_memory << endl; this_thread::sleep_for(chrono::milliseconds(1)); //doSomething; //mtx.lock(); //std::lock_guard lock(mtx);//unlock필요없음 std::scoped_lock lock(mtx); shared_memory++; //shared_memory.fetch_add(1); //mtx.unlock(); //shared memory의 값을 더할 떄의 과정 //1.shared memory값을 cpu로 가져옴 //2.1더함 //3.sharedmemory에 결과 저장 //값을 읽어들었을 때, 값이 바뀌면 더하기가 씹혀버림 => 잘못된 결과 //해결법 //1. atomic 사용 //2. fetchadd //3. mutex lock } }; thread t1 = thread(count_func); thread t2 = thread(count_func); t1.join(); t2.join(); std::cout << "After" << endl; std:: cout << shared_memory << endl; return 0; }
-
미해결RPA - UiPath 개발 초급 과정
UI path 설치
UI path 설치부분 영상 보면서 따라하고 있는데 영상과 실제 사이트가 좀 다른것 같습니다. 접속하면 ui path studio 설치 화면이 안보이는데 어디서 다운받아야 할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
세타 조인이 안되요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용과 그대로 세타조인을 따라 했는데 query나온 것을 보니 cross join이 없어요그리고 left join도 처음 sql에서는 left join이 나오는데번역된 sql에서는 left join이 생략되는데 jpa가 최적화를 한 것일까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
터미널에서 spring 프로젝트 실행 관련 질문입니다.
tomcat 설치 후 spring 프로젝트를 터미널에서 "mvn tomcat:run" 명령어로 실행하는데,프로그램 자체는 실행되지만 웹에 접속되진 않습니다.intellij에서 tomcat server 환경에서 접속할땐 잘 실행이 되었는데,터미널에서 실행하려니 잘 되지가 않습니다.다음이 spring 웹서버 링크에 접속했을때의 에러인데, 찾아보니 "javax.servlet-api의 버전이 맞지 않아서 발생한다." 라고 하면서 <dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency>를 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>로 바꾸어주라는 내용을 보고 시도해보았지만 잘 되지 않았습니다.'혹시 tomcat를 켜두고 "mvn tomcat:run" 명령어로 서버를 시작해야하나?' 라는 생각을 하고선 이또한 진행해봤지만 이미 8080서버가 열려있다는 문구가 뜨면서 오히려 실행 도중에 멈추더라구요. intellij 외의 환경에서도 빌드가 가능해야할것같은데 고민입니다. Intellij에서 해당 프로젝트를 실행할때 이용한 Tomcat server의 설정을 함께 첨부합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 sql로 구하기 수업 중 질문이 있습니다.
안녕하세요? 월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 sql로 구하기 강의 에서,하기 함수에 distinct를 반드시 사용해야만 하는 이유를 잘 모르겠습니다. order_date에 order_id가 여러 번 있을 수 있는 상황은 전혀 없을까요? 답변 부탁드립니다.
-
해결됨
리액트 질문입니다.
const App = () => { return ( <BrowserRouter> <Routes> <Route path="/" element={<Layout />}> <Route index element={<Home />} /> <Route path="Menu" element={<Menu />} /> <Route path="Location" element={<Location />} /> <Route path="Contact" element={<Contact />} /> <Route path="*" element={<NoPage />} /> </Route> </Routes> </BrowserRouter> ); }; 안녕하세요, 리액트 초보자 입니다. Layout 컴포넌트의 메뉴 바를 이용해서 라우트를 하는데, 처음 페이지 접속시 Home 컴포넌트를 노출하고 싶은데 처음에 Nopage 가 나옵니다.. 해결 방법이 있을까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
13장 관련 질문 !
안녕하세요! 강의 잘 듣고 있습니다!다름이 아니라 13장에서 하이브리드 프로세서와 코프로세서의 개념을 설명해주셨는데이 부분이 잘 이해가 되지 않아요 강의 중 말씀하신"AMD Xilinx의 사례를 보셔서 아시겠지만 만약에 제3의 벤더가 자체 CPU를 갖고있지 않다면 코 프로세서가 될 수 없어요여기서 제3의 벤더들은 ARM에 완성된 온전한 IP를 칩에 넣어서 만드는 것이기 때문에하이브리드 프로세서의 형태에 맞게 될 수가 없겠죠뭐 여러분들 아시다시피 삼성의 엑시노스, 그 다음에 퀄컴의 스냅드래곤의 프로세서는 ARM의IP를 베이스로 사용합니다.이는 즉 하이브리드 프로세서죠.근데 여기서 엔비디아는 이미 텐서 연산, 그러니까 행렬 연산이 굉장히 강합니다.그래서 엔비디아가 만약에 ARM을 성공적으로 인수를 하게 된다면 하이브리드가 아닌 앞서살펴본 코 프로세서의 길을 갈 수가 있어요" 라고 말씀하셨습니다 (강의 스크립트 복붙으로 가져왔습니다!)제가 이해한 바로는 결국 하이브리드이든 코프로세서이든 CPU IP와 NPU IP를 overlap시켜서 만든 것이고그걸 한 칩에 두면 하이브리드 라는 거 까진 이해했습니다. 근데 코프로세서의 이미지가 그려지지 않네요..엔비디아가 ARM의 IP를 개조해서 CPU IP랑 합치면 그게 코프로세서가 되는건가요?강의 하시는 늬앙스가 뭔가 코프로세서가 더 좋다는 식으로 들려서둘의 차이점이 정확히 무엇이고 어떤 점에서 서로 장단점이 있는지 모르겠습니다..그래서 왜 앞으로 코프로세서가 대세가 될 것 같다고 말씀하신지 궁금합니다!그리고 엔비디아 또한 자체 CPU를 갖고있지 않은데 어떻게 코프로세서가 될 수 있는건가요?? 제대로 이해한 것이 아니다보니 말의 두서가 엉망이네요 ㅠㅜ 죄송합니다 ㅜㅠ
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Slider은(는) JSX 구성요소로 사용할 수 없습니다. 오류가 발생해요ㅠㅠ
이 문제가 해결이 안돼서 진도를 못나가고 있습니다ㅜㅜ구글링하니 버전이 달라서 그렇다고 해서 package.json파일도 삭제하고 다시 설치하고 이것저것 다 해봤는데도 도저히 해결이 안되네요.. 살려주세요ㅠㅠㅠ
-
미해결[유니티 3D] 실전! 생존게임 만들기 - Advanced
인벤토리 끄고 퀵슬롯 아이템 드래그앤 드랍시 공격
GunController.cs의 Update()문에서 void Update() { if (isActiviate) { GunFireRateCalc(); if(!Inventory.inventoryActivated) { TryFire(); TryReload(); TryFineSight(); } } } 인벤토리를 끄면 공격을 하게끔 되어있습니다.하지만 마지막 최종 테스트 강의을 보면 강사님은 인벤토리를 끄고 우클릭으로 드래그앤 드랍을해도 공격을 안하는 모습이 보여집니다. 왜그런지 답변 부탁드립니다.
-
미해결홍정모의 따라하며 배우는 C언어
4분 33초 경에 질문이 있습니다.
&arr[0][0]은 그냥 주소값이지 포인터가 아니지 않나요? 너무 헷갈립니다..ㅠ주소값에다 정수를 더해서 너무 혼란스럽습니다... 이게 포인터면 +1을 하면 int 크기만큼 건너뛴다는건 알겠는데 저건 주소값인데 +1을 할 수 있는건가요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
powershell 말고 gitbash로 진행해도 상관없나요?
파워쉘을 써본적이 없어서 미숙한데 진행이 파워쉘로 되는것 같아서 질문드립니다
-
해결됨Three.js로 시작하는 3D 인터랙티브 웹
npm start 시, WARNING in ./node_modules/html-entities/lib/index.js 가 발생합니다.
섹션 3. Transform(변환) 에서 소스코드를 다운로드 받고,VS Code에서 Transform 폴더를 추가한 후,readme.txt의 순서대로,패키지 설치하고,서버 구동을 진행했습니다. npm start 명령 후,아래의 내용과 같이 WARNING과 Failed가 발생합니다. WARNING in ./node_modules/html-entities/lib/index.jsModule Warning (from ./node_modules/source-map-loader/dist/cjs.js):Failed to parse source map from 'Z:\STUDY\04\transform\node_modules\html-entities\src\index.ts' file: Error: ENOENT: no such file or directory, open 'Z:\STUDY\04\transform\node_modules\html-entities\src\index.ts' @ ./node_modules/webpack-dev-server/client/overlay.js 10:0-39 212:28-34 @ ./node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=0.0.0.0&port=8080&pathname=%2Fws&logging=info&overlay=true&reconnect=10&hot=true&live-reload=true 12:0-60 135:46-59 242:27-40 273:28-41 추가로 npm version 명령의 결과는,{ 'threejs-study': '1.0.0', npm: '10.2.4', node: '20.11.1', acorn: '8.11.2', ada: '2.7.4', ares: '1.20.1', base64: '0.5.1', brotli: '1.0.9', cjs_module_lexer: '1.2.2', cldr: '43.1', icu: '73.2', llhttp: '8.1.1', modules: '115', napi: '9', nghttp2: '1.58.0', nghttp3: '0.7.0', ngtcp2: '0.8.1', openssl: '3.0.13+quic', simdutf: '4.0.4', tz: '2023c', undici: '5.28.3', unicode: '15.0', uv: '1.46.0', uvwasi: '0.0.19', v8: '11.3.244.8-node.17', zlib: '1.2.13.1-motley-5daffc7'}와 같습니다.
-
미해결김영한의 실전 자바 - 기본편
인터페이스 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터페이스를 사용하는 이유는 알겠는데InterfaceA a = new Child(); 라고하는거랑Child a = new Child(); 라고 하는거랑 똑같은 결과를 얻는데명시적으로 InterfaceA a = new Child(); 라고 기재하는 버릇을 들이는게 나은건가요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
[패킷의 생성과 전달 목차 강의] 네트워크 통신 흐름 설명 부분 질문
안녕하세요~ 우선 강의 너무 잘 듣고 있습니다. 질 좋은 강의에 감사인사부터 드립니다! 질문드릴 내용은 [패킷의 생성과 전달] 강의 내용에서 말미에 소개해주시는 네트워크 통신 흐름인데요! 필기해주신 그림을 기반으로 제가 이해한 내용으로 재구성하고자 아래 사진처럼 그려보았는데요. 궁금한 점을 좀 적어보았습니다. Q1. L2 -> L1 계층으로 갈때 붙는 헤더가 따로 있나요?Q2. 다른 분들이 해주신 질문의 답변을 보다가 NIC를 통과해서 라우터(L3 계층 장비)로 갈 때 L2 frame 헤더를 붙여주는 주체가 GW HOST라고 해주셨는데요? 이 말씀으로 일반화를 해보자면.. Encapsulate 하는 과정에서는 헤더를 붙이는 주체가 항상 이전 계층에 있는 요소 중 하나인가요? 예를 들어, L3 -> L2로 가는 과정에서 L2 header를 붙이는 주체는 이전 계층인 L3에 속하는 장치들 중 하나가 되는 건가요?반대로 그러면 Decapsulate 하는 과정에서 헤더를 제거하는 주체는, 예를 들어, L2 -> L3로 가게되면 L2 계층에 속하는 장치중 하나가 되는 걸까요? 네트워크 분야는 입문자라서.. 혹여나 질문이 이해가 안되신다면 답글 달아주세요! 감사합니다 :)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문합니다
안녕하세요, 강사님.저는 처음에 아홉 난쟁이의 키 분포를 저장할 수 있는 배열을 선언하고, 해당 키에 해당하는 난쟁이를 배열에 넣고, (전체 합 - 100)에 해당하는 난쟁이 두명을 찾는 방식으로 문제를 해결했습니다. 예제는 맞는데 틀렸다고 뜨는 이유를 모르겠습니다. 감사합니다.http://boj.kr/7e220e252b364c1e8dbf2d7c16a72cd0