게시글
질문&답변
2024.11.10
자바스크립트 Map과 어떤 차이가 있나요??
안녕하세요 yoohunn님!해시테이블과 자바스크립트의 Map에 대해서 궁금증이 생기셨군요.우선 우리는 순수한 자료구조의 차원에서 해시테이블의 개념을 살펴보고 구현까지 해본 것인데요.자바스크립트에서 해시테이블과 유사한 구조는 자바스크립트의 객체,말씀하신 Map이 있습니다.결론부터 말씀드리자면 우리가 배운 해시테이블과 자바스크립트의 객체, Map은 큰 차이가 없이 모두 해시테이블로 불릴 수 있는 자료구조입니다.다만 디테일에서 몇 가지 차이점이 있는데 차이점을 설명드리겠습니다. 자바스크립트의 Map자바스크립트의 Map은 우리가 배운 해시테이블보다 Key에 대해서 더 많은 유연성이 있습니다.우리는 Key를 문자열만 지원하도록 구현했지만, Map은 모든 데이터 유형을 지원합니다.또한 Map은 Key, Value 삽입의 순서를 유지합니다. 자바스크립트 객체자바스크립트의 객체는 우리가 배운 해시테이블보다 Key에 대해서 더 많은 유연성이 있지만, Map보다는 제한적입니다.객체는 Key 값으로 문자열, 심볼을 지원합니다.그리고 object['key']로 간단한 생성과 조회를 할 수 있고 Key, Value 삽입의 순서를 유지하지 않습니다. 전통적인 해시테이블(강의에서 배운 해시테이블)우리가 강의에서 배운 해시테이블로 자바스크립트의 객체, Map에 비하면 기능이 적습니다.구현에 따라 Key, Value 삽입 순서를 유지하거나 유지하지 않을 수 있는데 우리는 유지하는 쪽으로 코드를 작성했습니다.자바스크립트 객체, Map과 우리가 배운 해시테이블의 공통적인 특징은(좋은 해시 함수를 짰다고 가정) 시간 복잡도가 O(1)이라는 것입니다.이런 이유로 자바스크립트를 실제로 사용할 때는 자바스크립트 객체나 Map을 이용하는 것이 편하고 기능도 더 많아서 이용하지만, 우리는 해시테이블이 어떤 것인지 공부를 하는 단계이기 때문에 직접 구현해보는 것입니다.Map 자체로 해시테이블이 구현된 것이라 Map을 이용해서도 구현할 수 있겠지만, 개념을 익히는 데는 크게 도움이 되지 않는다고 생각하기 때문에 밑바닥부터 구현해보는 것을 추천합니다!궁금증이 해결되셨나요?
- 0
- 2
- 14
질문&답변
2024.10.31
스위치 포워딩
안녕하세요 JMJM님!아닙니다.해당 영상에서 설명하는 스위치는 Learning과 Flooding이 끝난 상태의 동작을 보여줍니다.Learning과 Flooding의 동작은 스위치 영상에서 확인할 수 있습니다.감사합니다.😄
- 1
- 2
- 20
질문&답변
2024.10.18
논리주소에서 물리주소를 구하는 과정에 대해 질문 드립니다. (질문 2개)
안녕하세요 하얀종이개발자님!1. 이 부분은 운영체제마다 다를 수 있지만, 해당 영상에서는 0x12300번지에 접근할 때 가장 앞에 있는 비트를 보고 1번 세그먼트로 결정했습니다. 이런 이유로 영상에선 1을 빨간색으로 강조표시 해두었습니다. 2.영상에서 이 부분을 잘못 설명한 것 같습니다.bound address는 메모리를 침범하는지 확인하는 용도로 쓰입니다.말씀주신 것처럼 프레임을 구하고 실제 offset은 논리 주소에서 일정 비트를 참고합니다.영상처럼 0x12300으로 예를 들면 가장 앞비트인 1은 세그멘테이션 테이블을 참고하는데 쓰입니다.만약 offset을 뒤로부터 세 자리를 사용한다면 offset은 300이 되고, 프레임에서 300만큼 떨어진 곳이 물리주소가 됩니다.혼란을 드려서 죄송합니다. 🙇♂
- 2
- 2
- 90
질문&답변
2024.10.17
워킹셋에 궁금점
안녕하세요 윤지영님!마지막에 나온 말인 "워킹셋은 프로세스가 준비상태에서 실행상태가되는 컨텍스트 스위칭을 할 때 사용됩니다." 라는 말의 의미가 궁금하신 것 같습니다.여기서 프로세스가 준비상태에서 실행상태가 되는 이란 '프로세스 상태' 수업에서 프로세스의 5가지 상태 중 준비상태, 실행상태를 말한 것입니다.즉 준비상태에 있는 프로세스가 컨택스트 스위칭으로 실행상태가 될 때를 의미합니다.궁금증이 해결되셨나요? 😊
- 0
- 2
- 40
질문&답변
2024.10.17
워밍업 클럽 2기 커뮤니티 링크 요청드립니다!
안녕하세요 devvvV님!워밍업 클럽 관련한 문의는 인프런 문의하기로 요청드려야 할 것 같습니다.감사합니다 :)
- 0
- 1
- 31
질문&답변
2024.10.15
질문이있습니다!
안녕하세요 alopp님!질문하신 내용이 맞습니다! 😊
- 0
- 1
- 17
질문&답변
2024.10.15
질문이있습니다.
안녕하세요 alopp님!맞습니다.다른 언어와 실제 구현은 다르지만 사용할 때는 배열과 같은 방식으로 사용할 수 있기 때문에 배열 자료구조라고 부를 수 있는 것입니다.👏
- 0
- 1
- 26
질문&답변
2024.10.14
캐시용량이 매우 크다면 어떻게되나요?
안녕하세요 윤지영님!캐시에 대해서 생각해보셨군요.말씀하신 것처럼 캐시가 매우 커지면 캐시의 검색이 느려집니다.또한 캐시는 물리적으로 RAM보다 CPU에 가까이 있기 때문에 속도가 빠릅니다. 캐시를 빠른 속도로 유지하기 위해서는 회로를 더 작게, CPU에 가깝게 설계해야 할겁니다. 그러면 비용은 더 비싸질겁니다.따라서 캐시가 캐시역할을 제대로 하기 위해서는 적절한 크기를 유지하는 것이 가장 효율적일 것 같습니다!궁금증이 해결되셨나요? 😄
- 1
- 2
- 39
질문&답변
2024.10.14
질문이있습니다.
안녕하세요 alopp님!루프백 주소로 저장해서 자신에게 보내더라도 트랜스포트까지 모두 사용됩니다. 다만 루프백 주소는 자기 자신이기 때문에 외부 네트워크 넘어가지는 않습니다.(자신의 랜카드까지)만약 127.0.0.1:80이라고 한다는 자신의 웹서버(80번 포트)에 접근하라는 의미로 해석됩니다. 이 과정은 OS가 처리합니다.궁금증이 해결되셨나요?👍
- 1
- 2
- 30
질문&답변
2024.10.14
질문이있습니다.
안녕하세요 alopp님!라우팅 테이블은 라우터의 RAM에 저장됩니다.라우팅 테이블에 저장된 정보는 스태틱 라우팅의 경우 관리자가 직접 설정해 업데이트하고, 다이내믹 라우팅의 경우 여러 라우팅 알고리즘(RIP, OSPF, BGP등)을 통해 테이블이 업데이트됩니다.궁금증이 해결되셨나요?😊
- 1
- 2
- 26