ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL#7. IT 5분 잡학사전 ep35-38
    TIL 2023. 10. 17. 10:07
    728x90

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

     

    노마드 코더 Nomad Coders

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

    nomadcoders.co

    오늘 읽은 내용

    에피소드 35 - 비밀번호 저장 방법

    에피소드 36, 37 - 객체 지향 프로그램

    에피소드 38 - 함수형 프로그래밍

    기억할 내용

    [비밀번호 저장을 위해 사용하는 해시함수, 솔트]

    - 해시함수는 동일한 입력값에 대해 동일한 출력값을 가짐. / 입력값이 살짝 바뀌어도 출력값은 크게 변화 / 반대로 입력한다고 해서 원래 값이 나오지 않는다 (한 방향으로만 설계되어있음)

    - 하지만 해시함수도 '레인보우 테이블(해시 함수의 값을 원래 값과 연결한 테이블)' 때문에 완벽할 수 없다.  

    => 솔트(Salt)라는 무작위 텍스트를 비밀번호와 결합해서 해시함수를 통과시켜 보완

     

    [프로그래밍 패러다임]

    - 객체 지향 프로그래밍, 절차 지향 프로그래밍, 함수형 프로그래밍

     

    [객체 지향 프로그래밍]

    - class: 상품 찍어내는 '공장' 역할. 

    - 상속: 클래스와 같이 코드의 효율성을 높여주는 개념. 중복된 요소가 있을 경우, 해당 요소들을 상속받음 (예. 심즈 게임에서 기본 인간 속성은 상속. 성인, 아이에 따라 다른 특성만 부여)

     

    [함수형 프로그래밍]

    - 버그가 발생하기 어려운 구조

    - 함수형 프로그래밍을 지원하는 언어: 자바, 자바스크립트, 파이썬 등

    - 샌드위치를 만든다고 할 때, 선언형 프로그래밍은 "샌드위치를 만들어줘"라고 결과만 선언하고, 명령형은 "빵 2개 꺼내서 구워, 양상추 준비하고 토마토를 썰어라 등등"과 같이 결괏값에 도달하는 단계를 다 알려줌.

    - CSS가 대표적인 선언형

    - 명령형은 세세한 지시가 가능하지만 개발자가 실수할 수 있고, 코드를 이해하기 어려운 반면, 선언형 프로그래밍은 결과 중심으로 코드를 작성하니 실수도 적고 이해하기 좀 더 쉬움

     

    생각과 메모

    - <비전공자를 위한 이해할 수 있는 IT지식>이라는 책과 비교하게 된다. 그 책도 개발자가 아닌 사람들이 개발을 이해할 수 있게 하기 위해 쓰인 좋은 책이지만, IT5분 잡학 사전은 프로그래밍을 공부하기 위해 시작하는 사람들에게, 전체적인 개념과 중요한 포인트를 더 쉽게 이해하기에 좋다. 무엇보다, 현실적인 예시들로 '쉽게'설명한다는 것이 큰 장점. 

    - 이번에 책을 읽으면서 '어려운 개념을 쉽게 설명하는 것'의 중요성과 필요한 능력치에 대해 다시 생각해 볼 수 있었다. 얼만큼 본질을 정확하게 꿰뚫고 있는지, 중요한 것은 무엇인지 파악하고 중심을 잡는 것은 프로그래밍 공부뿐만 아니라, 다른 영역에서도 공통적으로 필요하다. 

     

    728x90
ⓒ 2023 GONI LAB.