묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
잡큐1, 2를 들으며 질문이 있습니다. (Push 큐로직 + Send()의 시간복잡도 관련)
루키스님 안녕하세요?잡큐 1, 2를 들으며 본 서버 강의 앞부분과 비슷한 내용같은데 차이를 몰라 질문 올리게 되었습니다. 아래 질문들의 제 본질적인 질문은옛날에 만든거 아닌가? 왜 새로 만드지? 뭐가 다른거지?입니다 JobQueue #1 강의 중PacketHandler.cs 수정 중에스레드가 일을 Push할 때 처리 가능한 상황이면 해당 스레드가 처리, 그렇지 않으면 Queue에 Push만 하고 종료, 서버코어의 Session.cs의 Send()가 이미 비슷하게 구현됨이라고 설명해주셨는데, 말씀 그대로 이미 비슷하게 큐로 구현이 되어있어 뭐가 다른거지 생각해보다가아래 그림 플로우 처럼 제가 이해한게 맞는지 궁금합니다. JobQueue #2 강의 중 Broadcast() 로직의 O(N^2)을 O(N)으로 줄이기 위해 패킷 모아보내기 스킬을 소개해 주셨습니다.그런데 강의 앞부분 'SendBuffer'에서 버퍼를 다룰 때RecvBuffer와는 다르게 SendBuffer는 외부에 구현함으로써 O(N^2)을 O(N)으로 줄일 수 있다.라고 이미 말씀해주셨는데요, O(N^2)을 O(N)으로 줄이는 둘의 차이점이 궁금합니다.둘은 완전히 다른 얘기일까요? 만약 그렇다면, 둘 다 그대로 방치했다면 O(N^3) O(2N^2, 표현이 맞진 않지만 느낌상)이 되는 로직이 되는건가요? 답변 미리 감사합니다.수강자 올림
-
미해결실전! 스프링 데이터 JPA
대시보드에서 사용되는 Native Query들은 어디에 보관하나요?
보통 연관된 엔티티 레포지토리에 네이티브 쿼리를 넣는다고 생각했는데,대시보드 api를 구현하다보니 이런저런 테이블과 join되는 것들이 많아 연관된 엔티티도 많습니다..public interface SleepRepository extends JpaRepository<Sleep, Long> { // 여기에 sleep entity말고도 3개 이상의 entity가 조인되는 native query가 있습니다 }혹 이런경우는 native 쿼리들을 모아서 보관하나요? 보관하게 된다면 어디에 어떻게 보관하는지 알 수 있을까요?
-
해결됨김영한의 실전 자바 - 기본편
인스턴스 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Data dataA = new Data();dataA.value = 10;Data dataB = dataA;에서요 세번째줄에... dataB는 new 선언을 안했는데 쓰일 수 있는건가요?잘 이해가 되지 않아서요Data dataB = new Data();dataB = dataA; 라고 해야하는걸로 알고 있었는데선생님 코드로 해도 잘 되서 혼란스럽네요 ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
에러메세지 만드는 거
https://drive.google.com/file/d/1z-zuoAUetdDnRiEBscuhmhDL95TM65C-/view?usp=sharing제 공유파일입니다. 수업듣고 혼자서 만들어 보는데 도무지 모르겠습니다. localhost:8080/member/save에서 아무것도 안 누르고 회원가입 눌렀는데 왜 에러메세지 안 뜨고 에러페이지가 뜰까요 ㅠㅠ 컨트롤러에 if(!StringUtils.hasText(memberDTO.getMemberId())) {//springutils spring꺼 임포트 해야함 bindingResult.addError(new FieldError("memberDTO","memberId","아이디는 공백이 안 됩니다.")); }이 부분도 추가 하고 다 했는데 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Java HotSpot 에러가 뜹니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.jar빌드도 되고 다 member테이블도 생겼습니다. 그런데 마지막 단계에서 계속 이런 오류가 뜨면서 쿼리파라미터 로그는 확인할 수 없는데요, 어느 부분이 잘못되었는지 모르겠습니다ㅠㅠ제가 적은 코드입니다 (Junit5로 진행했습니다)package jpabook.jpashop; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.transaction.annotation.Transactional; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional // test에 있으면 test 끝난 뒤 바로 롤백함 -> 테스트 조회 불가능 @Rollback(false) // 롤백 안되게! public void testMember() throws Exception { // given Member member = new Member(); member.setUsername("memberA"); // when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); // then assertEquals(findMember.getId(), member.getId()); assertEquals(findMember.getUsername(), member.getUsername()); assertEquals(findMember, member); // 같은 트랜잭션 안에서는 영속성 콘텍스트가 같음 => id가 같으면 같은 엔티티로 식별함 System.out.println("findmember == member: " + (findMember == member)); } }spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create #application 실행 시점에 기존에 있으면 drop하고 없으면 자동으로 테이블 생성 properties: hibernate: # show_sql: true #sysout으로 확인 -> logger로 확인할 것이므로 생략하자! format_sql: true logging: level: org.hibernate.SQL: debug #logger로 확인: hibernate가 생성하는 모든 sql문이 debug로 확인가능 org.hibernate.type: trace #쿼리 파라미터 로그 남기기감사합니다!
-
미해결스프링 핵심 원리 - 기본편
main 에서 실행시 finished with non-zero -exit value1 에러 발생
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] main을 실행 할때마다 아래와 같은 에러가 발생하는데Execution failed for task ':DemoApplication.main()'.> Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 12s3 actionable tasks: 1 executed, 2 up-to-date 아래는 build 설정과 현재 저의 java 버젼입니다.Spring 3.2버전을 사용하고 있습니다. Build and run Using을 바꿀시에는 Intellij IDEA로 바꾸면 되긴하는데 변경하게 되면 rateDiscountPolicy 때문에 여기에서도 에러가 같이 나게 되버립니다. Build and run Using 을 Gradle로 사용해서 실행 시킬 방법은 없나요?
-
미해결스프링 핵심 원리 - 고급편
런타임시점의 AOP조인포인트에 질문이있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]AOP조인포인트에서 static메서드 접근이 안된다고 하셨는데 혹시 그이유가 프록시 객체가 원객체의 메소드를 실행을 할때 반드시 객체를 호출하는 형태로 메소드를 실행하기떄문에 static메소드는 안되는걸까요?
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
사진 파일
안녕하세요 퀴즈 이미지 파일 올려놓았다고 하셨는데 이미지 파일 어디에 있는건가요? 못찾겠어서..
-
미해결실습으로 배우는 선착순 이벤트 시스템
카프카 토픽 생성이 안되요.
docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic위와 같이 터미널에 토픽생성하는 명령어를 작성하면 아무것도 |움직이지 않고 터미널이 멈춥니다.도커는 정상적으로 실행하고 kafka,zookeeper도 정상적으로 실행되어있습니다.도커를 삭제하고 다시 다운로드해서 docker compose사용해서 kafka,zookeeper이미지 다시 작동시켜도 위와같이 토픽생성 명령어 입력하고 작동시 아무것도 안하고 멈춥니다..(p.s 카프카 컨테이너 cli들어가서도 토픽 생성 명령어 작동시켜도 작동안합니다.)혹시 해당 문제 해결법 아실까요..?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
API 종속에서 자유로워지기
강의 초반부에 windows.h같은 헤더를 사용하게 되면 추후 바꿔야 될 부분이 많아 표준인 thread를 사용한다고 하셨습니다.강의가 window os기반으로 구성되어 있고, 제가 window os는 잘 사용해 보지 않아 막연한 걱정이 있는데, 그럼 window에서 작동하는 IOCP로 서버 구성시, 추후 리눅스로 옮겨갈때 epoll로 바꿔주는 과정에도 엄청한 자원이 소모되지 않나요? 현업에서는 대부분 window os로 서버를 구성하나요? epoll에 대해서도 꼭 공부가 필요한지, IOCP에 비해 중요도가 떨어지는지도 궁금합니다.
-
미해결리눅스 쉘 스크립트
함수 return 값과 출력하는 값 동시에 가져오기
안녕하세요 강사님.함수 return 값을 받고 싶은 경우 함수를 실행하고 $? 로 받을 수 있고, 함수가 출력하는 값을 받고 싶은 경우 함수를 $()로 실행하고 $?로 받는 것으로 이해했습니다.그렇다면 함수를 한번만 실행하고 return 값과 출력 값을 모두 받을수 있는 방법이 있을까요? 두개의 값을 모두 얻고 싶으면 함수를 두번 다르게 실행하여 값을 얻는 것밖에 생각나지 질문 드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의 메소드 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 스프링부트 강의 잘 수강하고 있습니다.<엔티티 설계시 주의점> 23:25 강의를 수강하며, 궁금한 점이 두가지 있습니다!메소드 내 순서//연관관계 편의 매소드 public void setMember1(Member member){ this.member = member; member.getOrders().add(this); } //순서 이렇게도 가능한가? public void setMember2(Member member){ member.getOrders().add(this); this.member = member; }강의에서는 setMember1 방식으로 진행을 하였는데,만약 setMember2 방식으로 순서가 바뀌어도 문제가 없는 것인지 궁금합니다.@Setter <-> setMember() 메소드 중복 Order 엔티티에 @setter 어노테이션을 붙였기에, 롬복이 setMember() 메소드를 자동으로 생성해줍니다.강의에서는 연관관계 메소드명을 setMember()으로 생성하여, 롬복이 만들어주는 메소드랑 이름이 중복됩니다. 생성자를 만들어 실험해보니 롬복이 만들어주는 setMember() 메소드는 보여지지 않으며 연관관계 편의 메소드가 덮어쓰기 한 것으로 보이는데, 제대로 한 것이 맞을까요?만약 실무에서 롬복을 사용할 때, 이런 경우(연관관계 메소드가 롬복 @Setter 메소드 위에 덮어쓴 경우)가 된다면 문제가 될 수도 있을까요???
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
코어와 쓰레드의 매핑관계가 잘 이해가 가지 않습니다.
10:30부근에 말씀하시는 내용을 들어보면,쓰레드의 개수 = 코어의 개수 일때 가장 이상적이라고 하셨습니다.CPU가 4코어일때 하나의 프로세스(MMO서버)에 4개의 쓰레드가 가장 이상적이라는 의미인가요?멀티코어 프로세서에서 같은 프로세스여도 서로 다른 쓰레드이면 각 코어마다 같은 프로세스의 서로 다른 쓰레드 작업이 가능하다. 이게 가능한 이유는 유저모드 쓰레드가 아닌 커널 모드 쓰레드 이기 때문이다.제가 이해한 위 내용이 맞는지 궁금합니다.
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
FND 제어에 저 역시 문제가 있었습니다.
안녕하세요, 어제(24/01/04)에 메일 드린 바 있습니다만, 수강게시판을 활용하는 것이 낫겠다 싶어 질문 드립니다. 몇몇 분이 겪으신 바와 같이 저 역시 FND의 4개 숫자가 동시에 켜지는 문제가 있었습니다. fnd_controller.h, fnd_controller.c, main.c는 강사님이 동봉하신 코드를 그대로 복사했기 때문에코드 문제는 확실히 아니었습니다. 그러던 중 아래 남기신 답변을 보고 HAL_Delay() 함수를 통해 겨우 해결했습니다. 다만 제 입장에서는 아래 두 가지 사항이 아직 명쾌하지 않습니다. 이런 상황이 왜 강사님께는 발생하지 않았는데 저에게는 발생한 것인지제품의 불량이라면 교환이 가능한지만약 제품 불량이 맞다면, 향후 FND를 개인적으로 다양하게 활용하기 위해 교환받고 싶습니다. 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
취업준비 가이드 질문
36-취업가이드에서 나는 2~3년차라고 생각하고 경력쪽으로 지원하라고 해주시더라구요.2~3년차 경력자처럼 일할 수 있으면 타당한 지원인 것 같긴 한데, 면접관 입장에서 신입이 3년차로 지원하면 어떻게 받아들일지 궁금합니다.그만한 역량이 있으면 얼마든지 상관없다고 생각할까요?
-
미해결김영한의 실전 자바 - 기본편
인스턴스 메서드, 클래스 메서드의 생성 시기 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 자바의 메모리 구조 관련 강의를 보고 질문드립니다!인스턴스 메서드들은 인스턴스가 생성될 때마다 매번 메모리가 할당될 필요가 없기에 메서드 영역에 생성되는 것으로 이해했습니다. 정적 메서드 또한 정적이기에 메서드 영역에 할당되는 것으로 이해했습니다. 그렇다면 이 두 종류의 메서드 모두 메서드 영역에 메모리가 할당은 되는데, 생성되는 시점에 차이가 있는 걸까요?예를 들어서.. Student 라는 클래스가 있다고 가정하면, 해당 클래스의 첫 인스턴스가 생성되는 시점에 메서드 영역에 Student 클래스의 인스턴스 메서드들이 할당되는걸까요? 둘의 기능이나 의미상의 차이는 이해가 가는데, 메모리의 관점에서의 이해와 생성 시기의 차이가 이해되지 않는 것 같습니다.그리고 어디부터 어디까지가 클래스의 정보이기에 메서드 영역에 생성되는지 역시도 이해가 잘 가지 않습니다. JVM 로드 시에 메서드 영역에 할당되는 클래스의 정보에 인스턴스 메서드도 포함되는걸까요?제가 혹시 제대로 이해하지 못한 것이라면, 어떤 부분을 다시 들으면 좋을지도 알려주시면 정말 감사할 것 같습니다!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
뷰에서 request.getAttribute()를 사용할 수 있는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@WebServlet(name = "mvcMemberSaveServlet", urlPatterns = "/servlet-mvc/members/save") public class MvcMemberSaveServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); // Model에 데이터를 보관해야 한다. request.setAttribute("member", member); String viewPath = "/WEB-INF/views/save-result.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); } } 여기서 request.setAttribute("member", member);를 통해 Model에 데이터를 보관하게 되고, 이를 뷰에서 사용할 수 있잖아요.뷰에서 request.getAttribute()를 사용할 수 있는 이유는 dispatcher.forward(request, response); 이 코드에서 request를 인자값으로 넘겼기 때문인가요? 아니면 이거 때문이 아니라 별개의 이유 때문인가요? 정리하면, 컨트롤러에서 request.setAttribute("member", member);를 통해 Model에 데이터를 보관하고,뷰에서 request.getAttribute()를 통해 그 데이터를 받을 수 있는 이유가 바로dispatcher.forward(request, response);에서 request를 인자값으로 넘겼기 때문이 맞는지, 아니면 이 코드랑 별개의 다른 이유가 존재하는지 궁금합니다.
-
미해결C# 프로그래밍 기초
getter setter 질문입니다.
public string Name {get { return name; }set { name = value; }}윗 코드를 줄여서아래와 같이 축약 할 수 있다고 강의를 해주셨는데public string Name { get; set; }만약 setter에 조건문이 있을 경우에는public string Name {get;set{ 조건문 };} 이런 형식이 되는 것인지요 ?
-
미해결
spring powershell 에서 빌드 에러
인터넷에 나와있는 방법 다 따라해보는데도 여전히 빌드 에러가 뜨네요...일단 시도해본 방법들은 java 17버전을 새로 다운받고, 인텔리제이에서 settings에서 gradle jvm 17 맞추고, project structure에서 SDK도 17로 맞춰봄powershell에서 확인한 내 자바 버전이 17.0.9인 것을 확인 후 내 컴퓨터 환경 변수에 들어가서 C:\Program Files\Java\jdk-17.0.9 변경해봄 일단 이렇게 해봤는데도 여전히 위의 사진처럼 빌드가 안 되고 있는데 해결 방법 아시는 분 계신가요 ㅠㅠ
-
해결됨블렌더 3D 아이소메트릭 방 만들기
책 만들때 Inset Face 질문있습니다!
11분 30초 가량에 책 만들때 Inset Face를 사용하는데저는 도저히 화면처럼 안나오더라구요.. 이런식으로만 작동합니다.. 강의에 나와있는 설정이랑 똑같은 상태인데도 이러네요 ㅠㅠ 어떻게 해야 하는지 궁금합니다!