목록root (105)
책 읽다가 코딩하다 죽을래
🤔 우린 한 번이라도 고민해본 적이 있지 않은가? 우리가 흔히 아는 배열은 다음과 같다 만약 c언어의 배열인 int sample[5] = [11,22,33,44,55]; 라는 배열이 있다고 생각해보자 그럼 첫번째부터 마지막까지 순서대로 나열되어 메모리에 할당된다는 것은 다 알고 있을 것이다. 여기서 중요한건 메모리에 들어가는 데이터 타입이 한 가지(정수를 나타내는 int는 4byte)로 통일되어있으니 모든 배열의 요소는 4바이트씩 할당되어 빈틈없이 연속적으로 나열된다. 즉 자료구조에서 말하는 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열되는 자료구조이다. 우리는 이러한 배열을 밀집 배열(dense array)라 부른다. 하지만 자바스크립트의 배열은 다르다. const array = [ 's..
대부분 사람은 == 은 쓰지 말고 === 을 지향하라는 말을 많이 들어봤을 것입니다. 물론 저도 그렇게 생각합니다. 하지만 왜 그런지 이유를 아는 것도 중요하죠 그럼 이제 == 과 === 의 비교 원리에 대해서 알아봅시다. 📖 == (동등 비교 연산자) 동등 비교 연산자는 좌항과 우항의 값이 같으면 true를 반환합니다. 여기서 둘의 타입이 다르면 자바스크립트 엔진이 하나의 타입으로 통일해서 비교하려는 성질을 갖습니다. 예를 들어보겠습니다. // 타입이 같으면 그대로 비교한다. 5 == 5; // true // 타입이 다르면 암묵적 타입 변환을 통해 타입을 일치시켜서 동등하면 true를 반환합니다. // '5'를 number로 바꾸면 5가 되니 true입니다. 5 == '5' // true // 빈 문자..
📝 문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수입니다. 예를 들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 📑 제한 사항 n은 2 이상 100,000 이하인 자연수입니다. 📋 입출력 예 n return 3 2 5 5 📝 코드 function solution(n) { let mem..
🤔 실행 환경을 배워야 하는 이유 코드는 정적이다. 여러분들이 코딩을 끝마치고 컴파일을 하여도 변함이 없고 실제 런타임 때나 서버가 돌아가는 와중에도 코드는 자기가 스스로 변하지 않는다. 하지만 이런 변함없는 코드일지라도 실제 내부적으로는 그 코드 속 변수, 함수들은 항상 똑같이 행동하지 않고, 똑같은 것을 참조하지 않는다. 그것은 대부분 자바스크립트 엔진 작동원리의 핵심 개념인 실행 환경을 알면은 굳이 컴파일을 하지 않아도 예상할 수 있게 된다. 또한 개발자는 당연히 예상이 가능해야지 정상적인 개발을 할 수 있을 것이다. 그러므로 이런 동적인 움직임을 갖고 있는 자바스크립트 코딩을 하려면 실행 환경을 배워야 한다. 또한 이 개념은 hosting, this와도 밀접한 연결이 있다. 📖 실행 환경의 사전적..
📖 웹 브라우저와 웹 서버 우리가 크롬이나 파이어폭스 같은 브라우저를 실행하여 어느 웹사이트에 들어가기 위해서는 두 가지가 필요하다. 하나는 크롬과 파이어폭스 같은 웹 브라우저, 그리고 나머지 하나는 웹사이트의 정보를 웹 브라우저에게 주는 웹 서버가 필요하다. 웹 브라우저와 웹 서버를 더 넓은 개념으로 보자면 request를 하는 클라이언트(웹 브라우저)와 request를 받으면 response를 하는 서버(웹 서버)가 필요한 것이다. 📖 사용자가 웹 사이트 정보를 받아오는 과정 우리가 웹사이트에 접속하면은 총 3단계를 거쳐 웹 정보를 받아오게 됩니다. 1. 웹사이트의 url을 주소창에 직접적으로 입력하거나 또는 간접적으로 입력하는 방식을 따른다. 2. 웹 브라우저가 url을 읽고 해당 웹 서버에 가서 ..
🧾 이 강의는 시리즈 별로 되어있습니다. 이 강의를 읽기 전에 확인하세요! 자바스크립트 prototype에 대해 지금 같이 알아볼까?[클릭] prototype으로 배워보는 메소드 상속 및 동작 원리[클릭] prototype chaining에 대해 알아보기 위해선 구글링 해서 개념을 이해하기보다는 실제로 사용해서 알아보는 것이 나을 것이다. 📚 prototype chaining이란? ctrl + shift + j 눌러 크롬 개발자 도구 콘솔 창을 열어 다음과 같이 입력해보자 배열 리터럴 [1,2,3]의 prototype을 알아보기 위한 코드이다. 다음과 같은 출력이 나오는데 출력 코드를 한 번 더 클릭하여 펼쳐보자 클릭하면 [1,2,3]에 대한 정보가 나와있는데 [1,2,3]에 생성자가 array라는 것이..