묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
res.locals에 follower에 관해 저장할때 다른방법
수업중에서 res.locals에 follower에 관해 저장할때 deserialize 에서 include를 하면서 req.user에 추가를 해주었는데요,제로초님이 await으로 userfindOne을 해서 어떻게 하는 다른방법도 있다고 하셨는데 그 코드를 알려줄수있을까요?저 혼자 해보는데 잘 안되네요.
-
해결됨MongoDB를 활용하여, 200억건 이상의 데이터 파이프라인 작성법
몽고 디비 사용 할 때 index는 사용하지 않나요?
유저 데이터 접근을 빠르게 하기 위해 유저의 유니크 아이디에는 index를 걸거나 3rd파티에서 나온 id들은 index를 걸어 빠르게 접근할거 같아서 index를 걸었는데 실제 대용량 처리를 하게 될 때는 인덱스 사용을 지양하는 편인가요?
-
미해결Microservice 구현 (with EDA,Hexagonal, DDD)
CQRS 질문 드립니다.
강사님 안녕하세요. 강의를 다 듣고 배운 내용을 개인 프로젝트를 통해 구현하는중입니다.제가 CQRS에 대한 오해가 있는 것 같아 질문 드립니다. CQRS는 도메인을 도메인 답게 유지하기 위해 비지니스 로직에 query가 침투하는 것을 막는다.즉 command, query를 역할에 따라 분리한다.라고 이해했는데요. 그렇다면, command만 수행하는 서버, query만 수행하는 서버로 분리하는게 맞을까요?로직상 command를 통해 데이터를 저장 혹은 업데이트하려고 하면, db에서 해당 데이터에 대한 조회가 필수적이라고 생각하는데 이러한 조회도 command의 한 종류라고 생각하면 되는걸까요?
-
해결됨두고두고 써먹는 유니티 VR
컨트롤러 이동 질문
혹시 컨트롤러를 컴퓨터 상에서 시뮬레이터로 이동시킬 경우회전 토글 등은 잘되나 컨트롤러의 위치가 이동이 안됩니다.마우스 휠로 할경우 컨트롤러의 로테이션 값만 변경이 됩니다.... 혹시 제가 잘못하는 것 일수도 있으니 왼손 컨트롤러 이동시 쉬프트 키를 누른 상태로 asdw를 누르거나 휠 위아래로 움직이는 것아닌가요?
-
해결됨게임 엔진을 지탱하는 게임 수학
책 p145 질문
p145 마지막 줄에[각의 크기를 x축으로 둔 atan2 함수의 그래프는 그림 4-35와 같으며 이의 공역은 (-180°, +180°) 범위를 가진다.]라고 쓰여 있습니다.x축이 각의 크기가 아닌 거 같은데 확인 부탁드립니다. 감사합니다.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
6-1 질문
runserver을 하기 위해서 manage.py를 사용하는데 만약에 mysite를 이용하기 위해서는 mysite에 있는 manage.py를 이용해야하고 dealershop을 이용하기 위해서는 거기있는걸 이용해야하는건가요??처음에 mysite의 manage.py를 이용해서 하다가 inventory로 안넘어가길래 무슨 문제가 있나 했어요ㅠㅠ
-
미해결김영한의 실전 자바 - 기본편
super2main에서 classB()생성자 안에 this(a, 0)말고 super()도 생략되어 있는거 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 상속 강의 마지막 부분에 public class ClassB extends ClassA{ public ClassB(int a){ this(a, 0); // 기본 생성자 생략 가능 System.out.println("ClassB 생성자 a = " + a); } public ClassB(int a, int b){ super(); // 기본 생성자 생략 가능 System.out.println("ClassB 생성자 a = " + a +" b = " + b); } } 여기서 ClassB(int a) 생성자에 super()가 생략되어 있는거 아닌가요? public class Super2Main{ public static void main(String[] args){ ClassB classB = new ClassB(100); } }제가 이해한 바로는new ClassB(100) 호출시 ClassB(int a) 안에 생략된 super()가 호출되고 this(a, 0)이 실행되고 ClassB(int a, int b)안에 super()가 실행되고 나머지 실행되고 ClassB(int a)에 나머지 코드가 실행돼서 "ClassA 생성자"가 두번 호출되어야하는게 아닌가 해서요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 코드 작성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님께서 테스트 케이스를 작성할 때 앞의 테스트가 뒤의 테스트에 영향을 미치는 것을 방지하기 위해 clearStore()를 작성하시고 사용하셨는데 다형성에 의해서 MemberRepository memberRepository = new MemberRepositoryImpl();// 전자이와 같이 쓰는 것으로 알고 있는데 clearStore()를 적용하기 위해서 코드를 직접 구현체 클래스의 타입으로 바꾸셔서 아래와 같이 작성을 하시고 테스트하셨습니다.MemberRepositoryImpl memberRepository = new MemberRepositoryImpl();// 후자MemberRepository 인터페이스에 clearStore()를 써주게 되면 직접 기능 구현을 할 때 당연히 이 추상 메서드가 쓰일 일은 없지만 테스트 케이스를 작성할땐 쓰이고 안 써주면 테스트 케이스를 작성할 때 후자처럼 작성을 해야하잖아요...?어느 것이 더 좋은 방법이라고 할 수 있을까요? 강사님 방법을 100% 신뢰하면 되는 것일까요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
내부 호출에 대한 재질문
제가 좀 헷갈려서 다시 질문을 좀 드립니다.@Transactional이 있으면 프록시 생성이 된다그런데 내부 호출을 하면 대상 객체(this)의 메소드를 호출하니까 트랜잭션이 발생하지 않는다그래서 문제이다. 이를 해결하기 위한 방법 중에서 제일 권장하는 것이 클래스를 분리하는 것이다라고 이해를 했습니다. 그런데 실무에서는@Transactional (<= 클래스 전체에 트랜잭션을 걸었다는 표현입니다 어떻게 했는지는 잘 모르겠지만...클래스에 걸린 것은 확실합니다)class ServiceImpl implements Servcie {public void mainMethod() { // 메인 메서드deleteMethod(); // 내부 메서드 호출insertMethod(); // 내부 메서드 호출} public void deleteMethod() {} // 내부 메서드public void insertMethod() {} // 내부 메서드}보통 위와 같이 코딩을 자주 하는데 이때는 클래스에 @Transactioanl 어노테이션이 있어전체 메서드에 @Transactional 이 적용된다는 것은 이해를 합니다. "그런데 mainMethod()에서 deleteMethod()를 호출하면 내부 호출이라 대상 객체의 즉, ServiceImpl 클래스에서 deleteMethod()를 호출하므로 트랜잭션이 적용되지 않는다"가 맞지 않나요? 아니면 굳이 클래스를 분리하지 않고 클래스 단위에 @Transactional 애노테이션을 적용시키면내부 호출에 문제가 없다는 뜻인지? 글로 질문을 하기가 어렵습니다. 답변을 글로써 하시기는 더욱 더 어려우실 것 같은데너무 궁금해서 다시 질문을 드리니 양해 바랍니다.
-
미해결카프카 완벽 가이드 - 코어편
프로듀서 직렬화 관련 질문있습니다.
안녕하세요, 실무에서 발생할 법한 사항에 대한 질문이 있습니다. 외부에서 데이터를 전송할 수 있는 API 엔드포인트가 프로젝트 내에 열려있고, 이 곳을 향해 들어오는 데이터를 적절히 파싱해서 Object에 담은 상태라고 했을 때이 Object를 토픽에 저장하고 꺼내오는 과정에 강의의 예를 적용하면 동일한 커스텀 직렬화 및 역직렬화가 적용된 프로듀서, 컨슈머 클라이언트를 통해 가능할 것 같은데요 만약 프로듀서는 그대로 자바 (Spring 환경) 클라이언트로 구현된 것을 사용한다고 하고, 토픽에 저장된 데이터를 ksqldb를 사용한 스트림처리나 connect를 붙여 타겟에 보내는 용도로 쓴다고 했을 때는 어떻게 해야할 까요?이런 상황에서는 커스텀 역직렬화를 ksqldb나 connect에서 사용하기 어려울 것 같은데, 프로듀서에서 Avro 타입등으로 전송해야 하는지 궁금합니다. 특정 상황에서는 스키마를 굳이 관리하지 않고 그냥 Json타입을 사용하고 싶을 수도 있을 것 같은데 커스텀 직렬화를 통해 바이트 코드로 토픽에 전송시킨 후 ksqldb 등에서 JSON 포맷으로 읽으면 읽혀질까요?
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
결과값 출력이 한줄로 통으로 나와요.
json 데이터 확인하는 강의에서 print(response) 입력후 선생님처럼 정리되서 안나오고 결과값이 한줄 통으로 나오는데요... 가독성이 떨어져서.. 설정이 따로 있는걸까요?
-
해결됨독하게 시작하는 C 프로그래밍
변수선언할때
그냥 누적변수뿐만 아니라 모든 변수를 0으로 초기화로 시작해도 될까요?
-
해결됨독하게 시작하는 C 프로그래밍
lookup테이블과 역호출 결합부분 질문
int (*functionArray[3])(int) = {DoMove, DoJump, DoAttack};이런 형식으로 했는대 인자인 int 가 강의에선 딱히 의미가 없어보이는대 의미가 있는 사용법이 있을까요??
-
해결됨게임 엔진을 지탱하는 게임 수학
선형 독립
선형독립 - 04:31에서[다음 수식을 만족하기 위해 어떤 계수 값이 0이라면 수식 내 벡터들은 선형 독립이라고 한다.]라고 쓰셨는데[다음 수식을 만족하기 위해 모든 계수 값이 0일 때만이라면 수식 내 벡터들은 선형 독립이라고 한다.]가 맞는거 같은데 확인 부탁드립니다!감사합니다.
-
해결됨C개발자를 위한 최소한의 C++
new/ delete 질문
포인터 new 시, 주소값과 가리키는 Data 메모리도 동시 할당되나요?포인터 delete 시, 주소값과 가리키는 Data 도 메모리도 해제? 혹은 주소값만 해제되나요?
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
문제풀이는 실제 기출 문제인가요?
실제 기출 문제를 풀이해주시는걸까요? 그럼 총 시험당 40문제 인가요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
페이징 기능은 어떻게 테스트 하시나요?
안녕하세요. 강사님 강의듣고나서 새로운 시각이 열리게 된 것 같아서 요새 개발을 재밌게 배우고 있습니다. 감사합니다.배경public interface PostJpaRepository extends JpaRepository<PostEntity, Long> { @Query(value = "select new store.ppingpong.board.post.dto.PostWithWriter(p.id, p.title, p.postType, u.userInfo.nickname, p.createdAt) " + "from PostEntity p " + "join UserEntity u on p.userId = u.id " + "where p.forumId = :forumId", countQuery = "select count(p) from PostEntity p where p.forumId = :forumId") Page<PostWithWriter> findPostAndUsernameByForumId(@Param("forumId") String forumId, Pageable pageable); }(Post는 User의 id를 필드로 가지고 있고 Forum을 조회 시, forumId와 같은 Post리스트를 페이징처리하면서, User의 name필드 정보가 필요해서 다음과 같은 쿼리를 작성한 상황입니다.)페이징 기능이 필요해서, 제일 먼저 생각난게 spring data jpa에서 제공하는 페이징기능이었습니다.그런데, 테스트코드를 작성하려보니 뭔가 잘못된 것 같다고 느꼈습니다.문제상황@Override public Page<PostWithWriter> findByForumId(String forumId, Integer listNum, Pageable pageable) { List<Post> list = data.stream() .filter(post -> post.getForumId().equals(forumId)) .toList(); FakePage<Post> posts = new FakePage<>(list, pageable.getPageNumber(), pageable.getPageSize(), list.size()); posts.stream() .map() // ??? return null; }FakePostRepository를 작성하던 중 Page를 상속받은 FakePage를 구현 후, "스트림으로 PostWithWriter dto에 넣어줘야겠다" 라고 생각할 때였습니다.위 상황에서는 Post를 받는 정적 팩토리 메서드를 만들면 될 것 같긴했습니다. 그러나, 테스트코드를 위해서 메인코드를 수정해야하는 상황이 좀 이상하다고 생각했습니다.질문일단 제가 이 상황에서 드는 다양한 생각은dto는 단순히 전달목적이니 코드수정이 들어가도 상관없다.jpa의 페이징기능을 포기하고 Comparator를 구현해서 직접 정렬한다.페이징 기능에 한해서 Mock 프레임워크 기능을 이용한다. 물론 지금은 서비스가 단순히 repository를 호출하는거라 테스트 할 의미가 적은 것 같지만, 나중에 위 같은 상황에서의 대처가 궁금해서 질문올립니다.강사님의 답변을 듣고 싶습니다. 감사합니다!
-
미해결Next + React Query로 SNS 서비스 만들기
StrictResponse<any> 질문
[강의 위치]2:43~ [질문]StrictResponse<any> 로 타입을 지정하여 타입 오류를 해결하셨는데 any를 지정하지 않으려면 유저가 존재하지 않을 경우에도 아래와 같이 응답 데이터 구조를 맞춰야 할 것 같은데,일반적으로 found 또는 not found에 대해서 응답 데이터 구조를 맞추는 것이 좋은 방법인가요?const body = { id: "", nickname: "", image: "" }; return HttpResponse.json(body, { status: 404 });
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
공통 예외처리 질문 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예외를 던질 때 cause 예외를 함께 넘기니까공통 예외처리하는 부분에서는 Exception으로 예외를 잡아서 로그를 남기나요?
-
해결됨[코드캠프] 시작은 프리캠프
주석기능을 하고 싶은데 컨트롤+느낌표가 안됩니다 ㅠㅠ
주석기능을 하고 싶은데 컨트롤+느낌표가 안됩니다 ㅠㅠ 혹시 텐키리스 키보드는 조금 다른가요?...