본문 바로가기

Computer science

(12)
스택 메모리, 힙 메모리 스택 메모리와 힙 메모리 메모리는 왜 필요할까? 프로그램을 구동하려면, 여러 가지 데이터가 필요하다. 예를 들어 계산기를 만든다고 하자. 10 + 12 = 22를 계산하고, 계산 결과 값에 30을 더하는 프로그램이다. const a = 10; const b = 12; const c = 30; const d = a + b; const e = d + c; 컴퓨터는 어떻게 10과 12를 알며, 어떻게 10과 12를 더해 22를 만들까? 어딘가에 10과 12가 저장되어 있기 때문이다. const a = 10; 이 부분에서 컴퓨터는 a라는 변수를 특정 공간에 저장한다. 이 공간이 바로 메모리다. 즉, 컴퓨터는 a를 저장할 공간을 메모리에 만들고, 그 공간에 10을 부여한다. 이 글을 보고 있는 브라우저도 결국은 ..
가상 메모리는 왜 필요할까? 공학은 최소한의 돈으로 최대한의 효율을 뽑아내는 일입니다. 메모리는 스택 메모리, 힙 메모리에서 보았듯이, 프로그램을 실행하는데 필요합니다. 프로그램을 실행하는데 필요한 정보를 저장하기 때문입니다. 메모리에는 캐시, 램, SSD, HDD 등이 있습니다. 캐시가 가장 비싸며 처리 속도가 가장 빠르고, HDD가 가장 싸고 처리 속도가 늦습니다. 캐시는 CPU 내부에 있습니다. (캐시 용량에 따라 CPU 가격도 크게 차이가 납니다.) 그러니 비교하기 쉽게 램과 HDD를 비교해보겠습니다. 상단의 32GB의 용량을 갖는 램은 17만원입니다. 반면, 1T의 용량을 갖는 HDD는 6만원입니다. 1GB당 가격을 생각하면 램은 대략 5천원 정도이지만, HDD는 60원 정도입니다. 무려 100배 정도 차이가 납니다. 돈이..
BFS vs DFS 요약 더보기 BFS와 DFS는 그래프에서 각 노드를 한 번씩만 방문하여 모든 노드를 방문하는 알고리즘이다. BFS의 장점 1. 너비 우선 탐색이기에 찾은 답이 최단 경로임을 보장 2. 어느 한 경로가 무한히 깊어져도 최단 경로 탐색 가능 BFS의 단점 1. 간선이 많아지면 많은 메모리가 필요함 DFS의 장점 1. 간선이 많아져도 메모리를 많이 차지하지 않음. 2. 정답 후보군을 미리 알고 있으면 BFS보다 빠르게 구할 수도 있음. 3. 사이클 감지에 효과적 DFS의 단점 1. 구한 답이 최단 경로임을 보장하지 않음. 그래프의 모든 노드를 방문하고 난 후에야 최단 경로임을 알 수 있음. 2. 어느 한 경로가 무한히 깊으면 빠져나오지 못함. BFS(Breadth First Search)와 DFS(Depth ..
NAVER FE devtalk - 1: 플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기 본 게시글은 아래의 30분 길이의 영상을 요약한 글입니다. 발표 영상: https://tv.naver.com/v/15841749 발표자: 오남경, 마현지 (RIDI) 발표일: 2020.7. ※ 목차 1) 프로덕트 디자이너로 고통받기 2) 다양한 플랫폼에서 시스템 구축하며 고통받기 3) 디자인 가이드 정리하며 고통받기 4) 구현으로 고통 주기 5) 한 치 앞도 몰라서 고통받기 요약 더보기 - 왜 디자인 시스템?: 디자인을 확장하는 과정에서 커뮤니케이션 비용 감소 조직 간 합의된, 일관성 있는 사용성 문제 본질에 집중 신규 입사한 디자이너도 빠르게 동일한 디자인 언어를 구사 - 사용하는 툴: 제로 하이트(zeroheight), 피그마(figma) 주제: 리디의 디자인 시스템 개발에도 DevOps가 있듯이 디..
HTTP와 HTTPS는 무엇이 다를까? HTTP(Hypertext Transfer Protocol) Hypertext = 사용자에게 내용의 비순차적 검색이 가능하도록 제공되는 텍스트. 문서 내의 특정한 단어가 다른 단어나 데이터베이스와 링크되어 있어 사용자가 관련 문서를 넘나들며 원하는 정보를 얻을 수 있음. Http는 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말합니다. 여기서 문서는 하이퍼텍스트 문서를 의미한다. 즉 영어 그대로 하이퍼 텍스트를 전송하는 규약입니다. 우리가 웹 사이트를 검색할 때 http://www.google.com을 입력할 때 www.google.com 이 hypertext이다. 앞의 http는 www.google.com을 http통신 규약으로 처리하라는 뜻입니다...
WebRTC - multiconnection There are roughly three ways to connect multi users in WebRTC 1. Full Mesh Network 2. Small world network 3. Hierarchical Network With full mesh network, a peer are connected to all other peers. Thus, it should be looking like this. The adventages of using this network is a peer is able to access all other peers. That means, one can see six videos(including itself) at the same time. On the other..
WebRTC 참고 자료 모음 1. html5rocs: https://www.html5rocks.com/ko/tutorials/webrtc/basics/ Getting Started with WebRTC - HTML5 Rocks Plugin-free, realtime communication of video, audio and data using WebRTC. www.html5rocks.com 1-1. stun, turn server: https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ WebRTC in the real world: STUN, TURN and signaling - HTML5 Rocks Build the back-end services you need to r..
webRTC 용어 정리 Interactive Connectivity Establishment(ICE): 웹 브라우저가 다른 동료들과 연결할 수 있게 하는 프레임 워크 Peer A와 Peer B를 직접적으로 연결할 수 없는 다양한 이유가 있다. 1. 연결을 생성하지 못하게 막는 방화벽을 우회해야 한다. 2. public ip 주소를 갖고 있지 않은 장치에게 고유한 주소(unique address)를 배정해야 한다. 3. 라우터가 직접적으로 동료들과 연결하는 것을 허락하지 않으면 서버를 거쳐 데이터를 주고 받아야 한다. ICE는 STUN 서버나 TURN서버 이용한다. Session Traversal Utilities for NAT(STUN): public address를 발견하고 라우터에 걸려 있는 제약 사항을 알아내는 프로토콜이..