inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

수강 연장 요청 부탁드립니다!

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

자격증 취득을 목표로 구매했는데 프로젝트를 시작하면서 학습이 미뤄지고 있는 상태입니다. 올해까지는 프로젝트라 학습이 어려운데 가능한 길게 연장을 부탁드려도 될까요ㅠ

  • 네트워크
  • aws
오석준 댓글 2 좋아요 0 조회수 93

pending과 listen의 backlog와는 어떤 관계가 있는건가요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Session #1강의 1분대에서 backlog라고 최대 대기 수를 두었기 때문에 동시다발적으로 pending이 false가 뜨는 경우가 현실적으로 없다라고 하셨는데 잘 이해가 안됩니다... ㅠㅠ

  • C#
  • unity
  • 네트워크
동혁 댓글 1 좋아요 0 조회수 178

ClearDiagnosticInformation 관련하여

미해결

자동차 SW - UDS 진단통신 정복하기

UDS 서비스 중에 ClearDiagnosticInformation 강의 부분엥서 질문이 있습니다. DTC 정보는 매우 중요한 정보라서 접근제어? 와 같은 부분이 반드시 필요할것 같은데요. (그냥 아무나 이 서비스날려서 DTC 날려버리면 안될것 같은데요) 본 강의에서는 따로 설명해주시진 않았지만, 일반적으로 SecurityAccess 라든지 SessionControl 통해서 특정 mode 로 진입을 해야 한다든지 이러한 서비스가 선행된 후, ClearDiagnosticInformation 서비스가 동작되어야 하는 것이죠? 질문을 조금 확장해보면, UDS 서비스가 매우 다양한데, 각 서비스에 대해서 사전에 어떤 것이 선행되어야 한다는 것을 표준에서 정의하지는 않고, 각 제조사별로 필요하면 SecurityAccess 라든지, Session Control 과 같은 sequence 를 추가하여 설계하는 방식으로 진행된다고 보면 될까요? 감사합니다.

  • 네트워크
  • 임베디드
  • uds
신종혁 댓글 1 좋아요 0 조회수 185

Security Level 범위관련

미해결

자동차 SW - UDS 진단통신 정복하기

안녕하세요. 진단통신에 대해 빠르게 파악이 필요한 상황인데, 본 강의가 너무 큰 도움이 됩니다. 유익한 강의 감사합니다. 강의 듣고 있는데, Security Access 부분에서 Security Access Level 이 1~63까지 있다고 설명해주셨는데, 1:43초에 보이는 슬라이드에서는 1~83 이라고 되어 있습니다. 1~63이 맞는거죠?

  • 네트워크
  • 임베디드
  • uds
신종혁 댓글 2 좋아요 0 조회수 269

PopLock 호출과 관련된 질문입니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

특정 lock L1이 pop되는 상황이 있다고 할 때 L1으로의 순방향 간선 정보가 담긴 다른 Lock들의 history에 대해서는 별도로 L1값을 제거해야 할 필요는 없나요??

  • 네트워크
  • MMORPG
  • windows-server
chuck Hoom 댓글 1 좋아요 0 조회수 142

동적배열 강의 듣는중 에러

미해결

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

c++ crt detected that the application wrote to memory after end of heap buffer 이라는 오류가 뜹니다. 이걸 무시하면 그대로 원하는 값은 나오기는 합니다. 근데 이걸 그냥 지나칠 수는 없어서 질문해봅니다. f11눌러가면서 에러나는 부분을 찾았는데 reserve에 delete[] _buffer; 를 실행하니 오류가 났습니다. [Vector.h] #pragma once #include<assert.h> class Vector { using T = int; public: explicit Vector() { } ~Vector() { if(_buffer) delete[] _buffer; } int size() { return _size; } int capacity() { return _capacity; } void push_back(const T& data) { if (is_full()) { int newCapacity = static_cast<int>(_capacity * 1.2f); if (_capacity == newCapacity) newCapacity++; reserve(newCapacity); } buffer[ size] = data; _size++; } void reserve(int capacity) { if (capacity <= _capacity) return; _capacity = capacity; T* newBuffer = new T(_capacity); for (int i = 0; i < _size; i++) { newBuffer[i] = _buffer[i]; } if (_buffer) delete[] _buffer; _buffer = newBuffer; } T& operator[](int index) { assert(index >= 0 && index < _size); return _buffer[index]; } int is_full() { return _ size == _ capacity; } int is_empty() { return _size == 0; } private: T* _buffer = nullptr; int _size = 0; int _capacity = 0; }; 해결방법이 있을까요?

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
변상윤 댓글 1 좋아요 0 조회수 188

