[노개북!] 09. TIL: IT 5분 잡학사전

Haru ☁·2023년 9월 5일
0

TIL (23.09.05.화)

Day 12

📙 IT 5분 잡학사전
📑 오늘 읽은 범위: episode 35~38

✅ 세 줄 요약


  1. 비밀번호는 해수함수와 솔트를 이용해서..
  2. 프로그래밍 패러다임은 프로그래머가 프로그래밍을 할 때의 관점, 방식을 말함
  3. 모든 선언형 프로그래밍은 명령형 프로그래밍 위에 쓴다고 이야기할 수 있음

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


35장. 비밀번호는 어떻게 저장될까?

  • 잘못된 방법
    비밀번호를 데이터베이스에 그대로 저장하는 것
    데이터베이스 자체를 암호화하는 것, 그러나 키를 잃어버리거나 누군가 그 키를 훔치면 큰일난다.

➡ 해시 함수를 사용하면 비밀번호 시스템을 더 안전하게 구현할 수 있다.
(해시 함수를 사용하면 비밀번호를 무작위 값으로 둔갑시켜 준다)

  • 해시 함수
    규칙1. 동일한 입력값에 대해 동일한 출력값을 가진다.
    규칙2. 입력값이 아주 살짝만 바뀌어도 출력값은 엄청나게 크게 바뀐다.
    규칙3. 반대로 입력한다고 해서 원해 값이 나오지 않는다.

그러나 해시함수도 완벽하지 않다.
'레인보우 테이블'(해시함수가 변경한 값을 원래의 값과 연결한 표)이라는 것이 있기 때문.

'솔트'를 이용!**
➡ 비밀번호를 무작위 텍스트인 솔트와 합쳐서 해시함수에 통과시키면 레인보우 테이블이 있어도 원래 비밀번호를 찾을 수 없다.

36~37장. 객체 지향 프로그래밍

  • 프로그래밍 패러다임(programming paradigm)
    프로그래머가 프로그래밍을 할 때의 관점, 방식을 말함
    프로그래밍 언어는 프로그래밍 패러다임을 하나 또는 하나 이상을 지원함
    절차 지향 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍

➡ 반복되는 같은 속성을 객체 지향 프로그래밍의 '클래스'라는 개념으로 구조를 만듦.
➡ 코드 중복 시, '상속'을 활용하여 중복해결과 코드의 양을 줄이고 의미도 명확하게 함.

38장. 함수형 프로그래밍

  • 선언형 프로그래밍 & 명령형 프로그래밍
    - 선언형 프로그래밍은 원하는 결과값을 선언. ex)샌드위치 만들어줘, css

    • 명령형 프로그래밍은 원하는 결괏값에 어떻게 도달하는지 선언. ex) 샌드위치를 만드는 과정을 상세히 설명
      모든 선언형 프로그래밍은 명령형 프로그래밍 위에 쓴다고 이야기할 수 있음
  • 함수형 프로그래밍
    함수 중심으로 코드를 적는 방식으로 선언형 프로그래밍 콘셉트를 유지한다.

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


해시함수와 솔트를 이용해 비밀번호를 저장하는 방법을 직접 구현해보고 이번장을 읽어보니 정리도 되고 이해도 쉬웠다. 사실 오늘 읽은 부분에서 가장 재밌고 알차게 봤던 부분은 함수형 프로그래밍이었다. 자바스크립트에서 어떤 일을 수행하는 함수를 만들고, 그 함수를 활용해서 선언형 프로그래밍을 하는 방법으로 연습해왔는데, 사실 그 개념은 자세히 몰랐었고 있는지도 몰랐다. 그러나 오늘 읽고 그부분에 대한 지식을 습득할 수 있어 좋았다.

❔ 궁금한 내용은?


없음!

❗ 오늘의 미션!


없음!

profile
😆 I CAN DO IT!

0개의 댓글