ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 220719 TIL
    TIL 2022. 7. 19. 22:10

    오늘 할 일

    • 항해99 알고리즘 주차 5일차. 별로 열심히 안했나 늘었다는 느낌이 크게 들지않는다. 마냥 놀진 않았는데 효율성에서 많이 떨어지는 공부를 했거나 앉아있는 시간에 비해 집중한 시간이 상대적으로 적었거나. 문법은 예전보다 많이 익숙해진 것같지만 메소드의 사용이나 효율성면에서는 아직도 많이 모자르다. 각 메소드의 사용방법이나 용어들을 익히는데에 거의 제일 많은 시간을 쏟는 것 같다. 그러다보니 정작 문제를 푸는 시간은 많이 부족하다. 오늘 내일은 풀었던 문제들이나 시간문제로 넘어갔었던 문제들을 다시한번 돌아보는 시간을 갖도록 생각하고있다.

    • 오늘은 알고리즘 모의고사를 푸는 날인데 어째 처참할 것같다ㅋㅋㅋㅋㅋㅋ 기본적인 코딩문법 익숙해지는 것과 이론적인 부분을 채워 주는 것. 둘 다 중요하지만 시간은 한정적이기 떄문에 마냥 한쪽으로만 투자할 수도 없다. 어제 중간에 기술매니저님께서 우리조에 들려서 하시는 말이 문제를 푸는데에 있어서 한문제에 30분이상 생각하는건 시간낭비고 비효율적이라고 말씀하셨다. 즉 바로 정답을 보고 흐름과 사용된 메소드 사용에 익숙해지고 익히는데에 집중하라는 것. 그렇게 주어진 문제를 빠른시간안에 전부 풀고 다시한번 풀어보는데 그때는 다른 방법을 사용해서 풀어보는게 좋다고 하셨다. 나는 문법자체가 어색해서 사용법과 메소드의 사용방식을 익히는 것만으로도 시간이 너무 부족해서 문제 풀 시간이 많이 부족한데 혹시 더 줄일방법은 없냐고 여쭤봤더니 딱히 해결책은 없고 그냥 mdn들어가서 해당 메소드 쭉 훝어보고 열심히 익히라고 하시길래 그냥 열심히 해야겟다고 답변드렸다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 하..ㅋㅋㅋㅋㅋ 역시 왕도는 없어.

    • 유튜브로 공부하는게 생각보다 괜찮다는 걸 깨달았다. 시간이 좀 넉넉하면 유튜브에 올라가있는 자바스크립트 생활코딩을 좀 진득하게 쭉 보고싶긴한데 전체를 다보기엔 너무 길다. 근데 어제도 느낀건데 메소드의 이해유무가 가장 기본적인 부분에서 갈리는 거같아서 틈틈히 봐줘야될 것 같기도 하다. 집중이 안되거나 밥먹을땐 틀어놓고 보면서 해야겠다. foreach와 for in 메소드 같은 경우만 보더라도 처음엔 대체 왜 for문에서 파생됐고 어떻게 사용되는지 이해가 안됐는데 객체와 배열의 차이점에 대해서 알자마자 바로 이해가 되었다. 이런 경우처럼 아무 것도 아닌 기본 개념에서 파생되고 사용되는 것들이 많기때문에 기본개념이나 용어에도 소홀히 하지않고 필사적으로 매달리면서 개념을 잡아줘야 빠르게 실력증진에 도움이 될 것같다. 

    오늘 한 것 & 봐야할 것

    • date() 메소드는 replit에서 돌릴때와 vscode에서 돌릴때의 차이점이 나서 어떻게 찍히는지 정확하게 console.log를 찍으면서 확인하는 것이 중요하다.  
    • getmonth() 메소드는 시작을 0부터 시작하기 때문에 +1을 해줘야한다. 일단 쓰기 전에 역시나 console.log를 생활화하자. date()관련 함수는 전부 마찬가지.
    • 단항 연산자
      일반적인 1+1 같은 건 피연산자가 두 개이므로 이항연산자지만, 피연산자가 하나인 +를 단항 연산자라고 한다.

      1) 문자열을 숫자타입으로 변환시킨다.
    let a = 'a'
    console.log(typeof a)
    console.log(typeof +a)

           2) true, false, null값 또한 숫자 타입으로 변환한다.

    console.log(true)   // ture
    console.log(+true)  // 1
    console.log(false)  // false
    console.log(+false) // 0
    console.log(null)   // null
    console.log(+null)  // 0

          3) 16진수와 이진법 수도 변환해준다. (다시 한번 찾아 볼 것)

          4) 단항 연산자를 사용할 수 없다면 NaN를 리턴한다. (NaN : Not a Number)

              문자열을 숫자로 변경할 수 없다면 NaN를 리턴한다. 대표적으로 문자열, 또는 빈 문자열이나 함수, 빈 객체는 숫자로 변환할 수 없기 

              때문에 NaN으로 리턴한다.

    console.log(+"abc"); // NaN
    console.log(+function(val) {return val}) // NaN
    console.log(+'')     // NaN
    console.log(+'123a') // NaN
    console.log(+{})     // NaN

     

    • 단항 부정 (-)
      위에는 단항 더하기 (+) 의 특징이었다면, 단항 부정에는 아래와 같은 특징이 있다.

      - 피연산자 앞에 붙어서 값의 부호를 바꾼다.
      1) 숫자 부정하기
    let a = -3
    console.log(-a) // 3

           2) 숫자가 아닌 값 부정하기

               단항 부정 연산자는 숫자가 아닌 값을 숫자로 변환할 수 있다.

    let x = "4"
    let y = -x
    
    console.log(x)        // 4
    console.log(typeof x) // string
    console.log(y)        // -4

     

    • ...spread, rest 정확한 사용법 정리



      항해 톡 발표 관련 키워드 정리.
    • Rest API 발표 내용 정리
      HTTP : 웹 브라우저와 웹서버가 통신을 할 떄 사용하는 통신 규칙
      Message
      HTTP는 Request와 Response를 나타낸다.
    • http: HyperText Transfer Protocol
      HyperText
      HTML = HyperText Markup Language  
      표시를 해둔다. 이동할 수 있는 링크를 지정하여 바로 이동할 수 있겠끔 해준다.
      전통적인 방식이라면 처음부터 끝까지 읽어내려야 할 수고를 덜어 준다.
      하이퍼 텍스트는 노드와 링크로 구성되어 있다. 
    • protocol
      흔히 볼 수 있는 거리의 신호등 처럼 정해진 규격 같은 개념이다.
      컴퓨터나 원거리 통신 장비 사이 메시지를 주고받는 양식과 규칙의 체계.
      ex) IP(Internet Protocol) -> 인터넷에 연결되어 있는 고유 주소

    • http는 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종. 서버와 클라이언트 사이에서 어떻게 메시지를 교환할 지 정해 놓은 규칙이다. 
    • 포트번호 -> 검색해볼 것 (포트번호의 역할)
    • http의 단점
      상대방이 누구인지 확인하지 않는다. -> 디도스 공격에 취약하다.
      암호화 하지 않은 통신이기 떄문에 도청이 가능하다. -> 아이디 패스워드같은 정보를 가로챌 수 있다.
      중간에 내용이 변질될 수 있기 때문에 내용에 신뢰성이 떨어진다.
    • 그래서  나온게 https이다. http + SSL = https
    • SSL이란
      SSL 보안 소켓 계층 ( Secure Sockets Layers)을 말한다.

     

     

     

    모던 자바스크립트 용어정리

    • 렌더링
      - 렌더링이란 HTML, CSS, javascript로 작성된 문서를 해석해서  브라우저에 시각적으로 출력하는 것을 말한다.
         때로는 서버에서 데이터를 HTML로 변환해서 브라우저에게 전달하는 과정 (SSR: Sever Side Rendering)을 가리키기도 한다.

     

     

     

    D-91.

    'TIL' 카테고리의 다른 글

    220721 TIL  (0) 2022.07.22
    220720 TIL  (0) 2022.07.21
    220718 TIL  (0) 2022.07.19
    220716 TIL  (0) 2022.07.18
    220715 TIL  (0) 2022.07.16
Designed by Tistory.