ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] IT 5분 잡학사전 #26-#29
    TIL 2024. 3. 23. 23:47
    728x90

    오늘 TIL 3줄 요약

    • 스택(stack)은 위에서 데이터를 쌓으며 위에서부터 데이터를 뺀다. 큐(queue) 는 위로 데이터를 쌓으며 아래에서부터 데이터를 뺀다.
    • 클린 코드란 설명이 필요 없는 코드를 말한다. 
    • 클린 코드에서 의미 있는 변수, 함수 사용과 함수 이름 짓기, 매개 변수, 불린값, 축약어 는 매우 중요하다.

     

    TIL (Today I Learned) 날짜

    2023.03.23

    오늘 읽은 범위

    3장. 코딩별 안내서_ 컴퓨터 공학 편

    에피소드 26. 정렬 알고리즘이 뭐죠?

    에피소드 27. 스택, 큐가 뭐죠?

    에피소드 28. 해시 테이블이 뭐죠?

    에피소드 29. 개발자 필수 소양, 클린 코드!

     

     

    책에서 기억하고 싶은 내용

    • 데이터를 순서 있게 정리하는 것을 정렬(sorting) 왼쪽 오른쪽만 보면서 정렬하는 버블 정렬, 하나를 콕 집어 가며 정렬하는 선택 정렬, 앞에 있는 데이터를 보면서 배치하는 삽입 정렬이 있다.
    • 스택(stack)은 위에서 데이터를 쌓으며 위에서부터 데이터를 뺀다. 배열이 수직적으로 쌓여 있다고 생각하고 맨 위를 정한다. 그래서 값을 추가하거나 삭제할 때 맨 위라고 정해 놓은 부분에서만 그 작업을 해야 한다. LIFO(last in, first out) 마지막에 들어간 녀석이 처음으로 나온다는 뜻으로 실제 스택은 뭘로 구현해도 상관이 없다.
    • 웹 브라우저의 뒤로 가기 버튼, 되돌리기 단축키(Ctrl + Z)는 스택이다.
    • 큐(queue) 는 위로 데이터를 쌓으며 아래에서부터 데이터를 뺀다. FIFO(first in, frist out) 뭘로 구현해도 상관 없으며 규칙만 지키면 된다.
    • 쇼핑몰 주문 처리 시스템은 큐다. 주문이 들어온 순서대로 데이터를 쌓고, 가장 먼저 온 주문부터 처리한다.
    • 해시 테이블은 키(단어)와 값(단어의 뜻)을 짝지어 모은 것이다.
    menu = [
      { name: "아메리카노", price: 10 },
      { name: "라떼", price: 12 },
      { name: "카모마일차", price: 15 },  
      { name: "케이크", price: 45 },
    ];
    
    // 라떼를 찾으려면 배열의 데이터를 처음부터 모두 확인(선형 검색)을 해야한다.
    
    menu = { 
      커피:10,
      라떼:12,
      카모마일차:15,
      케이크:45,
    };
    
    // 해시 테이블을 이용하면 라떼 가격을 선형 검색할 때보다 빠르게 알아낼 수 있다.
    // 사전처럼 사용할 수 있으며 라떼 가격을 알고 싶다면 데이터를 다 찾는 게 아니라 '라떼'를 검색하면 된다.

     

    • 클린 코드란 설명이 필요 없는 코드를 말한다. 코드를 읽기만 해도 이 코드가 무슨 일을 하는지, 어떤 것을 의미하는지 물어볼 필요도 없이 스르륵 이해되는 코드이다.
    • 의미 있는 변수와 함수의 이름을 적절히 사용하기, 함수 이름은 가급적 동사로 짓기, 매개변수는 너무 많이  쓰지 않기(함수에 값을 전달하기 위한것), 불린값을 인자로 보내지 않기(참 혹은 거짓을 위한 자료형인 불린을 함수의 인자로 보내지 않기, 축약어 쓰지 않기

     

    오늘 읽은 소감? 떠오르는 생각

    • 스택과 큐에 대해서 흥미롭게 읽었던 시간이었다. 특히 스택의 예시로 팬케이크를 들었는데, 사진이 함께 첨부되어 있어서 글로만 설명하는 것보다 기억에 오래 남을 것 같았다. 큐는 버스 정류장으로 예시를 들었는데, 한 번에 이해가 되었고 중요한 규칙에 대해서 다시 한번 생각해 보는 시간이 된 것 같다. 추가로 해시 테이블을 이용하면 선형 검색보다 데이터를 빠르게 찾을 수 있다는 점도 알게 되었다. 특히 클린 코드라는 책을 얼마 전 서점에서 봤었는데, 잡학사전을 읽으니 더 관심이 가게 되었고 코드에 관한 공부를 하면서 한 번쯤 읽어보는 것이 좋을 것 같다.

     

    728x90

    'TIL' 카테고리의 다른 글

    [TIL] IT 5분 잡학사전 #35-#38  (0) 2024.03.26
    [TIL] IT 5분 잡학사전 #30-#34  (0) 2024.03.24
    [TIL] IT 5분 잡학사전 #22-#25  (0) 2024.03.21
    [TIL] IT 5분 잡학사전 #16-#21  (0) 2024.03.21
    [TIL] IT 5분 잡학사전 중간 점검  (2) 2024.03.18
Designed by Tistory.