분류 전체보기

JavaScript Dev./TypeScript

TypeScript?

1. TypeScript 란? 마이크로소프트에서 개발한 오픈 소스 프로그래밍 언어이다. 자바스크립트의 상위 집합으로, 정적 타입 시스템을 도입하여 코드의 안정성과 가독성을 향상시켜준다. 변수, 매개변수, 함수 등에 명시적인 데이터 타입을 지정할 수 있다. 이는 코드를 작성하면서 발생할 수 있는 실수를 사전에 방지하며, 코드를 이해하기 쉽게 만들어 준다. 컴파일러가 코드를 분석하여 잠재적인 버그를 발견하고 보완할 수 있다. 클래스, 인터페이스, 제니릭 등을 제공하여 객체 지향 프로그래밍 및 함수형 프로그래밍과의 통합을 지원, 코드의 유연성과 확장성을 향상시켜준다. 자바스크립트 런타임 환경에서도 실행될 수 있으며, JavaScript와의 호환성이 뛰어나기 때문에 기존의 프로젝트에도 쉽게 통합할 수 있다. 대..

JavaScript Dev./Javascript

JavaScript 비동기? (feat. Promise, Async, Await)

1. 동기 vs. 비동기 동기 (Synchronous) 동기적인 작업은 순서대로 실행된다. 즉, 한 작업이 시작되면 다음 작업은 이전 작업이 완료될 때까지 기다린다. 코드가 순차적으로 실해되기 때문에 결과를 예측하기 쉬우며, 간단한 디버깅이 가능하다. But, 작업이 끝날 때까지 기다려야 하므로, 대규모 작업이나 시간이 오래 걸리는 작업의 경우 성능에 영향을 줄 수 있다. 대표적으로 JavaScript가 동기적으로 작동하는 언어다. 비동기 (Asynchronous) 순서와 관계없이 독립적으로 실행된다. 즉, 한 작업의 완료를 기다리지 않고 다음 작업을 실행할 수 있다. 비동기 작업은 주로 콜백(Callback), 프로미스(Promise), 혹은 비동기 함수(async / await)를 통해 처리된다. 이..

JavaScript Dev./Javascript

JavaScript 동작 원리?

1. JavaScript 엔진 인터프리터란? 프로그래밍 언어의 코드를 실행하는 컴퓨터 프로그램 또는 환경 자바스크립트를 실행하기 위해서는 자바스크립트 엔진이 필요하다. 대표적으로 Google의 V8 엔진, Firefox의 SpiderMonkey, Safari의 Webkit이 있다. JavaScript 엔진의 주요 구성요소 메모리 힙(Memory Heap): 동적으로 할당 된 메모리를 저장하는 곳 객체, 배열, 함수 등의 데이터 구조와 변수가 저장되는 공간 메모리 관리는 대부분 Garbage Collection에 의해 이루어진다. 더 이상 사용되지 않는 메모리를 자동으로 탐지하여 해제한다. 웹 페이지의 각 탭마다 별도의 메모리 힙이 할당되며, 각 힙은 해당 탭에서 실행되는 자바스크립트 코드와 관련되 모든 ..

다양한 Dev./cs 지식 정리

네트워크 엑세스 계층

1. 이더넷과 CSMA/CD 이더넷이란? 현대 (유선) LAN에서 가장 대중적으로 사용되는 기술 물리 계층, 데이터 링크 계층 (네트워크 엑세스 계층) 스펙/프로토콜 정의 이더넷 기술 물리 계층: 이더넷으로 통신이 가능한 케이블 데이터 링크: 이더넷 프레임 ==> 이더넷 표준 규격이 달라지면 케이블, 전송 속도 등이 달라질 수 있다. 이더넷 케이블 지칭: 전송속도 BASE - 추가 특성 ==> 전송속도와 추가 특성 이더넷 프레임: 이더넷 네트워크에서 주고받는 데이터 형식 프리앰블 ==> 이더넷 프레임의 시작을 알리는 비트열, 송수신간의 동기화 ==> 첫 7바이트는 10101010, 마지막 1바이크는 10101011(SFD) 목적지/송신지 MAC 주소 ==> 물리적 주소, 네트워크 장치(NIC)마다 할당된..

다양한 Dev./cs 지식 정리

네트워크의 성능

트래픽이란 특정 시간 동안 네트워크 내 정보 흐름 얼머나 많은 패킷들이 한 순간 몰리는가 속도와 성능 전송 속도 bps(b/s, bits per second) Mbps(Mb/s, Megabits per second) Gbps(Gb/s, Gigabits per second) 기대 가능한 속도 처리율 (Throughput) bps(b/s, bits per second) Mbps(Mb/s, Megabits per second) Gbps(Gb/s, Gigabits per second) 단위 시간 동안 네트워크를 통해 전송되는 데이터 양 대역폭(bandwidth) 네트워크 트래픽을 수용할 수 있는 용량 송수신 가능한 최대 데이터 양 전송 매체의 두께 패킷 손실(packet loss) 얼마나 많은 패킷이 송수신 과..

다양한 Dev./cs 지식 정리

프로토콜과 캡슐화

패킷 교환 네트워크 주고받는 정보를 패킷(packet) 단위로 주고받는 네트워크 패킷이란 패킷 교환 네트워크에서 주고받는 데이터 단위 회선 교환 네트워크 정해진 회선(circuit)으로만 통신하는 네트워크 사전에 연결 수립 작업 다른 호스트는 도중에 끼어들 수 없음 장점: 전송률 보장 단점: 회선 이용률 저하 패킷 구성 요소 헤더(header): 패킷에 붙일 부가 정보 페이로드(payload): 패킷에 보낼 정보 [트레일러(trailer)]: 패킷 뒤에 붙일 부가정보 프로토콜(protocol) 장비 간 정보를 주고받을 규칙이나 방법 호스트 간에 합의된 의사소통 규칙 패킷의 헤더는 프로토콜의 영향을 받는다. (따라서 프로토콜이 달라지면 헤더의 내용이 달라질 수 있다.) 네트워크 참조 모델 OSI 모델 (이..

Yoonsoo
'분류 전체보기' 카테고리의 글 목록 (5 Page)