묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
초기화 리스트 사용에 대해서
초기화 리스트를 사용할경우에 클래스 내부 클래스의 원하는 생성자를 호출 할 수 있는 차이가 있고 클래스 내부에있는 멤버 클래스? 가 기본 생성자가 없을경우에 반드시 초기화리스트를 사용해야 하는거군요. 또 생각해보면 기본생성자가 있다고 하더라도 초기화 리스트를 사용하지 않고 생성자 내부에서 _inventory = Inventory(20); 와 같은식으로 사용할때 결국 복사생성자로 복사가 될텐데 이전 강의에서 말씀하신것처럼 Inventory 클래스의 복사 생성자게 제대로 만들어져 있지 않으면 멤버 변수들 중에 간단히 복사가 안되는것들로 인한 문제가 생길수 도 있겠네요! 그리고 말씀하신 C++11 문법에 추가된 부분은 이 초기화리스트의 다른 표현방식 혹은 문법이라고 이해하면 될까요? 마지막으로 구태여 생성자에서 초기화 하는것과 초기화리스트에서 초기화 하는것에 대해 차이를 둔 점이 예전 전역변수를 초기화 하지않으면 .bss에 위치하고 상대적으로 exe파일 크기를 적게 잡아먹는것처럼 컴파일러 내부에서 최적화하는데 어떤 이점이 있어서 나눈건가요? ----수정이요---- 다음 강의를 듣고 복사 연산자에 대해서 알게되고 다시 생성자 내부에서 초기화 하는 _inventory = Inventory(20); 위와 같은방식으로 했을때 여기서 =는 복사생성자가 아닌 복사 연산자로 작동을 하는군요? 생성자 내부에서 초기화 하려고하는건 결국 멤버내 클래스를 기본생성자로 생성하고(_inventory 생성) 추가로 뒷부분의 생성자로 생성된 임시 객체(Inventory(20))을 복사해서 넣는 식으로 작동하는군요! 그렇다면 클래스 내부의 멤버 클래스(_inventory )를 복사생성자로 생성하고 싶을때는 해당 클래스의 인수로 복사생성자로 만들고싶은 클래스를 받은 뒤 그걸 초기화리스트로 초기화 하는방법이 멤버클래스(_inventory )를 복사생성자로 생성시킬 수 있는 유일한 방법인가요? 이런식으로요 Knight(Inventory& i) : _inventory(i){}
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.get(), app.use() 차이점
평범하게 express 모듈을 사용하여 서버 토대를 만들고 그안에서 미들웨어를 사용하고 있습니다. app.use("/about", (req, res, next) => { // "/about"에 대한 모든 요청이 들어 올 때 실행된다. console.log("about에서만 실행"); res.write("<h1>only in about</h1>"); res.write("of course"); res.end(); next(); }); app.get("/about/:id", (req, res) => { // 위에 있던 미들 웨어가 use로 사용되어서 res.send를 사용하면 요청을 두번 보내버리는 효과가 있어 오류가 난다. res.send(`<h1> ${req.params.id} </h1>`); }); 위에 상태로 실행하게 되면 Cannot set headers after they are sent to the client 오류가 나옵니다. 그러나 다시 아래와 같이 수정하면 app.get("/about", (req, res, next) => { // "/about"에 대한 모든 요청이 들어 올 때 실행된다. console.log("about에서만 실행"); res.write("<h1>only in about</h1>"); res.write("of course"); res.end(); next(); }); app.get("/about/:id", (req, res) => { // 위에 있던 미들 웨어가 use로 사용되어서 res.send를 사용하면 요청을 두번 보내버리는 효과가 있어 오류가 난다. res.send(`<h1> ${req.params.id} </h1>`); }); 코드가 정상 실행되며 /about/:id 경로에서 id값을 입력하면 res.send()함수에 id값이 잘 들어오게 됩니다. get과 use에 어떠한 차이점 때문에 이러힌 결과가 나오는 건지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
그럼 View 좌표계는 결국 카메라의 Local 좌표계 인가요?
ㅈㄱㄴ
-
미해결노션사용법 - 조직이 노션을 쓰기 위해 알아야 할 모든 것
질문있어요~!!!
아래 사진에 빨간색으로 동그라미 쳐져 있는 부분에서- KY,MT 같은 사용자이름으로 변경하려면 어떻게 해야하나요? 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
extendHandlerExceptionResolvers에 대한 질문
안녕하세요. 강의록에 있는 다음의 내용에 대해 질문을 드리고 싶은 점이 있습니다. "configureHandlerExceptionResolvers(..) 를 사용하면 스프링이 기본으로 등록하는 ExceptionResolver 가 제거되므로 주의, extendHandlerExceptionResolvers 를 사용하자" 스프링 공식문서에서 검색을 해보았는데, 선생님이 설명해 주신 내용이 정작 공식문서에는 나와있지 않더라구요. 이렇게 중요한 정보를 선생님은 어떻게 알 수 있으셨는지요? 읽어주셔서 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
컬렉션 값 묵시적 조인에 대한 질문
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] https://www.inflearn.com/questions/379070 이전 질문을 통해 t.member as m 임을 이해하였습니다. 하지만 아직 1가지 의문이 듭니다. 질문 1) String query = "select t.members from Team t"; 위 코드는 묵시적 조인이 발생하고, 따라서 t.members.username 과 같은 호출은 불가능하게 됩니다. 왜냐하면 members는 collection이기 때문에 size와 같은 collection에 대한 정보는 얻어올수 있어도, collection 안에 있는 원소에 대한 정보를 얻어올수는 없기 때문이죠. 따라서 강의에서는 다음과 같이 명시적 조인으로 바꾸면 select m.username from Team t join t.members m 과 같이 m.username 와 같은 사용이 가능하다고 하셨습니다. 하지만 두 코드 모두 1. select t.members from Team t 2. select m from Team t join t.members m (member를 가져오기 위해 select m으로 변경) 동일한 SQL 생성됨을 알수있었습니다. 1. select t.members from Team t 2. select m from Team t join t.members m 두 코드 모두 같은 SQL문을 보여주더군요! 여기서 질문!! 둘다 같은 SQL을 생성하는데 SELECT 절에서 왜 묵시적 조인 쪽은 username에 접근이 안되고, 명시적 조인은 username에 접근이 가능한가요? select t.members from Team t 에 의해서 생성되는 SQL 문을 A select m from Team t join t.members m 에 의해서 생성되는 SQL 문을 B 라고 한다면 A랑 B랑 같은 SQL문을 보여주는데, B에서 username을 얻어올 수 있듯, A에서 username을 얻어올수 있지 않을까? 생각해서 질문 남겨봅니다. (참고로 t.members는 collection자체이기 때문에 원소 자체의 필드인 username에 접근 불가능하며 m은 Member 엔티티니까 m.username, m.age와 같이 접근 가능한것은 알겠는데, 이는 JPQL상의 코드에서 나타나는 차이지 SQL상에서는 동일하게 SELECT 쿼리를 보내는것 같아서요.) 저의 질문 의도가 좀 명확하지 않다면 죄송합니다 ㅠ.ㅠ
-
미해결인터랙티브 웹 개발 제대로 시작하기
3d wall 이미지, 링크삽입
선생님의 강의에사 나온 3d wall에서 조금 더 추가하여서 벽에다가 동영상 재생 혹은 이미지를 여러가지 걸어 두고 싶은데 어떤식으로 접근을 해야하는지 조금 막막하네요 Wall left,right에 직접적으로 Back ground로 이미지를 넣으면 되긴하지만 벽 끝까지 정렬되지도 않아서 이걸 자바스크립으로 해야하나 하고 생각 중입니다 잘 부탁드립니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
test device 실행
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! bts 앱 강의 듣고 있습니다. 강의에서 import android.widget.imageview 랑 import.android.widget.toast. 가 자동으로 뜬다고 하셨는데 전 뜨지 않아서 그냥 입력을 했고 코드를 강의에서처럼 짰는데 test device가 실행되지 않습니다. 도와주세요!ㅠ
-
미해결스프링 시큐리티
로그인 문제
안녕하세요. 디비에 데이터까지 잘 넣었고 로그인 부분도 손도 안댔는데 로그인을 하면 localhost:8080/error 페이지로 이동하게 됩니다.. 페이지 메시지는 {"timestamp":"2022-01-01T20:11:13.890+00:00","status":999,"error":"None"} 위와 같이 뜨구요... localhost:8080/ 으로 이동하면 로그인은 또 된 상태입니다. ide에서는 오류메시지도 안뱉고 디비에서 데이터 select도 잘 해오는것 같은데.. 다른 코드 비교해봐도 이유를 모르겠습니다.. ............. 질문하던 와중에 해결방안을 찾았습니다 /error 페이지를 permitALL 해주니 정상적으로 작동했습니다.. 혹시 다른 방안이 있을까요?
-
해결됨UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
저도 밑에분이랑 같은 버그가 있습니다.
27분까지 따라하면서 코드작성하였고 틀린지 계속 확인을 하였는데 확인 버튼이 안보입니다..ㅠㅠ 아이폰11,12 기종에서 해봤습니다.
-
미해결AWS(Amazon Web Service) 입문자를 위한 강의
RDS 보안 그룹 설정을 위한 인바운드 규칙 편집에서 아래와 같은 에러가 납니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 내용대로 EC2에 설정되어있는 보안그룹의 ID를 그대로 불러와서 설정했더니 아래와 같은 에러가 나오는데 어떻게 해결해야 할까요?
-
미해결프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 1
performance 중 회색바..!
뒤로 이어지는 회색바는 articles의 콜백을 의미한다고 얘기해주셨는데 앞에있는 회색바는 어떤의미로 보면 될까요? articles를 다운받기 시작하고 종료하는 시점은 네모박스부분인것 같은데 앞에 있는데 회색바는 굳이 표시해야하는 이유가 있을까요
-
해결됨Java TPC (생각하고, 표현하고, 코딩하고)
선언과 대입 분리 ?
안녕하세요 선생님. 변수 선언할 때 궁금한 점이 있어서 질문 드립니다. 지역변수 선언시 int a; a=9; 와 같이 변수 선언과 대입의 분리가 가능한데, 클래스 영역에서는 왜 선언과 대입의 분리가 안되나요???
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
async await관련 질문 드립니다.
async function A() { ... } // 3초 async function B() { ... } // 2초 const a = await A(); // (1) const b = await B(); // (2) 시간이 많이 소요 되는 비동기 함수 A, B 두개가 있을 때 위와 같이 호출하면 (1)에서 A호출해서 백그라운드로 넘겨주고 기다리다가 결과 받고 (2)에서 B호출해서 백그라운드로 넘겨주고 기다리다가 결과 받는다고 이해했습니다. 총 5초가 소요된다고 예상했습니다. 그렇게되면 백그라운드에서 js보다 빠른 c++등 으로 실행할 수 있다는 점 빼고 비동기를 사용하는 이유가 없다는 생각이 들었습니다. A와 B가 동기적으로 실행되기 때문입니다. async function A() { ... } // 3초 async function B() { ... } // 2초 const aPromise = A(); // (1) const bPromise = B(); // (2) const a = await aPromise; // (3) const b = await bPromise; // (4) 위와같이 (1)(2)에서 결과를 기다리지 않고 비동기함수를 백그라운드로 둘다 넘기면 A,B가 동시에 백그라운드에서 실행되기 때문에 총 3초가 소요된다고 예상했습니다. 제가 이해한 내용이 맞는지 궁금합니다. A, B의 순서가 상관 없다면 아래처럼 작성하는 것이 속도면에서 나은 코드인가요?
-
미해결Node.js로 데이터베이스 다루고 웹 애플리케이션 만들기
orientdb 홈페이지가 아예 안 뜹니다!
제목과 내용이 같습니다. Account Suspended Please contact your hosting provider to correct issues causing your website to be offline. orientdb 페이지로 접속하면 복사한 텍스트 그대로 화면에 뜨고 더 이상 진입이 불가능합니다. 웹 호스팅 관련해서 문제가 생긴 것 같은데 여기서 더이상 진행이 안 되네요 ㅠㅠ
-
미해결스프링 배치
외부 오픈 api를 read 할때 동기화 문제에 대해 질문드립니다.
수업 중 궁금한점이 있어 질문 드립니다. 외부 api를 받아와서 db에 저장하는 작업을 하는 경우일때 listitemReader의 경우 멀티쓰레드 환경에서 동기화가 안되어 있는 것 같은데 이런경우는 멀티쓰레드에 안전한 custom reader를 직접 코딩 해야 하나요??? 미리 감사합니다.!!!!
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님 진도 목차 관련 질문이 있습니다
강의 중 선생님이 말씀하신 분류,회귀 파트까지 강의를 들었는데, 지금까지의 지식이 부분부분 부족한 걸 느꼈습니다 머신러닝 역량을 키우고 싶으면 지금까지 배운 부분을 좀 더 깊이 있게 복습하는 것이 좋은가요 아님 계속 진도를 나가는게 좋을까요? 후에 머신러닝 공모전에도 참여하려합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Httpsession 에서 getAttribute 를 이용해 가져올때 타입캐스팅 문제
안녕하세요. HttpSession 에서 세션값을 가져올때 프록시 문제가 발생하는 것 때문에 질문을 남깁니다. 현재 Member 라는 Entity에는 '값 타입 컬렉션'이 정의되어 있는 상태입니다. 문제는 이 값타입 컬렉션은 지연로딩이 디폴트값이라서 세션값을 가져올때 Object -> Member 객체로 타입캐스팅 할때 proxy 객체인 상태에서 시도하려고 하여 에러가 발생해버립니다. 이런 상황에서 eager로 설정해주는 방법이 있겠지만 별로 좋지 못한 해결방안이라고 생각되어 어떻게 하면 더 좋은 방법으로 해결할 수 있는지 궁금하여 질문을 드립니다. 감사합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
현재 프로필 이미지 링크를 이미지 diplay로 대체
현재 아래 처럼 프로필을 변경 하러 들어간 화면에서 currently image 주소가 보이는데요, 이를 주소를 가리고 차라리 현재 프로필 이미지로(<img src="",alt="">) 보여 주려면 어떻게 해줘야 하나요? accountapp 에서 username의 출력을 disable했던 아래와 같은 방법이 있는걸까요? self.fields['username'].disabled = True 찾아가며 이렇게 저렇게 해봤는 원하는대로 되지 않네요^^;
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
localhost:8082
안녕하세요 13:24 쯤에 localhost:8082 에서 DB 확인하잖아요? 그런데 이 때 h2 DB 프로그램이 중단된 상태인거죠? 스프링부트가 기본적으로 설정을 안하면 메모리로 실행이 된다고 했잖아요. 그렇게 된 건가요? 저는 h2 db를 실행시키지 않은 상태에서 localhost:8082로 들어가니까 들어가지지 않아서요. 감사합니다.