본문 바로가기

전체 글100

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.
Node.js 교과서 PART2 (1) 호출 스택"누가 먼저 실행될까?"자바스크립트는 프링글스통과 같다.먼저 쌓인게 나중에 나간다.LIFO(Last in First Out) , 후입선출이라고 부른다. anonymous는 뭐야?anonymous는 **이름이 없는 함수(익명 함수)**를 호출할 때 호출 스택에 표시되는 기본 이름이다.브라우저나 Node.js가 코드의 시작점을 관리하기 위해 사용하는 기본 값이다.우리가 함수를 선언하면서 이름을 주지 않거나, 함수 표현식으로 함수를 만들어 사용하면 생긴다.즉 우리가 무언가를 실행하면 가장 밑에 깔리고 프로그램이 다 실행되고 annoymous까지 끝나야 실행이 끝난 것이다.  var,conmst,let var는 js의 적폐다. 적폐의 특성을 알아보자. 가장 큰 차이점 : 블록 스코프 (var는 함수 .. 2025. 1. 19.
Node.js 교과서 PART1 Node의 정의Node.js는 크롬 V8 자바스크립트 엔진으로 빌드 된 자바스크립트 런타임입니다.node는 서버도 아니고 JS엔진도 아니다.JS엔진을 사용 한 JS런타임이다. (런타임 : 프로그램이 실행되는 환경) JS는 원래 브라우저다. 노드 없었을 땐 JS는 원래 브라우저다. HTML에다가 스크립트,소스 등을 넣었다. 그럼 같이 읽었다 즉HTML이 없으면 JS를 못읽었다.(HTML에 종속되어 있다.)node.js를 쓰면 HTML이나 브라우저의 종속성에서 벗어난 것이다.브라우저,HTML이 없어도 실행할 수 있는 환경인 것이다.이게 왜 중요한가? JS가 app,게임 등 다양한 환경에서 만들 수 있다는 것이다.  노드는 서버 아닌가요? 엄밀히 말하면 서버가 아니라 서버로 쓸 수 있는 런타임이다.자바로 치면.. 2025. 1. 18.
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.
최적화 작업(삽질) (2/2) 나에겐 3번째 문제가 있었다."Properly size images" : 브라우저가 필요로 하는 크기보다 더 큰 이미지를 로드해서 성능이 떨어질 때 발생적절한 크기의 이미지를 요청하도록 설정해야 한다. 이 문제를 풀어야 하는데 전 글에서 말했듯 나는 S3 + CloudFront를 건드릴 수 없는 환경이다.포기할 순 없으니 CloudflareCDN을 사용하기로 했다. unplash라는 친구를 소개 하겠다.https://unsplash.com/ko 아름다운 무료 이미지 및 사진 | Unsplash어떤 프로젝트를 위해서든 다운로드 및 사용할 수 있는 아름다운 무료 이미지 및 사진입니다. 어떤 로열티 프리 또는 스톡 사진보다 좋습니다.unsplash.comUnsplash가 하는 역할:이미지를 저장, 최적화, 가.. 2025. 1. 13.