묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Event 방식
AutoResetEvent 방식을 공부하다 궁금한게 생겨서 질문 남깁니다. AutoResetEvent 방식은 강의에서 말씀하신것처럼 운영체제에게 이벤트를 요청하며 CPU 점유를 반환하고 대기하고 있다가, 이벤트가 처리되어 락을 얻을 수 있는 순간이 왔을때, 운영체제가 직접 아까 요청했던 그 쓰레드를 깨워서 실행하도록 하는 방식이라고 이해해도 되나요? 기존의 랜덤메타와 다른건, 이벤트를 등록해두고, 이벤트가 처리되어 본인이 실행될 수 있을때, 다른 스케쥴링을 다소 무시하고 먼저 본인이 새치기하듯 먼저 실행된다고 이해했는데 잘 이해했는지 궁금합니다. 그리고 이러한 방식이 기존의 2번 방식이었던 Sleep, Yield와 같은 랜덤메타 방식보다 좀더 성능적(속도)으로 느리다고 이해했는데 잘 이해했는지 궁금합니다.
-
미해결스프링 핵심 원리 - 고급편
오타 확인 부탁드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 수업 자료 중 3.템플릿 메서드 패턴과 콜백 패턴.pdf의 39번 page의 OrderServiceV5의 public void orderItem(String itemId) 메서드 내부의 template.execute()의 파라미터로 들어가는 문자열이 OrderController.request() -> OrderService.orderItem() 로 바뀌어야할 것 같습니다. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SpinLock과 Mutex 클래스에 대해
SpinLock은 계속 CPU를 들고 반복한다는걸 알고 있는데, 정확히는 자신에게 주어진 Time slice(시간)을 모두 사용했다면 결국 스핀락 방식도 CPU를 반환하고 나중에 다시 자신의 차례가 됐을때 다시 자신에게 주어진 최대 시간을 모두 사용한뒤 반복하는 과정을 반복한다고 이해하는게 맞나요? 이전에는 정확하게 알지못해서 스핀락 구조일때 정말로 해당 쓰레드는 절대로 CPU(코어)를 돌려주지 않고 영원히 독점하는줄 알았는데 그게 아니라, 운영체제 정책에 따라 자신에게 할당된 최대 시간(time slice) 만큼만 최대로 독점한다는 의미로 이해하는게 맞는지 궁금합니다. 그리고 강의 마지막에서 나온 Mutex 클래스의 동기화 방식은 기존에 학습했던 3가지의 경우(스핀락, 랜덤메타(양보), 이벤트)에서 이벤트와 동일하다고 이해해도 괜찮을까요? 아니면 위의 3가지 경우와 완전히 다른 4번쨰 방식이라고 아는게 좋을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
멀티코어에서 락을 얻기 위한 경쟁
강의를 듣고 공부하다가 궁금한게 생겨서 질문 남깁니다. 만약 멀티코어 환경에서 1. 서로다른 코어에서 실행중인 서로다른 쓰레드가 2. 동시에 동일하게 실행하고 있던 같은 프로세스 내의 공유자원에 접근하기 위해 락을 얻으려할때, 3. interlocked든 다른 lock이든 정말 미세한 차이가 안날만큼 정확하게 동시에 락을 획득하는 경우는 존재할 수 없나요? 없다면 그 이유가 무엇인지 궁금합니다. (물론, 그럴 확률이 매우 적을수 있다는건 알지만, 완벽하게 이런 경우를 차단할수도 없는게 아닌가 헷갈립니다ㅠ)
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
n:m 관계 정의 시 궁금점
n:m 관계 정의 시에 궁금한 점이 있어서 질문 남깁니다. 동적인 카테고리가 있는 게시판의 경우 유저가 해당 카테고리에 게시글을 쓰는 걸 구현하기 위해서 category 라는 테이블을 만들고 user가 category에 여러 게시글을 쓸 수 있고 여러 카테고리에 게시글을 쓸 수 있어서 n:m 관계라고 정의했습니다. user - board - category 이런 식으로 되어있을 때 board에서 user의 정보와 category의 정보가 필요할 때 각각을 가지고 올 수 있어야 하는데sequelize에서는 관계가 없기 때문에 가져올 수 없다고 하더군요 이런 경우에는 user-category n:m으로 관계를 정의 하는게 아닌 user-board n:1 board-category 1:n 으로 정의하는 것이 맞을까요??
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
오렌지 나무 문제 질문드립니다
안녕하세요. 선생님 질문드립니다. 아래와 같이 검사 범위를 지정하면 반드시 우리가 원하는 모든 영역을 다 검사할 수 있다는 것은 직관적으로 이해해야하는 것인가요? 혹시 우리가 원하는 모든 영역을 다 검사한다는 것을 좀 더 쉽게 이해할 수 있을까요? 제 경우 더 어려운 방법이긴 하지만, 모든 점을 순회하며 각 점을 기준으로 아래와 같이 4개의 영역을 S범위로 하여 검사하면 될 거라 직관적으로 생각했습니다. (빨간 점은 모든 나무 중 하나의 나무)
-
미해결Database - SQL
강의 소리가 좀 작네요
모니터 사운드로 듣는데 최대치 입니다만.. 인프런 사운드 최대치 모니터 사운드 최대치 인데 작네요 ㅠㅠ
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
3번째 사진 그림 질문이있습니다.
3번째 사진에서 그럼 제가 이해한게 맞는지에 대해 여쭤보고싶은데요. 이 부분이 리액트서버 3000번 포트로부터 받아왔다는 예시를 그랩마켓 로고로 보여주셨었는데 그거까지는 이해가 됐거든요..?ㅠㅠ (질문 1) 그런데 그럼 아래의 그림! 이 부분은 저희가 만드는 곳중 어디서버를 의미하는 걸까요?제가 생각했을때는 저희가 만든 server.js가 API서버이니까 그거를 말하는 것 같고, 저희가 만든 api를 통해서 축구공이나 농구공, 키보드 이미지를 보여준거를 표시해놓은게 맞나요?(url경로가 저희가 아직까지는 사용하고 있지않은 .../grab.png랑 .../silky.png라서 헷갈려서 질문드립니다 ㅠㅠ)그래서! 저 리액트서버(스토리지 서버)의 경로를 바꿔주겠다.이런 의미 맞으신건지 여쭤보고싶습니다.. (질문 2)그런데 또 한 가지 의문점은 이미지는 잘 나오고 있는데 경로를 왜 바꿔주시는건가요? (앞에서 얘기해주실 수도있었겠지만..제가 놓쳤다면 죄송합니다..)
-
미해결함수형 프로그래밍과 JavaScript ES6+
공부 방향성 질문
안녕하세요 프론트엔드로 취업을 준비중인 취준생입니다. 질문사항은 다음과같습니다. 1. 강의의 최종목적이 go,pipe,curry등의 재사용성이 높은 함수를 직접 구현해서 사용하는것을 목표로해야하는지, 단순히 작동원리를 파악하는것을 목표로 두어야하는지가 궁금합니다. 어떻게든 강의내용을 돌려보면서 어떻게 동작하는지, 사용함으로써 얻게되는 이점에대해선 알 수 있을거같은데 프로젝트에서 이러한 함수들을 직접 구현할 수 있을지가의문이듭니다. 2. 이후 강의인 응용편을 바로 듣는것을 추천하는지, 아니면 우선 지금 듣는 이 강의를 다듣고 지금까지배웠던 여러 함수들을 작은프로젝트에 적용해보면서 익숙해진후에 응용편을 듣는것을 추천하시는지 궁금합니다.(강의는 이미 구매한 상태입니다.)
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
(0 , rxjs_1.lastValueFrom) is not a function 오류
해당 코드로 npm run start:dev실행하면 뜨는 오류입니다. moongoose에 rxjs6버전에서 deprecated된 문법으로 작성된 코드로인해생긴것으로 보입니다. nestjs 버전을 8이상, rxjs를 7이상버전(7.4.0으로 해결)으로 업데이트하면 해결되니 참고바랍니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 데이터베이스 상 테이블 생성 안됨
코드를 제대로 작성하고 SQL문이 제대로 나가는것까지 제대로 확인했습니다만 H2 데이터베이스로 접속해보면 MEMBER 테이블 자체가 아예 생성이 되어있지 않습니다. yml도 제대로 작성한 듯 보이는데 어떤 부분을 확인해야할까요...!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
현업에서도 패키지를 사용하여 작업을 하나요?
제목 그대로의 궁금증입니다. 대부분의 CV 기업이나 AI 회사들이 스타트업에 가까운데, 이러한 기업들이 패키지를 사용하여 작업하는지 궁금합니다. 실제 제품으로 판매할 때에는 코드로 구현하지만, 연습단계에서는 패키지를 사용하여 구현하는 것인지.. 갑자기 궁금해지네요,
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Optional 쓰이는 곳 (확인 질문.)
Optional은 DB테이블 데이터가 null일 때를 대비해, 컨트롤러나 서비스 계층에서 꺼내 쓸 경우 null예외를 피하기 위해 감싸서 사용하는 게 맞나요 ? 엔티티 필드명에 감싸서 사용하는 건 아니죠 ? :[ 되게 바보같은 생각이었을 수도 있는데 null값이 그대로 들어갈 경우, 업데이트할 때 까다롭다는 강의내용을 들어서 처음에는 아무생각 없이 null이 들어가는 곳에는 다 Optional.empty로 바꿔 들어가야겠구나 했는데 엔티티 필드명에 null이 안들어가게 Address는 Optinoal로 감싸야되나 했다가 고민하다가 뒤늦게 내린 결론인데 확실한건가 싶어서 질문합니다 ;; @Entity@Getter@NoArgsConstructorpublic class Member { @Id @GeneratedValue private Long id; private String username; private int password; @Embedded private Address address; public Member(String username, int password) { this(username, password, null); } public Member(String username, int password, Address address) { this.username = username; this.password = password; this.address = address; }}
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpringConfig에 생성자
JpaMemberRepositotry 실행할 때 SpringConfig.class파일에서 EntityManager em 변수랑 새로운 생성자를 만드는데 왜 이전에 만들어 둔 DataSource를 매개변수로 가진 생성자를 지우지 않고 그대로 두면 오류가 뜨는건지 궁금합니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
ThemeData의 accentColor속성 deprecated
5:14에 accentColor 속성이 이젠 deprecated 돼서 쓸 수 없다고 하는데 어떻게 해야하나요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
예외 처리에 대해서 어떻게 구현하는지 궁금합니다!!
안녕하세요!! 강의를 다 듣고 예제에서 하나씩 코드를 추가하면서 공부하고 있는중에 궁금한게 생겨서 올렸습니다! Optional을 사용해서 NullPointException이 발생하지 않도록 한다면, 이후에 Controller에서 Optional 안에 값이 있으면 값을 보내고 없으면 alert로 보내도록 했는데 실무에서도 이런 방식으로 사용하는지 궁금합니다! 그리고 찾아보니 @ControllerAdvice로 따로 처리하는것도 있는걸 알게되었습니다. 강의에서 '이미 있는 회원입니다.' 라고 예외를 출력하는 부분이 있는데 이 예외를 @ControllerAdvice 어노테이션으로 등록한 클래스에서 따로 처리하는 방법도 생각했는데 이러한 방법도 가능한지 의견을 어쭈어보고 싶습니다.
-
해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
안녕하세요! 매직 method 질문있습니다.
예를들어 __add__ 같은 경우 1) 이 method를 실행시켜주는 기호 + 는 프로그래머가 설정할 필요 없이 파이썬 내부에서 알아서 래핑(?)이 되는건가요? (각 기호만 입력하고 실행하면 그 기호와 짝이 맞는, 클래스 내 정의된 매직method가 실행되서매직 매서드라고 하는건가요..?! ) 2) magic method 목록에 없는 새로운 magic method(마치 함수를 새로 짜듯이)를 만들 수는 없는건가요? 3) 그렇다면 각각 고유한 magic method들과 짝이 맞는, 구현시키는 기호( +, -, *...) 는 스스로 숙지하고 있어야 하는건가요? 4)추가로 클래스 정의할 때, class Car(object), class Car() 이렇게 괄호안에 object를 쓰는 경우와 쓰지 않는 경우가 있는데 둘의 차이점은 무엇인가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
질문이 있습니다.
예전에 Selective Search 를 학습하였을 당시에는, bounding box의 coordinate의 right와 bottom에 left와 top을 더해주어야 제대로된 bounding box가 형성되었습니다. 또한, 저번에도 이와 관련된 질문을 했었는데, 그때 답하신 것이 ---------------------------------------------------------- opencv의 rectangle()함수가 좌상단 좌표, 우하단 좌표를 필요로 하기 때문입니다. selective search는 좌상단 좌표와 너비, 높이를 반환합니다. 때문에 우하단 좌표의 x축값(right)은 좌상단 좌표의 x축값(left) + 너비, y축값(bottom)은 좌상단 좌표의 y축값(top) + 높이로 계산합니다. ------------------------------------------------------------- 이로 답변하셨거든요. 근데 이번 예제는 달랐습니다. 같은 cv2.rectangle() 함수를 썼는데도 불구하고 left와 top값을 더하지 않고도 제대로된 bounding box가 형성되었거든요. 우선 하나의 bounding box만 출력하고 좌표를 확인했을때의 right와 bottom의 coordinate는 아직 더해지지 않은 값이 입력하였으나, rectangle()에 그대로 넣어도 bounding box가 제대로 출력되는게 신기합니다. 이해를 돕기 위한 관련 사진 첨부합니다. 그림을 보면 right와 bottom에 각각 left와 top을 더하지 않아도 출력이 되는 것을 확인할 수 있습니다. 또한, left coordinate : 225 top coordinate : 260 right coordinate : 375 bottom coordinate : 544 로 나오는데, matplotlib의 plot을 보게 되면 right와 bottom의 coordinate는 각각 left와 top의 coordinate를 더해야 나올 수 있는 bounding box인데 말이죠..ㅠㅠ 이해가 되지 않네요,
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http response code는 언제 설정하는게 적절한가 ?!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]우선 HTTP 상태코드 강의를 수강하였습니다. 그리고 생각을 해보니 ... 혼자 개발활동을 해서 그런지 상태코드를 직접 수정하거나, 지금 강의에서 배운 3xx , 4xx 상태코드를 따로 설정하여 클라이언트에게 보낸 경험이 없습니다. 만약 3, 4, 5 xx 에러가 발생을 했을 때는 서버 혹은 클라이언트(브라우져)가 기본적으로 처리해주는 상태코드만 사용했습니다. 그래서 강의에서 말씀해주신 상황들을 찾아 git 을 돌아보며 어떻게 사용하면 효과적인지 찾아보았지만 .... 무엇이 적절하게 사용한건지 구분을 할 수 없었습니다. 이제 정리해서 질문을 드리겠습니다. Q. 현업에서 상태코드를 API를 개발하면서 하나 하나 설정하는 것이 적절한 방법인지 궁금하며, 상태코드를 보다 효과적, 체계적으로 관리하기 위한 예시(git, posting, 등 )가 있는지 궁금합니다. (찾아보면서 저를 못 믿어 질문 올려봅니다.)
-
미해결스프링 핵심 원리 - 기본편
@Configuration 과 @Component 차이
수강중 Component 와 Configuration 사용 여부에 질문이있습니다. 스프링 빈생성을위해서 클래스에 생성하는 Component 와 Configuration 가 언제 어느상황에 사용해야 적절한지 구분을 잘못하겠습니다. 인터넷 서치에 따르면 Configuration 은 Component 를 상속받고있으며 라이브러리 사용시 빈처리를 위해 사용하며 @Bean 으로 싱글톤을 처리할수있다고 하며 Component는 개발자가 직접만든 클래스의 빈처리를 위해 사용한다고 설명되어있습니다. 여기서 저는 3가지 의문점이 들었습니다. 1. 일반 개발자가 만든 클래스를 Configuration을 사용하여 빈처리를 할수있나요? 2. Component에서도 @Bean을 사용하여 빈객체 생성을 사용해도 문제가없을까요? 3. 라이브러리를 제외한 어떠한경우에 Configuration 과 Component를 나누어 처리하는게 좋을까요?