2주간의 책 읽기 D+12

Hodu-C·2023년 1월 24일
0

Today I Read

목록 보기
9/11

Day 12 (2023.01.24)

읽은 범위

EP35 ~ EP38

책에서 기억하고 싶은 내용 및 요약

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

  • 비밀번호는 시스템을 구축한 사람도 비밀번호를 볼 수 있어서는 안된다.
  • 입력한 값을 무작위 값으로 둔갑시켜 주는 해시 함수를 이용한 비밀번호 시스템이 있다.
  • 해시 함수는 동일한 입력 값에 동일한 출력값을 일대일 대응 시키며, 반대로 출력값을 입력한다고 해서 원래 값이 나오지 않는다. 하지만 해시 함수가 변경한 값을 원래의 값과 연결한 표인 레인보우 테이블을 이용해 원래 값을 찾아볼 수 있다는 문제점이 있다.
  • 이를 해결할 방안으로 솔트라는 것이 있다. 사용자가 입력한 값에 무작위 텍스트인 솔트와 합쳐서 해시 함수에 통과시키는 방법이다.

EP36 객체 지향 프로그래밍이 뭐죠? -1

  • 프로그램 패러다임은 프로그래머가 프로그래밍을 할 때의 관점, 방식을 말한다. (p.207)
  • 프로그래밍 언어는 패러다임을 하나 또는 하나 이상을 지원한다. (p.207)
  • 대표적으로 프로그래밍 패러다임으로는 절차 지향 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍이 있다. (p.207)
  • 객체 지향 프로그래밍의 클래스 개념을 이용하여 객체의 구조를 만들 수 있다.

EP37 객체 지향 프로그래밍이 뭐죠? -2

  • 객체 지향 프로그래밍의 상속 개념을 이용하여 중복되는 속성들의 반복 해결 및 각 클래스만의 속성을 추가할 수 있다.

EP38 함수형 프로그래밍이 뭐죠?

  • 함수형 프로그래밍을 배워야 하는 이유는 '버그가 발생하기 어려운 구조'에 있다.
  • 프로그래밍 패러다임의 큰 갈래에는 선언형 프로그래밍과 명령형 프로그래밍이 있다.
  • 선언형 프로그래밍은 원하는 결괏값을 선언하는 것이고, 명령형 프로그래밍 위에 쓴다는 특징이 있다. 그로인해 실수도 적고, 동료가 코드를 이해하기도 쉽다.
  • 명령형 프로그래밍은 원하는 결괏값에 어떻게 도달하는지 선언하는 것이고, 그로인해 개발자가 실수하기 쉽고, 작성한 코드를 동료가 이해하기 어렵다는 특징이 있다.

소감

사용자 입장에서 비밀번호는 말그대로 '암호화되있구나'라고만 생각했는데 보안적인 입장에서 생각해보면 비밀번호 하나 만드는데에도 다양한 알고리즘이 필요하다는 걸 느꼈고, 자바 공부하면서 객제 지향 언어라는 말만 들었지 왜 객체 지향 언어인지에 대해서는 잘 몰랐었는데 이번 챕터를 읽으면서 프로그래밍 패러다임에 대해서 알 수 있어서 좋았다!

추가 복습할 내용

  • 프로그래밍 패러다임, 절차 지향 프로그래밍, 객제 지향 프로그래밍, 함수형 프로그래밍
profile
TILog

0개의 댓글