IT잡학사전 9일차

sky (polyjean)·2023년 9월 2일
0

reading

목록 보기
7/11

[노개북] IT잡학사전 9일차 : 26장~ 30장

오늘 TIL 요약

  • 같은 시간 복잡도라고 해도 평균 속도나 데이터의 특성에 따라 더 빠른 알고리즘이 있을 수 있다
  • 해시 테이블은 키와 값으로 구성되어있고 해시 함수를 통해 인덱스로 한번에 검색할 수 있게 해준다
  • 클린코드의 원칙에 따라 코드를 정리하고, 관리는 꾸준히 하자

TIL (Today I Learned) 날짜

2023-9-2

오늘 읽은 범위

p.154~181

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

  • 정렬 알고리즘 속도 순위: 현 위치는 왼쪽에서 오른쪽으로 이동하면서 O(N^2), 시간복잡도는 같지만 평균적으로 빠른 속도
    1. 삽입정렬 Insertion Sort : 현 위치의 앞에 있는 데이터와 비교해서 밀어넣고 그다음 사이클
    2. 선택정렬 Selection Sort : 현 위치와 전체 데이터중 가장 작은 데이터 탐색 교환 반복
    3. 버블정렬 Bubble Sort : 오른쪽 아이템과 비교하고 작으면 교환하는 것을 계속 반복
  • 스택은 접시 쌓기, 큐는 버스줄서기
    • 뒤로가기는 스택, cmd-z(ctrl-z)도 스택, 쇼핑몰 주문 처리는 큐
  • 해시 테이블은 키와 값(Value)로 짝지어 모은 것들
    • 검색할때 해시함수를 통해 인덱스로 바꿔서 바로 검색, 시간 복잡도 O(1)
    • 해시함수를 거쳐도 인덱스가 겹치는 경우 배열을 추가생성하는 등의 해결법을 사용한다
  • 클린코드 5가지 원칙
    • 의미있는 변수, 함수명을 적절히 사용(값을 그대로 쓰는 것보다 의미있는 이름을 쓰는 것)
    • 함수명은 동사로 짓기(하나의 일만 하는 함수를 나타낼 수 있다)
    • 매개변수는 너무 많이 쓰지 말것(Configuration Object로 의미있게 묶어쓰기도 권장)
    • Boolean(True/False)를 함수 인자로 보내지 말것(조건문은 분기가 있어 함수에게 두가지 일을 하게 한다)
    • 나만 아는 축약어는 쓰지 말 것
  • 프로그램은 책임있게 만들고, 끊임없이 관리해야 한다

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

클린코드 스터디 하고 있는데 원칙들을 잘 정리해주어서 다시한번 클린코드의 내용을 상기하게 되었다


노마드 게더타운 인증샷

노마드 게더타운 인증샷, sky

profile
front end developer

0개의 댓글