일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- ...args
- .toLocalString()
- 1주차
- 2020년 준비
- 2주차
- 4주차
- 5주차
- array
- array method
- async
- authentication
- AWS
- codestates
- commit
- Cookie
- CSS
- Data Structre
- Data Structure
- DataSturcutre
- Date.now()
- DB에 사진 저장하기
- Dev log
- DOM
- EC2
- EC2로 웹 만드는 방법
- EC2와 S3 연결하기
- element
- Es5
- ES6
- event 객체
- Today
- Total
souvenir
나는 미친듯이 멀티태스킹이 안되는 사람이다. 그래서 학교 다닐 때 자신이 좋아하는 노래를 들으면서 공부하는 친구들을 보면 그렇게 부럽고 대단하였다. 물론 시간이 지나 연습해보면서 어느정도의 멀티 태스킹이 가능하게 되었지만 여전히 쉽지 않다... (강제로 모든 것에 올인해야함) Why Async? 갑자기 멀티테스킹을 이야기 하는 이유는 내가 공부하고 있는 JavaScript라는 언어도 멀티태스킹이 안되는 언어이기 때문이다. call Stack에 함수를 쌓아서 stack의 순서대로 함수를 실행하는, C나 다른 언어들에 비하면 참으로 심플한 언어이다. 문제는 JS가 주로 웹에서 사용된다는 것이다. 이렇게 한번에 하나의 일만 하게 되면 어떻게 될까? 극적인 예시로 유튜브에서 영상을 보기위해 영상을 클릭했다고 하..
여기서 시간복잡도의 종류에 대해 간단하게 복습해보자면 (위에서 아래로 갈수록 worst한 복잡도이다) 시간복잡도 constant : 특정 상수로 '한번' 실행했을 때 결과가 나오는 경우 O(1) logarithmic : log n의 시간복잡도를 가지는 경우이다. 초반에는 다소 급격하게 증가하지만 이후로는 거의 복잡도가 증가하지 않는 형태를 보이고 있다. O(log n) linear : 선형 그래프를 그린다. 흔히 보는 y =x의 그래프의 형태로 시간복잡도가 증가한다. 대표적인 예로는 linked list의 탐색의 경우이다. O(n) quadratic : n^2의 형태로 복잡도가 증가하는 형태이다. 흔히 보는 y=x^2의 2차 방정식의 그래프 형태를 띄고 있다. 여기서부터는 알고리즘을 짤 때 피해야하는 시..
ES5 문법에서 객체 만들기 1. Functional var Car = function() {//Car라는 함수를 변수 선언식으로 만듭니다. 클래스 선언시는 대문자로 var someInstance = {};//반환할 객체, 즉 복제품(Instance)를 선언 someInstance.position = 0 ;//위치 속성 선언 someInstance.move = function() {//위치 이동하는 기능(method)을 함수로 선언함 this.position += 1; } return someInstance;//복제품(instance) 반환 }; var car1 = Car();//instance 만들기 및 method 실행 var car1 = Car(); car1.move(); 2. Functional ..
들어가며 개발과 전혀 상관 없던 사람으로서 언제 OOP를 처음 들어보았냐고 하면 대부분의 사람들이 컴활을 준비하면서 들었다고 할 것 같다. 'OOP의 대표적인 언어로는 JAVA가 있고, 특징으로는 '모듈화'가 있다.'라고 달달 외웠다. 이제와서 제대로 개발 공부를 하고, JS를 공부하고 귀동냥으로나마 다양한 컴퓨터 언어를 배우면서 OOP에 대한 정확한 개념 이해를 하는 것이 중요함을 느꼈다. 더욱이 ES6 문법이 등장하면서 OOP의 언저리에 있던 JS 또한 OOP에 가까워졌다고 말하는 의견도 있다. 일단 이 문서에서는 객체지향 프로그램이란 무엇인지 ES5 문법과 ES6로 객체를 만드는 차이 프로토타입이란 무엇인지에 대해이야기 해보고자 한다. 객체지향 프로그램 1) 객체지향언어 vs 절차지향언어 일단 정의..
오답노트 2. Linked List의 시간 복잡도를 Big-O 표기법으로 나타낸 것 중 틀린 것은? Access - O(1) 내가 작성한 답 : Insert - O(n) ⇒ 연결 리스트의 경우 접근은 전체 리스트를 순회해야 하므로 O(n)이 맞다. 이전 문제에서는 O(1)로 선택했기에 어려웠다. 제일 끝에 추가해야 하거나 추가해야하는 위치를 모르는 경우 insert도 O(n)의 시간복잡도를 가질 수 있다. 그 외의 답 Search - O(n) Delete - O(n) 사실 이 문제는 그리 정확한 문제는 아닌 것 같다. '가장' 옳지 않은 답을 고르는 문제였던 것 같다. 5. 다음의 시간 복잡도를 가지는 알고리즘들이 있을 때, 가장 느린 것과 가장 빠른 것을 모두 고르면? (단, n ≥ 10,000) O(..