전체 글

전체 글

    [TIL]Day3

    배운내용 자료구조의 종류 시간 복잡도 계산(빅오O()) 배열 연결리스트 스택 보충 해야할 내용들 Linked List 구현시 예외로 처리해야 할 것들이 있는지 더 생각해보자. DLL 구현 시 remove 함수에 대해서 더 생각해보자. Singly Linked List, Doubly Linked List, Circular Linked List를 어떻게 활용할 수 있을지 생각해보자. 자료구조를 사용할때 자료구조에 대해서 정확하게 알고있다면 실제로 해당 자료구조를 사용하지 않아도 마치 사용한 것 같은 효과를 낼 수 있다. 구현 해본 Doubly Linked List. /* DLL 구현. * Node : prev, next, value 필요. * DLL 본체 : head , tail , length * DLL ..

    [TIL]프로토타입

    프로토타입이 뭐야? 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. 그리고 이것은 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있게 한다. 이러한 부모 객체를 Prototype(프로토타입)객체 또는 줄여서 Prototype(프로토타입)이라 한다. Prototype 객체는 생성자 함수에 의해 생성된 각각의 객체에 공유 프로퍼티를 제공하기 위해 사용한다. 자바스크립트의 모든 객체는 [[Prototype]]이라는 인터널 슬룻을 가진다. [[Prototype]]의 값은 null 또는 객체이며 상속을 구 현하는데 사용된다. [[Prototype]] 객체의 데이터 프로퍼티는 get 액세스를 위해 상속되어 자식 객체의 프로퍼티처럼 사용할 수..

    [TIL]Day2

    배운내용 네트워크 통신의 기초 컴퓨터 시간의 원리 암호화 기초(단/양방향(대칭키, 비대칭키) 함수형 프로그래밍 객체지향과 프로토타입 이벤트 루프 모듈 유니코드 정규표현식 쿠키와 세션, 웹 스토리지 보충 해야할 내용들 자바스크립트에서 시간 표현하는 방법을 더 배워보자. 암호화에 대해서 좀더 찾아본다. 프로토 타입으로 상속을 흉내내는 방법에 대해서 더 알아보자. BOM(Byte order Mark). 정규표현식의 다양한 형태 접해보기. Run-length encoding 알고리즘. 세션이란 무엇인가? 참고 자바스크립트 시간 https://www.youtube.com/watch?v=CSWc0HYjxEs&t=1s

    [TIL]네트워크 통신

    네트워크 통신 [브라우저에 URL을 입력하면 무슨 일이 발생하나?] 1. URL을 해석한다. URL은 인터넷에서 자원의 위치를 나타낸다. protocol : 서로 다른 컴퓨터 간에 통신을 하기 위한 규약 host : 웹 페이지를 요청할 서버의 이름 port : 웹서버에서 자원에 접근하기 위해 사용하는 관문 Path : 웹서버에서 자원에 대한 경로 query : 추가로 서버에 보내는 파라미터. Fragment identifier : URL이 지정하는 자원의 세부 부분을 지정한다. 2. DNS를 조회한다. 이때 도메인과 호스트를 착각하지말자. 도메인은 그룹 개념이고 호스트는 그룹속에 속한 컴퓨터나 시스템 하나하나를 말한다. DNS는 도메인과 IP주소를 서로 변환해준다. 브라우저 캐시에 정보가 없다면 -> H..

    [TIL]Task Queue,Microtask Queue, Animation frames

    Task Queue(Macrotask Queue) 브라우저에서 실행되는 스크립트들은 어떻게 비동적으로, 동시작업을 진행할까? 브라우저에는 Event Loop라는 시스템이 있기 때문이다. Event Loop는 자바스크립트 엔진에 포함되어 있지 않고 브라우저나 Node.js에서 자체적으로 관리하고 있다. Task Queue는 setTimeout(), setInterval(), setImmediate()와 같은 task를 넘겨받는다. 이후 Call Stack이 비게되면 순차적으로 Call Stack으로 넘어간다. 그렇다면 Microtask Queue는? Microtask Queue Microtask Queue는 Promise나 async/await, process.nextTick, Object.observe,..

    [TIL]HTTP? HTTPS?

    HTTP? Hyper Text Transfer Protocol의 약자로 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜이다. 80번 포트를 사용하고 있으며 HTTP 서버가 80번 포트에서 요청을 기다리며, 클라이언트는 80번 포트로 요청을 보내게 된다. (포로토콜 : 컴퓨터 내부 혹은 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계) HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다. HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headerm, Body 등으로 구성된다. 하지만 HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이었다. HTTPS? Hyper Text Transfer Proto..

    [JS][백준]2294_동전 2

    문제 번호 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 알고리즘 분류 다이나믹 프로그래밍 문제 풀이 DP를 접할 때 거의 무조건 만나 볼 수밖에 없는 동전 문제이다. 여러 가지 형태의 동전 문제가 있지만 '동전 2'는 k원을 최소 개수의 동전을 사용해서 만들어야 한다. 이때 k원을 만들기 위해서 필요한 동전의 최소 개수를 저장하기 위해서 dp라는 배열을 사용하였다. k원 까지 만들어야 하니까 dp배열의 크기는 k+1이다.(0원도 생각해야 한다) 그리고 0원을 만드는 최소 개수..

    [TIL]호이스팅

    1. 호이스팅에 대해 알아보자. JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언전에 미리 할당하는 것을 의미한다. 2. Var, function var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화 한다. 반면 let, const로 선언한 변수의 경우 호이스팅 시 변수를 초기화 하지 않는다. hello(); function hello() { console.log('Hello'); } // 함수가 호이스팅되어 Hello 출력. 함수의 코드를 실행하기전에 함수 선언에 대한 메모리부터 할당하기 때문. console.log(num); // 호이스팅으로 인한 var '선언'으로 인해 undefined 출력. var num = 7; // 선..