목록CS (19)
맨틀 이야기
디자인 패턴은 주어진 문제를 해결하기 위해 따를 규칙을 정해놓은 것을 말한다. 어떤 식으로 객체를 생성하고 객체 간의 관계를 형성할지와 같은 질문을 토대로 특정 상황이나 목적에 알맞는 효율적인 코드 구조를 짠다.싱글톤 패턴싱글톤 패턴에서는 하나의 클래스로부터 하나의 인스턴스만 생성해 사용한다. 인스턴스를 여러개 생성하지 않아서 인스턴스 생성에 드는 비용을 줄일 수 있다.class Singleton () { constructor() { // 한 번만 실행되는 코드 (이후에는 항상 Singleton.instance가 존재할 것이기 때문) if (!Singleton.instance) { Singleton.instance = this; // 처음 생성하는 인스턴스(this)를 Singlet..
WebAssembly는 코드지만, 우리 개발자가 직접 읽고 쓰는 프로그래밍 언어는 아니다. WebAssembly는 자바스크립트 외의 언어로 작성한 코드가 웹 브라우저에서 실행될 수 있도록 컴파일링된 특수한 코드다. 사람보다는 컴퓨터가 이해할 수 있는 바이너리 형태의 코드라서 우리가 직접 코드를 짜는 것은 아니다. C++, Rust, Go 등 웹개발을 위한 언어가 아닌 것들로 짠 코드도 웹브라우저가 이해하고 실행시킬 수 있도록 만들어진게 WebAssembly다. 기계 언어에 더 가까워서 자바스크립트보다 실행 속도도 빠르다고 한다. 브라우저가 자바스크립트를 돌리려면 먼저 자바스크립트 코드를 파싱을 하고, 이후 바이너리로 컴파일한 다음에야 브라우저가 읽게 되는데, WebAssembly는 애초에 바이너리 형태다..
인터넷은 컴퓨터 기기가 타지에 위치한 다른 기기와 서로 통신할 수 있도록 하나의 장을 만들어주는 시스템이다. 컴퓨터는 프로토콜이라고 하는 표준을 사용해 외부 기기와 통신할 수 있고, 라우터를 통해 여러가지 데이터 또한 주고 받을 수 있다. 라우터는 컴퓨터 네트워크를 연결해주는 장치로, 인터넷에서 데이터가 어떻게 이동할지를 결정한다. 라우터는 패킷(packet)이라고 하는 작은 데이터 조각들을 출발지에서 목적지까지 보내주는 역할을 하는데, 반드시 정해진 루트를 따라 이동시키는 것은 아니다. 네트워크의 상태에 따라 데이터를 전송할 준비가 된 라우터에게 데이터를 포워딩한다. 라우터가 어디로 데이터 패킷을 보내면 되는지는 TCP와 IP 프로토콜이 알려준다. TCP/IPIP(internet protocol)는 인..