ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2019.05.03] Highring Accessment 전 날...
    핵인싸 개발자의 길/코드스테이츠 Immersive Course 2019. 5. 3. 20:35

    어제부로 모든 스프린트는 다 끝내고, 오늘은 중간중간에 미니 세션과 내일 있을 Highring accessment 시험대비를 했다.

    (오늘 옆에서는 11기 데모데이를 진행했다.)

    어제 저녁까지만 해도 일정에, 하루종일 시험 대비를 할 수 있도록 시간이 짜여져 있었는데, 오늘 아침에 갑자기 이것저것 세션과 일정이 들어간 것을 보고 당황했다. 나 뿐만이 아니라, 다른 분들도 전부 이게 뭐냐며... 그래서 오늘 점심먹고 뜬금없이 프로젝트 아이디어 쉐어링 세션이랍시고, 아이디어 가지고 있는거 공유하라고 해서...다들 분노...ㅜㅜ

    뭐..오늘 그런 일이 있었고..우선 오늘 나름 시험 대비를 하고, 11기 데모데이 진행한 내용을 잠깐 상영할 수 있었다. 다른 것들도 전부 관심이 많이 가긴 했으나, 무엇보다 프로젝트에 프론트엔드 단을 리액트가 아닌, 뷰(Vue)로 진행한 팀이 있었다.

    내가 아주 관심을 많이 가지고 무척 배우고픈 Vue.js..ㅜㅜ 4주 프로젝트에 Vue.js를 이용했다는 말에, 기술세션에 해당팀으로 들어가서 구경했다.

    내가 좋아하는 초록색 계열의 Vue.js 마크...ㅎㅎ (근데 Vue.js가 중국산이라는 사실을 오늘 동기에 의해 알게 되었다..)

     

    우선, SA 네 문제 두번 정도 싹 풀어보고, 체크포인트 다시 점검했다. 내일 12시부터 7시까지 시험이 진행되는데, 잘 칠 것 같다.!

    느낌이 좋다.! 한번에 합격해서 솔로위크 때 다른 부족한 부분을 보완할 수 있는 시간으로 가득 채웠으면 좋겠다.

     

    Check Point

    1 - 전역변수, 지역변수

    함수 내에서 언제 전역변수를 가리키고 언제 지역변수를 가리키는지

    2 - 클로저

    클로저의 정의: 리턴값으로 함수를 반환하고, 반환된 함수는, 반환 자신을 감싸고 있던 함수 안의 데이터를 참조하고 있어야 한다.

     3 - this

     변수 안의 함수는 바딩인 것은 아니므로, arrowFunction으로 하면 this window

    ex)

    var obj = {
      foo : function(){console.log(this);} // this는 obj  
    
    }  
    
    var obj = { 
    
      foo : () => {console.log(this);} // this는 window. obj 안에 선언했다고 obj로 바인딩 된 것이 아님!, class 안에 함수 선언하는 것은 바인딩 하는 것임!
    
    }

    this 가리키는 문맥을 식별하는데 적용되는 패던 5가지

    • 전역 호출 - window
    • 일반함수 호출 - window
    • object 안의 메소드 호출 - 부모객체
    • call, apply, bind - 명시적 지정
    • new 생성자

    헷갈렸던 문제

    var obj = {
    
      foo: function(){
    
        console.log(this);          -> console.log(this)는 obj2 or foo:obj.foo를 찍는다.
    
      }
    
    }
    
    var obj2 = {
      foo: obj.foo
    }
    
    obj.foo.call(obj2);

    this는  함수가 정의되는 시점이 아닌, 실행되는 시점에 바인딩이 된다.

    4 - Object.create, __proto__, prototype

    var test1 = {x:1};
    
    var test2 = Object.create(test1); // var test2 = {__proto__ : test1} 와 같음. 숨겨진 object
    
    console.log(test2) // {}
    
    console.log(test2.x) // 1
    
    test2.x = 10;       
    
    console.log(test.x) // test2.x = 10은, 이제 실제로 test2의 x객체로 저장한 것이므로, test는 변하지 않음
    var test1 = {x:10};
    
    var test2 = Object.create(test1);
    
    var test3 = Object.create(test2);
    
    
    
    test2.x += test2.x + 5;
    
    var result = test3.x; // result는 15

    5 - Time Complexity

    What is the Big O time complexity of retrieving the value at a specific index in an array? 

    : O(1) , 해석 : 특정 인덱스로 바로 접근해서 값을 가져오는 행위는 한번에 가능 (값을 가져오는 행위만 . 탐색은 하지 않는다)

     

    What is the Big O time complexity for removing an element at a specific index from an array?

    : O(n) , 해석 : 배열에서는 특정 인덱스를 삭제 , 앞으로 땡겨지는 작업에 O(n) 걸린다 (인덱스만 지운다고 끝나는 것이 아님!)

     

    What is the Big O time complexity for retrieving the value at a specific index in a linked list? 

    : O(n) , 해석 : 링크드리스트는 해당 값이 access 되어있지 않으면 처음부터 링크를 타고 search 해야함.

    6 - new 키워드

    7 - setTimeout, this

    var test = {
    
      name : 'inyong',
    
      func: function(){
    
          console.log(this);     
    
      }
    
    };
    
    setTimeout(test.func,1000); // 1초 뒤에 window
    
    setTimeout(function(){test.func()},1000); // 1초 뒤에 test Object.   

    둘의 차이 이해하기!!

    8 - CallBacks

    9 - value vs Reference

    var player = { score: 3 };
    
    function doStuff(obj) {
      obj = {};
    }
    
    player = doStuff(player);    -> 답은 undefind  

    9 - value vs Reference

    10 - Order of Execution 데이터 적용 시점

    함수 변수 선언 중에는 절대 자기 자신을 참조할 없음.

    ex) 
    
    var test = {
    
      a : 10;
    
      b : a;
    
    }
    
    test.b // Reference error

    11 - React

    1,4,5 틀립 - 전체적으로 checkpoint  영상 한번 보기

    12 - module.export, require, setTimeout 실행순서

    13 - DataBase

    --------------------------------------

    call this 넣는 까먹음.

    util.promisify 단순히, promise 방식으로 만들어 주는 것임. promise 방식으로 돌리는 것으로 헷갈리지 않기!

    반응형

    댓글

Designed by Tistory.