묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결장박사의 블록체인 이해와 구조
강의 자료 부탁 드립니다.
안녕하세요. 블록체인에 갓 입문해 강의를 듣고 있습니다. 밑에 질문 보니깐 강의 자료를 주시는것 같아서 저 또한 요청 드립니다. paumqkd@nate.com 입니다. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
C++과 C#의 클래스 객체 선언
(1. C# 문법입니다) public class Parent { protected virtual void Print() { Console.WriteLine("Parent Prnt!"); } public void CallFunc() { Print(); } } public class Child : Parent { protected override void Print() { Console.WriteLine("In Child!"); base.Print(); //Console.WriteLine("Child Prnt!"); } public void CallFunc() { Print(); } } 이런 클래스가 있다고 가정을 할때 C#에서는 Child c1 = new Child(); 이렇게 힙에 실제 객체를 올리고 new 연산자를 통해 (객체를 생성하고 생성자를 호출하는 키워드인 new연산자 사용) 힙에 올라간뒤 c1이 그곳을 가르키는 형태가 되어야 Child클래스 내에 있는 함수들을 사용할 수가 있는데 C++같은 경우에는 main 함수내에 Knight k1; 만 이렇게 선언해주어도 실제 설계도의 함수들을 사용할 수 있더라구요 이 이유가 그냥 C++는 C#과의 문법 차이로 C++에서는 객체를 만들때 new연산자를 사용하지 않고 Main 함수 내에서 Knight k1;만 해주면 클래스(실체) 스택에 올라가고 그냥 그녀석의 객체인 k1도 스택에 올라가는 것이고, C++에서 Knight* k2 = new Knight();를 해주어야 C#과 비슷한 형태인가요?
-
해결됨스프링 핵심 원리 - 기본편
수정자 타입 관련 질문
7. 의존관계 자동 주입 교재에서 '수정자 자동 주입 예시' 에서 리턴타입이 DiscountPolicy로 되어 있는데 void로 되는게 맞을까요?
-
미해결애플 웹사이트 인터랙션 클론!
강의 소스코드 공유
안녕하세요 강의 잘듣고 있습니다. 강의에서 쓰인 코드를 제 프로젝트에 맞게 일부 고쳐서 깃에 공유해도 될까요?? 출처는 남기지만 코드 자체가 공유될 수 있을 것 같아 문의드립니다. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
h2 초기 사용을 위해 웹 콘설 접속시 whitelabel 에러가 발생합니다.
안녕하세요. 현재 Users Microservice - H2 데이터베이스 연동 강의를 듣고 있습니다. pom.xml에 h2 dependency 1.4.200 버전을 등록 하고, yml 파일에 h2 관련 내용 작성 후 실행 시 white label 에러가 발생합니다. 제가 회사 노트북이라 안되는건지, 아니면 다른 방법을 시도해야 하는것인지 알수없어 문의 드립니다. 감사합니다. ------------------------------------------------------------------------------------------------ 개인 PC로 해도 동일한 에러가 발생하는데 어떻게 해결 할 수 있을까요? 다음 강의로 진행이 안되고 있습니다..ㅠㅠ ------------------------------------------------------------------------------------------------ 강의를 조금 더 들어봤으면 1.3.176으로 진행 했을텐데 1.4.200에서 콘솔 접속이 안되는거에 꽂혀서 며칠째 진행을 못했네요...;;
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
swr 사용시 state
안녕하세요. /front/pages/profile 에서 FollowList 컴포넌트에 넣어주는 data를 state를 이용하지 않고 swr사용하여 가져온 데이터를 넣어줘서 profile 페이지에서 following/follower삭제 할때 바로바로 화면에 변화가 보여지지 않습니다.. 팔로윙팔로워리스트 불러오는 부분만 swr로 바꾸신 이유는 swr쓰는 방법을 알려주시기 위함인가요?
-
해결됨풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
수정된 내용까지 확인했는데 에러가 납니다 ㅠ
window에서 대소문자 문제 수정해도 에러가 나네요 ㅠ
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
7:07 질문있습니다
set 하는 부분에서 setTodoData((prev) => [...prev, newTodo]); setTodoData([...todoData, newTodo]); 첫번째 줄처럼 작성하는 것과 두번째 줄 처럼 작성하는 것의 차이점이 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
entity를 async 메소드 파라미터로 넘길 경우에 대한 질문입니다.
안녕하세요 강사님 항상 좋은강의 잘 보고있습니다. DB관련 강의를 보고서 코드를 작업하던 중 이해가 안가는 부분이 있어 질문드립니다. 정확한 질문포인트 강의를 찾지 못해 트랜잭션 관련 질문이라 이곳에 남깁니다.. Parent entity가 onetomany로 child entity list를 갖고있는 상황입니다. Lazy Loading으로 사용중입니다. @transactional이 붙은 A 메서드가 parent entity를 find해왔습니다. 아직 child를 사용하지 않았습니다. 조회쿼리도 나가지 않았습니다. A메서드는 @Async로 별도 thread에서 동작하는 B메서드에 parentEntity를 parameter로 넘깁니다. (B메서드에는 transactional코드가 없습니다) B메서드에서는 child를 사용하여 동작하는 코드가 들어있습니다. 의문점은 이게 fail to lazily initialize... no session이 나와야하지 않나 싶은데 정상작동한다는 점입니다. 강의를 통해 제가 이해한것은.. 1. transaction은 db connection과 함께 움직입니다. 2. transaction은 thread local로 관리되어 thread마다 할당됩니다. 고로 db connection은 thread에 할당됩니다. 3. entity manager는 일부러 엮지 않는 이상 thread끼리 공유하지 않는다. 한 thread에 하나씩 붙는다. 4. open session in view를 켜지 않는 한 entity manager는 transaction과 생명주기를 같이한다 async에서 할당된 thread들은 transaction이 없기 때문에 entity manager를 갖고 있지 않은 상태이고, parameter를 통해 받은 parent entity는 사실상 dto와 같은 취급을 받아야 하는게 아닌가 하는 생각입니다. 고로 parent entity에서 child를 조회하려하면 entity manager와 db connection이 없기 때문에 관련 에러가 터질것이라 생각했습니다. 하지만 async 메소드에서 child를 사용하려하면 정상적으로 쿼리가 나가고 실행에 아무런 장애가 없습니다. 이에 궁금증이 생겼습니다. 1. entityManager 생성이 transaction과 같이하는게 아니라, Thread가 생성될때마다 각 Thread는 entityManager를 자동으로 부여받는것인가? 2. 1번이 맞다면.. entity가 갖고있는 Lazy loading인 상태의 proxy항목이 Async thread에 있는 entitymanager를 사용해서 조회를한것인가? parameter로 넘긴 entity가 내부적으로 db connection을 물고있는건가 싶은 의문도 생겼습니다. 테스트코드는.. https://github.com/zzangisdaeho/transaction-test.git TestAsync.testAsync() 를 한번만 봐주실 수 있다면 감사하겠습니다. (테스트코드 에러는.. 테스트 종료시에 entitymanager를 release하면서 나는 NPE인데.. 아직 원인을 파악하지 못하였습니다. 궁금한점은 async쪽입니다..) 감사합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
혼자 정리해 본 Stateful과 Stateless의 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서의 예시로 보면 Stateful에서는 점원이 바뀌면 구매자가 어떤 것을 사고 싶은지 점원이 파악하지 못함 Stateless에서는 점원이 바뀌더라도 구매자가 필요한 모든 정보를 가진 채로 요청하기 때문에 주문에 문제 없음 이렇게 이해했는데, 그렇다면 Stateful에서는 "서버"가 "클라이언트"의 상태를 기억하고, Stateless에서는 "클라이언트"가 애초에 접속할 때 "서버"에게 필요한 상태를 제공하는 것으로 이해하면 될까요? 만약 그렇다면 "필요한 상태를 가지고 있어야 할 책임이 어느 쪽에 있는가?"에 따라 Stateful과 Stateless로 나누면 되는 것인지 궁금합니다!
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
[실습3-4] 인증 우회 공격을 통한 타 사용자 게시글 무단 수정, 삭제 실습
mysql에서 delete할때 삭제버튼 누르면 password 입력해서 삭제되잖아요. delete from board where idx=8 and password='' or idx=8-- ' ' or idx=8-- 를 패스워드에 넣어주면 idx=8 and password='' 무의미해지고 idx=8만 의미해지니까 idx=8인 게시판을 삭제해야되는거 아닌가요? 왜 글번호가 2번인 idx 게시물을 삭제할때 idx=8넣고 삭제하면 2가 삭제가 될까요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
레거시 코드에서 DriverManager를 사용하는데요...
안녕하세요~ 로드맵을 따라 듣다가 아직 이 강의를 볼 타임이 아닌데 ㅠㅠ 오늘 인수인계 받은 배치 애플리케이션의 소스코드를 봤는데 도무지 이해가 가지 않는 코드로 작성되어 있어 혹시나 싶은 마음에 강의를 찾아보니 있네요 ㅎㅎ 레거시 코드의 배치 애플리케이션에서 DriverManager, PreparedStatement, ResultSet을 사용해서 DB 처리를 하고 있습니다. 그런데... 서버가 기동될 때 최초 1회만 커넥션을 생성해서 close하지 않고 계속 사용합니다. 이걸로 서버 재기동전까지 계속 쿼리를 동작시킵니다. (PreparedStatement와 ResultSet는 사용하면 close 합니다.) 강의를 보니 커넥션을 맺는 비용이 비싸기 때문에 이런 코드가 만들어진 것으로 추측해보는데요 close를 하지않는 단일 커넥션을 사용하는 것은 어떤 장단점을 가지는지 궁금합니다. close를 하지 않는 단일 커넥션은 커넥션풀에 커넥션이 1개만 있는 경우와 같을까요? 배치 애플리케이션이니까 단일 커넥션으로 처리했을까요? * 배치의 정보를 드리자면.. 대략 수는 50개, 동시에 처리되는 것들이 보통 5개, 실행시간은 보통 5분 내외, 최대 3시간입니다. 이상한 코드가 맞겠죠?? 자야하는데 고민이 깊어지네요
-
미해결입문자를 위한 자바스크립트 기초 강의
<input type="button"> 과 <button>차이
안녕하세요. 강의 잘 보고 있습니다. 헷갈리는게 있어서 질문드려요. 그동안 버튼을 만들때는 <input type="button" value="버튼"> 이었는데, 이번 강의에서는 조금 다르게 <button>버튼</button>이더라구요. 혹시 둘이 차이가 무엇인지, 어느것을 더 자주 쓰는지 알 수 있을까요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Client 콘솔창이 잠깐 켜졌다가 말아요
안녕하세요 강사님 강의 들으면서 코드를 똑같이 복사하면서 최종 빌드도 통과가 되고 실행을 시켜보면 Client 콘솔창이 잠깐 뜨다가 꺼집니다. 디버그 모드로 실행해 보았는데 RootSignature에서 예외처리로 걸리더라고요 저로서는 무슨 문제인지 모르겠네요. 혹시나 해서 강사님이 준 코드를 켜서 실행해 보아도 결과는 똑같더라구요 혹시 저의 비주얼 스튜디오가 2022 버전이라서 그런걸까요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
AuthGaurd, canActivate관련
안녕하세요 강의를 하며 passport 기능 따라구현하는 중에 막힌곳이 있어서 문의드립니다. 로그인 쪽 개발중 프론트엔드에서 요청을 하면 canActivate중에 문제가 있는지 401 에러를 뱉습니다. 가드가 컨트롤러 앞단에있는 거의 가장 처음 트래픽을 맞이하는 부분이라고 이해만 하고 canActivate에 대한 이해가 없어서 이부분에서 에러를 뱉어내서 조금 막막하네요 어떤 부분을 공부하거나 찾아봐야 할지 문의드립니다. @Injectable() export class LocalAuthGuard extends AuthGuard('local') { async canActivate(context: ExecutionContext): Promise<boolean> { console.log('가드'); //로그 정상적으로 찍힘 console.log(context); //로그 찍힘 const can = await super.canActivate(context); console.log(can); //이 로그가 찍히기 전에 401 에러뱉고 끝. 프론트 엔드 응답값은 {"success":false,"code":401,"data":"Unauthorized"} if (can) { const request = context.switchToHttp().getRequest(); console.log('login for cookie'); await super.logIn(request); } return true; } }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
list는 중간, 삽입 삭제가 빠른 거 아니었나요?
https://chanheess.tistory.com/154 여기 블로그에서 말하는 것 처럼 리스트의 장점이 중간, 삽입 삭제가 빠르다는 것 아니었나요? 여기의 list와는 다른 list인 건가요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
가상핸드폰 설치 문의
가상핸드폰 설치 불가. 도움 부탁합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
가상 핸드폰 모드가 설치가 에러나요
가상핸드폰 설치가 안됩니다 어떻게해야하나요
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글의 키값을 구하려면 어떻게 해야하나요?
게시글에 댓글을 남기고 firebase를 확인해보면 위 사진처럼 -게시글의 키값 - 댓글의 키값 - 댓글 내용 이런식으로 나오는데 댓글 데이터 구해오는 부분(getCommentData)에서 dataModel.key 이런식으로 해도 게시글 키값만 나오고 댓글 키값은 안 나오더라고요 댓글의 키값을 구하려면 어떻게 해야하나요?
-
미해결스프링 배치
대용량 건수일 경우 처리가 궁금합니다
안녕하세요 강사님. 강의 잘보고 있습니다! 뒷 부분 강의에 있을 수도 있지만 현재 궁금한게 예를 들어 100만건 데이터를 reader -> writer 해야한다고 하면 청크 단위만 적절하게 조절해준다고 하면 out of memory 같은 에러는 발생하지 않을까요?? 물론 시스템 사양에 따라 조금씩 다르겠지만 노하우가 궁금합니다. 감사합니다.