난생 처음 보는 동작인데 visual studio2022 버그일려나요. 도저히 이유를 모르겠습니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Missile 클래스에서 WraithRef _target = nullptr; 코드를 넣어주면, GameServer.cpp에서 테스트할 때 MissileRef missile(new Missile()); 이 코드를 타고 들어가면 TSharedPtr(T* ptr) { Set(ptr); } 동작할 때 ptr에 nullptr이 들어옵니다. Missile 클래스에서 WraithRef _target = nullptr;을 하지 않고 Missile 클래스에서 WraithRef _target; 으로만 작성하면 정상 동작하고요. 저와 같은 증상 겪는 분 없나요? vs 버전은 17.10.4 입니다.

  • 네트워크
  • MMORPG
  • windows-server
literate_t 댓글 2 좋아요 0 조회수 207

SceneManager.cpp에서 구문오류가 발생했습니다.

해결됨

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

안녕하세요 Rookiss님, 섹션11-3 Scene과SceneManager의 중간~32분 정도에서 작성중인 코드입니다. 이렇게 newScene에 DevScene()과 GameScene()을 넣는 부분에 형식지정자 없음과 구문 오류가 발생합니다... Scene클래스와 DevScene, GameScene 클래스 코드도 동영상을 몇번씩 돌려보면서 확인했는데 어디가 문제인지 잘 모르겠습니다... 혹시 어느 부분이 문제가 될지 확인 한 번 부탁드려도 될까요? 감사합니다!

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
himjh8170 댓글 3 좋아요 0 조회수 279

수강 연장 부탁드려도 될까요

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

안녕하세요 초반에 잘 듣다가 바쁘다보니 아직 준비를 못했습니다 올해말까지는 준비가 어려울것 같은데 만료 되기 전 까먹기 전에 수강 연장 요청 드리려고 합니다 혹시 가능할까요? 답변 부탁드립니다. 감사합니다.

  • 네트워크
  • aws
Jonghwa Lee 댓글 2 좋아요 0 조회수 97

데드락 탐지에서 강의 극후반에 LLockStack 관련한 질문입니다!

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. 나중에 프로젝트 진행하실 땐 lock stack을 TLS로 관리해서 스레드마다 스레드 id가 관리되도록 하신다 말씀하셨습니다. 여기에서 생긴 궁금증입니다. 스레드 id가 부여될 때, 감소하지 않고 증가하는 nameToId().size()로 만들어지는 이상 모든 id가 고유할 거라고 생각합니다. id를 통해서 lockHistory에서 value(set객체)를 꺼냅니다. lockHistory는 TLS에서 관리되지 않는 전역 객체입니다(애초에 그러면 안 되겠죠. 전역적으로 사이클 여부를 탐지해야 하니까요!). 스레드 id가 유일한 이상 lockStack을 TLS에서 관리하나 전역으로 관리하는 것이 차이가 없을 것 같은데, 강의 후반에 새로 영상을 추가하시어 '스레드마다 잡고 있는 락이 다르기 때문에 TLS로 관리해야 한다'고 말씀하신 이유가 궁금합니다! id가 전역적으로 1,2,3,4,5,6..이렇게 증가하거나 스레드 별 공간에서 {1,2..} {1,2...} {1,2...} 의 차이 정도로만 생각되어 어떤 본질적인 차이가 있는지 알고 싶습니다! p.s 수업에서 진행한 테스트 코드에서도 문제가 없었던 이유도 궁금증에 한몫을 했습니다.

  • 네트워크
  • MMORPG
  • windows-server
  • 데드락
  • 데드락탐지
literate_t 댓글 1 좋아요 0 조회수 288

강의가 오늘까지라

해결됨

CloudNet@ - AWS 네트워킹 입문

강의가 오늘까지라 열심히 남은 강의를 듣고있는데 강의 선택을 해도 해당 강의가 진행이 안되는데 무슨 이유일까요?! 뭔가 인프런 자체 문제일 거 같은데 ㅠㅠㅠ 강의가 몇 개 안 남아서 다 들어야 하는데 어떡하나요ㅠㅠ

  • 네트워크
  • aws
Junmo Jeong 댓글 2 좋아요 0 조회수 139

