본문 바로가기

Study4

You don't know JS yet(1.5~1.8) 1.5 하위 호환성과 상위 호환성JS를 지탱하는 기본 원칙 중 하나는 하위 호환성 보장이다.그런데 많은 개발자들이 하위호환성을 잘 모르고 상위호환성 개념과 혼동하기도 한다. 1. 하위호환성(Backward Compatibility)정의: 새로운 버전의 시스템이나 소프트웨어가 이전 버전과 호환되는 능력.특징:기존 코드나 기능이 새로운 환경에서도 문제 없이 작동함.사용자 입장에서 업데이트 시 추가 작업이 거의 없음.예시: JS는 과거에 작성된 코드가 최신 브라우저에서도 작동하도록 설계됨.2. 상위호환성(Forward Compatibility)정의: 현재 버전의 시스템이나 소프트웨어가 미래의 버전과 호환되는 능력.특징:미래의 기능이나 표준을 대비해 설계됨.보통은 제한적이며, 완벽한 구현이 어려움.예시: 새로운.. 2025. 1. 23.
02.컴퓨터 구조 컴퓨터는 언어를 이해하지 못한다.(java,C++,python,Js 등등)그래서 이런 언어들을 컴퓨터 언어로 번역해주는 작업이 필요하다. 그 작업을 컴파일(Compile)이라고 하고언어에 따라 두가지 방법으로 나뉜다.1.컴파일러(Compiler)전체 코드를 한 번에 번역해서 실행 파일(executable file)로 만들어주는 방식번역된 파일을 실행하니까 실행 속도가 빠르고, 한 번 번역만 하면 반복적으로 실행 가능예시 언어: C, C++, Java (Java는 살짝 애매하지만 컴파일 과정을 거친다.)작동 흐름:소스 코드 작성.컴파일 -> 실행 파일 생성.실행 파일 실행.컴파일은 마지막 한번(One-Time Process)2.인터프리터코드를 한 줄씩 읽어서 바로 실행하는 방식실행 속도는 느릴 수 있지만,.. 2025. 1. 22.
03.알고리즘의 효율 분석(BigO,시간&공간 복잡도) 여기서 가르치는 내용은 이러하다.어떤 알고리즘이 얼마나 잘 작동하는지 측정하는 작업 문제를 해결하는데 방법은 여러가지가 있다.예를 들어 for문을 돌리는 방법도 있겠고 아니면 수학을 이용해서 하는 방법도 있겠다.구현에만 초점을 두는 상황도 있겠지만 성능이 중요할 때가 분명히 있다.어느게 좋은 성능을 내는지 알기 위해 공부를 시작한다. 시간 복잡도알고리즘이 입력 크기에 따라 실행하는 데 걸리는 시간의 증가율을 나타내는 척도코드로 보자.function addUpTo(n) { let total = 0; for (let i = 0; i 지금 두 가지 코드를 가져왔는데 무엇이 더 오래 걸릴까?무엇이 더 좋은 코드일까?예를 들어 2번이 빠른 코드라고 한다면 그 이유는 무엇일까?첫번째는  n에 관련 된 연산 .. 2025. 1. 21.
You don't know JS (1.1~1.4) 오늘은 첫시간이라  챕터는 1.1~1.4까지 하기로 했다.1.1 책에 대하여1.2자바스크립트 이름의 유래1.3 명세서1.4 JS의 다양한 얼굴  1.1은 생략하고 1.2부터 시작한다. 1.1 JS랑 JAVA랑 연관이 있나요?일단 javascript의 어원부터 보면 좋을 거 같다.java + script인데 각각 이런 내용이다.java : oracle의 java가 당시에 유행이어서 어그로성으로 지었다(사실 java랑 상관 없음)script : 넷스케이프에서 웹사이트의 생동감 있는 느낌을 표현하기 위해 이름을 바꿨다.이 두가지를 더해서 javascript가 된 것이다.간단히 표로 보겠다. 1995Mocha넷스케이프라는 회사의 브랜던 아이크가 10일만에 만듦1995년 후반LiveScript생동력 있는 스크립트.. 2025. 1. 16.