ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL#5. IT 5분 잡학사전 ep26-29
    TIL 2023. 10. 13. 09:14
    728x90

    노마드코더의 북클럽 챌린지 IT 5분 잡학사전

     

    노마드 코더 Nomad Coders

    코딩은 진짜를 만들어보는거야!. 실제 구현되어 있는 서비스를 한땀 한땀 따라 만들면서 코딩을 배우세요!

    nomadcoders.co

     

    오늘 읽은 내용

    에피소드 26 - 정렬 알고리즘

    에피소드 27 - 스택(Stack), 큐(Queue)

    에피소드 28 - 해시테이블

    에피소드 29 - 클린 코드

     

    기억할 내용

    - 정렬 방식: 버블 / 선택 / 삽입 => 시간복잡도는 같아도 평균적으로 빠른 알고리즘은 존재할 수 있음.

    - 큐나 스택은 기존 프로그래밍 언어 문법으로 데이터를 저장할 때 어떤 규칙만 부여하기 때문에 실제로 형태가 있지 않음 (Abstract Data Type, ADT)

    - 스택의 규칙: 위에서 데이터를 쌓는다. 위부터 데이터를 뺸다. => LIFO (Last in, First out) (팬케이크 쌓고 하나씩 먹기!)

    - 큐의 규칙: 먼저 들어온 데이터가 먼저 빠져나감. 위로 데이터를 쌓는다. 아래부터 데이터를 뺀다 (버스정류장 먼저 온사람 순서로 줄 서고, 맨 앞사람부터 버스탐!) => FIFO (First in, First out). 선입선출 개념

    - 웹 브라우저의 뒤로 가기 버튼은 스택. 맨 마지막 방문한 페이지를 뺴는 규칙

    - 되돌리기 단축키도 스택. 마지막 실행 기록을 빼서 없애는것.

    - 쇼핑몰 주문 처리 시스템은 큐. 주문이 들어오는 순서대로 데이터를 쌓고 가장 먼저 온 주문부터 처리.

    - 배열 검색과 해시 테이블 검색의 시간 복잡도는 각각 O(N), O(1). 해시테이블에 데이터 추가, 삭제할 때도 동일=> 작업 효율이 좋음 (해시 충돌을 추가로 처리해야 한다면 항상 O(1)은 아닐 수 있음)

    - 해시 테이블 속도의 비결은 해시 함수: 검색할 때 쓰는 키를 숫자, 즉 인덱스로 바꿔주는 역할

    - 클린 코드: 설명이 필요 없는 코드

     

    [클린 코드 원칙] *참고할 도서: 클린코드

    1. 의미 있는 변수, 함수의 이름을 적절히 사용하기

    2. 함수 이름은 가급적 동사로 짓기

    function userData(){
    }
    => userData가 무슨 함수인지 알수없음
    
    function loadUserData(){
    }
    => UserData를 호출하는 함수구나!

    동사로 함수명을 지으면, 함수가 너무 많은 기능을 수행하고 있는지 알 수 있음. (함수는 1가지 역할만 해야 함)

    3. 매개 변수를 너무 많이 쓰지 않기: 3개 이하가 좋음

    4. Boolean 값(True or False)을 인자로 보내지 않기*

    5. 축약어 사용 자제

     

    생각과 메모

    프로그래밍이든, 어떤 일이든 지치지않고 꾸준하게 하루하루를 채우는게 무엇보다 중요하다. 지난 몇달간 힘든 시기를 보내면서 깨달은 것은 멀어보이는 목표에만 집중하지말고, '하루'를 성실하게 잘 보내야한다는 것. 번아웃을 막고, 대처하기 위해 나는 이런 방식을 지키려고 한다.

     

    1. 1년, 6개월, 3개월, 한달, 일주일 => 이 순서로 목표를 정하고, 그 주와 매일 해야하는 일들을 '너무 빡빡하지 않게' 계획하는 편이다. 큰 전지를 사서 손으로 적고 포스트잇을 붙여둔다.

     

    2. 몰입하는 시간과 별개로 '의식적으로 떨어져서' 쉬는 시간과 운동하는 시간을 정해서 지키려고 노력. 회사를 다니지 않고 스스로 프로젝트를 이끌어야하기때문에 특히 더 관리가 필요한데, 쉴때는 집근처 산의 산책로를 걷고 초록색을 많이 눈에 담으려고 애쓰는 편이다. 

     

    https://nomadcoders.slack.com/archives/C04GZRR7D9P/p1697246613177239

     

    Slack

     

    nomadcoders.slack.com

     

    728x90

    'TIL' 카테고리의 다른 글

    TIL#7. IT 5분 잡학사전 ep35-38  (2) 2023.10.17
    TIL#6. IT 5분 잡학사전 ep30-34  (2) 2023.10.15
    TIL#4. IT 5분 잡학사전  (23) 2023.10.12
    TIL#3. IT 5분 잡학사전  (1) 2023.10.11
    TIL#2. IT 5분 잡학사전  (34) 2023.10.10
ⓒ 2023 GONI LAB.