[오늘의 코딩테스트]
[프로그래머스/JS] 기사단원의 무기
[문제][오답코드]function solution(number, limit, power) { var answer = 0; for(let i = 1; i limit) { answer += power; } else { answer += axisnum; } } return answer;}처음 실행했던 코드이다. 이때는 문제가 없다고 생각해 바로 풀
ezez99.tistory.com
[오늘 한일]
● 모의 면접 대비 공부
모의 면접에 대비해서 예상 질문에 대한 공부를 하였다.
- 예상 질문
답변 :
IP는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.
현재 IP 주소 체계는 IPv4와 IPv6가 있고 현재 주로 사용되고 있는 주소 체계는 IPv4입니다.
IPv4는 32비트(0, 1로 이루어진 2진수)로 이루어진 주소 체계입니다.
서브넷 마스크는 IP 주소가 어떻게 되어있는지를 알고 넘어가야 하는데, IP주소는 네트워크 와 호스트로 나눠져있습니다.
네트워크는 IP의 주소 등이 담겨있고, 호스트는 IP가 누구의 것인지를 나타내는 부분입니다.
이런 IP에서 네트워크 와 호스트를 쉽게 나누기 위해 만든 것이 서브넷 마스크입니다. 서브넷 마스크는 해당하는 IP의 네트워크 주소가 8자린지 , 16자린지, 24자린지에 따라 클래스 A, B, C로 나눠져서 각각의 상황에 맞는 서브넷 마스크를 통해 해당하는 IP주소의 네트워크 부분과, 호스트 부분을 나눌 수 있습니다.
답변 :
라우터는 네트워크와 네트워크간의 연결을 해주는 역할을 합니다.자세히 설명하자면 라우터는 외부 네트워크에서 공인Ip를 받아와 라우터내의 기기들에 사설IP를 부여합니다.
라우팅이란 데이터가 전달되는 과정에서 여러 네트워크들을 통과해야하는 경우가 생길 수 있는데, 여러 네트워크들의 연결을 담당하고 있는 라우터 장비가 데이터의 목적지가 어디인지 확인하여 빠르고 정확한 길을 찾아 전달해주는 것입니다.
정적 라우팅은 직접 라우팅 테이블을 만들어서 사용하는 방법입니다.
입력된 라우팅 정보는 관리자가 직접 수정하기 전에는 바뀌지않습니다. 빠르고 간결하게 라우팅을 관리할 수 있다는 장점이 있습니다
동적 라우팅은 라우팅을 접하는 라우터들이 직접 정보를 모으면서 라우팅 정보를 모으는 것입니다.
초기 설정만 해주면, 알아서 라우팅 테이블을 구상해주기 때문에, 편하다는 장점이 있습니다.
답변 :
전송계층은 패킷이 전송 과정에서 아무 문제 없이 제대로 수신지 컴퓨터에 도착할 수 있도록 패킷 전송을 제어하는 역할은 전송 계층이 담당합니다 이러한 과정을 하기 위해 실제로 연결되어 있지 않지만 연결되어 있는 것처럼 논리적 통신이 되어있습니다. 그리고 또한 통신과정에서 패킷에 손실이 없었는지의 대한 체크 및 오류 확인도 전송 계층에서 진행합니다.
쉽게 말하면 목적지 까지 올바르게 설정되어 있는지, 오는 동안 에러 및 패킷 손실은 없었는지의 대한 확인을 하는 곳이 전송 계층입니다.
답변 :
전송 계층 과정에서 어떠한 방식으로 데이터를 전달하는지에 대한 전달 방식의 차이가 있다.
연결형 통신은 신뢰할 수 있는 데이터를 정확한 목적지에 문제 없이 전달하기 위한 목적을 가진 통신 방식입니다.
신뢰성 과 정확성을 높이기 위해 계속 통신을 하는데, 이때 사용되는 프로토콜이 TCP입니다.
그리고 비연결형 통신이 있는데, 비연결형 통신은 최대한 빠르고 효율적으로 데이터를 전송하는 것을 목적으로 하는 통신 방식입니다.
비연결형 통신은 효율을 높이기 위해 확인 과정을 거치지 않고 데이터를 전송하는데, 이때 사용되는 프로토콜이 UDP입니다.
답변 :
TCP Handshake는 TCP연결 방식을 표현한 것이다.종류로 3 -way Handshake와 4 -way Handshake가 있습니다.
3 - way Handshake는 모두 준비가 되었다는 것을 확인한 네트워크와 서버가 통신을 시작했을 때 연결 요청을 클라이언트에서 하였다면, 서버가 요청을 확인했다는 응답과, 클라이언트로 연결 요청 정보를 보내게 됩니다. 이러면 클라이언트에서 연결 요청을 확인했다고 응답을 보내는 데 이러한 방식을 3번을 걸쳐서 요청을 하기 때문에 3 -way Handshake라고 합니다. 4 - way Handshake도 비슷한 방식으로 4번의 걸쳐서 요청을 진행하게 됩니다.
답변 :
흐름 제어는 송신자의 전송 속도와 수신자의 처리 속도의 차이에서 생기는 문제를 해결하기 위한 기능입니다.
예를 들어 송신자가 데이터를 전송하는 속도가 수신자가 데이터를 처리하는 속도보다 빠른 상황일 경우, 수신자의 데이터 버퍼가 가득차서 넘치게 되면 넘친 데이터는 없어져서 손실이 나게 됩니다. 이러한 격차를 줄이기 위해서 송신자의 데이터 전달 속도를 줄이는 방식이 흐름 제어 입니다. 흐름 제어를 하기 위해서 데이터를 보낼 때마다 확인 절차를 걸치는 Stop and Wait 방식을 사용합니다.
혼잡 제어는 흐름제어와 비슷하지만 다른 방식의 문제를 해결하기 위한 기능입니다.
예를 들어 송신자가 데이터를 전달하는데 한번에 매우 많은 데이터를 수신자에게 전달하게 된다면, 수신자는 데이터를 처리할 것이고, 처리하는 버퍼보다 많은 양의 데이터가 들어오게 된다면 데이터가 넘쳐 손실이 나게 됩니다. 이러한 상황을 해결하기 위해 송신자의 데이터 전달 속도를 줄이는 방식이 혼잡 제어입니다. 혼잡 제어를 하기 위해서, 패킷을 조금씩 전달하게 조절하는 AIMD기술을 사용합니다.
답변 :
HTTP는 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜입니다.쉽게 말하자면 클라이언트와 서버 간 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 통신 규칙 세트 또는 프로토콜이다
HTTPS는 이러한 프로토콜에 암호화 과정을 추가한 것이다. 그래서 HTTP에 비해 보안성이 높고 안전하다는 장점이 있다.
브라우저 상에 네이버를 검색한다면, 우선 처음으로 네이버가 url인지, 검색어 인지를 확인한다.
naver.com 과같은 url을 입력했다면, 네트워크에서 해당하는 도메인 주소에 해당하는 Ip주소를 찾고 Ip주소의 네이버의 서버데이터를 요청해서 네이버의 데이터를 받아오고, 네이버 화면을 렌더링해서 띄워주는 역할을 한다.
네이버를 네이버 자체로 입력했다면, 검색엔진을 통해 검색 결과가 나오게 되고, 검색에서 네이버를 골라서 naver.com주소로 들어가게 되면 위와 같은 결과를 다시 확인 할 수 있다.
게임서버 주특기 과정의 강의를 학습하는 중이다. 게임 서버의 심화과정을 배우는 것인만큼 확실하게 학습해야할 것 같다.
추가적인 정보는 추가적으로 학습하게 되면 작성해야겠다!
[한줄 요약]
모의 면접을 대비하여서 공부하는 것이 주였던 학습시간이였던 것 같다. 따로 게임서버 공부 공간에 요약해서 올려야겠다!
최근 현타가 많이 왔는데 잘 이겨내고 학습을 해야겠다!
'코딩 > TIL' 카테고리의 다른 글
[TIL] 게임서버의 이동 연출 (선형보간, 외삽법) (0) | 2024.06.27 |
---|---|
[TIL] Socket.io 의 on 과 emit의 이해 (0) | 2024.06.26 |
[TIL] 디펜스 게임 제작 마무리 (0) | 2024.06.21 |
[TIL] 디펜스 게임 프로젝트 시작 (1) | 2024.06.18 |
[TIL/31일차] 개인과제 마무리 (1) | 2024.06.13 |