묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커 볼륨을 사용하는 경우에 대해 질문 있습니다.
안녕하세요!강의 실습에서와 같이 바인드 마운트를 사용하는 경우에 1. 호스트 디렉토리 경로에 디렉토리가 이미 존재하는 경우, 호스트 디렉토리의 파일을 컨테이너 경로에 덮어씌움2.호스트 디렉토리 경로에 디렉토리가 존재하지 않는 경우, 디렉토리를 만들고 컨테이너 경로의 파일들을 호스트 경로에 복사함. 이 두 가지 경우로 나뉘어서 복사되는 규칙이 달라지는데 도커 볼륨을 사용할 때도 동일한 규칙이 적용되나요??도커 볼륨에다가 직접 디렉토리를 생성하는 경우는 없을 것 같아서 최초 처음 컨테이너에 볼륨을 연결하는 경우에만 2번으로 동작할 것 같고, 이후에 동일한 볼륨을 다른 컨테이너에 연결할 때는 1번처럼 동작할 것 같은데 맞을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
빌드 중단 시 오류 발생
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]build를 Gradle로 할 시 아래 사진과 같은 오류가 납니다 intellij로 하면 아래와 같은 오류가 안 나구요혹시 해결 방안이 있을까요?오류 원인은 무엇일까요? 참고로 오류 발생은 빌드 중단 시 납니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 localhost8080
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 안녕하세요, 강의 수강 중 질문이 생겨 여쭤보게 되었습니다. 강의를 들으며 라이브 코딩 중 제 노트북에서 localhost 8080/hello를 입력 시 연결이 안되더라고요.. 이것 저것 해결하려 노력을 하였는데도 여전히 해결하지 못하였는데, 원인이 혹시 무엇인지 알 수 있을까요 ? 유료 버전 사용 중이고, openjdk 24, war을 선택하였습니다.좋은 강의 제공해주셔서 항상 감사드립니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿과 서블릿컨테이너 그리고 WAS
[질문 내용]HttpServletRequest 역할HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.pdf보면 위 내용처럼 HTTP 요청 메시지를 파싱하고 그 결과를 Request 객체를 만드는게 서블릿이라고 적혀있는데WAS와 서블릿을 구분해서 공부를 하던 도중 개념이 헷갈려서 https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/httpservletrequest공식문서를 찾아봤는데 The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet's service methods (doGet, doPost, etc).요청 객체와 파싱은 서블릿 컨테이너가 한다고 나와있습니다. 찾아보니까 서블릿과 서블릿 컨테이너는 같은 의미는 아닌거 같고 그럼 여기서 말하는 서블릿 컨테이너는 WAS 같은건가요? 아니면 서블릿 = 서블릿 컨테이너 라고 개념을 익혀도 괜찮은건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
반복문과 range
11분 30초답이 13579 아닌가요?1 3 5 7 9 라고 나와있어요for i in range(1, 10,2): print(i, end=" ")
-
미해결홍정모의 따라하며 배우는 C++
(매우 긴 질문) 복습 점검 중 오류가 없는지 검토 받고싶어 질문남깁니다.
템플릿 섹션 공부 완료 후 실습을 통한 복습을하며 개인적인 질문을 스스로 질문해보고 답해봤습니다. 클래스 템플릿 부분이 잘 와닿지 않아 고심한 부분 위주로 남겨 제가 이해한게 맞는지 검토받고싶습니다. 같은 설명과 이야기가 반복될 수 있습니다ㅜ 두서없이 요약하지못해 죄송합니다. ▶아래는 템플릿이 선언(.h)과 정의(.cpp)가 나누어졌을 때 기반입니다.템플릿 클래스와 멤버 함수들의 선언이 명시된 .h를 통해 include한 쪽은 선언이 복사되어 포함된다.컴파일러가 .h를 포함한 곳은 번역단위가 선언만 이루어졌으니 전처리시점, 코드 작성 시점에는 템플릿을 해당 타입의 instantiation 을 할 예정인 명령어로 번역한다. 그리고 목적파일 생성 후 링커에 instantiation이 이루어질때 .cpp파일의 구현부 번역이 일어나는데, 해당 번역단위 입장에서는 인스턴스화 타입의 구현 정보가 존재하지않아 링커에 의한 오류가 생긴다.=> 이러한 이유로 구현부를 헤더파일에 모두 포함시키거나 어떤타입의 instantiation이 이뤄지질지 explicit instantiation 명시가 구현부(.cpp)에 필요하다. 이러한 특성때문에 만약 선언부에 정의가 함께되어있는 함수의 특수화 함수가 필요하다면 기본 템플릿 함수와 함께 정의 하되, inline 키워드를 붙여 동일한 함수임을 컴파일에게 명시해야한다왜? 헤더파일을 컴파일이 번역할때마다 기본 템플릿 함수와 특수화된 함수를 중복된 정의 함수라 판별하기때문이다.(다른 instance 템플릿 클래스 함수와 충돌이라 생각)그렇다면? 사용할 특정 타입만 내 마음대로 특성화 함수로 기본템플릿 함수의 정의와 함께 구현부에 구현할수있을까?할수는 있다고 생각한다. 하지만, cpp의 explicit instantiation과 다른 타입의 인스턴스로 컴파일 번역이 될 경우 문제가 발생한다..h에서는 인스턴스화 시에 해당 특성화 함수 정의를 할 수 있겠지만, .cpp에 해당 타입의 explicit instantiation이 명시되어 있지 않다면 특성화 제외 구현부가 나눠진 함수들은 인스턴스가 되지 못한다. => 헤더파일에서 정의부가 함께있는 함수는 컴파일러가 instantiation할때 타입별 template instance가 생기지만구현부가 cpp에 있을경우 explicit instantiation 없이는 해당 타입의 instance정보가 없어 해당 함수 사용시 오류가 발생한다.그럼? 특수화 함수 정의는 .h에! 기본템플릿 함수는 .cpp에 정의하고 특수화 함수와 동일한 타입의 template class Test<double>과 같이 explicit instantiation 해주면 되지않을까? 안된다! 정의부(.cpp)에서 기본템플릿 함수를 특수화 한 타입과 충돌에 문제가 발생한다.이미 .cpp파일 상단에 explicit instantiation을 선언해두었지만 아래에서 중복되는 타입의 특수화 함수정의 할시해당 인스턴스가 중복되는 이유로 중복선언된 함수가 되어버린다. inline을 써도 소용이 없다 해당 타입의 instance가 중복된거기때문이다! .h의 특수화함수 인스턴스 vs .cpp의 기본템플릿 인스턴스가 되어버린다.explicit instantiation가 이미 인스턴스화 되어있습니다! 라는 오류 (C2908)결론, 그래서 타입별 instance가 한정되어있다면 구현부(.cpp)에 explicit instantiation를 하고 기본템플릿 구현부를 만들어도 된다.만약 특수화가 필요한경우 구현부에 정의된 기본템플릿 함수를 헤더파일로 옮겨, 특수화할 함수에 inline키워드를 붙이고 클래스 외부에 특수화를 진행하면 된다.즉 템플릿 클래스내에 특수화가 필요한 멤버함수가 있다면 헤더파일에 inline키워드와 함께 구현할것선언부에 모든 템플릿 클래스 함수를 정의하기 어렵다면? .cpp파일에 구현부를 나누되 해당 특수화 인스턴스를 명시해두고, 다양한 대응을 해야하는 함수라면 그냥 선언부에 때려넣어야한다. ▶아래는 템플릿 클래스 내 friend키워드가 지정된 외부 함수가 템플릿 매개변수를 포함하는 인스턴스를 매개변수로 가질때 입니다.template<typename T>를 선언부에 명시 하지 않아도 되는 이유클래스내 멤버함수의 특징인 일반 멤버 함수들도 첫 번째 매개변수를 암시적으로 this포인터를 받는다. 멤버함수로 정의가 가능한 연사자 오버로딩 함수들은 선언부를 나눠서 같은 헤더파일에 클래스 외부에 따로 구현부를 작성해도 컴파일러에 의해 알아서 매칭이 이루어진다. 그렇다는 것은 템플릿 클래스의 경우 컴파일러에 의해 template class instantiation시 해당 연산자 오버로딩 함수는 멤버함수로써 this포인터로 인스턴스를 가리키기 때문에 선언부에 template<typename T>를 따로 명시하지않아도 된다.=> 그러나 구현부를 헤더가아닌 .cpp로 나눈경우에는 해당 함수를 번역할 시에는 template class에 대한 정보가 없으므로 template<typename T>를 모든 멤버함수에게 명시해주어야한다! 또한, 컴파일러가 번역 시 대신 특수화 함수가 함께 선언되는경우에는 중복정의가 아닌 같은 함수임을 명시하는 inline을 명시해야만 한다.템플릿 클래스의 외부 함수 friend 명시와 매개변수에 따른 매칭의 모호함외부함수로 정의하여 오버로딩해야하기 때문에 해당 인스턴스 매개변수의 멤버 변수에 접근하겠다는 의미로 friend를 붙여서 오버로딩을 구현시킨다.템플릿 클래스의경우 operaotr <<는 friend임을 선언부에 명시하게되면 해당 함수의 선언 보다는 friend 키워드를 사용하는 외부함수 명시에 불과한데(이 외부함수는 friend로써 해당 인스턴스의 멤버 변수 및 함수에 접근가능해!)이어서 동일한 헤더파일의 클래스 외부에 인스턴스 시 template 타입과 동일하게 하기위해 temaplte<typename T>를 붙여 정의를 하게된다.이 때, 템플릿 매개변수 T를 변수의 타입으로써 함수의 매개변수로 사용할 때는 컴파일러가 friend 외부함수 선언과 매칭 시키는것으로 번역한다. 그런데!!! 일반타입이아닌 템플릿 클래스 인스턴스를 (MyArray<T>) 매개변수로 사용하게 될때 문제가 발생한다.템플릿 클래스의 인스턴스를 템플릿 매개변수 T=> int의 인스턴스를 만들 때 컴파일러 번역에서 friend키워드가 붙은 외부함수의 매개변수 MyArray<T>를 MyArray<int>로 일반화하여 해석한다.때문에 정의부를 클래스 바깥 외부에 temaplate<typename T>로 정의하여 매칭을 유도시켜봤자, 컴파일의 해석에 따른 다른 인스턴스 취급을 받게되어 매칭으로 이어지지 못한다.때문에 클래스 내에 friend로 선언된 operator << 는 선언만 있게되는 외부 함수가 되고 정작 참조할 정의부가 없어 오류가 생겼던것이다.그래서 해당 함수를 템플릿 클래스 인스턴스 할때 함께 포함될 외부함수라는것을 컴파일러에게 알려주기 위해 template<typename T>를 따로 명시해줘야한다.반면, 템플릿 매개변수가 일반타입일 경우에는 매칭이 된다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
출력 결과가 이해되지 않습니다.
const promise = new Promise((resolve, reject) => { // 비동기 작업을 실행하는 함수 // executor setTimeout(() => { console.log("안녕"); // resolve(); reject(); }, 2000); }); console.log(promise); setTimeout(() => { console.log(promise); }, 3000);첫 번째 console.log와 setTimeout에서의 두 번째 console.log는 promise객체의 상태가 달라야 한다고 생각하는데 왜 같은지가 궁금합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
7.2강 char int && getchar putchar 질문
안녕하세요 교수님. 질문이 있는데, char의 값은 그대로 int로 표현하면 에러없이 정상 작동하는데 char가 int보다 크기가 작은 자료형이고 같은 정수형이라서 자동으로 형변환이 되는거라 제대로 출력이 되는것이고, int값을 char로 표현하면 에러가 뜨는 이유는 같은 정수타입이지만, char의 크기가 작아서 int를 표현하지 못해서 그러는걸까요? 그래서 getchar랑 putchar는 int로 받지만, EOF를 사용안할떄 char로 해도 정상작동되는걸까요?그리고, EOF는 char타입일떈 못쓴다던데 그렇다면 보통 getchar와 putchar는 int변수로 주로 받는건가요? 근데 이러면 1바이트인 char를 못쓰니 손해를 보는편일까요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 전파 활용 - UnexpectRollbackException 관련 질문
트랜잭션 전파 활용까지 강의를 수강하고나니이전 질문해당 질문에서 질문했던 1번 경우에 대해서는 제 생각이 맞는 것 같다는 결론이 나왔습니다.그리고 활용 강의까지 들으면서 느낀건데애초에 UnexpectRollbackException 예외는실제 정상 운영중인 서비스에서는 발생하면 안되는 예외고테스트 과정같은 개발 환경에서 개발자가 캐치해서 이 예외가 발생하지 않게끔 코드를 수정하기위한일종의 알림같은 예외라고 생각이 되었습니다.그래서 굳이 exceptionhandler로 UnexpectRollbackException 예외를 처리하는것은 뭔가 옳지 않은 방법이지 않을까 하는 생각이 들었습니다.제 생각이 맞나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
14분대 질문있습니다.
A b = new B();였다면 생성자 of AADCD가 되는 건가요?질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
모드시큐리티 하드웨어 호환성 (참고)
VMWare 17버전 사용하면옛 VMWare 버전 처럼 change hardware compatibility wizard 기능이 없습니다.ovftool.exe 사용해서 하드웨어 호환성 맞추니까 됬습니다. everything 프로그램으로 "ovftool.exe" 검색해서 그 경로로 들어가기(보통 이 경로 -> C:\Program Files (x86)\VMware\VMware Player\OVFTool\ovftool.exe) ovftool.exe 있는 탐색기 주소창에 "cmd" 엔터 쳐서 cmd 창 열기ovftool --maxVirtualHardwareVersion=14 [source.vmx] [target.ovf] 하면 해결됬습니다 참고하시라고 올립니다.
-
미해결
제목: 아이들을 위한 무료 호날두 색칠공부 자료 공유합니다!
안녕하세요!아이들이 좋아할 만한 색칠공부 자료를 찾다가 아주 좋은 사이트를 발견해서 공유드립니다. 특히 축구를 좋아하는 아이들이라면 정말 좋아할 거예요 제가 찾은 자료는 바로 호날두 색칠공부 도안인데요, 아래 링크에서 무료로 다운받아서 인쇄할 수 있어요.바로 이 링크입니다:https://azkleur.nl/kleurplaat-ronaldo/해당 사이트인 AZkleur.nl에서는 다양한 캐릭터와 주제의 색칠공부 도안을 제공합니다. 사용법도 간단해서 누구나 쉽게 인쇄해서 사용할 수 있습니다.색칠공부 자료는 전부 무료입니다.PDF 형식으로 바로 인쇄 가능합니다.유아부터 초등학생까지 모두 사용하기 좋아요!아이들과 함께 재미있는 시간을 보내고 싶을 때 유용한 자료가 될 거예요. 혹시 다른 좋은 색칠공부 자료도 알고 계시면 댓글로 공유해주세요~!감사합니다
-
해결됨모던 웹 인터렉티브 CSS3 부트캠프 [Full vers.]
스프링과정은 언제출시되요?
개인적으로 스프링 과정을 기다리고있습니다. 자바는 학원에서 어느정도했기에.... 스프링과정 출시 예정일이 궁금합니다. 이커리큘럼에 남은 단계가 2개맞지요?? 스프링과 스프링 포토폴리오 과정 이렇게 2개 예상되는데.... 둘다 출시예정시기즘 알수있을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 전파 기본 - UnexpectRollbackException 관련 질문
만약에 @Transactional 어노테이션을 사용해서 트랜잭션을 만들었을때내부 트랜잭션에서 롤백이 발생했다는건 일반적인 상황에서는 database에서 뭔가 예외가 발생해서 그런거라고 생각되는데,그러면 예외처리기에서 알아서 runtimeException을 상속받은 예외로 바뀔것이고외부 트랜잭션에서도 롤백이 발생한다는건이 경우는 database에서 발생했던 예외가 외부 트랜잭션까지 넘어와서 자연스럽게 롤백된거라고 생각합니다.그래서 UnexpectRollbackException이 발생하지 않는다고 생각됩니다. 제 생각이 맞나요?그러면 UnexpectRollbackException 이 발생할 수 있는 경우는 뭐가 있나요? 강의에서 처럼 의도적으로 문제를 일으키는게 아니면 생각나는 경우가 딱히 없습니다.하지만 제가 생각하지 못하는 것이지 예외가 발생한다는 경우가 있긴 있다는것이겠죠? 그렇다면 트랜잭션을 이용하는 순간부터는 그냥@ControllerAdvice 에서@ExceptionHandler로 UnexpectRollbackException을 캐치해줘서 처리하는 코드를 거의 무조건 작성해야할까요??
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
이미지 삭제 시 에러
windows powershell로 진행중입니다. 컨테이너 중단 -> 삭제 -> 이미지 삭제 진행 시 docker image rm 이미지id 입력하면 Error response from daemon: No such image ~ 오류가 뜹니다. 강의에서는 이미지 id, 이미지명 두가지 방법으로 모두 삭제가 가능하다고 했는데, 혹시 안되는 이유가 뭘까요?
-
미해결HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
PWM 실시간 변경 시 ARR이 아닌 PSC 레지스터를 제어해야 하는 이유
안녕하세요 제목과 마찬가지로 PWM 실시간 변경 시 ARR이 아닌 PSC 레지스터를 제어해야 하는 이유가 궁금합니다. 이론적으로는 동일한 접근법인데, 칩 내부에서 무언가 문제가 발생하는 것인가요?
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
오류
밑이 10인 log10(2)는 약 23정도 되는데 뭔가 잘못된것같습니다.
-
미해결실전! Querydsl
오류 com.mysema.codegen.model.Type 대응 방법을 알 수 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강사님.compileQuerydsl을 실행했을때, 아래 오류가 발생했습니다.Unable to load class 'com.mysema.codegen.model.Type'.혹시 스프링부트3.0 에서는 가능한 대체 설정 방법을 알 수 있을까요?
-
미해결실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
canoe 테스팅
혹시 canoe를 활용한 유닛 검증 및 시스템 검증에 관한 강의도 만드실 생각이 잇으신지 궁금합니다 단품 검증 및 실차 검증에서 자주 사용되는 검증인지라
-
미해결Next + React Query로 SNS 서비스 만들기
react-query enabled 옵션
react-query 사용 시enabled 옵션이 true인 경우queryFn을 실행하지는 않지만queryKey는 생성되는데 queryKey가 안 생기게 하자니 Hook을 조건부로 작성할 수 없어서 이런 방법은 불가능하고 queryFn은 실행하지 않으니 괜찮다는 생각도 드는데예를 들면 ["post", id]가 있고 id가 null인 경우queryKey는 ["post", null]로 무조건 생성이 되더군요. Observe도 많은 곳에서 쓸 수록 2 or 3 이런 식으로 증가하고요. 이게 성능에 문제가 없을지 아니면 queryKey 생성까지 막을 수 있는 방법이 있는지 궁금합니다.