CS

[IT 5분 잡학사전] Assignment #12

Rosie_dev 2023. 1. 24. 17:21
 

IT 5분 잡학사전 | 니꼴라스 - 교보문고

IT 5분 잡학사전 | “개발자는 다 맥북을 써야 하나?”와 같은 사소한 질문부터 “서버가 대체 뭔지?”까지~♬ 전공자와 비전공자 모두 알고 싶어 하는 질문을 5분 안에 해결해 주는 IT 잡학사전이

product.kyobobook.co.kr

 

  • 35. 비밀번호는 어떻게 저장될까?
  • 36. 객체지향 프로그램이 뭐죠? (1)
  • 37. 객체지향 프로그램이 뭐죠? (2)
  • 38. 함수형 프로그램이 뭐죠?

 

에피소드 35. 비밀번호는 어떻게 저장될까?

 

비밀번호의 잘목된 예: 그냥 비밀번호 그대로 저장하거나 데이터베이스에 암호화 해서 저장하고 회사에서 주는 키로 복호화해서 사용하는 것.

 

해시함수를 이용해서 무작위 값으로 변환해서 저장하는 것이 바람직하다. 

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

하지만 레인보우 테이블이 있기 때문에 해시함수도 완벽한 대안이 될 수 없다. 따라서 원래의 비밀번호에 솔트라는 무작위 텍스와 함께 해시함수를 이용하면 더 보안에 강력한 비밀번호를 저장할 수 있다.

 

에피소드 36. 객체지향 프로그램이 뭐죠? (1)

 

프로그램 패러다임

프로그래머가 프로그래밍을 할 때의 관점, 방식 이런 것들을 말한다. 절차지향 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍 등이 있다.

 

객체지향 프로그래밍

아래 코드는 본문에서 예시로 든 코드인데, new Player(); 이라는 코드로 객체 생성을 할 수 있도록 설정해 놓고 값만 대입하면 순서대로 해당 속성을 갖는 객체가 생성된다. 즉, 객체 지향 프로그래밍의 클래스라는 개념이다. 

const bill = new Player("Bill Gates", 85, "Programmer");
const elon = new Player("Elon Musk", 90, "Tesla");
const warren = new Player("Warren Buffett", 100, "Investor");

 

에피소드 37. 객체지향 프로그램이 뭐죠? (2)

 

상속

사람을 아기, 청소년, 성인으로 나눈다면, 셋 다 사람이라는 공통점을 가지고 있어서 따로 정의할 필요가 없다. 이럴 때 상속으로 사람을 정의하면 기존보다 양이 훨씬 줄어들었고 의미도 더 명확하게 바뀐다. 

 

에피소드 38. 함수형 프로그래밍이 뭐죠?

 

함수형 프로그래밍은 버그가 발생하기 어려운 구조이다. 

선언형 프로그래밍은 원하는 결과값을 선언하고, 반면, 명령현 프로그래밍에서는 원하는 결과값에 어떻게 도달하는지를 선언하는 프로그래밍이다. 따라서 같이 일하는 개발자가 코드를 파악하에는 선언형 프로그램이 편하다는 특징이 있다.

 

 

'CS' 카테고리의 다른 글

[IT 5분 잡학사전] Assignment #13  (0) 2023.01.27
[IT 5분 잡학사전] Assignment #10  (0) 2023.01.23
[IT 5분 잡학사전] Assignment #09  (0) 2023.01.22
[IT 5분 잡학사전] Assignment #07  (1) 2023.01.18
[IT 5분 잡학사전] Assignment #06  (0) 2023.01.18
댓글