Reader/Writer-Lock 강의 다 듣고 제가 제대로 이해한 게 맞는지 확인받고 싶습니다!

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요! 어제, 강의도 다 안 듣고 질문을 드린 바보 같은 저를 질책하며 강의를 다 듣고 제가 이해한 게 맞는지 확인을 좀 받고 싶습니다! 락 획득 정책을 말씀하실 때 살짝 이해가 안 가는 부분이 있었는데 동일 스레드일 때란 걸 알게 되고 나서는 이해에 큰 어려움이 없었습니다. 그래도 확인이 필요하다는 생각이 들었습니다! 각 항목을 번호로 구분해보겠습니다! 동일 스레드일 때의 정책이란 게 락을 획득 후 실행될 때는 사실상 싱글 스레드인 것처럼 생각해도 되겠더라구요 그렇다고 한다면 GameServer.cpp에서 테스트 코드 작성하실 때 ThreadWrite()일 때 TestPush(), TestPop()의 동작이 한 스레드에서 동작하는 건 당연히 문제가 안 되니까 W->W 혹은 W->R을 허용하는 게 이해가 됐습니다. 한 처리가 완료되고 나서 다른 처리로 넘어가니까요. 그렇다면 같은 논리가 적용될 것 같은데 R->W은 왜 안 되느냐에 대해서도 생각해봤는데요. 논리적으로 접근했을 때, 하나의 함수 내에서 읽기 연산 중에 쓰기 연산을 하는 건 단일 책임 원칙에도 위반될 뿐더러 이상한 코드가 나오더라고요. 가령 테스트 코드로 작성하신 TestRead() 안에 TestPush() 혹은 TestPop()을 넣어버리면 안 되니까요. 또한 데드락이 생기지 않기 위해서는 락을 거는 순서가 중요한데, w->r을 허용한 이상 r->w를 허용하면 데드락이 생기기 딱 좋다. ReadLock에 대해서는, WriteLock을 잡고 있지 않은 다른 스레드는 ReadLock을 획득할 수 있다! ReadLock의 주석에 "아무도 소유하고 있지 않을 때"라고 되어 있어서, 조금 헷갈렸는데요. 코드를 보면 마스킹해서 read_count만 확인하는 걸 보고 역시 ReadLock은 WriteLock을 잡고 있지 않은 스레드도 잡을 수 있구나, 카운트 올리는 것만 경합하는 거구나, 로 이해했습니다. 2년 전에 처음 강의를 들을 때 제대로 이해 안 하고 넘어갔다가 나중에 큰 화를 당했어서, 이번에는 확실히 이해하려고 하다 보니 코드에서 참 얻을 게 많다 느낍니다. 틀린 게 있으면 지적 부탁드립니다. 감사합니다!

  • 네트워크
  • MMORPG
  • windows-server
literate_t 댓글 1 좋아요 0 조회수 234

타임라인함수를 이용한 캐릭터 강제이동

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

텔레포트를 구현할 때 네트워크 동기화 문제 때문에 CharacterMovementComponent를 확장하는 방식으로 구현해야 한다고 했는데 그러면 타임라인 함수를 사용하여 캐릭터를 특정 위치로 서서히 이동 시키는 기능도 CharacterMovementComponent를 확장하는 방식으로 만들어야 할까요?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
강건희 댓글 2 좋아요 0 조회수 172

Reader/Writer 강의에서 마스킹 관련한 질문입니다!

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요! 아직 끝까진 들은 건 아니지만 중간에 큰 의문점이 생겨서 질문드립니다. 32형 변수에 상위 비트, 하위 비트를 사용하려면 | 연산을 이용해야 하지 않나요~? 가령 상위 비트에 새로운 값을 쓰는 걸 의사 코드로 표현하면, int flag = _lockFlag.load(); desired = (flag & 0x0000FFFF) | ((LThreadId << 16) & WRITE_THREAD_MASK); 이렇게 하지 않고 다음 코드를 돌리면 while (true) { for (int spin_count = 0; spin_count < MAX_SPIN_COUNT; ++spin_count) { uint32 expected = EMPTY_FLAG; if (_lock_flag.compare_exchange_strong(OUT expected, desired)) { ++_write_count; return; } } } write flag를 쓸 때마다 read flag가 날아가는 것 같아서요!

  • 네트워크
  • MMORPG
  • windows-server
literate_t 댓글 2 좋아요 0 조회수 153

닉네임?

미해결

BHPT - 호스트 기반 모의해킹 기초

모든 질문은 레드라쿤 디스코드 서버의 BHPT 질문게시판에 해주세요

  • 모의해킹
  • 네트워크
  • kali-linux
  • 오펜시브-시큐리티
bawl go 댓글 1 좋아요 0 조회수 287

쓰레드 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

선생님 강의 잘 듣고 있습니다. 혹시 쓰레드 시작 쓰레드 종료 stop호출 종료 대기중 종료 성공 순으로 로그가 떠야 하는데 다른 온라인 게임 실행 도중에 디버깅을 하면 로그 순서가 조금 바뀌더라구요 이 현상은 왜 일어나는건가요?

  • C#
  • unity
  • 네트워크
강남영 댓글 2 좋아요 0 조회수 206

