Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

DAY 9

#book_club
3년 전
683

오늘 TIL 3줄 요약

  • 정렬알고리즘 3가지로 보는 시간복잡도와 진짜 걸리는 시간의 차이

  • 스택 큐의 개념 및 용도, 해시테이블의 빠른 속도와 그 안의 해시함수의 작동원리

  • 코드를 쓸 때 반드시 지켜야 하는 것 5가지.

TIL (Today I Learned) 날짜

2023.01.21

오늘 읽은 범위

에피소드 26~에피소드29

책에서 기억하고 싶은 내용을 써보세요.

  • 정렬 알고리즘 3가지인 버블 정렬, 선택정렬, 삽입정렬은 시간 복잡도는 O(N^2)으로 같지만 알고리즘은 초기 데이터 상태에 따라 처리속도가 다를 수 있다. (~p.159)

  • 웹 브라우저의 뒤로가기 버튼과 되돌리기 단축키는 스택이다, 쇼핑몰 주문 처리시스템은 큐다. (~p.166)

  • 해시 테이블의 시간복잡도는 O(1)이다. 해시함수의 구성원리로 인해 해시충돌이 일어날 수 있다. 12000원으로 같은 값의 음식을 찾는 다면 인덱스 2를 얻고 그 안에서 선형검색을 한다.(~p.172)

  • 개발자라면 클린코드라는 책을 꼭 읽어야 한다.
    책 핵심 :
    1. 86400 을 그대로 쓰면 무슨 뜻인지 모른다. SECONDS_IN_A_DAY 변수에 담아 사용한다.
    2. userData 보다는 loadUserData 처럼 뭘 하는 지 명확히 하자.


    3. 매개변수를 많이 사용하지 않는다.
    function makePayment(price, productId, size, quantity, userId, ........){} (X)
    function makePayment({price, productId, size, quantity, userId, ........}){}


    makePayment({
    price : 35,


    product : 5,
    size : "xl",


    .
    .
    . (O)


    4. 불린값을 인자로 보내지 말자.


    5. u(X) user(O)


    e(X) email(O)

    (~p.178)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 초기 데이터값에 따라 시간복잡도가 같아도 속도차이가 있을 수 있다는 것을 명심해야 할 것 같다.

  • 클린코드를 위한 사항들을 보며 내가 저지른 실수들이 생각났다... 위 사항들을 지키며 코드를 작성해야겠다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 없음.

오늘 읽은 다른사람의 TIL