일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 스택
- 브라우저
- C
- APOLLO
- 해시테이블
- 배열
- cors
- alexnet
- GraphQL
- 연결리스트
- 릿코드
- 자료구조
- 연결 리스트
- 코딩테스트
- 이진탐색
- pytorch
- 자바스크립트
- vue3
- 컨테이너
- RxJS
- 웹팩
- 타입스크립트
- 큐
- 프로그래머스
- 알고리즘
- 프로세스
- 프론트엔드
- RT scheduling
- Machine Learning
- 포인터
- Today
- Total
목록전체 글 (164)
프린세스 다이어리
컴파일러가 무엇인지와 역할을 정리했고, 바벨을 사용하여 컴파일을 할 때와 타입스크립트 컴파일러로 컴파일할 때의 특징을 비교해보았다. 1. 컴파일러란 1-1. 컴파일러 특정 프로그래밍 언어를 다른 프로그래밍 언어로 옮기는 프로그램 1-2. 타입스크립트 컴파일러의 역할 2가지 1. 최신 타입스크립트/js 를 브라우저에서 동작할 수 있도록 구버전의 js로 *트랜스파일함. 2. 타입 체킹. - 타입체킹과 컴파일은 독립적으로 동작하기 때문에, 타입 에러가 있는 코드도 컴파일이 가능함. 타입에러 났을 때 컴파일하지 않으려면 tsconfig.json에서 noEmitOnError를 설정하면 됨. - 독립적이라 선언된 타입과 런타임 타입이 다를 수도 있음. 이런 상황을 최대한 피해야 함. * TypeScript 컴파일러..
동적 타입 언어 컴파일이 아니라 런타임 때 타입이 결정되는 언어. - 타입 없이 변수만 선언해서 값을 지정할 수 있음. let number = 11; number = "십일"; // 정상 number가 최초에 Number로 선언되었지만, 두 번째 줄에 String을 재할당해도 타입 에러 안남 - 장점: 컴파일 시 타입을 명시해주지 않아도 되기 때문에 빠르게 코드 작성 가능, 사용하기 위해 지켜야 할 규칙이 적어 러닝 커브가 낮고 상대적으로 코드가 짧음 - 단점: 예시처럼 런타임 실행 도중에 예상치 못한 타입이 들어와 타입 에러 발생할 수 있음, 런타임 시 에러를 확인할 수 있기 때문에 코드가 길고 복잡해질 경우 타입 에러를 찾기 어려워짐. 예: 파이썬, 자바스크립트, 루비, objective-c, php..
인터프리터 언어 소스코드를 한 줄 한 줄 읽어가며 명령을 바로 처리하는 프로그램(언어). 번역과 실행이 동시에 이루어진다. - 인터프리터(interpreter)란, 우리말로 '통역사'라는 뜻임. 우리가 컴퓨터에 명령을 내리면 한 줄씩 즉시 통역사가 컴퓨터 언어로 바꿔주는 거라고 생각하면 됨. - 규모가 큰 소스의 경우, 컴파일 언어는 프로그램 실행 전 먼저 기계어로 컴파일하는 데 시간이 오래 걸릴 수 있는데 인터프리터 언어는 코드를 한 번에 한 줄씩 읽어 들이면서 바로 실행이 가능함. - 즉, 한 줄 씩 명령을 내리다 보니, 그 명령 자체의 속도는 컴파일러 언어에 비해 느림. - 그래도 인터프리터 언어는 고급 프로그램을 즉시 실행시킬 수 있어 프로그램 수정이 간단함. 예시: 자바스크립트, 파이썬, 루비,..