분류 전체보기188 주소공유/Object.create()/Object.assign() 주소 공유?? Shallow copy? Deep copy? 이 개념들에 대해서는 분명히 프리때 다뤘다... 분명히 다뤘었지..ㅠ 하지만 이것저것 한번에 많은 개념들을 배우다 보니 제대로 보지 못한 부분들이 많았다.. 심지어 배웠는지 안배웠는지 기억조차,, 안 나는... 그렇다면 이번 블로깅을 통해 다시 공부해보자!!!! 1. 프리 때 배운 '주소를 공유한다.'라는 말을 오늘에서야 깨달았다.. let b =a라고 선언한 것은 b가 a의 요소들을 shallow copy 한 것이 아닌 주소를 공유하고 있는 것이다. 이전에 주소를 공유하고 있다고 말을 들었을 때, 무슨 말인지 제대로 이해하지 못했다. '주소 공유'라는 말은 모르겠고... (주소 공유를 shallow copy의 개념으로 이해했다 ㅠㅠㅠ) a의 객.. 2020. 11. 5. 11/4 오늘은 10월 19일부터 지금까지 Immersive course에서 배운 내용들을 점검할 수 있는 HA test를 치렀다. 09시부터 18시 총 9시간 동안 객관식 19문제, 코딩 테스트 6문제로 총 25문제로 구성된 문제들을 해결해야 했다. (나는 21시를 넘겨서 제출했다..ㅠ) 문제들은 지금까지 배웠던 data structure와 객체지향의 개념들을 중심으로 출제되었다. immersive의 첫 테스트는 pre때 봤던 시험보다 쉽다고 했는데... 나는 개인적으로 이번 시험이 더 어려웠다. 문제를 보고 이해한 것을 코딩으로 구현하는 데에는 생각보다 시간이 오래 걸리 않았다. 하지만?? 빨간색 불들은 초록색으로 바뀌지 않았다.. 내가 구현한 코드들은 모두 잘못된 코드였다. (문제를 완벽하게 잘못 이해하고 .. 2020. 11. 4. N-Queens N-Queens 스프린트를 진행했다. n-queens는 n*n의 체스판에 n개의 여왕을 둘 수 있는 모든 경우의 수를 탐색하는 알고리즘이다. 이번 스프린트를 하기 위해서 필요한 개념은 recursion, tree, backtracking, DFS (BFS) 개념이다. 스프린트를 진행하기 앞서 무슨 개념인지 살펴보자. 1. 재귀 recursion. 어떤 문제를 해결하기 위해서 문제를 나눌 수 있을 때까지 작게 나눈 후, 작아진 문제부터 풀어나가는 알고리즘을 말한다. 재귀하면 인셉션이 생각난다. 꿈속에 꿈속에 꿈속에 꿈속..... 재귀 알고리즘은 다음과 같은 상황에서 사용하기 적합하다. 1. 주어진 문제가 작은 문제로 나누어질 수 있는 경우 (2^3을 생각해보면 2*(2*2)라고 생각할 수 있다.) 2. 중.. 2020. 11. 3. 11/3 11/2일 까지는 블로깅한 부분을 체크하고 수정을 하는 시간을 가졌다. 과거에 썼던 내용을 다시 정리하려고 하다보니 내가 알고 있었다고 착각한 부분들도 많았고 까먹은 부분들도 굉장히 많았다. 복습의 중요성 ㅠㅠ 하루에 1 블로깅을 목표로 했는데 .. 벌써 이렇게 많은 글들이 ... 쌓였다. [이렇게 시간이 걸릴지 몰랐다.] 블로깅 수정하면서 잊고 있었던 부분이나 수정했던 부분들을 기록 했어야 했는데.. 블로깅 수정에만 초점을 두니 그러지 못했다 .. 다음부턴 수정한 부분들에 대한 것들도 블로깅으로 남겨야겠다 : ) 2020. 11. 3. Class sprint 중 setTimeout // super setTimeout에서 두번째 매개변수에 this는 window를 가르키지 않는 이유. setTimeout 함수를 실행시키면 callback 함수에 들어가는 this는 setTimeout의 속성으로 object의 객체인 window를 향한다. 하지만 그 외 다른 파라미터의 this는 window를 가르키지 않는다. 고로 setTimeout의 delay부분은 init.js에서 랜덤으로 생성된 시간을 가져와야 하기 때문에 this를 사용해준다. function createDancerElement() { let elDancer = document.createElement("span"); elDancer.innerHTML = ""; elDancer.className = "dancer"; return elDanc.. 2020. 10. 30. 3.조건문과 루프 오늘은 조건문과 루프에 대해서 배웠다. 조건문과 루프를 배우기 전 스크래치를 통해서 컴퓨터가 어떻게 기능을 수행하는지 배웠기에 받아들이는데 굉장히 도움이 많이 되었다. 왼쪽의 스크래치 블럭을 보면 counter라는 변수에 0을 담는다. 라는 명령을 실행시키고 있다. 이를 C에서는 int counter = 0; 이라고 표현하는데 이때 int는 interger의 약자로 정수를 뜻하며 뒤에 나올 변수의 타입이 정수일 것이라고 알려준다. 뒤에 변수는 값을 담을 변수의 이름을 써주며 그 다음 = 을 통해 값을 변수 counter에 담는다. 이때 =는 수학에서의 같다. 라는 의미가 아닌 등호를 기준으로 오른쪽의 값을 왼쪽으로 저장한다. 라는 의미로 생각하면 된다. 다음 스크래치 블럭을 보면 counter = 0 을.. 2020. 10. 30. 2.String String(문자열) 따옴표, 큰따옴표 안에 들어간 0개 이상의 문자 배열을 말한다. (' ', " ") 여기서 0개 이상인 이유는 따옴표만 존재해도 컴퓨터는 빈 문자열(빈 객체)로 인식하는데 그 역시 문자열이다. 왼쪽에서 ask를 실행시키면 What's your name? 이라는 문장이 실행된다. 이 것을 C로 만들 때에는 string(형식지정자), answer(변수 이름) =get_string(함수) ' What's your name? \n' (함수에 의해 실행될 문자열) ; (세미콜론) 의 구성으로 만들 수 있다. 형식지정자 컴퓨터에게 지금 동작을 실행할 요소들이 string이라고 말해주는 것. (변수가 저장하는 데이터의 종류를 아주 정확하게 명시) 변수 어떤 동작을 실행시킬 때 해당 동작에 관한 .. 2020. 10. 29. 10/29 잊기전에 메모... psuedo classical -부모객체의 프러퍼티를 가져오려면 call이나 apply로 묶어서 가져온다. (Parent.call(this, ....args)) -상속을 받기 위해서는 ? 1단계 자신.prototype에 Object.create(부모객체.prototype)를 추가 2단계 1단계만 실행할 경우 객체안의 실행자(constructor)은 부모이기 때문에 이를 자신으로 바꿔줘야 한다. 하지만 es6의 class 함수는 그 기능이 내장되어 있어 call이나 bind를 하지 않아도 가져올 수 있다. 2020. 10. 29. time complexity Complexity Analasis 복잡도 분석 문제를 해결할 때 필요한 시간과 공간(저장공간)을 계산한 것을 말한다. 복잡도 분석을 하는 이유는? 알고리즘의 효율성을 위해서! 문제가 작을 때에는 알고리즘에 대한 효율성은 문제가 되지 않지만 문제가 커질수록 복잡도 분석이 중요해진다. 시간 복잡도를 표현하는 방식으로는 Big O 표기법을 사용한다. en.wikipedia.org/wiki/Big_O_notation Big O notation - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Notation describing limiting behavior Example of Big O notation: f(.. 2020. 10. 28. 이전 1 ··· 11 12 13 14 15 16 17 ··· 21 다음