묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장
바뻐서 거의 듣지를 못했습니다. 수강기간 연장 부탁드립니다. 꼭 부탁드려요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드립니다
완강했는데 한번 더 복습하고 싶습니다! 연장 부탁드립니다!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
3-way handshaking 시 Segment, MSS 질문
안녕하세요 널널한 개발자님. 우선 질 좋은 강의 제공에 감사인사부터 드립니다. 제목에 작성된 것처럼 2가지 질문이 있어 남깁니다! 질문에 해당하는 강의 제목은 [TCP 연결과정] 입니다. 3-way handshaking 동작을 설명해주시면서 클라이언트, 서버 간에 전달하는 데이터 단위가 Segment이고, 이 Segment 정보에 (데이터가 담긴) 페이로드는 없고 IP, TCP 헤더 정보만 있다고 하셨는데요! 그렇다는 것은 3-way handshaking 동작은 뭔가 클라이언트가 서버쪽으로 데이터를 전달해서 서버에서 로직을 처리하고 응답을 받는 것이 목적이 아닌 단순히 클라이언트가 서버와의 연결이 정상인가를 확인하는 용도이기 때문인 건가요? 그러면 페이로드는 그럼 언제 전달되는 것인지 궁금합니다.TCP 연결 시 랜덤하게 생성한 시퀀스 넘버를 교환하는 것 말고 기타 정책 중 MSS 라는 정보를 전달주신다고 하셨는데요. 그러면서 서버의 MSS가 클라이언트의 MSS 보다 작을 경우, 클라이언트 쪽에서 서버의 MSS에 맞게 축소시켜 전달한다고 하셨는데요! 예를 들어, 클라이언트의 MSS가 1.5KB 이고, 서버의 MSS가 1.4KB 라고 가정해봅니다. 클라이언트 쪽에서 서버의 MSS에 맞게 축소하려고 하는데, 클라이언트가 전달하려는 Segment의 용량이 맥시멈 사이즈인 1.5KB라고 한다면 어쩔 수 없이 용량을 1.4KB로 축소하게 되고, 이 과정에서 데이터 손실?이 발생할 수도 있는 건가요?(질문하다 보니 2번 질문은 3-way handshaking 과정에서 payload 부분이 전달 된다는 가정하에 질문일 수 있겠네요)질문이 다소 이해가 가지 않으시면 말씀 주세요 감사합니다~
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강신청 연장 부탁드립니다.
수강신청 연장 부탁드립니다.일이 바빠서 조금씩 밖에 듣지 못하고 있네요...
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
VLAN 내 디폴트 게이트웨이 IP 지정 문의
VLAN 내 디폴트 게이트웨이 IP를 해당 VLAN에서 할당 가능한 첫 번째 주소(보통 1)라고 설명해주셨는데요.예를 들어 VLAN 10번의 디폴트 게이트웨이 IP를 200.200.200.1로 지정한다면, 이때 200.200.200.1이 가리키는 물리적 대상은 없고 이것도 가상의(?) 인터페이스인 건가요?디폴트 게이트웨이가 의미하는 것이 라우터이고, 라우터가 하나라면, IP 주소도 동일한 1개여야 할 것 같은데VLAN마다 IP 주소가 어떤 똑같은 1개로 지정되는 게 아니라, 그 VLAN 내에서 각기 다르게 (X.X.X.1)로 지정되는 게 이해가 안 되어서요. 200.200.200.1이 가리키는 대상이 무엇인가요? 답변 주시면 감사하겠습니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
스위치 CLI에서 en 모드에서 vlan database가 되지 않습니다.
VLAN 강의 후반 실습 중, 패킷 트레이서에서 스위치 CLI에서 en 모드로 전환 후 #vlan database 입력하면 아래와 같이 오류가 뜹니다. 해결 방법이 있을까요? 감사합니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
Layer 2 네트워크 개요 및 특성 강의에서 스위치 맥 주소 학습 관련 문의
강의 중 패킷트레이서 실습 내용에서, 각 장치에 ip를 할당하고 나서야 스위치 맥 테이블에 정보가 노출되는 것을 볼 수 있었는데요.스위치는 MAC 주소를 기반으로 프레임을 전달하기 때문에 IP 주소 할당 여부와 관계없이 연결된 장치의 MAC 주소를 학습할 수 있어야 하는 것이 아닌가요?! ip를 할당하기 전에는 왜 맥 테이블이 비어있었던 건지 궁금합니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
karpenter 동작이 이상합니다..(안됩니다)
순서대로 따라했으나, karpenter가 제대로 동작하지 않습니다.프로비저너 스펙으로 spot이나, 직접 인스턴스 유형을 지정한 경우나 둘 다 p4d.24xlarge 라는 말도 안되는 인스턴스를 요청하거나 계속 waiting on cluster sync 라는 문구가 나옵니다.왜 이런 오류가 나는건지 알 수 가 없네요 ㅠ ㅜ완전히 싹다 밀고 처음부터 하나하나 다시 천천히 입력해봐도 여전히 똑같습니다..
-
미해결그림으로 쉽게 배우는 네트워크
제가 이해한게 맞나 궁금합니다.(Window 관련해서)
Window에 data가 있고 크기도 있는데 이게 데이터를 네트워크를 통한 실질적인 전송을 위해 적절한 크기로 분할한 조각 들일까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
질문 있습니다
영상에서 7분즘에 이런 말씀을 하셨는데요."커넥터를 딱 하나만 하는 경우도 있겠지만 경우에 따라서는 우리가 리스너에서 계속 뺑뺑이를 돌면서 천명이건 만명이건 계속 받을 수 있는 것처럼 커넥터도 한 번만 받고 끝내는게 아니라 여러 병을 받을 수 있으니까 굳이 이런 식으로 소켓으로 받기 보다는 이런 식으로 이벤트를 통해서 인자를 넘겨주고 있는 것이다."하지만 그 리스너에서는 Socket을 필드로 들고 있도록 하셨었잖아요? Socket을 필드로 들고 있는 것과 SocketAsyncEventArgs의 Token으로 socket을 넘겨주는건 결국 똑같이 작동하는 건가요?connector에서는 Socket을 필드로 두지 않고 args의 token으로 socket을 건네주신 이유를 이해하지 못하겠습니다.아니면 그냥 똑같이 동작하는데 이런 방법도 있다고 알려주기 위함이셨나요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
안녕하세요
질문 드립니다. 현재 4장에서 프로메테우스 스택 인스톨까지 진행하고나서예전 질문에 답변주셨던 1장의 마리오 게임을 배포했던 부분과4장의 Nginx 웹서버 배포를 복습하고 있습니다.원클릭 -> 프로메테우스 스택 -> mario apply, nginx apply 마리오는 Service로/ nginx는 인그레스로 apply 하는데요 NLB와 ALB로 외부 노출해야하는 조건이나 이유가 있는건가요 앱에 따른 차이일까요? 프로메테우스 스택을 보면 하나의 ALB로 묶기 위한 그룹이 명시되어있는데 그룹으로 묶어서 ALB로 열어주는 kind: IngressClass 은 보이지 않습니다, helm install시 알아서 설치되는 건가요?노드 익스포터가 포드로 배포되었기 때문에 노드에 존재하는 모든 앱의 메트릭 값을 자동으로 수집할 것이라고 생각했는데, nginx 파라미터 파일을 보면 metrics.enabled : true 소스가 있습니다. 각 앱을 apply 할때 metrics.enabled : true 값을 명시하는 것이 필수인 건가요?metrics.enabled : true값이 필수라면 마리오 게임을 배포할 때 metrics.enabled : true 값이 없었으므로 메트릭 값이 수집 되지 않는 건가요? 추가해야 할까요?4장의 nginx 파라미터 파일에 spec 소스를 추가 작성하면 도커허브의 html파일을 가져와서 배포할 수 있을까요?nginx배포시 레플리카 부분이 명시되어 있지 않아 1개의 포드만 생성될 것이라 예상했고, kubeops를 확인하니 실제로 1개만 배포되었습니다. 하지만 kubectl get pods 명령어 확인하니 nginx 2/2 ready 상태입니다.부하발생 실습 부분에서 레플리카를 늘려서도 시험해 보고 싶어서 helm upgrade nginx bitnami/nginx --version 14.1.0 -f nginx-values.yaml --set replicas=2 명령어를 사용했는데요, 업그레이드 됐다는 메시지는 출력 되는데 포드의 변화가 없습니다 어떻게 하면 될까요? NGINX 모니터링 대시보드 : 12708 사용,while true; do curl -s https://nginx.$MyDomain -I | head -n 1; date; sleep 1; done명령어 입력 후 3분 뒤 초록색 GO 사라지고 빨간색 NO DATA 출력, 모든 그래프 사라짐 -> Home Dashboards Kubernetes / Compute Resources / Namespace (Pods)에서 모니터링 네임스페이스 확인해보니 메모리 사용부분 1400% 찍혀있는데 서버 다운된건가요? 인스턴스 스케일업 해야하는건가요? t3미디엄입니다. - 만약 맞다면 추후 HPA나 CA를 통해 해결이 가능할까요?앱 배포시 프로메테우스 target에 nginx 잡히는 것은 확인했습니다. 실제로 부하를 줄 시 프로메테우스에서 부터 수집되는 메트릭 값을 확인해 보고 싶고 -> 그 값이 실제로 그라파나에 동일한 값이 출력되는지 확인해보고 싶습니다. 하지만 현재 프로메테우스에서는 어떻게 확인하는지 모르겠고, 그라파나에서는 No Data로 오류발생입니다
-
미해결자동차 SW - UDS 진단통신 정복하기
DTC이나 스냅샷은 비휘발성 메모리에 저장하나요?
DTC, 스냅샷의 메모리와 각종 데이터 저장에 관련된 고민글을 작성하신걸 블로그에서 보았는데, 혹시 지금은 정답을 찾으셧는지 궁금합니다. 아니면 이 또한 제조사마다 다른것인지 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Variadic 함수 인자 포워딩 관련
수업의 JobSerialize::PushJob() 함수에서, template<typename T, typename Ret, typename.. Args>void PushJob(Ret(T::*memFunc)(Args...), Args... args){.... std::forward<Args>(args...)} 이 부분에서PushJob() 인자 중 Args&&... 가 아닌 Args... 로 &&을 생략해도 포워딩이 정상적으로 진행이 되는 건지 궁금합니다. 구글링을 해 보니 전부 Args&&... 형태로 쓰는 것으로 보여서요. 가변 템플릿 문법은 언제나 굉장히 헷갈리네요.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
한번만더연장부탁드립니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ans saa 두개 다 연장 가능할까요ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
GameRoom.Flush() 수행 중에 _sessions가 변경 되면, 컬렉션 변경 에러가 나옵니다.
// GameRoom.cs public void Flush() { foreach (ClientSession s in _sessions) s.Send(_pendingList); _pendingList.Clear(); }foreach를 돌며 s.Send()를 하는 와중에_sessions가 변경되면,(_sessions.Add 되거나 _sessions.Remove 되면)아래와 같이 컬렉션 변경 에러가 나옵니다. 이를 해결하려고 아래와 같이 _sessions를_sessionsCopy에 복사하여 foreach 돌렸습니다.// GameRoom.cs public void Flush() { List<ClientSession> _sessionsCopy = _sessions.ToList(); // 복사 foreach (ClientSession s in _sessionsCopy) s.Send(_pendingList); _pendingList.Clear(); _sessionsCopy = null; } 더 좋은 방법이 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
명시적으로 함수를 호출하지 않으면 무조건 스레드 세이프할까요?
안녕하세요? 강의 재밌게 보고 있습니다.아래 인프런 질문을 보면Q. Receive()는 lock을 사용하지 않는 이유?A. 명시적으로 Recv()처럼 호출하지 않기 때문에 1번에 1개의 스레드만 접근하여 스레드 세이프함이라는 질문을 보았는데요, 이 답변을 조금 확대 해석해 봤는데Q. 명시적으로 함수()를 하지 않으면 무조건 스레드세이프할까요? 답변 미리 감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ClientSession의 Room이 null인 경우
안녕하세요.Part 4를 완강하고 Part 7으로 넘어가기 위해새로운 솔루션을 생성해서 기존 Part 4 솔루션 내의프로젝트들을 우선 Ctrl + C, V 한 뒤 기존 프로젝트 추가로Part 7에서 사용할 서버 솔루션을 Part 4와 동일하게 맞추는 작업을 하고 있었습니다!그런데, DummyClient의 연결 수를 20개 정도로 하면 문제가 없지만, 30개부터는 특정 ClientSession의 Room이 null인 상태에서 서버 측의 C_MoveHandler가 실행되어 서버가 뻗어버리는 경우가 간헐적으로 발생하고 있습니다.(강의 보면서 따라 한 솔루션은 100이면 100 잘 되며, 새롭게 복사한 솔루션은 대부분 잘 되지만 가끔식 위 오류가 발생합니다..) 처음엔 단순히 Ctrl+C , V 하는 과정에서프로젝트나 솔루션의 설정값들이 새로운 경로로 옮기면서 동기화가 안되어 생기는 문제인 줄 알았는데,코드를 계속 천천히 읽다보니 의문이 들게 되었습니다. public GameRoom? Room { get; set; }public override void OnConnected(EndPoint? endPoint) {Console.WriteLine($"OnConnected: {endPoint}");Program.Room.Push(() => Program.Room.Enter(this));}제가 이해한 바로는ClientSession의 Room은Listener에 의해서 ClientSession.OnConnected가 호출되며 Program.Room에게 Enter(this)를 요청하고,이후 Program.Room은 Flush()를 통해 특정할 수 없는 시점에 비로소 Enter를 호출하게 되며, ClientSession.Room이 자기 자신을 가리키도록 합니다. 그런데, 정말 운이 안 좋다면 Program.Room이 A번 ClientSession에 대한 Enter 작업이 미처 다 수행되기 전에DummyClient 측의 SendForEach로 인해 A번 ClientSession과 대응되는 ServerSession으로 이동 패킷을 보내고,최종적으로 A번 ClientSession의 Room이 null인 상태에서 C_MoveHandler를 실행 할 여지가 있는 것이 아닌가 생각하게 되었습니다. 혹시 제가 생각하고 있는 것이 맞는건지,아니면 단순하게 솔루션을 잘못 복사해와서 문제가 생긴건지궁금합니다..만약 그런 여지가 있다면 단순히 room이 아직 null인지 체크하고 이동 패킷을 무시하면 되는걸까요?
-
미해결CloudNet@와 함께하는 AWS 네트워킹 입문
loadbalancer와 route53 서비스의 차이점이 궁금합니다.
LB가 안정적인 서비스를 위해 트래픽을 적절히 분배하여 조절해 주는 역할을 한다고 이해하였는데,Route53서비스 에서도 가중치를 통해 대략적인 트래픽 분배를 하는것 같아 보입니다.LB와 Route53의 가중치로 인한 트래픽 분배가 차이점이 있나요?각각의 활용방안이 다른걸까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
쿠키 정보 자동 포함 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 모든 요청 정보에 쿠키 정보를 자동으로 포함한다 + 쿠키를 무조건 보낸다 이렇게 설명을 주셨는데요쿠키는 브라우저가 저장한다고 알고있습니다.즉 실제 보관되는 장소는 로컬 저장소(내 컴퓨터 드라이브)라고 이해하고 있는데요여기 저장소에는 구글에서 요청한 쿠키, 네이버에서 요청한 쿠키 등 많은 서버에서 요청한 쿠키가 저장되어있지 않나요?어떤 사이트에 접근할 때 해당 서버 측에서 필요한 쿠키만 선별해서 전송한다고 생각을 하는데요그러면 요청 정보에 쿠키를 담아 보낼때 어떤 쿠키를 담아 보낼지 클라이언트 측에서 판단하여 결정하나요? 아니면 서버가 판단하나요?그리고 어떤 쿠키를 보낼지 어떻게 결정하나요? 강의에서 설명해주신 path와 domain을 보고 판단하나요?1. 어떤 쿠키를 보낼지 결정하는 주체가 클라이언트 측인지 서버 측인지 궁금합니다2. 어떤 쿠키를 보낼지 어떻게 결정하나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP가 왜 무상태인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.TCP는 3 way handshake로 stateful인데TCP 기반으로 작동하는 HTTP가 왜 stateless인지 모르겠습니다stateful로 작동하는 TCP 위에서 HTTP가 어떻게 stateless로 작동한다는 것인지 이해가지 않습니다