Lock-Free Stack #2 01:16쯤에 말씀하신 동시에 TryPop() 할 경우..질문입니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요! 동시에 TryPop() 을 할 경우, oldHead 를 참조하는 스레드가 있을 수 있고 이 때 무작정 해제해버리면 use after delete 오류가 발생할 수 있다고 하셨습니다. TryDelete() 함수를 구현하실 때, 1 == popCount 안에서 delete old_head 를 할 때는 이미 분리했으니까 괜찮다고 하셨는데요. 첫 문단에서 언급한 부분과 반대되는 말을 하신 것 같다는 느낌을 받았습니다. 제가 생각했을 때는, 저희 수업 때 사용하신 예제 코드에서는, cas 연산을 통해 oldHead 를 분리했기 때문에 use after delete 오류가 안 날 것 같단 생각이 들더라고요. 궁금해서 테스트를 해봤습니다. TryDelete() 함수를 호출하지 않고 바로 delete old_head; 를 호출하는 코드를 넣었고요, 지금 이 질문을 올리고 있는 와중에 push() 는 sleep_for(1ms) 를 주고 pop() 을 하는 스레드는 5개를 돌려서, 진단 도구에서 확인되는 프로세스 메모리가 1mb이 유지되게 설정해서 30분 넘게 돌려보고 있습니다. 오류가 안 나고 있는 광경을 목격 중입니다. 그냥 운이 좋은 걸까요? 오류가 발생하지 않는 이유는 다음과 같다 생각합니다. atomic 변수인 head 에서 cas 연산을 하기 때문에 간발의 차이로 먼저 다음 코드를 통과한 스레드가 획득한 oldHead 는 다른 스레드가 이후에 될 oldHead 와 같지 않다. while 조건에서 true를 반환하는 순간 head 는 head 의 next 를 가리키고 있게 되기 때문이다. compare_exchange_weak() 함수가 true를 반환하면 head 는 원자적으로 head->next 를 가리키는 상태가 된다. while (old && false == _head.compare_exchange_weak(old, old->next)) return false; 고견 부탁드립니다. 멋진 강의 감사합니다.

  • 네트워크
  • MMORPG
  • windows-server
  • 락프리
  • lock-free
  • cas
literate_t 댓글 2 좋아요 0 조회수 221

수정폼과 수정은 머가 다른건가요?

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

회원 수정 폼 : /members/{id}/edit ➡ GET 회원 수정 : /members/{id}/edit, /members/{id} ➡ POST 이라 하셧는데 수정폼과 수정은 머가 다른건가요? 또한 왜 url을 맞추는게 좋다고 하신걸까요?

  • 네트워크
알고리즘가즈앙 댓글 2 좋아요 0 조회수 225

Http 메소드 사용 예제

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 각 메서드 마다 역할이 무엇인지는 이해했습니다. 하지만 한 가지 헷갈리는 것이 있는데, 만약 아래 코드처럼 메서드 매핑은 GET으로 해놓고 실제 로직은 데이터를 삭제하거나, 혹은 DELETE로 매핑 해놓고 실제 로직은 단순히 데이터를 조회하도록 구현해도 올바르게 동작 하더라구요. //jpa 사용 @GetMapping("users/{id}") public void deleteMember(@PathVariable(name = "id") Long id){ memberService.deleteMember(id); } 그래서 저는 Http 메서드를 아래 2가지로 이해했는데 맞는지 확인 부탁드립니다!! Http 메서드는 내부 로직과 상관없이 단순히 데이터를 어떻게 처리할 것인지를 구분해 주기만 하는 개념적인 부분이다. 예를 들어 '해당 컨트롤러에서는 리소스가 없을 경우 새로 생성하고, 있을 경우에는 덮어쓰는 로직을 구현할 것이기 때문에 PUT을 사용해야지' 라고 시각적(?) / 개념적(?)으로 알려주는거죠. 같은 URI에서 어떤 메서드로 요청을 처리할지 구분한다. 예를 들어 users/{id}에서 GET과 POST 중 어떤 메서드에 매핑되어 있는 로직을 처리할지 구분하는거죠.

  • 네트워크
pang00 댓글 2 좋아요 0 조회수 151

서버가 알아서 회원을 식별해서 URI를 만들어준다.가 무슨의미일까요?

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

클라이언트는 등록될 리소스의 URI를 모른다. 회원 데이터를 서버에 요청하고 서버가 알아서 회원을 식별해서 URI를 만들어준다. 회원 등록 : /members ➡ POST POST /memebers 클라이언트가 결정하는 게 아니라 서버가 새롭게 등록된 리소스의 URI를 생성한다. HTTP/1.1 201 Created /members/100 라고 하셨엇는데 서버가 알아서 멤버를 식별해서 100번으로 URI를 생성한다는걸까요??

  • 네트워크
알고리즘가즈앙 댓글 2 좋아요 0 조회수 202

인기 태그

인프런 TOP Writers

주간 인기글